﻿// JScript File

//Function to change focus from one field to next field
//obj - Current Field
//nextField - 
//maxCount - Maximum Allowable characters 

var currentWidgetSet=1;

function CheckMobileNumber(obj,nextField,maxCount,e)
{
    var masterControlId = 'ctl00_ContentPlaceHolder1_';
    obj.setAttribute('autocomplete','off'); 
    nextBox = document.getElementById(masterControlId + nextField);
    if(nextBox==null)
    {
        nextBox = document.getElementById(nextField);
    }
    nextBox.setAttribute('autocomplete','off');     
    if(e.keyCode >= 48)
    {
 	    if(obj.value.length > (maxCount-1))
 	    { 	    	 	    
 	        nextBox.focus();		 	    
 	    }
 	}
}

function GetRegionFromRegionCode(regionCode,regionData)
{
    var regExpresn = new RegExp("\\$" + regionCode + "\\|.*?\\$","i");
    var regionName =  regionData.match(regExpresn);
    regExpresn = new RegExp("\\$" + regionCode + "\\|","i")
    regionName = regionName[0].replace(regExpresn,"");  
    regExpresn = new RegExp("\\$");
    regionName = regionName.replace(regExpresn,"");

    return regionName;
}

  //fill phonemodels
    function FillPhoneModels(obj,ClientId,IsOtherRequired)
    {    
        var masterControlId = getMasterControlId(obj,ClientId);
        
        drpPhoneModel = document.getElementById(masterControlId + 'drpPhoneModel');
        drpPhoneModel.options.length=0;                       
        
        drpPhoneModel.options[0]=new Option('Select','Select');
        
        var SelectedProvider = obj.value;        
        //Set the value in hidden field
        SethiddenField(masterControlId,SelectedProvider,'hdnSelectedProvider');
        
        if(obj.value!='Other')
        {
        //Service Providers and their supported phonemodels
        hdnProviders = document.getElementById(masterControlId + 'hdnProviders');               
        var xml_data = hdnProviders.value;        
       
        hdnSelectedPhoneModel = document.getElementById(masterControlId + 'hdnSelectedPhoneModel');                                               
        hdnSelectedPhoneModel.value = 'Select';      
        
        //selected value   
        var drpRegion = document.getElementById(masterControlId + 'drpRegion');               
        //Get region codes string
        var hdnRegionCodes = document.getElementById(masterControlId + 'hdnRegionCodes');    
        //Get the region Name from selected region Code
        var selectedRegion = GetRegionFromRegionCode(drpRegion.value,hdnRegionCodes.value);       
          
        regExpresn = new RegExp("#" + selectedRegion + ".*?#","g");
        var models = (xml_data + "#").match(regExpresn);
               
        regExpresn = new RegExp("\\$" + SelectedProvider + ".*?\\$","g" );
        xml_data = (models[0] + "$").match(regExpresn);      
        
        regExpresn = new RegExp("\\$" + SelectedProvider + "\\|");
        models = xml_data[0].replace(regExpresn,"");         
         
         regExpresn = new RegExp("\\$");
         models = models.replace(regExpresn,"");
         regExpresn = new RegExp("#");
         models = models.replace(regExpresn,"");
         models = models.split("|");
                                
        for (k=0;k < models.length ;k++)                        
           drpPhoneModel.options[k+1]=new Option(TrimNew(models[k]),TrimNew(models[k]));
        
        if(IsOtherRequired)
            drpPhoneModel.options[k+1]= new Option('Other','Other');
        }
        else
        {
            drpPhoneModel.options[1]= new Option('Other','Other'); 
        }
    }   
    
    
    function ValidateMobileNumber(sender, args)
    {     
     var masterControlId = getMasterControlId(sender,'csvPhone');     
     var txbCountryCode = document.getElementById(masterControlId + 'txbCountryCode');
     var txbAreaCode = document.getElementById(masterControlId + 'txbAreaCode');    
     
     var mobileNumber = txbCountryCode.value + txbAreaCode.value + args.Value;      
      
         args.IsValid= IsValidNumber(mobileNumber,10);
         
         var div = document.getElementById('phoneField');
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        } 
        
         return;   
    }



    function ValidateMobileNumberFromTwoTextBox(sender, args) {
        var masterControlId = getMasterControlId(sender, 'csvPhone');
        var txbCountryCode = document.getElementById(masterControlId + 'txbCountryCode');
      

        var mobileNumber = txbCountryCode.value +args.Value;

        args.IsValid = IsValidNumber(mobileNumber, 10);

        var div = document.getElementById('phoneField');
        if (!args.IsValid) {
            if (div != null) {
                div.className = 'redUnderline';
            }
        }
        else {
            if (div != null) {
                div.className = '';
            }
        }

        return;
    }    
    
    function ValidateMobileNumberFromSingleTextBox(sender, args)
    {
        var mobileNumber = args.Value;
        
        args.IsValid= IsValidNumberForForgotPassword(mobileNumber,10,11);
        
        var div = document.getElementById('phoneField');
        if(div!=null)
        {
            if(!args.IsValid)
            {
                div.className='redUnderline';
            }
            else
            {
                div.className='';
            }
        }
       
        return;
    }
    function ValidateMobileNumberFromSingleTextBoxForIndia(sender, args)
    {
        var mobileNumber = args.Value;
        
        args.IsValid= IsValidNumberForForgotPassword(mobileNumber,10,12);
            
        var div = document.getElementById('phoneField');
        if(div!=null)
        {
            if(!args.IsValid)
            {
                div.className='redUnderline';
            }
            else
            {
                div.className='';
            }
        }
       
        return;
    }
    
    function IsValidNumberForForgotPassword(Number, FirstLength, SecondLength)
   {
        retVal = false;
      
        //Using regular expression       
        var NummberPattern1 = new RegExp("[0-9]{" + FirstLength + "," + FirstLength + "}");        
        var NummberPattern2 = new RegExp("[0-9]{" + SecondLength + "," + SecondLength + "}");    
            
        //If the phone number pattern does match the regex pattern        
        if ((NummberPattern1.test(Number)) || (NummberPattern2.test(Number)))                                       
             retVal = true;             
             
        return retVal;
   }
   
    
    //Check whetehr the email is valid
    function IsValidEmail(EmailAddress)
    { 
     
         var emailformat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
         var retVal = false;
         if((EmailAddress)!= "")
         {    
            if(emailformat.test(EmailAddress))
		         retVal = true;	
         }
         return retVal;
   }
   
   //Check whether the number is valid
   function IsValidNumber(Number, Length)
   {
        retVal = false;
        
        //Using regular expression       
        var NummberPattern = new RegExp("[0-9]{10," + Length + "}");
        //If the phone number pattern does match the regex pattern
        if (NummberPattern.test(Number))                
             retVal = true; 
             
        return retVal;
   }
   
   //The function is to select the phonemodel automatically after the postback
     //Previously selected model is passed as the argument to the function 
     function SelectThePhoneModelOnPostBack(obj,ClientId,selectedModel)
     {      
         var masterControlId = getMasterControlId(obj,ClientId);        
         var drpModel = obj;               
         for(i=0;i<drpModel.options.length;i++)
         {            
             if(drpModel.options[i].value == selectedModel)
             {
                drpModel.options[i].selected = true;                
                break;
             }
         }
         var hdnSelectedPhoneModel = document.getElementById(masterControlId + 'hdnSelectedPhoneModel');
         hdnSelectedPhoneModel.value = selectedModel; 
             
     }
     
     function getMasterControlId(obj,ClientId)
     { 
        var masterControlId = obj.id;
        var regExpresn = new RegExp(ClientId);
        masterControlId = masterControlId.replace(regExpresn,"");        
        return masterControlId;
     }
   
   function SetPhoneModel(obj,ClientId)
     {     
        var masterControlId = getMasterControlId(obj,ClientId);
        var hdnSelectedPhoneModel = document.getElementById(masterControlId + 'hdnSelectedPhoneModel');
        hdnSelectedPhoneModel.value = obj.value;   
     }
     
