// include after body tag
var screenX=0;
var screenY=0;
document.onmousedown=getMouseXY;
function getMouseXY(e){
	if(document.all) e=event;
	screenX=e.screenX;
	screenY=e.screenY;
	//alert(screenX+'x'+screenY);
}
function fixInteger(fld){
	var str=fld.value;
	var pos=fld.value.indexOf('.');
	if(pos>-1) str=str.substring(0,pos);
	str=str.replace(/\D/g,'');
	//if(str=='') str=0;
	fld.value=str;
}
function fixDate(fld){
	var str=fld.value;
	str=str.replace(/-/g,'/');
	str=str.replace(/\\/g,'/');
	str=str.replace(/\./g,'/');
	fld.value=str;
}
function fixDecimal(fld,makePositive){
	var str=fld.value;
	var pos=fld.value.indexOf('.');
	var neg='';var str1='';var str2='';
	//negative?
	if(str.substring(0,1)=='-' && !makePositive) neg='-';
	//decimal point?
	if(pos>-1){
		//dollars.cents
		str1=str.substring(0,pos);
		str2=str.substring(pos+1);
		//numeric
		str1=str1.replace(/\D/g,'');
		str2=str2.replace(/\D/g,'');
		//zeros
		//if(str1.length==0) str1='0';
		if(str2.length==0){
			//str2='00';
		}else if(str2.length>2){
			str2=str2.substring(0,2)+'.'+str2.substring(2);
			str2=Math.round(str2);
		}else if(str2.length==1){
			str2=str2+'0';
		}
	}else{
		str1=str.replace(/\D/g,'');
	}
	str=neg+str1 + ((str2 != "")?'.':"") +str2;
	fld.value = (str != ".") ? str:"";
}
function fixPhone(fld){
	var str=fld.value;
	var sav=str;
	str=str.replace(/\D/g,'');
	if(str.length==7){
		str=str.substring(0,3)+'-'+str.substring(3,7);
	}else if(str.length==10){
		str=str.substring(0,3)+'-'+str.substring(3,6)+'-'+str.substring(6,10);
	}else if(str.length==11&&str.substring(0,1)=='1'){
		str=str.substring(1,4)+'-'+str.substring(4,7)+'-'+str.substring(7,11);
	}else{
		str=sav;
	}
	fld.value=str;
}
function fixZip(fld){
	var str=fld.value.toUpperCase();
	var sav=str;
	str=str.replace(/\ /g,'');
	str=str.replace(/\-/g,'');
	var itg=str.replace(/\D/g,'');
	if(itg.length==5){
		str=itg;
	}else if(itg.length==9){
		str=itg.substring(0,5)+'-'+itg.substring(5,10);
	}else if(str.length==6){
		str=str.substring(0,3)+' '+str.substring(3,6);
	}else{
		str=sav;
	}
	fld.value=str;
}
function trapEnterKey(e,functionToCall){
	var characterCode;
	if(e&&e.which){//NS
		e=e;
		characterCode=e.which;
	}else{//IE
		e=event;
		characterCode=e.keyCode;
	}
	if(characterCode==13||characterCode==10||characterCode==11){//enter
		Page_ValidationActive=false;
		if(functionToCall!=null&&functionToCall!='')setTimeout(functionToCall,0);
		return false;
	}
}


/* Roatating images */

/* Ajax Functions */
function getCountyValues(deliveryCompanyName){
	var response;	
	response=AjaxFunctions.GetCountryDataAjax(deliveryCompanyName);
	var modelArray=response.value.split('|');
	if(modelArray.length>0){		
		var f=document.forms[0];
		f.ddlCountry.options.length=1;
		for(var m=0;m<modelArray.length;m++){
			f.ddlCountry.options[f.ddlCountry.options.length]=new Option(modelArray[m],modelArray[m]);
		}
		
		if(modelArray.length==1)f.ddlCountry.options[1].selected=true;
	}
	if(response.error!=null){
		alert(response.error);
		return;
	}
	
}


function deleteOptionsFromDropdown(dropDownId)
{ var controlcategoryDropdown=document.getElementById(dropDownId);

for(var i=0;i<controlcategoryDropdown.length;i++)
{controlcategoryDropdown.remove(controlcategoryDropdown.options[i].index);
}}/* Ajax Functions */
function getCountyValuesAndID(deliveryCompanyName){
	var res;
	//alert('The Delivery Company is ' + deliveryCompanyName);	
	var f=document.forms[0];
	deleteOptionsFromDropdown('dropCounty');
	res=AjaxFunctions.GetCountryDataTable(deliveryCompanyName)
	 var controlCategoryDropdownTable = res.value;
	// alert(f.dropCounty.options[0]);
	 //alert(controlCategoryDropdownTable)
	if(typeof(res) == 'object')
        { 
        
			var option = document.createElement('option')
			f.dropCounty.options.length = 0;
			option.text = 'Select One'
			option.value = -1;
			f.dropCounty.options[0] = option
			
           
            // alert(controlCategoryDropdownTable.Rows.length)
            // For iterating the table and binding the controlcategory dropdown with values
            if(controlCategoryDropdownTable!=null)
             {
				for(var i=0;i<controlCategoryDropdownTable.Rows.length;i++)
				{	
					var option=document.createElement('option')
					option.text=controlCategoryDropdownTable.Rows[i].CountyName
					option.value=controlCategoryDropdownTable.Rows[i].CountyID
					f.dropCounty.options[i + 1]=option
				}
				
				
				f.hiddenDeliveryCompanyName.value = f.dropDeliveryCompany[f.dropDeliveryCompany.selectedIndex].value
               
             }
        }
	if(res.error!=null){
		
		return;
	}
	
}

