/**************************************************************************
COPYRIGHT          : CWC
**************************************************************************
Page               : CommonFunctions.js
**************************************************************************
Purpose            :.Js file created to include common javascript validation  and other javascript functionality.
Author             : Pavithra
Date of Creation   : 18-11-2009
*************************************************************************
Revision History Date of Modification Done By  Changes
*************************************************************************

**************************************************************************/


//Description      : Function to check whether the value is integer  or not.

/*-----------------------------------------------------------------------------------*/

/**/
//var Temp = 1;
var Temp = new Date();
var Time = Temp.getMilliseconds();
var Temp = Temp + Time;

function isNumber(s_potentialNumber) {
    if (s_potentialNumber.length < 1) {
        return false;
    }
    if (s_potentialNumber == '-') {
        return false;
    }
    if (/^-[0]+$/.test(s_potentialNumber)) {
        return false;
    }
    if (/^[0]+$/.test(s_potentialNumber)) {
        return true;
    }
    if (/^[-]{0,1}[0-9]+$/.test(s_potentialNumber)) {
        return true;
    }
    if (/^[-]{0,1}[0-9]*[.][0-9]+$/.test(s_potentialNumber)) {
        return !(/^-0*[.]0+$/.test(s_potentialNumber));

    }
    //It is not a legal  number.

    return false;

}

function DoCallbackForSearch(Url) {

    try {
        //Mozilla Browsers
        xmlRequest = new XMLHttpRequest();
    }
    catch (e) {
        try {
            //IE

            xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
            // Branch for native XMLHttpRequest object
        }
        catch (e) {
            //Something else that won't work with this code...
            xmlRequest = false;
        }
    }
    // Post our XmlRequest and get our desired string
    xmlRequest.open("GET", Url, false);
    xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlRequest.send(null);
    // Return the XmlHttp object

    return xmlRequest.responseText;
}
function ShowLoadingText(ddlBelowId, ddlTopControlId) {
    
    document.getElementById(ddlBelowId).disabled = true;
    if (document.getElementById(ddlTopControlId).value != 0) {
        var objDropdown = document.getElementById(ddlBelowId);
        var objOption = new Option('Loading.....', '-1');
        objDropdown.options.add(objOption);
        document.getElementById(ddlBelowId).value = 1;
        OnYearChange(ddlTopControlId, ddlBelowId, ddlModel, ddlOption, hdnYear, hdnMake, hdnModel, hdnOption)
    }

}
function OnYearChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnYear, hdnMake, hdnModel, hdnOption) {
    
   document.getElementById(ddlVehicleMake).disabled = true;
   if (document.getElementById(ddlYear).value != 0 && document.getElementById(ddlYear).selectedIndex!=0) {
       document.getElementById(ddlVehicleMake).options.length = 0;
       var optn = document.createElement("OPTION");
       optn.text = "Loading...";
       optn.value = -1;
       document.getElementById(ddlVehicleMake).options.add(optn);
   }

   var SelectedYear = document.getElementById(hdnYear).value;
   var SelectMake = document.getElementById(hdnMake).value;
   var SelectModel = document.getElementById(hdnModel).value;
   var SelectOption = document.getElementById(hdnOption).value;

   if (document.getElementById(ddlYear).selectedIndex == 0) {
       document.getElementById(ddlVehicleMake).options.length = 0;
       var optn = document.createElement("OPTION");
       optn.text = SelectMake;
       optn.value = SelectMake;
       document.getElementById(ddlVehicleMake).options.add(optn);

       document.getElementById(ddlModel).options.length = 0;
       optn = document.createElement("OPTION");
       optn.text = SelectModel;
       optn.value = SelectModel;
       document.getElementById(ddlModel).options.add(optn);

       document.getElementById(ddlOption).options.length = 0;
       optn = document.createElement("OPTION");
       optn.text = SelectOption;
       optn.value = SelectOption;
       document.getElementById(ddlOption).options.add(optn);
   }
   
 
    

    var i = 0;
    var Year = document.getElementById(ddlYear).value;
    if (Year != SelectedYear) {



        $.ajax({
            type: "POST",
            url: 'ServiceHandler.ashx?Year=' + Year + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Makes) {
            
            document.getElementById(ddlVehicleMake).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectMake;
            optn.value = SelectMake;
            document.getElementById(ddlVehicleMake).options.add(optn);

            document.getElementById(ddlModel).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectModel;
            optn.value = SelectModel;
            document.getElementById(ddlModel).options.add(optn);

            document.getElementById(ddlOption).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectOption;
            optn.value = SelectOption;
            document.getElementById(ddlOption).options.add(optn);
            
                $.each(Makes, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Make'];
                    optn.value = this['ID'];
                    document.getElementById(ddlVehicleMake).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlVehicleMake)[1].selected = true;
                    OnMakeChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnMake, hdnModel, hdnOption);
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'ServiceHandler_Temp.ashx?Year=' + Year + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Makes) {

                    document.getElementById(ddlVehicleMake).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectMake;
                    optn.value = SelectMake;
                    document.getElementById(ddlVehicleMake).options.add(optn);

                    document.getElementById(ddlModel).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectModel;
                    optn.value = SelectModel;
                    document.getElementById(ddlModel).options.add(optn);

                    document.getElementById(ddlOption).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectOption;
                    optn.value = SelectOption;
                    document.getElementById(ddlOption).options.add(optn);
                    
                        $.each(Makes, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Make'];
                            optn.value = this['ID'];
                            document.getElementById(ddlVehicleMake).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlVehicleMake)[1].selected = true;
                            OnMakeChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnMake, hdnModel, hdnOption);
                        }
                    }



                });
            }



        });


    }
    document.getElementById(ddlVehicleMake).disabled = false;
    return false;
}

function OnMakeChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnMake, hdnModel, hdnOption) {

    document.getElementById(ddlModel).disabled = true;
    if (document.getElementById(ddlVehicleMake).value != 0 && document.getElementById(ddlVehicleMake).selectedIndex != 0) {
        document.getElementById(ddlModel).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = "Loading...";
        optn.value = -1;
        document.getElementById(ddlModel).options.add(optn);
    }

    var SelectMake = document.getElementById(hdnMake).value;
    var SelectModel = document.getElementById(hdnModel).value;
    var SelectOption = document.getElementById(hdnOption).value;


    if (document.getElementById(ddlVehicleMake).selectedIndex == 0) {
     
        document.getElementById(ddlModel).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectModel;
        optn.value = SelectModel;
        document.getElementById(ddlModel).options.add(optn);

        document.getElementById(ddlOption).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectOption;
        optn.value = SelectOption;
        document.getElementById(ddlOption).options.add(optn);
    }

    var i = 0;
    var Make = document.getElementById(ddlVehicleMake).value;
    Make = Make.replace('&', '*/');
    var Year = document.getElementById(ddlYear).value;
    if (Make != SelectMake) {


        $.ajax({
            type: "POST",
            url: 'ServiceHandler.ashx?Year=' + Year + '&Make=' + Make + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Model) {

            document.getElementById(ddlModel).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectModel;
            optn.value = SelectModel;
            document.getElementById(ddlModel).options.add(optn);

            document.getElementById(ddlOption).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectOption;
            optn.value = SelectOption;
            document.getElementById(ddlOption).options.add(optn);
            
            $.each(Model, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Model'];
                    optn.value = this['ID'];
                    document.getElementById(ddlModel).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlModel)[1].selected = true;
                    OnModelChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnModel, hdnOption);
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'ServiceHandler_Temp.ashx?Year=' + Year + '&Make=' + Make + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Model) {

                    document.getElementById(ddlModel).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectModel;
                    optn.value = SelectModel;
                    document.getElementById(ddlModel).options.add(optn);

                    document.getElementById(ddlOption).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectOption;
                    optn.value = SelectOption;
                    document.getElementById(ddlOption).options.add(optn);
                    
                    $.each(Model, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Model'];
                            optn.value = this['ID'];
                            document.getElementById(ddlModel).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlModel)[1].selected = true;
                            OnModelChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnModel, hdnOption);
                        }
                    }



                });
            }
        });

    }
    document.getElementById(ddlModel).disabled = false;
    return false;
}

