﻿var GuideSites = {};

GuideSites.ClinicEdit = {
    removeZeroFromZipCodeField: function () {
        if ($('#ClinicToEdit_Zip').length > 0 && $('#ClinicToEdit_Zip').val() == '0') {
            $('#ClinicToEdit_Zip').val('');
        }
        if ($('#Customer_ZipCode').length > 0 && $('#Customer_ZipCode').val() == '0') {
            $('#Customer_ZipCode').val('');
        }
    },

    checkZip: function (regionId) {
        if (!$('#regionId' + regionId).attr('checked')) {
            $('#regionId' + regionId).attr('checked', 'checked');
        }
        var citiesAreChecked = false;
        $('.zipId' + regionId).each(function (index, item) {
            if ($(item).attr('checked')) {
                citiesAreChecked = true;
            }
        });

        if (!citiesAreChecked) {
            $('#regionId' + regionId).attr('checked', '');
        }


    }
};

GuideSites.SearchInterface = {
    init: function (clinicTermPlural) {
        var ghostText = 'Angiv søgeord...';
        if ($('#q').val() != "") {
            ghostText = $('#q').val();
        }
        GuideSites.GhostText.set($('#q'), ghostText);
        $('#searchForm').submit(function () {

            var url = '/' + clinicTermPlural;

            if ($("#CategoryUrlFriendlyName option:selected").length > 0) {
                var category = $("#CategoryUrlFriendlyName option:selected").val();
                if (category != '') {
                    url += '/adv/' + category;
                }
            }

            var region = $("#RegionUrlFriendlyName option:selected").val();
            if (region != '') {
                url += '/' + region;
            }
            var q = $('#q').val();
            if (q != '' && q != ghostText) {
                url += '/q/' + $.trim(q).toLowerCase() + "/";
            }
            $('#searchForm').attr("action", url);

        });
    }
};

GuideSites.Memberships = {
    addRow : function(name, link) {
        var container = $('<div />');
        $('#MembershipPlaceholder').append(container);

        container
            .append('<div class="span-8">' + name + '</div>')
            .append('<div class="span-8"><a href="' + link + '" target="_blank">' + link + '</a>&nbsp;</div>')
            .append($('<div class="span-7 last"><a href="#">Slet</a></div>').click(function (event) {
                container.remove();
                event.preventDefault();
            }))
            .append($('<input type="hidden" name="Names" />').val(name))
            .append($('<input type="hidden" name="Links" />').val(link));
    }
};

GuideSites.ReferalClicks = {
    CountCliniqueReferal: function (clinicId) {
        $.get("/countclinicreferal/" + clinicId + '/');
    }
};


GuideSites.PictureUpload = {
    plup: null,
    imgContainer: null,
    logoId: null,
    pictures: null,

    init: function (options) {
        var pluploadOptions = {
            runtimes: 'flash,silverlight,html5,html4',
            url: options.url,
            max_file_size: '2mb',
            multiple_queues: true,
            unique_names: true,
            resize: { width: 800, height: 800, quality: 90 },
            filters: [
			{ title: "Image files", extensions: "jpg,gif,png" }
		],
            flash_swf_url: '/Content/libs/plupload/plupload.flash.swf',
            silverlight_xap_url: '/Content/libs/plupload/plupload.silverlight.xap'
        };
        var me = this;

        this.imgContainer = $(options.container);
        this.pictures = options.files;

        for (var i = 0; i < this.pictures.length; i++) {
            var pic = this.pictures[i];
            me.drawPicture(pic.Id, pic.FullPath + '_150.jpg');
            if (pic.ClinicFileType == 3) {
                $('#pictureBox' + pic.Id).addClass('uploadLogo');
            }
        }

        $("#uploader").pluploadQueue(pluploadOptions);
        this.plup = $("#uploader").pluploadQueue();

        this.plup.bind('FileUploaded', function (uploader, file, response) {
            var result = $.parseJSON(response.response);
            if (result.fileid == "") {
                alert('Du kan maksimalt have 10 billeder tilknyttet');
                return;
            }
            me.drawPicture(result.fileid, result.filepath);
        });
    },

    drawPicture: function (pictureId, filepath) {
        var me = this;
        var box = $('<div class="pictureBox" id="pictureBox' + pictureId + '"></div>');
        var options = $('<p></p>');
        var deleteLink = $('<a href="#">Slet</a>');
        deleteLink.bind('click', function () {
            me.deletePicture(pictureId);
        });
        var logoLink = $('<a href="#">Vælg logo</a>');
        logoLink.bind('click', function (e) {
            e.preventDefault();
            me.setLogoPicture(pictureId);
        });
        options.append(deleteLink);
        options.append(logoLink);
        this.imgContainer.append(box);
        box.append('<img src="' + filepath + '"/>');
        box.append(options);
    },

    setLogoPicture: function (pictureId) {
        $('.pictureBox').removeClass('uploadLogo');
        $('#pictureBox' + pictureId).addClass('uploadLogo');
        this.logoId = pictureId
        $.ajax({
            url: 'ajax/set-logo/',
            type: 'POST',
            data: { fileId: pictureId },
            global: false
        });
    },

    deletePicture: function (pictureId) {
        $('#pictureBox' + pictureId).fadeOut();
        $.ajax({
            url: 'ajax/delete-file/',
            type: 'POST',
            data: { fileId: pictureId },
            success: function (results) {
                $('#pictureBox' + pictureId).remove();
            },
            global: false
        })
    }
};

GuideSites.GhostText = {
    set: function (jqueryElement, defaultText) {

        jqueryElement.val(defaultText);
        jqueryElement.css("color", "#BBB");

        jqueryElement.focus(function () {
            if (jqueryElement.val() == defaultText) {
                jqueryElement.val("");
                jqueryElement.css("color", "#39496D");
            }
        })

        jqueryElement.blur(function () {
            if (jqueryElement.val() == "") {
                jqueryElement.val(defaultText);
                jqueryElement.css("color", "#BBB");
            }
        })
    }
};

