﻿// JScript File


 function SendResortId(Source, txtSelectedResort, txtSelectedCountry, txtSelectedRegion, ddlCountry, ddlRegion)
    {
        txtSelectedCountry.value = ddlCountry.value;
        txtSelectedRegion.value = ddlRegion.value;
        txtSelectedResort.value = Source.value;
        return false;
    }
    
     function SendPropertyCode(Source, txtSelectedPropertyCode)
    {
        txtSelectedPropertyCode.value = Source.value;
        return false;
    }
    
    function SendNbPerson(Source, txtSelectedNbPerson)
    {
        txtSelectedNbPerson.value = Source.value;
        return false;
    }


    /////////////////////////////////////////////////////////////
    //Callback Methods to fill Regions according to the Country
    /////////////////////////////////////////////////////////////
    function SendCountryIDToGetRegions(Source, txtSelectedCountry, SourceControl, TargetControl)
    {   
        var strCountryCode = Source.value;
        strCountryCode = strCountryCode + "^" + TargetControl; //strCountryCode + "^" + "ddlP1_Region";
        txtSelectedCountry.value = Source.value;
        CallServerToGetRegions(strCountryCode,SourceControl);//CallServerToGetRegions(strCountryCode,"ddlP1_Country");
        return false;
    }
   
   
   
    /////////////////////////////////////////////////////////////
    //Callback Methods to fill Resorts according to the Region
    /////////////////////////////////////////////////////////////
    function SendRegionIDToGetResorts(Source, txtSelectedRegion, SourceControl, TargetControl, txtSelectedCountry, ddlCountry)
    {
      // alert("SourceControl: "+SourceControl + " \nTargetControl: " + TargetControl);
        var strRegionCode = Source.value;
        strRegionCode = strRegionCode + "^" + TargetControl;
        txtSelectedRegion.value = Source.value;
        CallServerToGetResorts(strRegionCode, SourceControl);
        
        // call __doPostBack to send clientside value at server
        //but not working as postback occurs, it clears the callback values of the region and resort dropdowns
        //window.execScript("__doPostBack('GetSelectedRegionAtServer','"+ strRegionCode +"')","JavaScript");
        return false;
    }
    /////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////
    
    
      /////////////////////////////////////////////////////////////
    //Callback Methods to fill Resorts according to the Region
    /////////////////////////////////////////////////////////////
    function ShowHideDescriptionBox(str)
    {
        //alert(str);
        CallServerToSetActiveViewIndex(str + "^" + str, "");
        return false;
    }
    function GetReferenceOfActiveIndex (args, context)
    {
        //alert("context");
    }
    /////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////
  
 function ReceiveServerDataToFillDropdowns(args, context)
    {
    //Detect Browser
    //    var IE4 = (document.all && !document.getElementById) ? true : false;
    //    var NS4 = (document.layers) ? true : false;
    //    var IE5 = (document.all && document.getElementById) ? true : false;
    //    var N6 = (document.getElementById && !document.all) ? true : false;
       
        var arrContext = context.split("^");
        var Source = arrContext[0].toLowerCase();
        var Target1=arrContext[1];
        var Target2=arrContext[2];
        var strCulture = arrContext[3].toLowerCase();
        var strFor = arrContext[4].toLowerCase();
        var strSelectCountryText;
        var strSelectRegionText;
        var strSelectResortText;
        switch (strFor)
        {
            case "searchproperty":
            switch (strCulture)
            {
                case "en-gb":
                    strSelectCountryText = "Any Country ...";
                    strSelectRegionText = "Any Region ...";
                    strSelectResortText  = "Any Resort ...";
                break;
                
                case "fr-fr":
                    strSelectCountryText = "Pays...";
                    strSelectRegionText = "Région...";
                    strSelectResortText  = "Localité...";
                break;
                
                case "de-de":
                     strSelectCountryText = "Beliebiges Land...";
                    strSelectRegionText = "Beliebige Region...";
                    strSelectResortText  = "Beliebiges Ferienort...";
                break;
            }
            break;
            case "createproperty":
            switch (strCulture)
            {
                case "en-gb":
                    strSelectCountryText = "Select Country...";
                    strSelectRegionText = "Select Region...";
                    strSelectResortText  = "Select Resort...";
                break;
                
                case "fr-fr":
                    strSelectCountryText = "Sélectionnez un Pays...";
                    strSelectRegionText = "Sélectionnez une Région...";
                    strSelectResortText  = "Sélectionnez une Localité...";
                break;
                
                case "de-de":
                    strSelectCountryText = "Wählen Sie das Land...";
                    strSelectRegionText = "Wählen Sie die Region...";
                    strSelectResortText  = "Wählen Sie das Ferienort...";
                break;
            }
            break;
        }
        
          
        // Internet Explorer
        if (window.ActiveXObject) 
        { 
            obj = new ActiveXObject("MsXml2.DOMDocument");
            obj.loadXML(args);
        }
        
        // Mozilla, Safari, ...
        else if (window.XMLHttpRequest) 
        { 
            obj = new XMLHttpRequest();
            parser = new DOMParser();
            obj = parser.parseFromString(args, "text/xml");
        } 
        
        
        var dsRoot=obj.documentElement;  
        var Options;
        var OptionValues;
        var count;
        var Values;
        var listItem;
         switch (Source)
        {
            case "ddlp1_country":
                var ddlListToPopulate = document.getElementById(Target1);
                Options = dsRoot.getElementsByTagName('strName');
                OptionValues = dsRoot.getElementsByTagName('strRegionCode');
                ddlListToPopulate.options.length=0;
                ddlListToPopulate.options[0] = new Option(strSelectRegionText,"-1");
                 
                //refresh resort dropdown
                var ddlResortList = document.getElementById(Target2);
                if (ddlResortList != null)
                {
                    //clear dropdwon
                    ddlResortList.options.length = 0
                    
      	            ddlResortList.options[0] = new Option(strSelectResortText,"-1");
                }
                break;
            
            case "ddlhome_country":
                var ddlListToPopulate = document.getElementById(Target1);
                  
                Options = dsRoot.getElementsByTagName('strName');
                OptionValues = dsRoot.getElementsByTagName('strRegionCode');
               
                ddlListToPopulate.options.length=0;
                ddlListToPopulate.options[0] = new Option(strSelectRegionText,"-1");
                 
                //refresh resort dropdown
                var ddlResortList = document.getElementById(Target2);
                if (ddlResortList != null)
                {
                    //clear dropdwon
                    ddlResortList.options.length = 0
      	            ddlResortList.options[0] = new Option(strSelectResortText,"-1");
                }
                break;
                
            case "ddlas_country":
                var ddlListToPopulate = document.getElementById(Target1);
                Options = dsRoot.getElementsByTagName('strName');
                
                OptionValues = dsRoot.getElementsByTagName('strRegionCode');
                ddlListToPopulate.options.length=0;
                ddlListToPopulate.options[0] = new Option(strSelectRegionText,"-1");
                 
                //refresh resort dropdown
                var ddlResortList = document.getElementById(Target2);
                if (ddlResortList != null)
                {
                    //clear dropdwon
                    ddlResortList.options.length = 0
                    
      	            ddlResortList.options[0] = new Option(strSelectResortText,"-1");
                }
                break;
                
                
            case "ddlp1_region":
                var ddlListToPopulate = document.getElementById(Target1);
                for (count = ddlListToPopulate.options.length-1; count >-1; count--)
                {
	                ddlListToPopulate.options[count] = null;
	            }
                Options = dsRoot.getElementsByTagName('strName');
                OptionValues = dsRoot.getElementsByTagName('intResortId');
                //Clear dropdown
                ddlListToPopulate.options.length=0
                
                ddlListToPopulate.options[0] = new Option(strSelectResortText,"-1");
                break;
           
            case "ddlhome_region":
                var ddlListToPopulate = document.getElementById(Target1);
                for (count = ddlListToPopulate.options.length-1; count >-1; count--)
                {
	                ddlListToPopulate.options[count] = null;
	            }
                Options = dsRoot.getElementsByTagName('strName');
                OptionValues = dsRoot.getElementsByTagName('intResortId');
                //Clear dropdown
                ddlListToPopulate.options.length=0
                
                ddlListToPopulate.options[0] = new Option(strSelectResortText,"-1");
                break;
                
            case "ddlas_region":
                var ddlListToPopulate = document.getElementById(Target1);
                for (count = ddlListToPopulate.options.length-1; count >-1; count--)
                {
	                ddlListToPopulate.options[count] = null;
	            }
                Options = dsRoot.getElementsByTagName('strName');
                OptionValues = dsRoot.getElementsByTagName('intResortId');
                //Clear dropdown
                ddlListToPopulate.options.length=0
                
                ddlListToPopulate.options[0] = new Option(strSelectResortText,"-1");
                break;
           
        }
	    var textField; 
	    var valueFiled;
	    
	    for (var count = 0; count < Options.length; count++)
	    {
	        textField = (Options[count].textContent || Options[count].innerText || Options[count].text);
	        valueFiled = (OptionValues[count].textContent || OptionValues[count].innerText || OptionValues[count].text);
		    listItem = new Option(textField, valueFiled);
		    ddlListToPopulate.options[ddlListToPopulate.length] = listItem;
        }
    }    
    
    ////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////