function OnModelChange(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnModel, hdnOption) {

    document.getElementById(ddlOption).disabled = true;
    if (document.getElementById(ddlModel).value != 0 && document.getElementById(ddlModel).selectedIndex != 0) {
        document.getElementById(ddlOption).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = "Loading...";
        optn.value = -1;
        document.getElementById(ddlOption).options.add(optn);
    }
    
    var SelectModel = document.getElementById(hdnModel).value;
    var SelectOption = document.getElementById(hdnOption).value;

    if (document.getElementById(ddlModel).selectedIndex == 0) {


        document.getElementById(ddlOption).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectOption;
        optn.value = SelectOption;
        document.getElementById(ddlOption).options.add(optn);
    }

    var Model = document.getElementById(ddlModel).value;
    Model = Model.replace('&', '*/');
    var Make = document.getElementById(ddlVehicleMake).value;
    Make = Make.replace('&', '*/');
    var Year = document.getElementById(ddlYear).value;
    var i = 0;

    if (Model != SelectModel) {

        $.ajax({
            type: "POST",
            url: 'ServiceHandler.ashx?Year=' + Year + '&Make=' + Make + '&Model=' + Model + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Options) {

            document.getElementById(ddlOption).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectOption;
            optn.value = SelectOption;
            document.getElementById(ddlOption).options.add(optn);
            
            $.each(Options, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Options'];
                    optn.value = this['ID'];
                    document.getElementById(ddlOption).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlOption)[1].selected = true;
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'ServiceHandler_Temp.ashx?Year=' + Year + '&Make=' + Make + '&Model=' + Model + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Options) {
                    document.getElementById(ddlOption).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectOption;
                    optn.value = SelectOption;
                    document.getElementById(ddlOption).options.add(optn);
                    
                    $.each(Options, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Options'];
                            optn.value = this['ID'];
                            document.getElementById(ddlOption).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlOption)[1].selected = true;
                        }
                    }



                });
            }
        });
    }
    document.getElementById(ddlOption).disabled = false;
    return false;
}

function GetErrMsg(ErrMsg, CultureCode) {
    switch (CultureCode) {
        case "en-US":

            switch (ErrMsg) {

                case "ErrSearchSelectionCriteria":
                    return "Please enter all vehicle selection criteria.";
                    break;
                case "MoreTiresToComErrorMessage":
                    return "You have selected too many tires to compare.";
                    break;
                case "LessTiresToComToComErrorMessage":
                    return "You have not selected enough tires to compare.";
                    break;
                case "ExceededMaxBuyingQty":
                    return "Quantity has exceeded maximum buying quantity.";
                    break;
                case "ExceededAvailableQty":
                    return "Quantity has exceeded available quantity.";
                    break;
                case "ErrorNumeric":
                    return "Please enter numeric values only.";
                    break;
                case "ErrorQuantityBlank":
                    return "Quantity cannot be blank.";
                    break;
                case "LessthanMinBuyingQty":
                    return "Quantity should be greater than 0";
                    break;
            }
            break;
        case "en-CA":
            switch (ErrMsg) {

                case "ErrSearchSelectionCriteria":
                    return "Please enter all vehicle selection criteria.";
                    break;
                case "MoreTiresToComErrorMessage":
                    return "You have selected too many tires to compare.";
                    break;
                case "LessTiresToComToComErrorMessage":
                    return "You have not selected enough tires to compare.";
                    break;
                case "ExceededMaxBuyingQty":
                    return "Quantity has exceeded maximum buying quantity.";
                    break;
                case "ExceededAvailableQty":
                    return "Quantity has exceeded available quantity.";
                    break;
                case "ErrorNumeric":
                    return "Please enter numeric values only.";
                    break;
                case "ErrorBlank":
                    return "Quantity cannot be blank.";
                    break;
                case "ErrorQuantityBlank":
                    return "Quantity cannot be blank.";
                    break;
                case "LessthanMinBuyingQty":
                    return "Quantity should be greater than 0";
                    break;
            }

            break;

        case "fr-CA":
            switch (ErrMsg) {

                case "ErrSearchSelectionCriteria":
                    return "Veuillez entrer tous les critères de sèlection du vèhicule.";
                    break;
                case "MoreTiresToComErrorMessage":
                    return "Vous ?avez choisi trop de pneus ã comparer.";
                    break;
                case "LessTiresToComToComErrorMessage":
                    return "Vous n'avez pas choisi assez de pneus ã comparer.";
                    break;
                case "ExceededMaxBuyingQty":
                    return "La quantité dépasse la quantité maximale d'achat.";
                    break;
                case "ExceededAvailableQty":
                    return "La quantité dépasse la quantité en stock.";
                    break;
                case "ErrorNumeric":
                    return "Veuillez entrer une valeur numérique seulement.";
                    break;
                case "ErrorQuantityBlank":
                    return "La cantidad no puede ser en blanco.";
                    break;
                case "LessthanMinBuyingQty":
                    return "La quantité doit être supérieure à 0";
                    break;
            }

            break;
    }

}

