var objZipCode;
var objStateDDL;
var objCity ;
var objCounty;
var objCountry; 
var objhidStateID ; 
var ExcludeState ; 

var vAryZipCode = new Array();
var vAryStateDDL = new Array();
var vAryCity = new Array();
var vhidStateID = new Array();
//var vAryZipCode = new Array();
var vDefState='US';
function CountrywiseStateFill(vddlCountry, vState, vHdnState,vStateValue)
//function CountrywiseStateFill(vddlCountry, vState)
{		
	
	if (vddlCountry == null || vState == null  )
	{
		alert('Supplied argument contains null object,Country State cannot proceed.');
		return; 		
	}				
		
	if ( vddlCountry.value != '') 
	{	 
		var response;
		if (vStateValue != '' )
			response = CommonWebUtility.LoadStateSelected(vddlCountry.value,vStateValue)		
		else
			response = CommonWebUtility.LoadState(vddlCountry.value)		
		if (response.error != null)
		{					
			alert(response.error);
			vddlCountry.focus();	
			return;
		}
		var states = response.value;  		
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ;		
			return;  
		}
		else
		{				
			ClearDropDown(vState); 			 			
			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid Country. (' + vddlCountry.value + ')'); 
				vddlCountry.focus();
				vddlCountry.selectedIndex =0 ;				
				vState.selectedIndex = 0 ; 												
			}
			else
			{	
				for (i=0;i<states.Rows.length ;i++)					
				{	
					var v = new Option(states.Rows[i].State, states.Rows[i].abbreviation); 
					vState.options[vState.options.length]= v; 
				}					
			} 			
		}		 
	}
}


function ClearDropDown(ddl)
{
	for ( var i = ddl.options.length-1; i >= 0 ; i-- )
	{
		ddl.options[i]=null;
	}
}

function CountrywiseState(vddlCountry, vState, vCity, vhdnState, vZipCode, vbtnZipSearch)
{		
	if (vZipCode.value == '')
	{
		vState.selectedIndex = 0 ; 	
		vCity.value = '' ;
		vhdnState.value ='';
		vZipCode.value ='';
	}
	
	if ( vddlCountry == null || vState == null ||  vCity == null || vbtnZipSearch == null )
	{
		alert('Supplied arguement contains null object,Country State cannot proceed.');
		return; 		
	}				
		
	if ( vddlCountry.value != '') 
	{	 
		var response;		
		response = CommonWebUtility.LoadState(vddlCountry.value)		
		if (response.error != null)
		{					
			alert(response.error);
			vddlCountry.focus();	
			return;
		}
		var states = response.value;  		
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ;		
			return;  
		}
		else
		{				
			ClearDropDown(vState); 			 			
			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid Country. (' + vddlCountry.value + ')'); 
				vddlCountry.focus();
				vddlCountry.selectedIndex =0 ;				
				//vState.selectedIndex = 0 ; 	
				//vCity.value = '' ;
				vhdnState.value ='';
			}
			else
			{	
				for (i=0;i<states.Rows.length ;i++)					
				{	
					var v = new Option(states.Rows[i].State, states.Rows[i].abbreviation);
					 
					vState.options[vState.options.length]= v; 
				}
				vState.disabled= false ;				
			} 			
		}		 
	}
	if ( vddlCountry.value != vDefState) 
	{
		vState.disabled=false ;
		vCity.readOnly=false;	
		vCity.BackColor = "white";
		vbtnZipSearch.style.display = "none";				
		vCity.style.backgroundColor="white";						
	}
	else
	{
		vState.disabled= true ;
		vCity.readOnly= true ;	
		vbtnZipSearch.style.display = "";
		vCity.style.backgroundColor="silver";								
	}	
	vZipCode.focus();	 	
}


function CountrywiseStateNoSearchBtn(vddlCountry, vState, vCity, vhdnState, vZipCode )
{		
	if (vZipCode.value == '')
	{
		vState.selectedIndex = 0 ; 	
		vCity.value = '' ;
		vhdnState.value ='';
		vZipCode.value ='';
	}
	
	if ( vddlCountry == null || vState == null ||  vCity == null)
	{
		alert('Supplied arguement contains null object,Country State cannot proceed.');
		return; 		
	}				
		
	if ( vddlCountry.value != '') 
	{	 
		var response;		
		response = CommonWebUtility.LoadState(vddlCountry.value)		
		if (response.error != null)
		{					
			alert(response.error);
			vddlCountry.focus();	
			return;
		}
		var states = response.value;  		
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ;		
			return;  
		}
		else
		{				
			ClearDropDown(vState); 			 			
			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid Country. (' + vddlCountry.value + ')'); 
				vddlCountry.focus();
				vddlCountry.selectedIndex =0 ;				
				//vState.selectedIndex = 0 ; 	
				//vCity.value = '' ;
				vhdnState.value ='';
			}
			else
			{	
				for (i=0;i<states.Rows.length ;i++)					
				{	
					var v = new Option(states.Rows[i].State, states.Rows[i].abbreviation);
					 
					vState.options[vState.options.length]= v; 
				}
				vState.disabled= false ;				
			} 			
		}		 
	}
	if ( vddlCountry.value != vDefState) 
	{
		vState.disabled=false ;
		vCity.readOnly=false;	
		vCity.BackColor = "white";
		vCity.style.backgroundColor="white";						
	}
	else
	{
		vState.disabled= true ;
		vCity.readOnly= true ;	
		vCity.style.backgroundColor="silver";								
	}	
	vZipCode.focus();	 	
}


