﻿// JScript File for Country and state dropdownlist binding 

    var ddlCountry;
    var rfvCountry;
    var rfvState;
    var rfvCity;
    var rfvOCountry;
    var rfvOState;
    var rfvOCity;
    var ddlState;
    var ddlCity;
    var txtOCountry;
    var txtOState;
    var txtOCity;
    var chkState;
    var chkCity;
    var chkCountry;
    var hfSelectedState;
    var hfSelectedCity;
    var strFormFlag;
    var txtArea;
    var txtLocation;
    var ddlMedia;
    var rfvArea;
    var rfvLocation;
    var rfvMedia;
    var chkArea;
    var chkLocation;
    var chkMedia;
      
    function jsfnOtherCountryChk(arr,strForm)
    {
        var ctrlArr=new Array();
        ctrlArr=arr;

        ddlCountry=document.getElementById(ctrlArr[0]);
        rfvCountry=document.getElementById(ctrlArr[1]);
        rfvState=document.getElementById(ctrlArr[2]);
        rfvCity=document.getElementById(ctrlArr[3]);
        rfvOCountry=document.getElementById(ctrlArr[4]);
        rfvOState=document.getElementById(ctrlArr[5]);
        rfvOCity=document.getElementById(ctrlArr[6]);
        ddlState=document.getElementById(ctrlArr[7]);
        ddlCity=document.getElementById(ctrlArr[8]);
        txtOCountry=document.getElementById(ctrlArr[9]);
        txtOState=document.getElementById(ctrlArr[10]);
        txtOCity=document.getElementById(ctrlArr[11]);
        chkState=document.getElementById(ctrlArr[12]);
        chkCity=document.getElementById(ctrlArr[13]);
        chkCountry=document.getElementById(ctrlArr[14]);
        hfSelectedState=document.getElementById(ctrlArr[15]);
        hfSelectedCity=document.getElementById(ctrlArr[16]);
        strFormFlag=strForm;

        if(chkCountry.checked==true)
        {
            ddlCountry.disabled = true;
            rfvCountry.validationGroup = "n";
            rfvState.validationGroup = "n";
            rfvCity.validationGroup = "n";
            ddlState.disabled = true;
            ddlCity.disabled = true;
                       
            txtOCountry.style.display = 'block';
            txtOState.style.display = 'block';
            txtOCity.style.display = 'block';
            rfvOCountry.style.display = 'block';
            rfvOState.style.display = 'block';
            rfvOCity.style.display = 'block';
            
            txtOCountry.disabled = false;
            txtOState.disabled = false;
            txtOCity.disabled = false;
            rfvOCountry.disabled = false;
            rfvOState.disabled = false;
            rfvOCity.disabled = false;

            rfvOCountry.validationGroup = "reg";
            rfvOState.validationGroup = "reg";
            rfvOCity.validationGroup = "reg";
                       
            chkState.checked = true;
            chkCity.checked = true;
            
            chkState.disabled = true;
            chkCity.disabled = true;       
        }
        else if(chkCountry.checked==false)
        {                      
            ddlCountry.disabled = false;
            rfvCountry.validationGroup = "reg";
            rfvState.validationGroup = "reg";
            rfvCity.validationGroup = "reg";
            ddlState.disabled = false;
            ddlCity.disabled = false;
            txtOCountry.style.display = 'none';
            txtOState.style.display = 'none';
            txtOCity.style.display = 'none';
            rfvOCountry.style.display = 'none';
            rfvOState.style.display = 'none';
            rfvOCity.style.display = 'none';
            
            txtOCountry.disabled = true;
            txtOState.disabled = true;
            txtOCity.disabled = true;
            rfvOCountry.disabled = true;
            rfvOState.disabled = true;
            rfvOCity.disabled = true;
            
            rfvOCountry.validationGroup = "n";
            rfvOState.validationGroup = "n";
            rfvOCity.validationGroup = "n";
            
            chkState.checked = false;
            chkCity.checked = false;
            
            chkState.disabled = false;
            chkCity.disabled = false;       
        }
    }