function ValidateSearch(ddlYear, ddlVehicleMake, ddlModel, ddlOption, hdnCultureCode, SearchPageURL, HomePageURL, SearchType) {
    var strErrMessage = "";
    var focusId = "";
    var CultureCode = document.getElementById(hdnCultureCode).value;

    if (document.getElementById(ddlYear).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlYear;
    }

    else if (document.getElementById(ddlVehicleMake).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlVehicleMake;
    }
    else if (document.getElementById(ddlModel).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlModel;
    }
    else if (document.getElementById(ddlOption).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlOption;
    }

    if (strErrMessage.length == 0) {

        var SearchID = '';
        var SearchParams;
        SearchParams = document.getElementById(ddlYear).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlVehicleMake).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlModel).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlOption).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + SearchType;

        SearchParams = SearchParams.replace('&', '*/');
        SearchParams = SearchParams.replace($('[Id$=HdnSpecialChar1]').val(), '*#$%*');
        SearchParams = SearchParams.replace($('[Id$=HdnSpecialChar2]').val(), '*%$$*');
        SearchParams = SearchParams.replace($('[Id$=HdnSpecialChar3]').val(), '*$$*#');
        SearchParams = SearchParams.replace($('[Id$=HdnSpecialChar4]').val(), '*#$$*$');


        $.getJSON('SearchHandler.ashx?SearchParams=' + SearchParams, function(data) {
            $.each(data, function() {
                SearchID = data[0].SearchID;

            });

            if (SearchID == '') {

                window.location.href = HomePageURL;
                return false;
            }
            else {

                SearchPageURL = SearchPageURL + SearchID;
                window.location.href = SearchPageURL;
                return false;
            }
        });
    }
    else {

        var Errs = new Array();
        Errs = strErrMessage.split("$%#");
        var PopMsg = "";
        if (Errs.length > 0) {
            for (i = 0; i < Errs.length; i++) {
                PopMsg = PopMsg + Errs[i] + "\n";
            }
            alert(PopMsg);

            if (focusId.length > 0)
                document.getElementById(focusId).focus();
            return false;
        }
    }
}

var offsetxpoint = -60; //Customize x offset of tooltip
var offsetypoint = 20; //Customize y offset of tooltip
var ie = document.all;
var ns6 = document.getElementById && !document.all;
var enabletip = false;

function ietruebody() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth) {
    var tipobj = document.all ? document.all["dhtmltooltip3"] : document.getElementById ? document.getElementById("dhtmltooltip3") : ""


    if (ns6 || ie) {

        if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px"
        if (typeof thecolor != "undefined" && thecolor != "") tipobj.style.backgroundColor = thecolor
        tipobj.innerHTML = thetext
        enabletip = true
        return false
    }
}

function hideddrivetip() {
    var tipobj = document.all ? document.all["dhtmltooltip3"] : document.getElementById ? document.getElementById("dhtmltooltip3") : ""

    if (ns6 || ie) {
        enabletip = false
        tipobj.style.visibility = "hidden"
        tipobj.style.left = "-1000px"
        tipobj.style.backgroundColor = ''
        tipobj.style.width = ''
    }
}

function ValidateCompareFunctionality(checkbox, hdnTireId, hdnTireIdsForCompare, hdnCultureCode) {

    var CultureCode = document.getElementById(hdnCultureCode).value;
    var intCount = 1;

    var tireId = document.getElementById(hdnTireId).value + "@%@";

    var TireIds = new Array();
    TireIds = document.getElementById(hdnTireIdsForCompare).value.split("@%@");
    if (document.getElementById(checkbox).checked == true) {
        if (TireIds.length > 0) {
            for (i = 0; i < TireIds.length - 1; i++) {
                intCount++;
            }
        }
    }

    if (intCount > 4) {
        alert(GetErrMsg("MoreTiresToComErrorMessage", CultureCode));
        document.getElementById(checkbox).checked = false;
    }
    else {
        if (document.getElementById(checkbox).checked == true) {

            document.getElementById(hdnTireIdsForCompare).value += tireId;
        }
        else {
            document.getElementById(hdnTireIdsForCompare).value = document.getElementById(hdnTireIdsForCompare).value.replace(tireId, "");
        }
    }

}

function S4() {
    return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}