//    function ValidateLogin(obj, ClientId)
//	{

//	    var retVal = false;
//	    var masterControlId = getMasterControlId(obj,ClientId); 
//        
//	    var password = document.getElementById(masterControlId + 'txbLoginPassword').value;
//	    var ctc = document.getElementById(masterControlId + 'txbLoginCountryCode').value;
//	    var arc = document.getElementById(masterControlId +'txbLoginAreaCode').value;
//	    var phone = document.getElementById(masterControlId + 'txbLoginPhone').value;
//	    
//	    var lblErrorMessage = document.getElementById(masterControlId + 'lblErrorMessage');
//	    if((password.length >0) && (ctc.length>0) &&(arc.length>0) && (phone.length>0))
//	    {	
//	        lblErrorMessage.innerHTML = "";    
//	        retVal = true;   
//	    }
//	    else
//	    {
//	       /* if(password.length == 0)
//	        {
//	            DisplayErrorMessage('rfvLoginPassword',true);
//	        }
//	        if((ctc.length==0) ||(arc.length==0) || (phone.length==0))
//	        {
//	           DisplayErrorMessage('rfvLoginMob',true);
//	        } */      
//	        retVal = false;
//	        lblErrorMessage.innerHTML = "Invalid Mobile number or Password";
//	    }	   
//	    return retVal;
//	}
//		
		/*Newly added for new login*/
	   function ValidateLoginNew(obj, ClientId)
	{
	    var retVal = false;
	    var masterControlId = getMasterControlId(obj,ClientId); 
        
	    var password = document.getElementById(masterControlId + 'txtPassword').value;
	    var ctc = document.getElementById(masterControlId + 'txtPhoneNumber1').value;
	    var arc = document.getElementById(masterControlId +'txtPhoneNumber2').value;
	    var phone = document.getElementById(masterControlId + 'txtPhoneNumber3').value;
	    
	    var lblErrorMessage = document.getElementById(masterControlId + 'lblErrorMessage');
	    if((password.length >0) && (ctc.length>0) &&(arc.length>0) && (phone.length>0))
	    {	
	        lblErrorMessage.innerHTML = "";    
	        retVal = true;   
	    }
	    else
	    {
	       /* if(password.length == 0)
	        {
	            DisplayErrorMessage('rfvLoginPassword',true);
	        }
	        if((ctc.length==0) ||(arc.length==0) || (phone.length==0))
	        {
	           DisplayErrorMessage('rfvLoginMob',true);
	        } */      
	        retVal = false;
	        lblErrorMessage.innerHTML = "Invalid Mobile number or Password";
	    }	   
	    return retVal;
	}	
		
		
	function SlideWidgets(count)
	{
	
	var PnlWidgetSet1 = document.getElementById("div1");
	//var PnlWidgetSet2 = document.getElementById("div2");		
			
			if(currentWidgetSet==1)
			{
			        //alert(count);
			        if(count <600)
			        {
			        //alert(count);
        			
		           PnlWidgetSet1.style.left =  -580 + count +"px";;
			          //PnlWidgetSet2.style.left =  count +"px";    
        			    
			            count = count+20;
			            funcName ='SlideWidgets('+count+')';
			            setTimeout(funcName,1);

			        }else
			        {
			            PnlWidgetSet1.style.left =  "-1140px";;
			            currentWidgetSet=2;
			        }
			}else
			{
			
			        if(count <600)
			        {
			        //alert(count);
        			
		           PnlWidgetSet1.style.left =  -1140 + count +"px";;
			          //PnlWidgetSet2.style.left =  count +"px";    
        			    
			            count = count+20;
			            funcName ='SlideWidgets('+count+')';
			            setTimeout(funcName,1);

			        }else
			        {
			            PnlWidgetSet1.style.left =  "-570px";;
			            currentWidgetSet=1;
			        }
			}

	}
	
	//Validate an email field
	function ValidateEmailField(sender,args)
	{  
	    var email = args.Value;	              
        args.IsValid = IsValidEmail(trim(email));
        
        var div = document.getElementById('emailField');
        var divNA = document.getElementById('NAemailField');
        
        
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
            if(divNA != null)
            {
                divNA.className = 'redUnderline';
            }            
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
            if(divNA != null)
            {
                divNA.className = '';
            }            
        }      
        return ;      
	}
	
	function ValidateConfirmEmailField(sender,args)
	{  
	    var ConfirmEmail = args.Value;	              
        args.IsValid = IsValidEmail(trim(ConfirmEmail));       
       
        var div = document.getElementById('confirmEmailField');
        
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }           
        }      
        return ;      
	}
	//Validate a service provider drop down list
	function ValidateServiceProvider(sender,args)
	{    
	    var selectedValue = args.Value; 	     
	    args.IsValid = (selectedValue != 'Select' && selectedValue != '');   
	    
	    var div = document.getElementById('carrierField');
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        } 
            
        return ;
	}
	//Validate a Phonemodel drop down list
	function ValidatePhoneModel(sender,args)
	{	
	    var selectedValue = args.Value;
	    args.IsValid = (selectedValue != 'Select' && selectedValue != ''); 
	    
	    var div = document.getElementById('modelField');
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }   
              
        return ;       
	}
	//Validate password and confirm password
	function  ValidatePasswordConfirm(sender, args)
     {
      var masterControlId = getMasterControlId(sender,'CsvPassword');
   
      var Password = args.Value; 
      
      var ConfirmPassword = document.getElementById(masterControlId + 'txbConfirmPassword').value;       
                    
          if(Password.length < 6)
          {
            sender.errormessage ="The password must be atleast 6 character in length";
            args.isValid=false;
          }          
          else if(Password != ConfirmPassword)
          {       
            sender.errormessage = "The password and confirm password does not match";         
            args.IsValid=false;
          }                    
         
          args.IsValid= ( (Password == "") && ConfirmPassword == "") || ((Password.length > 3) && (Password != "") && (Password == ConfirmPassword));
          return;  
        
     }
     
     
     //Validate email and confirm email
	function  ValidateEmailConfirm(sender, args)
     {
      var masterControlId = getMasterControlId(sender,'csvEmailMatch');
   
      var ConfirmEmail = args.Value; 
      
      var Email = document.getElementById(masterControlId + 'txbEmail').value;       
                    
          if(Email != ConfirmEmail)
          { 
            sender.errormessage = "Emails do not match";         
            args.IsValid=false;
          }
          else args.IsValid=true;   
          
      var div = document.getElementById('confirmEmailField');
      if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }    
            
      return;
     }
     
      //Validate email and confirm email
	function  ValidateEmailConfirmForStep3(sender, args)
     {
      var masterControlId = getMasterControlId(sender,'csvEmailMatch');
   
      var ConfirmEmail = args.Value; 
      
      var Email = document.getElementById(masterControlId + 'txbEmail').value;       
                    
          if(Email != ConfirmEmail)
          {  
            args.IsValid=false;
          }
          else args.IsValid=true;   
          
      return;
     }
     
     //validation in contactus page
     function ValidateSubjectField(sender,args)
	{	
	    var selectedValue = args.Value;
	    args.IsValid = (selectedValue != ''); 
        var div = document.getElementById('subjectField');
        var divMsg= document.getElementById('successDiv');
        if(!args.IsValid)
        {
            if(divMsg != null)
            {
                divMsg.style.display = 'none';
            }
            if(div != null)
            {
                div.className = 'redUnderline';
            }            
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }      
        return ; 
     }  
     
     function ValidateNameField(sender,args)
	{	
	    var Name = args.Value;
	    args.IsValid = (Name != ''); 
        var div = document.getElementById('nameField');
        var divMsg= document.getElementById('successDiv');
        if(!args.IsValid)
        {
            if(divMsg != null)
            {
                divMsg.style.display = 'none';
            }
            if(div != null)
            {
                div.className = 'redUnderline';
            }            
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }      
        return ; 
     }        
     
     
     function ValidateEmail(sender,args)
	{  
	    var email = args.Value;	              
        args.IsValid = IsValidEmail(trim(email));
        var divMsg= document.getElementById('successDiv');
        var div = document.getElementById('emailField');
        if(!args.IsValid)
        {
            if(divMsg != null)
            {
                divMsg.style.display = 'none';
            }
            if(div != null)
            {
                div.className = 'redUnderline';
            }            
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }      
        return ;      
	}
	
	 function ValidateMessageField(sender,args)
	{	
	    var Message = args.Value;
	    args.IsValid = (Message != ''); 
        var div = document.getElementById('messageField');
        var divMsg= document.getElementById('successDiv');
        if(!args.IsValid)
        {        
            if(divMsg != null)
            {
                divMsg.style.display = 'none';
            }
            if(div != null)
            {
                div.className = 'redUnderline';
            }            
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }      
        return ; 
     }  
       
     function GetCurrentDate()
     {
        var currentTime = new Date();    
        var month = currentTime.getMonth() + 1;
        var day = currentTime.getDate();
        var year = currentTime.getFullYear();
        if(month < 10)
        {
            month =  month;
        }
        if(day < 10)
        {
            day = day;
        }
        var currentDate = month + "/" + day + "/" + year;
        
        return  currentDate;
     
     }
     
     //Check a date is valid
     //Checks if the date is less than current date
     function ValidateDateOfBirth(sender,args)
     {  
        //get current date
         var currentDate = new Date(GetCurrentDate());
         var cuDate = new Date (currentDate);
         
           if(isDate(args.Value))
           {
                 var actualDate = new Date(args.Value);
                 args.IsValid =  (actualDate < cuDate); 
           }
           else
           {
            args.IsValid = false;
           } 
           return args.IsValid;     
     }
	
	function FillServiceProvider(obj,ClientId)
	{
	    var masterControlId = getMasterControlId(obj,ClientId);	    
	   
	    drpServiceProvider = document.getElementById(masterControlId + 'drpServiceProvider');
        drpServiceProvider.options.length=0;         
        drpServiceProvider.options[0]=new Option('Select','Select'); 
        
         //Service Providers and their supported phonemodels
        if(obj.value!='Other')
        {
        hdnProviders = document.getElementById(masterControlId + 'hdnProviders');               
        var xml_data = hdnProviders.value;     
        //get all region code and name string
        var hdnRegionCodes = document.getElementById(masterControlId + 'hdnRegionCodes');    
        //Get the region Name from selected region Code
        var SelectedRegion = GetRegionFromRegionCode(obj.value,hdnRegionCodes.value);       
        
        var regExpresn = new RegExp("#" + SelectedRegion + "\\$.*?#","i");
        xml_data = (xml_data + "#").match(regExpresn);
        
        regExpresn = new RegExp("\\$.*?\\|","g");
        var Providers = xml_data[0].match(regExpresn);
        
        regExpresn = new RegExp("\\$"); 
        var regReplace = new RegExp("\\|");              
        
        for(i=0;i < Providers.length;i++)
        {           
            models = Providers[i].replace(regExpresn,""); 
            models = models.replace(regReplace,"");                           
            drpServiceProvider.options[i+1]=new Option(TrimNew(models),TrimNew(models));
        }
        drpServiceProvider.options[i+1]=new Option('Other','Other'); 
        }
        else
        {
            drpServiceProvider.options[1]=new Option('Other','Other'); 
        }     
	}
	
	function selectThePhoneModel(selectedModel)
     {    
         for(i=0;i<document.getElementById('drpModel').options.length;i++)
         {
            
             if(document.getElementById('drpModel').options[i].value == selectedModel)
             {
                document.getElementById('drpModel').options[i].selected = true;
                break;
             }
         }
     
        SetModel();
     }
     
     function SethiddenField(masterControlId,SelectedValue,hdnFieldId)
     {
         var hdnFieldControl = document.getElementById( masterControlId + hdnFieldId);
         hdnFieldControl.value = SelectedValue;
     }
     
     function ValidatePassword(sender,args)
     {
         var password = args.Value;
	    if(password.length > 0)
	    {
	        args.IsValid = true;
	    }
	    else
	    {
	        args.IsValid = false;
	    }
	    
	    var div = document.getElementById('passwordField');
        if(!args.IsValid)
        {
            if(div != null)
            {
                div.className = 'redUnderline';
            }
        }
        else
        {
            if(div != null)
            {
                div.className = '';
            }
        }   
              
        return ;       
     }
	
	function ValidateRegion(sender,args)
	{
	    if(args.Value.length < 1)
	    {
	        document.getElementById('NAregionField').className = 'redUnderline';
	    }
	    else
	    {
	        document.getElementById('NAregionField').className = '';
	    }	    
	    args.IsValid = true;
	    return
	}
	function ValidateModel(sender,args)
	{
	    if(args.Value.length < 1)
	    {
	        document.getElementById('NAmodelField').className = 'redUnderline';
	    }
	    else
	    {
	        document.getElementById('NAmodelField').className = '';
	    }	    
	    args.IsValid = true;
	    return
	}
	function ValidateCarrier(sender,args)
	{
	    if(args.Value.length < 1)
	    {
	        document.getElementById('NAcarrierField').className = 'redUnderline';
	    }
	    else
	    {
	        document.getElementById('NAcarrierField').className = '';
	    }	    
	    args.IsValid = true;
	    return
	}