function setHiddenCountyValue()
{
	var f=document.forms[0];
	f.hiddenCountyValue.value = f.dropCounty[f.dropCounty.selectedIndex].value
}

function getDeliveryValuesAndID(serviceProductType){
	var res;	
	var f=document.forms[0];
	deleteOptionsFromDropdown('dropDeliveryCompany');
	res=AjaxFunctions.GetServiceTypeDataTable(serviceProductType)
	 var controlCategoryDropdownTable = res.value;
	 //alert(controlCategoryDropdownTable)
	if(typeof(res) == 'object')
        { 
			
           
             //alert(controlCategoryDropdownTable.Rows.length)
            // For iterating the table and binding the controlcategory dropdown with values
            if(controlCategoryDropdownTable!=null)
             {
				
				
				var option = document.createElement('option')
				option.text = 'Select One'
				option.value = -1;
				f.dropDeliveryCompany.options[0] = option
					
				for(var i=0;i<controlCategoryDropdownTable.Rows.length;i++)
					{
						
						var option=document.createElement('option')
						option.text=controlCategoryDropdownTable.Rows[i].DeliveryCompanyName
						option.value=controlCategoryDropdownTable.Rows[i].DeliveryCompanyID
						f.dropDeliveryCompany.options[i + 1] = option
					}
					
					
					
              
             
					
             }
        }
	if(res.error!=null){
		
		return;
	}
	}


function  getCountyValues(deliveryCompanyName){
	var response;	
	response=AjaxFunctions.GetCountryDataAjax(deliveryCompanyName);
	var modelArray=response.value.split('|');
	if(modelArray.length>0){		
		var f=document.forms[0];
		f.dropCounty.options.length=1;
		for(var m=0;m<modelArray.length;m++){
			f.dropCounty.options[f.dropCounty.options.length]=new Option(modelArray[m],modelArray[m]);
		}
		
		if(modelArray.length==1)f.ddlCountry.options[1].selected=true;
	}
	if(response.error!=null){
		
		return;
	}
	
}



function OnPageLoad()
{
	DisplayBillingAddress();
	ValidateCheckBoxes();
	DisplayReferralSection();
}

function DisplayReferralSection()
{
	var chkReferral = document.getElementById('chkReferral');
	
	var referralContainer = document.getElementById('referralContainer');
	
	if(chkReferral.checked == true)
	{
		referralContainer.style.display = 'block';
		//ChangeBillingValidatorsStatus(true);
	}
	else
	{
		referralContainer.style.display = 'none';
		//ChangeBillingValidatorsStatus(false);
	}
}

function DisplayBillingAddress()
{
	var chkBilling = document.getElementById('chkBilling');
	var billingAddressContainer = document.getElementById('billingAddressContainer');
	
	if(chkBilling.checked == true)
	{
		billingAddressContainer.style.display = 'block';
		//ChangeBillingValidatorsStatus(true);
	}
	else
	{
		billingAddressContainer.style.display = 'none';
		//ChangeBillingValidatorsStatus(false);
	}
	
}

function ChangeBillingValidatorsStatus(status)
{
	var rfvBillingAddress1 = document.getElementById('rfvBillingAddress1');
	var rfvBillingCity = document.getElementById('rfvBillingCity');
	var rfvBillingState = document.getElementById('rfvBillingState');
	var rfvBillingZip = document.getElementById('rfvBillingZip');
	
	rfvBillingAddress1.disabled = status;
	rfvBillingCity.disabled = status;
	rfvBillingState.disabled = status;
	rfvBillingZip.disabled = status;
}

function ValidateCheckBoxes()
{
	var chkTermsAndConditions = document.getElementById('chkTermsAndConditions');
	var btnSubmit = document.getElementById('btnSubmit');
   	
	if(chkTermsAndConditions.checked == true)
	{		
		btnSubmit.disabled = false;
	}
	else
	{
		btnSubmit.disabled = true;
	}
}

function ValidateChecked()
{
	var chkTermsAndConditions = document.getElementById('chkTermsAndConditions');
	var btnSubmit = document.getElementById('btnSubmit');
   	
   	if( btnSubmit.disabled == true )
   	{
   		alert( 'You must agree to the terms and conditions above to continue' );
   	}
}