function ValidateGOCompareFunctionality(hdnCultureCode, hdnSearchedTireIds, hdnSearchID, TireComparisionPageURL, DefaultPageURL, hdnTireIdsForCompare, SearchType) {
    var CultureCode = document.getElementById(hdnCultureCode).value;
    var SearchedTireIds = document.getElementById(hdnSearchedTireIds).value;
    var SearchID = document.getElementById(hdnSearchID).value;
    var SelectedTireIds = '';
    var intCount = 0;
    var NewGuid = (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());

    var TireIds = new Array();
    TireIds = document.getElementById(hdnTireIdsForCompare).value.split("@%@");
    //var Ids = document.getElementById(hdnTireIdsForCompare).value.replace(/@%@/gi, '');
    //var Ids = document.getElementById(hdnTireIdsForCompare).value.replace(/@%@/gi, '-');
    //Ids = Ids.slice(0, Ids.length - 1);
    if (TireIds.length - 1 < 2) {
        alert(GetErrMsg("LessTiresToComToComErrorMessage", CultureCode));
        return false;
    }
    else {
        $.getJSON('SearchHandler.ashx?SearchID=' + SearchID + "&SearchedTireIds=" + SearchedTireIds + "&SelectedTires=" + document.getElementById(hdnTireIdsForCompare).value + "&UIds=" + NewGuid, function(data) {
            RowsAffected = data[0].RowsAffected;
            if (RowsAffected == '1') {
                TireComparisionPageURL = TireComparisionPageURL + SearchID + "&SearchType=" + SearchType + "&UIds=" + NewGuid;
                window.location.replace(TireComparisionPageURL);
                return false;

            }
            else {
                window.location.replace(DefaultPageURL);
                return false;
            }
        });
    }
}

function ShowSelectedTab(SelectedTab, Tab1, Tab2, Tab3, Tab4, Tab5, SelectedDiv, Div1, Div2, Div3, Div4, Div5, hdnSelectedTabID, hdnSelectedDivID, SelectedTabServerID, SelectedDivServerID) {
    document.getElementById(SelectedTab).className = "fitment-btn";
    document.getElementById(hdnSelectedTabID).value = SelectedTabServerID;
    document.getElementById(Tab1).className = "fitment-btn-unselect";
    document.getElementById(Tab2).className = "fitment-btn-unselect";
    document.getElementById(Tab3).className = "fitment-btn-unselect";
    document.getElementById(Tab4).className = "fitment-btn-unselect";
    document.getElementById(Tab5).className = "fitment-btn-unselect";
    document.getElementById(SelectedDiv).style.display = "block";
    document.getElementById(hdnSelectedDivID).value = SelectedDivServerID;
    document.getElementById(Div1).style.display = "none";
    document.getElementById(Div2).style.display = "none";
    document.getElementById(Div3).style.display = "none";
    document.getElementById(Div4).style.display = "none";
    document.getElementById(Div5).style.display = "none";
    return false;
}

function VerifyQuantity(txtQuantity, Max_Buying_Qty, hdnCultureCode) {
    var CultureCode = document.getElementById(hdnCultureCode).value;
    var EnteredQuantity = document.getElementById(txtQuantity).value;
    if (EnteredQuantity != '') {
        if (isNumber(EnteredQuantity)) {
            if (eval(EnteredQuantity) > eval(Max_Buying_Qty)) {
                alert(GetErrMsg("ExceededMaxBuyingQty", CultureCode));
                return false;
            }
            else if (eval(EnteredQuantity) <= eval(0)) {
                alert(GetErrMsg("LessthanMinBuyingQty", CultureCode));
                return false;
            }
        }
        else {
            alert(GetErrMsg("ErrorNumeric", CultureCode));
            return false;
        }
    }
    else {
        alert(GetErrMsg("ErrorQuantityBlank", CultureCode));
        return false;
    }

}
function VerifyQuantityAndRedirect(txtQuantity, Max_Buying_Qty, hdnCultureCode, SKUNumber, SearchID) {
    var CultureCode = document.getElementById(hdnCultureCode).value;
    var EnteredQuantity = document.getElementById(txtQuantity).value;
    if (EnteredQuantity != '') {
        if (isNumber(EnteredQuantity)) {
            if (eval(EnteredQuantity) > eval(Max_Buying_Qty)) {
                alert(GetErrMsg("ExceededMaxBuyingQty", CultureCode));
                return false;
            }
            else if (eval(EnteredQuantity) <= eval(0)) {
                alert(GetErrMsg("LessthanMinBuyingQty", CultureCode));
                return false;
            }
        }
        else {
            alert(GetErrMsg("ErrorNumeric", CultureCode));
            return false;
        }
    }
    else {
        alert(GetErrMsg("ErrorQuantityBlank", CultureCode));
        return false;
    }

    window.location.href = 'AddtoCartHandler.ashx?SKUNumber=' + SKUNumber + '&Quantity=' + EnteredQuantity + '&SearchID=' + SearchID;
    return false
}