function ValidateReferralId(vLOName)
{	
	if ( vLOName == null )
	{
		alert('Supplied arguement contains null object,Valid ReferID cannot proceed.');
		return; 		
	}
	if ( vLOName.value != '') 
	{	
		var response;
		response = CommonWebUtility.ValidateReferralId(vLOName.value);		
		if (response.error != null)
		{					
			alert(response.error);
			vLOName.focus();	
			return;
		}  		  	
			
		var ValidRefID = response.value;
		  
		if ( ValidRefID == '0' ) 
		{
				alert('Please Enter Correct Member ID '); 
				vLOName.focus();
				vLOName.value ='';		
		}
	}
}
	

function CheckDuplicatObject(vZipCode, vState, vCity, vHidStateId)
{
	var vReturn = false; 	
}

function SetObjects ( zip , ddlstate, city  , hidStateID ) 
{
	objZipCode = zip ; 
	objStateDDL = ddlstate ;
	objCity  = city; 
	objhidStateID  = hidStateID ; 
	
}

function SearchZipCode_Ver1()
{
 
	if ( objZipCode.value == '') 
	{	 
		objStateDDL.selectedIndex = 0 ; 
		objCity.value = '';
		objhidStateID.value = ''; 						
	}
	else
	{
	   var dt;
	   dt =	CommonWebUtility.FindCityStateByZipCode( objZipCode.value  );                           
	   
	}
}

