﻿/// <reference name="MicrosoftAjax.js" />
/// <reference path="script.js" />
/// <reference path="slider.js" />
/// <reference path="jquery-1.3.2-vsdoc2.js" />

if (typeof GskTools == 'undefined')
{
    GskTools = function() { };
}

GskTools.DatePickerSettings = function()
{
    return {
        txtId: '',
        dateMin: 0,
        dateMax: 0,
        defaultDate: new Date()
   }
}
GskTools.ProductSelector = function() {
    var initialized;
    var settings =
    {
        dateFormat: '',
        dateCurrent: new Date()
    }

    var pickers = {}

    function SetMousePointer() {
        ///<summary>Shows pointer cursor when mouse is over binded object.</summary>
        this.style.cursor = 'pointer';
    }

    function DateChanged(dateText, inst) {
        if (typeof __doPostBack != 'undefined') {
            __doPostBack(inst.id, '');
        }
    }

    function Initialize() {
        initialized = true;
        for (var i in pickers) {
            var picker = pickers[i];

            $.datepicker.setDefaults($.datepicker.regional[""]);
            
            $picker = $('#' + picker.txtId).datepicker(
            {
                defaultDate: picker.selectedDate,
                minDate: picker.dateMin,
                maxDate: picker.dateMax,
                showOn: 'focus',
                firstDay: 1,
                onSelect: DateChanged,
                dateFormat: settings.dateFormat
            });
            
            $language = $("html").attr("lang");

            if ($language != null) {

                if ($language.substring(0, 2) != "en") {
                    $picker.datepicker("option", $.datepicker.regional[$language.substring(0, 2)]);
                }
            }

            $picker.bind('keydown', {}, function() { return false; });
        }
    }

    function ActiveImageClicked(e) {
        if (__doPostBack) {
            __doPostBack(e.data.targetId, e.data.targetValue);
        }
    }

    return {
        Version: function() { return "0.2"; },
        Init: function(sett) {
            settings = new Object();
            settings.pickerSettings = new Object();
            settings = sett;
            settings.dateFormat = settings.dateFormat.replace('yyyy', 'yy')
            settings.dateCurrent = $.datepicker.parseDate(settings.dateFormat, settings.dateCurrent, {});

            if (!initialized) {
                Sys.Application.add_load(Initialize);
            }
            Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(
            function() {
                pickers = {};
            });
        },
        RegisterDatePicker: function(isQuit, pickerSettings) {
            var picker = pickerSettings;
            pickers[picker.txtId] = picker;
        },
        RegisterClickableImage: function(info) {
            $image = $('#' + info.imageId);
            if ($image.length) {
                $image.bind('click', info, ActiveImageClicked);
                $image.bind('mouseover', {}, SetMousePointer);
            }
        }
    }
} ();