function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function ShowSelectedTabContent(SelectedDiv, Div1, Div2, SelectedTab, Tab1, Tab2) {
    document.getElementById(SelectedTab).className = "sectedButton";
    document.getElementById(Tab1).className = "unSectedButton";
    document.getElementById(Tab2).className = "unSectedButton";
    document.getElementById(SelectedDiv).style.display = "block";
    document.getElementById(Div1).style.display = "none";
    document.getElementById(Div2).style.display = "none";
    return false;
}

// Methods for the Custom fitment search starts here
function OnSizeChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnSize, hdnWidth, hdnAspect, hdnRim) {

    document.getElementById(ddlWidth).disabled = true;
    if (document.getElementById(ddlSize).value != 0 && document.getElementById(ddlSize).selectedIndex != 0) {
        document.getElementById(ddlWidth).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = "Loading...";
        optn.value = -1;
        document.getElementById(ddlWidth).options.add(optn);
    }
   
    var SelectedSize = document.getElementById(hdnSize).value;
    var SelectWidth = document.getElementById(hdnWidth).value;
    var SelectAspect = document.getElementById(hdnAspect).value;
    var SelectRim = document.getElementById(hdnRim).value;


    if (document.getElementById(ddlSize).selectedIndex == 0) {
        document.getElementById(ddlWidth).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = SelectWidth;
        optn.value = SelectWidth;
        document.getElementById(ddlWidth).options.add(optn);

        document.getElementById(ddlAspect).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectAspect;
        optn.value = SelectAspect;
        document.getElementById(ddlAspect).options.add(optn);

        document.getElementById(ddlRim).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectRim;
        optn.value = SelectRim;
        document.getElementById(ddlRim).options.add(optn);

    }

    var i = 0;
    var Size = document.getElementById(ddlSize).value;

    if (Size != SelectedSize) {

        $.ajax({
            type: "POST",
            url: 'CustomFitmentServiceHandler.ashx?Size=' + Size + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Widths) {

            document.getElementById(ddlWidth).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectWidth;
            optn.value = SelectWidth;
            document.getElementById(ddlWidth).options.add(optn);

            document.getElementById(ddlAspect).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectAspect;
            optn.value = SelectAspect;
            document.getElementById(ddlAspect).options.add(optn);

            document.getElementById(ddlRim).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectRim;
            optn.value = SelectRim;
            document.getElementById(ddlRim).options.add(optn);
            
            $.each(Widths, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Width'];
                    optn.value = this['ID'];
                    document.getElementById(ddlWidth).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlWidth)[1].selected = true;
                    OnWidthChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnWidth, hdnAspect, hdnRim);
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'CustomFitmentServiceHandler_Temp.ashx?Size=' + Size + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Widths) {

                    document.getElementById(ddlWidth).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectWidth;
                    optn.value = SelectWidth;
                    document.getElementById(ddlWidth).options.add(optn);

                    document.getElementById(ddlAspect).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectAspect;
                    optn.value = SelectAspect;
                    document.getElementById(ddlAspect).options.add(optn);

                    document.getElementById(ddlRim).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectRim;
                    optn.value = SelectRim;
                    document.getElementById(ddlRim).options.add(optn);
                    
                    $.each(Widths, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Width'];
                            optn.value = this['ID'];
                            document.getElementById(ddlWidth).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlWidth)[1].selected = true;
                            OnWidthChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnWidth, hdnAspect, hdnRim);
                        }
                    }



                });
            }
        });


    }
    document.getElementById(ddlWidth).disabled = false;
    return false;
}

function OnWidthChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnWidth, hdnAspect, hdnRim) {

    document.getElementById(ddlAspect).disabled = true;
    if (document.getElementById(ddlWidth).value != 0 && document.getElementById(ddlWidth).selectedIndex != 0) {
        document.getElementById(ddlAspect).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = "Loading...";
        optn.value = -1;
        document.getElementById(ddlAspect).options.add(optn);
    }
    
    var SelectWidth = document.getElementById(hdnWidth).value;
    var SelectAspect = document.getElementById(hdnAspect).value;
    var SelectRim = document.getElementById(hdnRim).value;

    if (document.getElementById(ddlWidth).selectedIndex == 0) {
        document.getElementById(ddlAspect).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = SelectAspect;
        optn.value = SelectAspect;
        document.getElementById(ddlAspect).options.add(optn);

        document.getElementById(ddlRim).options.length = 0;
        optn = document.createElement("OPTION");
        optn.text = SelectRim;
        optn.value = SelectRim;
        document.getElementById(ddlRim).options.add(optn);

    }
   
    var i = 0;
    var Width = document.getElementById(ddlWidth).value;
    var Size = document.getElementById(ddlSize).value;
    if (Width != SelectWidth) {


        $.ajax({
            type: "POST",
            url: 'CustomFitmentServiceHandler.ashx?Size=' + Size + '&Width=' + Width + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Aspect) {
            document.getElementById(ddlAspect).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectAspect;
            optn.value = SelectAspect;
            document.getElementById(ddlAspect).options.add(optn);

            document.getElementById(ddlRim).options.length = 0;
            optn = document.createElement("OPTION");
            optn.text = SelectRim;
            optn.value = SelectRim;
            document.getElementById(ddlRim).options.add(optn);

            $.each(Aspect, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Aspect'];
                    optn.value = this['ID'];
                    document.getElementById(ddlAspect).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlAspect)[1].selected = true;
                    OnAspectChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnAspect, hdnRim);
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'CustomFitmentServiceHandler_Temp.ashx?Size=' + Size + '&Width=' + Width + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Aspect) {
                    document.getElementById(ddlAspect).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectAspect;
                    optn.value = SelectAspect;
                    document.getElementById(ddlAspect).options.add(optn);

                    document.getElementById(ddlRim).options.length = 0;
                    optn = document.createElement("OPTION");
                    optn.text = SelectRim;
                    optn.value = SelectRim;
                    document.getElementById(ddlRim).options.add(optn);

                    $.each(Aspect, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Aspect'];
                            optn.value = this['ID'];
                            document.getElementById(ddlAspect).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlAspect)[1].selected = true;
                            OnAspectChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnAspect, hdnRim);
                        }
                    }



                });
            }
        });

    }
    document.getElementById(ddlAspect).disabled = false;
    return false;
}

function OnAspectChange(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnAspect, hdnRim) {

    document.getElementById(ddlRim).disabled = true;
    if (document.getElementById(ddlAspect).value != 0 && document.getElementById(ddlAspect).selectedIndex != 0) {
        document.getElementById(ddlRim).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = "Loading...";
        optn.value = -1;
        document.getElementById(ddlRim).options.add(optn);
    }
    
    var SelectAspect = document.getElementById(hdnAspect).value;
    var SelectRim = document.getElementById(hdnRim).value;

    if (document.getElementById(ddlAspect).selectedIndex == 0) {
        document.getElementById(ddlRim).options.length = 0;
        var optn = document.createElement("OPTION");
        optn.text = SelectRim;
        optn.value = SelectRim;
        document.getElementById(ddlRim).options.add(optn);
    }

    var Aspect = document.getElementById(ddlAspect).value;
    var Width = document.getElementById(ddlWidth).value;
    var Size = document.getElementById(ddlSize).value;
    var i = 0;
    if (Aspect != SelectAspect) {


        $.ajax({
            type: "POST",
            url: 'CustomFitmentServiceHandler.ashx?Size=' + Size + '&Width=' + Width + '&Aspect=' + Aspect + '&Temp=' + Temp,
            //data: {},  
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(Rim) {

            document.getElementById(ddlRim).options.length = 0;
            var optn = document.createElement("OPTION");
            optn.text = SelectRim;
            optn.value = SelectRim;
            document.getElementById(ddlRim).options.add(optn);
            
            $.each(Rim, function() {
                    i = i + 1;
                    optn = document.createElement("OPTION");
                    optn.text = this['Rim'];
                    optn.value = this['ID'];
                    document.getElementById(ddlRim).options.add(optn);

                });
                if (i == 1) {
                    document.getElementById(ddlRim)[1].selected = true;
                }
            },
            error: function() {
                $.ajax({
                    type: "POST",
                    url: 'CustomFitmentServiceHandler_Temp.ashx?Size=' + Size + '&Width=' + Width + '&Aspect=' + Aspect + '&Temp=' + Temp,
                    //data: {},  
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(Rim) {

                    document.getElementById(ddlRim).options.length = 0;
                    var optn = document.createElement("OPTION");
                    optn.text = SelectRim;
                    optn.value = SelectRim;
                    document.getElementById(ddlRim).options.add(optn);
                    
                    $.each(Rim, function() {
                            i = i + 1;
                            optn = document.createElement("OPTION");
                            optn.text = this['Rim'];
                            optn.value = this['ID'];
                            document.getElementById(ddlRim).options.add(optn);

                        });
                        if (i == 1) {
                            document.getElementById(ddlRim)[1].selected = true;
                        }
                    }



                });
            }
        });
    }

    document.getElementById(ddlRim).disabled = false;
    return false;
}