function SearchZipCode()
{
	
	if ( objZipCode.value == '') 
	{	 
		objStateDDL.selectedIndex = 0 ; 
		objCity.value = '';
		objhidStateID.value = ''; 						
	}
	else
	{
		CommonWebUtility.FindCityStateByZipCode( objZipCode.value , FindZipCode_CallBack);
		var result;
		result = CommonWebUtility.FindCityStateByZipCode( objZipCode.value  );
		//alert(result);
		//alert(result.value.Rows[0].City) ; 
		alert(result.value.Rows[0].City);
	}
}
function SearchZipCodeWithCountry(vZipCode, vState, vStateHid, vCity, vddlCountry ,vMode,vhdnZip)
{	
	
	if (vddlCountry.value != vDefState)
	{	
		if (vZipCode.value.length < 6 && vZipCode.value.length > 0 )
		{
			alert(' Invalid Zip Code !! ');
			vZipCode.focus();
		}
		else
		{
			vCity.focus();
		}
		return false;
	}
	
	if ( vZipCode == null ||  vState == null  || vStateHid == null ||  vCity == null)
	{
		alert('Supplied arguement contains null object, Zipcode search cannot proceed.');
		return; 		
	}	
	if (vZipCode.value.length > 5 )
	{
		alert('Invalid zipcode Value. (' + vZipCode.value + ')'); 
		vZipCode.focus();
		vZipCode.value ='';
		vState.selectedIndex = 0 ; 
		vCity.value = '';
		return false;
	}
	if ( vZipCode.value == '') 
	{	 
		vState.selectedIndex = 0 ; 
		vCity.value = '';
	}
	else
	{	
		var response;
		
		if (vMode == '' || vMode!='')
		{
			response = CommonWebUtility.FindCityStateByZipCodeForAll(vZipCode.value,vMode);		
		}
		else
		{		
			response = CommonWebUtility.FindCityStateByZipCode(vZipCode.value);		
		}
		if (response.error != null)
		{   
			vState.selectedIndex = 0 ; 
			alert(response.error); //we should probably do better than this
			return;
		}  
		if (response.value == "")
		{   
			//vState.selectedIndex = 0 ; 
			//vCity.value = '';
			//vStateHid.value = ''; 
			alert(response.error); //we should probably do better than this
			return;
		}  	
			
		var states = response.value;  
		//if the response wasn't what we expected  
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ; 
			//vCity.value = '';
			//vStateHid.value = ''; 
			return;  
		}else
		{

			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid zipcode Value. (' + vZipCode.value + ')'); 
				if (vhdnZip)
				{
					vZipCode.value =vhdnZip.value ;
				}
				vZipCode.focus();				
			}
			else
			{
				vCity.value= states.Rows[0].City ; 				
				SetDropDownForValue(vState, states.Rows[0].State ) ;
				vStateHid.value =  states.Rows[0].State ;
				//vState.Enabled = false ;  //sb chnge
				vState.disabled = true ; 
			}
			
		}
		 
	}
}
function SearchZipCodeWithControls(vZipCode, vState, vStateHid, vCity )
{	
		
	if ( vZipCode == null ||  vState == null  || vStateHid == null ||  vCity == null)
	{
		alert('Supplied arguement contains null object, Zipcode search cannot proceed.');
		return; 		
	}	
	
	if ( vZipCode.value == '') 
	{	 
		vState.selectedIndex = 0 ; 
		vCity.value = '';
		vStateHid.value = ''; 						
	}
	else
	{	
		var response;
		//response = CommonWebUtility.FindCityStateByZipCode(vZipCode.value);		
		response = CommonWebUtility.FindCityStateByZipCodeForAll(vZipCode.value,'');	
		if (response.error != null)
		{   
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			alert(response.error); //we should probably do better than this
			return;
		}  
		if (response.value == "")
		{   
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			alert(response.error); //we should probably do better than this
			return;
		}  	
			
		var states = response.value;  
		//if the response wasn't what we expected  
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			return;  
		}else
		{
			
			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid zipcode Value. (' + vZipCode.value + ')'); 
				vZipCode.focus();
				vZipCode.value ='';
				vState.selectedIndex = 0 ; 
				vCity.value = '';
				vStateHid.value = ''; 
			}
			else
			{
				vCity.value= states.Rows[0].City ; 				
				SetDropDownForValue(vState, states.Rows[0].State ) ;
				vStateHid.value =  states.Rows[0].State ;
				vState.Enabled = false ; 
			}
			
		}
		 
	}
}
function SearchZipCodeCountyWithControls(vZipCode, vState, vStateHid, vCity,vCounty,vdllCountry,vMode)
{
	if ( vZipCode == null ||  vState == null  || vStateHid == null ||  vCity == null ||  vCounty == null)
	{
		alert('Supplied arguement contains null object, Zipcode search cannot proceed.');
		return; 				
	}	
	
	if (vdllCountry != vDefState)
	{
		
		if (vZipCode.value.length < 6 && vZipCode.value.length > 0 )		{
			
			alert(' Invalid Zip Code !!!! ');
			vZipCode.focus();
		}
		else
		{
			vCity.focus();
		}
		return false;
	}	
	if (vZipCode.value.length > 5 )
	{
		alert('Invalid zipcode Value. (' + vZipCode.value + ')'); 
		vZipCode.focus();
		vZipCode.value ='';
		vState.selectedIndex = 0 ; 
		vCity.value = '';
		vStateHid.value = ''; 
		vCounty.value='';
		return false;
	}
	
	if ( vZipCode.value == '') 
	{	 
		vState.selectedIndex = 0 ; 
		vCity.value = '';
		vStateHid.value = ''; 						
		vCounty.value ='';
	}
	else
	{	
		var response;		
		/*if (vMode == '')
		{
			response = CommonWebUtility.FindCityStateByZipCodeForAll(vZipCode.value,'');		
		}
		else
		{
			response = CommonWebUtility.FindCityStateByZipCode(vZipCode.value);		
		}*/
		if (vMode == 'S')
		{
			response = CommonWebUtility.FindCityStateByZipCodeForAll(vZipCode.value,'S');		
		}
		else
		{				
			response = CommonWebUtility.FindCityStateByZipCodeForAll(vZipCode.value,'');		
		}
		if (response.error != null)
		{   
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			vCounty.value ='';
			alert(response.error); //we should probably do better than this
			return;
		}  
		if (response.value == "")
		{   
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			vCounty.value ='';
			alert(response.error); //we should probably do better than this
			return;
		}  	
			
		var states = response.value;  
		//if the response wasn't what we expected  
		if (states == null || typeof(states) != "object")
		{
			vState.selectedIndex = 0 ; 
			vCity.value = '';
			vStateHid.value = ''; 
			vCounty.value ='';
			return;  
		}else
		{
			
			if ( states.Rows.length == 0 ) 
			{
				alert('Invalid zipcode Value. (' + vZipCode.value + ')'); 
				vZipCode.focus();
				//vZipCode.value ='';
				//vState.selectedIndex = 0 ; 
				//vCity.value = '';
				vStateHid.value = '';vCounty.value ='';
				
			}
			else
			{
				vCity.value= states.Rows[0].City ; 
				SetDropDownForValue(vState, states.Rows[0].State ) ;
				vStateHid.value =  states.Rows[0].State ;
				vCounty.value =states.Rows[0].County ;
			}
			
		}
		 
	}
}