function TextRequriedFeild(check)
{
 //alert("TextRequriedFeild()");
  document.getElementById('hid').value+=check +"|";
  var gerObject=document.getElementById(check);
  
  var rex=/^r02.*|R02.*|n02.*|N02.*|n01.*|N01.*|\d{18}$/;
 // var rex=/^\d{5}$/;
 // alert(gerObject.value);
  if(gerObject.value=="" ||gerObject.value==null )
  {
  alert("Please enter a valid Account number.");
  return ;
  }
 else if(gerObject.value.search(rex)==-1)
  {
    var alertMessage=AjaxFunctions.GetErrorVallidationMsg(check)
  //  alert( val.isvalid);
    //  val.isvalid = false;
    alert(alertMessage.value);
    return;
  }
  
 return;
}

function ValidateTextBox(textBoxID)
{
   var gerObject=document.getElementById(textBoxID);
  
  var rex=/^r02.*|R02.*|n02.*|N02.*|n01.|N01|\d{5}$/;
 // var rex=/^\d{5}$/;
 // alert(gerObject.value);
  if(gerObject.value=="" ||gerObject.value==null )
  {
  alert("Please enter a valid Account number.");
 
  return false;
  }
 else if(gerObject.value.search(rex)==-1)
  {
    var alertMessage=AjaxFunctions.GetErrorVallidationMsg(textBoxID)
  //  alert( val.isvalid);
    //  val.isvalid = false;
    alert(alertMessage.value);
   
    return false;
  }
 return true;

}

//This function can remove the dublicate textBox id from the hid hidden variable
function GetDynamicTextBoxID()
{

  //Reduntant textBox id ie Id in this hid can be of more than onces
 // alert("GetDynamicTextBoxID()");
  var tem = (document.getElementById('hid').value.split("|"));
  
  var newArray = new Array();
  var flag;
  var k;
  var temp1;
  var temp2;
  var temp3;
  for( i=0 ; i<tem.length; i++)
  {
    if(newArray[0]=="" ||newArray[0]==null)
    {
    // alert( tem[0]);
     newArray[0]=tem[i];
	//	alert( newArray[0]);
    
    }
    temp1=tem[i];
    for( j=0; j<tem.length; j++)
    {
		temp2=tem[j];
		if(temp1==temp2)
		{
		 //alert(tem[i]);
		  for(z=0; z<newArray.length; z++)
		  {
		    // alert(tem[i]);
		     temp3=newArray[z]
		    if(temp3==temp1)
		    {
                newArray[z]=tem[i];
               flag=1;	
              //  alert(tem[i]);			
				break;
			}
			
		 }
		  
		 
		  if(flag==0)
		  {
		
		  newArray[z]=tem[i];
		  break;
		  }
		   flag=0; 
	    }
    }
  }
  var check=document.getElementById('hidTextBoxId').value;
  if(check==null ||check=="")
  for(n=0;n<newArray.length-1;n++)
  {
    
     
     
     document.getElementById('hidTextBoxId').value +=newArray[n] +"|";
     
     
  }
  //alert(document.getElementById('hidTextBoxId').value);
  GetTextValueToDataBase( );
}

function GetTextValueToDataBase( )
{
	var textBoxArray= document.getElementById('hidTextBoxId').value.split("|");
	var hidden=document.getElementById('hiddenAccountNumber');
	if(hidden.value==null || hidden.value=="")
	{
		for(n=0;n<textBoxArray.length-1;n++)
		{
			hidden.value +=document.getElementById(textBoxArray[n]).value +"|";
			
		}
	}
	
	//alert(textBoxArray[n]);
			//alert( hidden.value);
	
}

//This function get the value from the hasTable which is store in the session
//
function GetSessionDataToTextBoxes()
{
  var hasTable = document.getElementById('hidHasTable');
  var keyValuePair = hasTable.value.split("|");
  for(i=0; i<keyValuePair.length; i++)
  {
		var keyValue=keyValuePair[i].split("!");
		alert(keyValue[0]);
		document.getElementById("txtAccountNum"+keyValue[0]).value=keyValue[1];
	
		
   }
}

function OnPageLoadCallDrop()
{
  
	intilizeDropDown('dropDeliveryCompany');
	intilizeDropDown('dropCounty');
 
   var dp = document.getElementById( 'dropProduct' );
  dp.selectedIndex = 0;
  
}

function intilizeDropDown(dropDownName)
{
  var controlcategoryDropdown=document.getElementById(dropDownName);
  var f=document.forms[0];
  
  //alert('intilizeDropDown  ' +dropDownName);
  var option = document.createElement('option')
	option.text = 'No Selection'
	option.value = -1;
	if(typeof(controlcategoryDropdown) == 'object')
	{
	controlcategoryDropdown.options[0] = option
	}
	//alert('intilizeDropDown' +controlcategoryDropdown.options[0]);
				
}
 