//    function jsfnOtherStateChk(arr)
    function jsfnOtherStateChk()
    {
//        var ctrlArr=new Array();
//        ctrlArr=arr;

//        ddlCountry=document.getElementById(ctrlArr[0]);
//        rfvCountry=document.getElementById(ctrlArr[1]);
//        rfvState=document.getElementById(ctrlArr[2]);
//        rfvCity=document.getElementById(ctrlArr[3]);
//        rfvOCountry=document.getElementById(ctrlArr[4]);
//        rfvOState=document.getElementById(ctrlArr[5]);
//        rfvOCity=document.getElementById(ctrlArr[6]);
//        ddlState=document.getElementById(ctrlArr[7]);
//        ddlCity=document.getElementById(ctrlArr[8]);
//        txtOCountry=document.getElementById(ctrlArr[9]);
//        txtOState=document.getElementById(ctrlArr[10]);
//        txtOCity=document.getElementById(ctrlArr[11]);
//        chkState=document.getElementById(ctrlArr[12]);
//        chkCity=document.getElementById(ctrlArr[13]);
//        chkCountry=document.getElementById(ctrlArr[14]);

        if(chkState.checked==true)
        {          
            ddlState.disabled = true;
            rfvState.validationGroup = "n";
            rfvCity.validationGroup = "n";
            rfvOState.disabled =false;
            rfvOCity.disabled =false;
            txtOState.disabled =false;
            ddlCity.disabled = true;
            txtOCity.disabled =false;
            chkCity.checked = true;
            
            txtOState.style.display = 'block';
            txtOCity.style.display = 'block';
            rfvOState.style.display = 'block';
            rfvOCity.style.display = 'block';
            
            rfvOState.validationGroup = "reg";
            rfvOCity.validationGroup = "reg";
                       
            chkCity.disabled = true;    
        }
        else if(chkState.checked==false)
        {                      
            ddlState.disabled = false;
            rfvState.validationGroup = "reg";
            rfvCity.validationGroup = "reg";
            rfvOState.disabled =true;
            rfvOCity.disabled =true;
            txtOState.disabled =true;
            ddlCity.disabled = false;
            txtOCity.disabled =true;
            chkCity.checked = false;

            txtOState.style.display = 'none';
            txtOCity.style.display = 'none';
            rfvOState.style.display = 'none';
            rfvOCity.style.display = 'none';
            
            rfvOState.validationGroup = "n";
            rfvOCity.validationGroup = "n";
            
            chkCity.disabled = false;    
        }
     }
        
    //function jsfnOtherCityChk(arr)
    function jsfnOtherCityChk()   
    {
//        var ctrlArr=new Array();
//        ctrlArr=arr;

//        ddlCountry=document.getElementById(ctrlArr[0]);
//        rfvCountry=document.getElementById(ctrlArr[1]);
//        rfvState=document.getElementById(ctrlArr[2]);
//        rfvCity=document.getElementById(ctrlArr[3]);
//        rfvOCountry=document.getElementById(ctrlArr[4]);
//        rfvOState=document.getElementById(ctrlArr[5]);
//        rfvOCity=document.getElementById(ctrlArr[6]);
//        ddlState=document.getElementById(ctrlArr[7]);
//        ddlCity=document.getElementById(ctrlArr[8]);
//        txtOCountry=document.getElementById(ctrlArr[9]);
//        txtOState=document.getElementById(ctrlArr[10]);
//        txtOCity=document.getElementById(ctrlArr[11]);
//        chkState=document.getElementById(ctrlArr[12]);
//        chkCity=document.getElementById(ctrlArr[13]);
//        chkCountry=document.getElementById(ctrlArr[14]);

        if(chkCity.checked==true)
        {              
            ddlCity.disabled = true;
            rfvCity.validationGroup = "n";
            rfvOCity.disabled =false;
            txtOCity.disabled =false;
            
            txtOCity.style.display = 'block';
            rfvOCity.style.display = 'block';
            
            rfvOCity.validationGroup = "reg";
        }
        else if(chkCity.checked==false)
        {                      
            ddlCity.disabled = false;
            rfvCity.validationGroup = "reg";
            rfvOCity.disabled =true;
            txtOCity.disabled =true;
            
            txtOCity.style.display = 'none';
            rfvOCity.style.display = 'none';
            
            rfvOCity.validationGroup = "n";
        }
     }

    //function jsfnFetchStates(ddlCountry,ddlState)
    function jsfnFetchStates()
    {
        var xmlRequest = DoCallback("countrystatecity.aspx?StateFlag=Y","Country=" + ddlCountry.value + "");
        if(xmlRequest.readyState == 4)
        {
            if(xmlRequest.status == 200)
            {
                if (xmlRequest.responseText!="")
                {
                    ClearAndSetStates(xmlRequest.responseText);
                }
                else
                {
                    alert("Data not loaded");
                }
	        }
	        else
            {
                alert("Process was not completed due to some problem on server" );
            }
        }
    }

    function jsfnFetchCities()
    {      
        var xmlRequest = DoCallback("countrystatecity.aspx?CityFlag=Y","State=" + ddlState.value + "");
        if(xmlRequest.readyState == 4)
        {
            if(xmlRequest.status == 200)
            {
                if (xmlRequest.responseText!="")
                {
                    ClearAndSetCities(xmlRequest.responseText);
                }
                else
                {
                    alert("Data not loaded");
                }
	        }
	        else
            {
                alert("Process was not completed due to some problem on server" );
            }
        }
    }

    function jsfnLoadDefault()
    {
        
    }
    
    function jsfnSetSelections()
    {
        hfSelectedState.innerText=ddlState.value;
        hfSelectedCity.innerText=ddlCity.value;
    }

    //Functions for Media Search
    function jsfnCountryChk(arr,strForm)
    {
        var ctrlArr=new Array();
        ctrlArr=arr;

        ddlCountry=document.getElementById(ctrlArr[0]);
        ddlState=document.getElementById(ctrlArr[1]);
        ddlCity=document.getElementById(ctrlArr[2]);
        rfvCountry=document.getElementById(ctrlArr[3]);
        rfvState=document.getElementById(ctrlArr[4]);
        rfvCity=document.getElementById(ctrlArr[5]);
        chkCountry=document.getElementById(ctrlArr[6]);
        chkState=document.getElementById(ctrlArr[7]);
        chkCity=document.getElementById(ctrlArr[8]);
        hfSelectedState=document.getElementById(ctrlArr[9]);
        hfSelectedCity=document.getElementById(ctrlArr[10]);
        strFormFlag=strForm;
        
        //This is to check that if data is passed by form Media Agency Search. This Search do not have other criterias
        if(strFormFlag!="SMA")
        {
            txtArea=document.getElementById(ctrlArr[11]);
            txtLocation=document.getElementById(ctrlArr[12]);
            ddlMedia=document.getElementById(ctrlArr[13]);
            rfvArea=document.getElementById(ctrlArr[14]);
            rfvLocation=document.getElementById(ctrlArr[15]);
            rfvMedia=document.getElementById(ctrlArr[16]);
            chkArea=document.getElementById(ctrlArr[17]);
            chkLocation=document.getElementById(ctrlArr[18]);
            chkMedia=document.getElementById(ctrlArr[19]);
        }

        if(chkCountry.checked==true)
        {
            rfvCountry.validationGroup = "reg";
            rfvState.validationGroup = "n";
            rfvCity.validationGroup = "n";
            
            ddlCountry.disabled = false;
            ddlState.disabled = true;
            ddlCity.disabled = true;
                       
            chkState.checked = false;
            chkCity.checked = false;  
            
            chkState.disabled = false;
            chkCity.disabled = true;   
        }
        else if(chkCountry.checked==false)
        {                      
            rfvCountry.validationGroup = "n";
            rfvState.validationGroup = "n";
            rfvCity.validationGroup = "n";

            ddlCountry.disabled =true;
            ddlState.disabled = true;
            ddlCity.disabled = true;
           
            chkState.checked = false;
            chkCity.checked = false;
            
            chkState.disabled = true;
            chkCity.disabled = true;       
        }
        
        //This is to check that if data is passed by form Media Agency Search. This Search do not have other criterias
        if(strFormFlag!="SMA")
        {
            jsfnAreaChk();
            jsfnLocationChk();
            jsfnMediaChk();
        }
    }

    function jsfnStateChk()
    {
        if(chkState.checked==true)
        {          
            rfvState.validationGroup = "reg";
            rfvCity.validationGroup = "n";
            
            ddlState.disabled = false;
            ddlCity.disabled = true;
                       
            chkCity.checked = false;  
            
            chkCity.disabled = false;    
        }
        else if(chkState.checked==false)
        {                      
            rfvState.validationGroup = "n";
            rfvCity.validationGroup = "n";

            ddlState.disabled = true;
            ddlCity.disabled = true;
           
            chkCity.checked = false;
            
            chkCity.disabled = true;       
        }
     }
        
    function jsfnCityChk()   
    {
        if(chkCity.checked==true)
        {              
            rfvCity.validationGroup = "reg";
            ddlCity.disabled = false;
        }
        else if(chkCity.checked==false)
        {                      
            rfvCity.validationGroup = "n";
            ddlCity.disabled = true;                      
        }
     }
     
    function jsfnAreaChk()   
    {
        if(chkArea.checked==true)
        {
            rfvArea.validationGroup = "reg";
            txtArea.disabled = false;
        }
        else if(chkArea.checked==false)
        {                      
            rfvArea.validationGroup = "n";
            txtArea.disabled = true;                      
        }
     }
     
    function jsfnLocationChk()   
    {
        if(chkLocation.checked==true)
        {
            rfvLocation.validationGroup = "reg";
            txtLocation.disabled = false;
        }
        else if(chkLocation.checked==false)
        {                      
            rfvLocation.validationGroup = "n";
            txtLocation.disabled = true;                      
        }
     }
     
    function jsfnMediaChk()   
    {
        if(chkMedia.checked==true)
        {
            rfvMedia.validationGroup = "reg";
            ddlMedia.disabled = false;
        }
        else if(chkMedia.checked==false)
        {                      
            rfvMedia.validationGroup = "n";
            ddlMedia.disabled = true;                      
        }
     }
     
     //Newly added code to replace Ajax Pro
     
     //Clears the contents of state combo box and adds the states of currently selected country
        function ClearAndSetStates(strStates)
        {
        	var textValue; 
	        
	        //Clears the state combo box contents.
	        for (var count = ddlState.options.length-1; count >-1; count--)
	        {
		        ddlState.options[count] = null;
	        }
               
	        var strState="";
	        strState=strState + strStates;
	        var intPos=strStates.indexOf(',,',1);

	        if(strStates.replace(',,','')!='')
	        {
		        while(intPos>1)
		        {
			        strState=strStates.substring(1,intPos)
			        if(strState!='')
			        {
   		                textValue = strState;
		                optionItem = new Option( textValue, textValue,  false, false);
		                ddlState.options.add(optionItem);
			        }
        			
			        strStates=strStates.substring(intPos+1,strStates.length)
			        intPos=strStates.indexOf(',,',1)
			    }
	        }
        
	        textValue ="- Select -";
		    optionItem = new Option( textValue, textValue,  false, false);
		    ddlState.options[0] = optionItem;
		    ddlState.selectedIndex=0;
		    
		    //Clears the City combo box contents.
	        for (var count = ddlCity.options.length-1; count >-1; count--)
	        {
		        ddlCity.options[count] = null;
	        }

	        textValue ="- Select -";
		    optionItem = new Option( textValue, textValue,  false, false);
		    ddlCity.options[0] = optionItem;
		    ddlCity.selectedIndex=0;
        }

     //Clears the contents of city combo box and adds the cities of currently selected country
        function ClearAndSetCities(strCities)
        {
        	var textValue; 
	        var optionItem;
	        
	        //Clears the City combo box contents.
	        for (var count = ddlCity.options.length-1; count >-1; count--)
	        {
		        ddlCity.options[count] = null;
	        }
               
	        var strCity="";
	        strCity=strCity + strCities;
	        var intPos=strCities.indexOf(',,',1);

	        if(strCities.replace(',,','')!='')
	        {
		        while(intPos>1)
		        {
			        strCity=strCities.substring(1,intPos)
			        if(strCity!='')
			        {
   		                textValue = strCity;
		                optionItem = new Option( textValue, textValue,  false, false);
		                ddlCity.options.add(optionItem);
			        }
        			
			        strCities=strCities.substring(intPos+1,strCities.length)
			        intPos=strCities.indexOf(',,',1)
			    }
	        }
        
	        textValue ="- Select -";
		    optionItem = new Option( textValue, textValue,  false, false);
		    ddlCity.options[0] = optionItem;
		    ddlCity.selectedIndex=0;
        }
        