function VerifyReferralId(vLOName)
{	
	if ( vLOName == null )
	{
		alert('Supplied arguement contains null object,Valid ReferID cannot proceed.');
		return false; 		
	}
	if ( vLOName.value != '') 
	{	
		var response;
		response = CommonWebUtility.VerifyReferralId(vLOName.value);		
		if (response.error != null)
		{					
			alert(response.error);
			vLOName.focus();	
			return false;
		}  		  	
			
		var ValidRefID = response.value;
		var ValidRefIdCount,IsTransferred,PlanType;
		ValidRefIdCount=ValidRefID.Tables[0].Rows[0].Count;
		IsTransferred=ValidRefID.Tables[0].Rows[0].Transferred;
		PlanType=ValidRefID.Tables[0].Rows[0].PlanType;
		
		if ( ValidRefIdCount == '0' ) 
		{
				alert('Please Enter Correct Member ID '); 
				vLOName.focus();
				vLOName.value ='';
				return false;
		}	
		else
		{
			if(IsTransferred=='1')
			{
				if(PlanType=='B')
				{
					alert('Member Id '+vLOName.value+' has selected Producer Plan');
					vLOName.focus();
					vLOName.value ='';
					return false;
				}
				else
				{
					alert('Member Id '+vLOName.value+' has selected Builder Plan');
					vLOName.focus();
					vLOName.value ='';	
					return false;
				}
			}
		}
		return true; 
	}
	else
		return false;
}

	function SetDropDownForValue(objDDL,  strValue)
	{
		if ( objDDL == null || typeof(objDDL) == 'undefined')
			return ;
		
		for ( var i =0 ; i < objDDL.options.length ; i++) 
		{
			if ( objDDL.options[i].value == strValue ) 
				objDDL.selectedIndex = i ; 
		}			
		
	}
	function FindZipCode_CallBack(response)
	{
				
			
		if (response.error != null)
		{   
			objStateDDL.selectedIndex = 0 ; 
			objCity.value = '';
			objhidStateID.value = ''; 
			alert(response.error); //we should probably do better than this
			return;
		}  
			
			
		var states = response.value;  
		//if the response wasn't what we expected  
		if (states == null || typeof(states) != "object")
		{
			objStateDDL.selectedIndex = 0 ; 
			objCity.value = '';
			objhidStateID.value = ''; 
			return;  
		}else
		{
			
			if ( states.Rows.length == 0 ) 
			{
				alert('Please enter valid zipcode.'); 						
				objStateDDL.selectedIndex = 0 ; 
				objCity.value = '';
				objhidStateID.value = ''; 
			}
			else
			{
				objCity.value= states.Rows[0].City ; 
				SetDropDownForValue(objStateDDL, states.Rows[0].State ) ;
				objhidStateID.value =  states.Rows[0].State ;
			}
			
		}
	}
	
	
function setNameByReferralId(vLOID,vLOName,vCell,vFax)
{	
		
		response = CommonWebUtility.getNameByReferralId(vLOID.value);		
		
		if (response.error != null)
		{					
			alert(response.error);
			vLOName.focus();	
			return;
		}  				
					
		if ( response.value.Rows.length == 0 ) 
		{
				alert('Please Enter Correct Member ID '); 
				vLOID.focus();
				vLOName.value ='';		
		}	
		else
		{
		vLOName.value = response.value.Rows[0].ReferralName ;
		vCell.value = response.value.Rows[0].CellNo ;			
		vFax.value = response.value.Rows[0].FaxNo ;
		}
}

function ValidateReferralId(vLOName)
{		
	if ( vLOName == null )
	{
		alert('Supplied arguement contains null object,Valid ReferID cannot proceed.');
		return; 		
	}
	if ( vLOName.value != '') 
	{	
		var response;
		response = CommonWebUtility.ValidateReferralId(vLOName.value);		
		if (response.error != null)
		{					
			alert(response.error);
			vLOName.focus();	
			return;
		}  		  	
			
		var ValidRefID = response.value;
		  
		if ( ValidRefID == '0' ) 
		{
				alert('Please Enter Correct Member ID '); 
				vLOName.focus();
				vLOName.value ='';		
		}
	}
}