function ValidateCustomFitmentSearch(ddlSize, ddlWidth, ddlAspect, ddlRim, hdnCultureCode, CustomFitmentSearchResultsPageURL, CustomFitmentDefaultPageURL, SearchType) {


    var strErrMessage = "";
    var focusId = "";
    var CultureCode = document.getElementById(hdnCultureCode).value;
    if (document.getElementById(ddlSize).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlSize;
    }

    else if (document.getElementById(ddlWidth).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlWidth;
    }
    else if (document.getElementById(ddlAspect).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlAspect;
    }
    else if (document.getElementById(ddlRim).selectedIndex == 0) {
        strErrMessage = GetErrMsg("ErrSearchSelectionCriteria", CultureCode);
        if (focusId.length == 0)
            focusId = ddlRim;
    }

    if (strErrMessage.length == 0) {

        var SearchID = '';
        var SearchParams;
        SearchParams = document.getElementById(ddlSize).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlWidth).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlAspect).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + document.getElementById(ddlRim).value;
        SearchParams = SearchParams + '@%@';
        SearchParams = SearchParams + SearchType;

        $.getJSON('SearchHandler.ashx?SearchParams=' + SearchParams, function(data) {
            SearchID = data[0].SearchID;
            if (SearchID == '') {
                window.location.replace(CustomFitmentDefaultPageURL);
                return false;
            }
            else {

                CustomFitmentSearchResultsPageURL = CustomFitmentSearchResultsPageURL + SearchID;
                window.location.replace(CustomFitmentSearchResultsPageURL);
                return false;
            }
        });
    }
    else {

        var Errs = new Array();
        Errs = strErrMessage.split("$%#");
        var PopMsg = "";
        if (Errs.length > 0) {
            for (i = 0; i < Errs.length; i++) {
                PopMsg = PopMsg + Errs[i] + "\n";
            }
            alert(PopMsg);

            if (focusId.length > 0)
                document.getElementById(focusId).focus();
            return false;
        }
    }
}

//Function used to show and hide div in Tire comparision page
function Showdiv(hypUpArrow, hypDownArrow, hypShowLink, hypHideLink, div1) {

    document.getElementById(div1).style.display = "block";
    document.getElementById(hypHideLink).style.visibility = "visible";
    document.getElementById(hypHideLink).style.display = "inline";
    document.getElementById(hypShowLink).style.visibility = "hidden";
    document.getElementById(hypShowLink).style.display = "none";
    document.getElementById(hypUpArrow).style.visibility = "visible";
    document.getElementById(hypUpArrow).style.display = "inline";
    document.getElementById(hypDownArrow).style.visibility = "hidden";
    document.getElementById(hypDownArrow).style.display = "none";
    return false;
}

//Function used to show and hide div in Tire comparision page
function Hidediv(hypUpArrow, hypDownArrow, hypShowLink, hypHideLink, div1) {

    document.getElementById(div1).style.display = "none";
    document.getElementById(hypHideLink).style.visibility = "hidden";
    document.getElementById(hypHideLink).style.display = "none";
    document.getElementById(hypUpArrow).style.visibility = "hidden";
    document.getElementById(hypUpArrow).style.display = "none";
    document.getElementById(hypShowLink).style.visibility = "visible";
    document.getElementById(hypShowLink).style.display = "inline";
    document.getElementById(hypDownArrow).style.visibility = "visible";
    document.getElementById(hypDownArrow).style.display = "inline";
    return false;
}

//To move the page scroll to top
function onLoad() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args) {
        window.scrollTo(0, 0);
    }
}

///Method used to trim blank spaces
function Trim(str) {
    while (str.charAt(0) == (" ")) {
        str = str.substring(1);
    }
    while (str.charAt(str.length - 1) == " ") {
        str = str.substring(0, str.length - 1);
    }
    return str;
}

function BacktoResults(URL) {
    window.location.replace(URL);
    return false;
}
