﻿ZOOMIN.namespace("ZOOMIN.NameCalendar");
ZOOMIN.namespace("ZOOMIN.Common");
(function() {
    // initialize options
    var zopt = ZOOMIN.NameCalendar.Options || {};
    var jname = ZOOMIN.NameCalendar;
    ar_Months = zopt.DROPDOWN_IDS.split(",");
    ar_Months_photoid = zopt.PHOTO_IDS.split(",");
    ar_Months_names = zopt.SELECTED_MONTHIDS.split(",");
    s_months = zopt.STR_MONTHS;
   function get_monthname(s_months, monthid) {
        var ar_mo = s_months.split(",");
        for (var i = 0; i <= ar_Months_photoid.length; i++) {
            if (i == monthid) {
                return ar_mo[i]
            }
        }
    }

    ZOOMIN.NameCalendar.fnc_AddtoCart = function() {
        el = document.getElementById("txtcalname");
        if ($.trim(el.value) == "" || $.trim(el.value) == "Max 12 char") {
            $("#lblError").text('Please enter a name.');
            el.value = "";
            el.focus();
            return false;
        }
        else {
            if (el.value.replace(" ", "_") !== el.value) {
                $("#lblError").text('No white spaces allowed.');
                el.focus();
                return false;
            }
            else {
                if (!ZOOMIN.NameCalendar.IsAlpha(el.value)) {
                    $("#lblError").text('Only alphabets allowed.');
                    el.focus();
                    return false;
                }
                else {
                    return ZOOMIN.NameCalendar.check_photoarray();
                }
            }
        }
        return true;
    }

    ZOOMIN.NameCalendar.check_photoarray = function() {
        //var s_months = "January,February,March,April,May,June,July,August,September,October,November,December" ; 
        var ar_mo = s_months.split(",")
        for (var i = 0; i < ar_Months_photoid.length; i++) {
            if (ar_Months_photoid[i] == "") {
                //alert("You need to select a Photo for the month of " + ar_mo[i]);
                $("#lblError").text("You need to select a Photo for the month of " + ar_mo[i]);
                return false;
            }
        }
        return true;
    };


    ZOOMIN.NameCalendar.fnc_cmbonchange = function(el, sltdphotoid) {
        drpdval = el.options[el.selectedIndex].value;

        /*
        case 1. changing to a different month
        case 2. changing to not selected... ie. 12
        */
        if (drpdval == 13) {

            // remove ctrl id from array
            s_elem_id = ar_Months.join(",");
            s_elem_id = s_elem_id.replace(el.id, "");
            ar_Months = s_elem_id.split(",")

            elemphoto = zopt.DROPDOWN_IDS;
            zopt.DROPDOWN_IDS = ar_Months.join(",");

            //remove photid from the list.        
            var s_photoids = ar_Months_photoid.join(",");
            s_photoids = s_photoids.replace(sltdphotoid, "");
            ar_Months_photoid = s_photoids.split(",")

            elemphoto = zopt.PHOTO_IDS;
            zopt.PHOTO_IDS = ar_Months_photoid.join(",");
            $('#hdnphotoidmonthid').val(fnc_create_photoid_monthstring())


            return;
        }
        ///start
        //Code for checking sequence of months first and last
        if (drpdval == 0) {
            s_elemnt_month_vals = ar_Months_names.join(",");
            s_elemnt_month_vals = s_elemnt_month_vals.replace("12", "0");
            elemntmonthval = zopt.SELECTED_MONTHIDS;
            ar_Months_names = s_elemnt_month_vals.split(",")
            zopt.SELECTED_MONTHIDS = ar_Months_names.join(",");
            $('#hdnmonthids').val(zopt.SELECTED_MONTHIDS);
            drpdval = 0;
            old_el = ar_Months[drpdval]
            new_el = el.id;
            s_elem_id_new = ar_Months.join(",");
            s_elem_id_new = s_elem_id_new.replace(el.id, "");
            ar_Months = s_elem_id_new.split(",")
            s_elem_id_new = "";
            if (old_el != "" && old_el != new_el) {

                elem = document.getElementById(old_el);

                //elem = $(old_el);
                elem.value = 13
                s_elem_id = ar_Months.join(",");
                s_elem_id = s_elem_id.replace(old_el, "");
                ar_Months = s_elem_id.split(",")
                s_elem_id = "";
            }
            ar_Months[drpdval] = new_el;
            old_el = "";
            new_el = "";
            elemphoto = zopt.DROPDOWN_IDS;
            zopt.DROPDOWN_IDS = ar_Months.join(",");
            var s_photoids = ar_Months_photoid.join(",");
            s_photoids = s_photoids.replace(sltdphotoid, "");
            ar_Months_photoid = s_photoids.split(",")
            ar_Months_photoid[drpdval] = sltdphotoid
            elemphoto = zopt.PHOTO_IDS;
            zopt.PHOTO_IDS = ar_Months_photoid.join(",");
            $('#hdnphotoidmonthid').val(fnc_create_photoid_monthstring())
            return;
        }
        else if (drpdval == 12) {
            s_elemnt_month_vals = ar_Months_names.join(",");
            s_elemnt_month_vals = s_elemnt_month_vals.replace("0", "12");
            s_elemnt_month_vals = s_elemnt_month_vals.replace("112", "10");
            elemntmonthval = zopt.SELECTED_MONTHIDS;
            ar_Months_names = s_elemnt_month_vals.split(",")
            zopt.SELECTED_MONTHIDS = ar_Months_names.join(",");
            $('#hdnmonthids').val(zopt.SELECTED_MONTHIDS);
            drpdval = 0;
            old_el = ar_Months[drpdval]
            new_el = el.id;
            s_elem_id_new = ar_Months.join(",");
            s_elem_id_new = s_elem_id_new.replace(el.id, "");
            ar_Months = s_elem_id_new.split(",")
            s_elem_id_new = "";
            if (old_el != "" && old_el != new_el) {

                elem = document.getElementById(old_el);
                elem.value = 13
                /* added by Anshuman for removing id from month Array*/
                s_elem_id = ar_Months.join(",");
                s_elem_id = s_elem_id.replace(old_el, "");
                ar_Months = s_elem_id.split(",")
                s_elem_id = "";
            }
            ar_Months[drpdval] = new_el;
            old_el = "";
            new_el = "";
            elemphoto = zopt.DROPDOWN_IDS;
            zopt.DROPDOWN_IDS = ar_Months.join(",");
            var s_photoids = ar_Months_photoid.join(",");
            s_photoids = s_photoids.replace(sltdphotoid, "");
            ar_Months_photoid = s_photoids.split(",")
            ar_Months_photoid[drpdval] = sltdphotoid
            elemphoto = zopt.PHOTO_IDS;
            zopt.PHOTO_IDS = ar_Months_photoid.join(",");
            $('#hdnphotoidmonthid').val(fnc_create_photoid_monthstring())
            return;
        }
        /////////end
        old_el = ar_Months[drpdval]
        new_el = el.id;

        s_elem_id_new = ar_Months.join(",");
        s_elem_id_new = s_elem_id_new.replace(el.id, "");
        ar_Months = s_elem_id_new.split(",")
        s_elem_id_new = "";
        if (old_el != "") {

            elem = document.getElementById(old_el);
            elem.value = 13
            /* added  for removing ids from month Array*/
            s_elem_id = ar_Months.join(",");
            s_elem_id = s_elem_id.replace(old_el, "");
            ar_Months = s_elem_id.split(",")
            s_elem_id = "";
        }
        ar_Months[drpdval] = new_el;
        old_el = "";
        new_el = "";
        elemphoto = zopt.DROPDOWN_IDS;
        zopt.DROPDOWN_IDS = ar_Months.join(",");


        var s_photoids = ar_Months_photoid.join(",");
        s_photoids = s_photoids.replace(sltdphotoid, "");
        ar_Months_photoid = s_photoids.split(",")
        ar_Months_photoid[drpdval] = sltdphotoid

        elemphoto = zopt.PHOTO_IDS;
        zopt.PHOTO_IDS = ar_Months_photoid.join(",");
        $('#hdnphotoidmonthid').val(fnc_create_photoid_monthstring())


    };
    ZOOMIN.NameCalendar.IsAlpha = function(data) {
        var regex = /^[A-Za-z]+$/;
        if (regex.test(data)) { return true; }
        else { return false; }
    };
    ZOOMIN.NameCalendar.isAlphabet = function(evt) {

        var charCode = evt.which;
        if (charCode == 127 || charCode == 8)
            return true;
        else {
            if ((charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122))
                return false;
            else
                return true;
        }
        

    };

    ZOOMIN.NameCalendar.isNumberKey = function(evt) {
        //var charCode = (evt.which) ? evt.which : event.keyCode
        var charCode = (window.event) ? evt.keyCode : evt.which;
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;
        return true;
    };
    
    
    ZOOMIN.NameCalendar.FillOptiondata=function(data){
      zopt.PHOTO_IDS=data.PHOTO_IDS;
                   zopt.PHOTOID_MONTHID=data.PHOTOID_MONTHID;
                   zopt.DROPDOWN_IDS=data.DROPDOWN_IDS;
                   zopt.SELECTED_MONTHIDS=data.SELECTED_MONTHIDS;
                   zopt.STR_MONTHS=data.STR_MONTHS;
                   ar_Months = zopt.DROPDOWN_IDS.split(",");
                   ar_Months_photoid = zopt.PHOTO_IDS.split(",");
                   ar_Months_names = zopt.SELECTED_MONTHIDS.split(",");
                   s_months = zopt.STR_MONTHS;
                   $('#hdnphotoidmonthid').val(zopt.PHOTOID_MONTHID);
                   $('#hdnmonthids').val(zopt.SELECTED_MONTHIDS);
     };
    

    function fnc_create_photoid_monthstring() {
        s_photo_monthstring = "";
        s_photo_monthstringval = "";

        for (var i = 0; i < ar_Months_photoid.length; i++) {
            s_photo_monthstring = ar_Months_photoid[i] + "~" + get_monthname(s_months, ar_Months_names[i]);
            s_photo_monthstringval = s_photo_monthstringval + s_photo_monthstring + ",";
        }
        return s_photo_monthstringval.substring(0, s_photo_monthstringval.length - 1);
    }

    ///On ready function
    $(function() {
        $("body").addClass("namecalendar");
        $("#txtcalname").click(function() {
            if ($(this).val() == "Max 12 char") $(this).val("");

        });
      
        // Set Initial Data on Page
        $('#hdnphotoidmonthid').val(zopt.PHOTOID_MONTHID);

        $('#hdnmonthids').val(zopt.SELECTED_MONTHIDS);

        $("#txtcalname").keypress(function() { var e = arguments[0] || event; return ZOOMIN.NameCalendar.isAlphabet(e); });


        $(".dropdown").each(function(i) {

            // Set Sort Dropdown width
            //var varselect = $(this).select();
            // Add an change behavior to this control

            $(this).change(function(event) {
                var idval = this.id;
                var idvalue = idval.replace("cmbmonthlist_", "");
                ZOOMIN.NameCalendar.fnc_cmbonchange(this, idvalue)
            });
        });


        $("form").submit(function() {
            //            if ($("input:first").val() == "correct") {
            //                $("span").text("Validated...").show();
            //                return true;
            //            }
            //            // $("span").text("Not valid!").show().fadeOut(1000);
            //            return false;
            return ZOOMIN.NameCalendar.fnc_AddtoCart();
        });
       
       var cssObj = {
      'color':'#898989',
      'float':'left',
      'font-family':'Segoe UI,Trebuchet MS,Arial,sans-serif',
      'font-style':'normal',
      'font-variant':'normal',
      'font-weight':'normal',
      }
    $('#cmbtoplist').css(cssObj);
       
      $('#cmbtoplist').change(function()
             {
            $("#loadingajax").css({
                opacity: 0.7,
                height: $("#main-content").height()
            });
            $("#loadingajax").show();
             $.ajax({
                   type:"Post",
                   cache: false,
                   url:"/Products/NameCalendar",
                   dataType:"json",
                   data:
                   {
                   value:$(this).val()
                    },
                   success: function(data)
                   {
                   
                   ZOOMIN.NameCalendar.FillOptiondata(data);
                   $('#NameCalContainer').html(data.html);
                   screenshotPreview();
                   
                
                    $(".dropdown").each(function(i) {
                          $(this).change(function(event) {
                          var idval = this.id;
                          var idvalue = idval.replace("cmbmonthlist_", "");
                         ZOOMIN.NameCalendar.fnc_cmbonchange(this, idvalue)
                        });    
                   });
                   $("#loadingajax").hide();
                }
              });
              });
            
            var cssObj = {
      'color':'#898989',
      'float':'left',
      'font-family':'Segoe UI,Trebuchet MS,Arial,sans-serif',
      'font-style':'normal',
      'font-variant':'normal',
      'font-weight':'normal',
      'overflow':'scroll',
      'overflow':'hidden',
        }
     $('#cmbtoplistchota').css(cssObj);
             $('#cmbtoplistchota').change(function()
             {
              $("#loadingajax").css({
                opacity: 0.7,
                height: $("#main-content").height()
            });
            $("#loadingajax").show();
           $.ajax({
                   type:"Post",
                   cache: false,
                   url:"/Products/ChotaCalendar",
                   dataType:"json",
                   data:
                   {
                   value:$(this).val()
                    },
                    success: function(data)
                   {
                   ZOOMIN.NameCalendar.FillOptiondata(data);
                    //chota_calender;
                 $('#NameCalChotaContainer').html(data.html);
                   screenshotPreview();
                  $(".dropdown").each(function(i) {
                          $(this).change(function(event) {
                          var idval = this.id;
                           var idvalue = idval.replace("cmbmonthlist_", "");
                          ZOOMIN.NameCalendar.fnc_cmbonchange(this, idvalue)
                   });
                });
                $("#loadingajax").hide();
                }
                });
             });
             
         $(CURRENCY).bind('currencyChange', function(args, data) {
            location.reload();
        });
        

 });
})();


