//////// function to check add new shipping information - 12 dec 2006 ////////////
function checkShipAddinfo(idstr,msgidstr,valstr,obj)
{
	var chkFlag=true,defaultVal="";	
	if(idstr.indexOf("Nickname")!=-1) defaultVal="Nickname";
	else if(idstr.indexOf("FirstName")!=-1) defaultVal="First Name";
	else if(idstr.indexOf("LastName")!=-1) defaultVal="Last Name";
	else if(idstr.indexOf("Address1")!=-1) defaultVal="Address1";
	else if(idstr.indexOf("City")!=-1) defaultVal="City";
	else if(idstr.indexOf("Zip")!=-1) defaultVal="Zip";
	else if(idstr.indexOf("Phone")!=-1) defaultVal="Phone";
	if(idstr.indexOf("Zip")!=-1){ /* check zip or phone should be numeric only. */
		chkFlag=numericOnly(document.getElementById(idstr).value);
		if(document.getElementById(idstr).value.length<5){showErrorMessages(defaultVal+' should be 5-Digits only.',msgidstr); return false;}	}
	if(chkFlag==false){ showErrorMessages(defaultVal+' should be numeric only.',msgidstr); return false;}
	if(document.getElementById(idstr).value==valstr || (leadingTrim(document.getElementById(idstr).value)=="")){
		if(obj!=null && obj.type.indexOf('select')!=-1) /* if type is select button then show different msg, it is for state in this case */
			valstr='State'+valstr;
		if(leadingTrim(document.getElementById(idstr).value)==""){
			if(obj!=null && obj.type.indexOf('select')!=-1) showErrorMessages(valstr+' should be selected.',msgidstr);
			else showErrorMessages(defaultVal+' is not a valid entry.',msgidstr);
		} else { showErrorMessages(valstr+' is required.',msgidstr);}
		return false;
	}else if(chkFlag==true){
		showErrorMessages('',msgidstr); /* hiding error message if value is proper */ 
		return true;
	}
}
////////////// function to show error messages //////////////////////
function showErrorMessages(errorMsg,msgidstr)
{document.getElementById(msgidstr).innerHTML="<font color='red'>"+errorMsg+"</font>";}
//////////////////// function to check preferences for the shipping address ///////////
function checkPreferenceValue(frmObj,msgidstr)
{
	var prefFlag='false';
	for(i=0;i<frmObj.elements.length;i++){
		if(frmObj.elements[i].type.indexOf('radio')!=-1 && frmObj.elements[i].checked){prefFlag='true';break;}
	}
	if(prefFlag=='false' && msgidstr!=null){showErrorMessages('Preference is required.',msgidstr); return false;}else{showErrorMessages('',msgidstr);return true;}
	return false;
}
//////////////// function to check on Click event of the submit button in Add new Ship Address //////////////////
function validateShippingAddress(frmObj,msgidstr)
{	
	var validateFlag=false,tempFlag=false,defaultVal=""; /*  validateFlag is used to check all fields shoud be valid */
	var prefFlag=false;			
	for(var i=0;i<frmObj.elements.length;i++){
		if(frmObj.elements[i].type.indexOf('text')!=-1 && (frmObj.elements[i].id.indexOf("ddress2")==-1 && frmObj.elements[i].id.indexOf("ompanyName")==-1)){
			if(frmObj.elements[i].value.indexOf("Nickname")!=-1) defaultVal="Nickname";
			if(frmObj.elements[i].value.indexOf("First Name")!=-1) defaultVal="First Name";
			if(frmObj.elements[i].value.indexOf("Last Name")!=-1) defaultVal="Last Name";
			if(frmObj.elements[i].value.indexOf("Address1")!=-1) defaultVal="Address1";
			if(frmObj.elements[i].value.indexOf("City")!=-1) defaultVal="City";
			if(frmObj.elements[i].value.indexOf("Zip")!=-1){ defaultVal="Zip";}//validating zip-18Jan2007
			if(frmObj.elements[i].value.indexOf("Phone")!=-1) defaultVal="Phone";
			tempFlag=checkShipAddinfo(frmObj.elements[i].id,frmObj.elements[i].id+'msg',defaultVal);
		}
		if(frmObj.elements[i].type.indexOf('select')!=-1) tempFlag=checkShipAddinfo(frmObj.elements[i].id,frmObj.elements[i].id+'msg','',frmObj.elements[i]);
		if(tempFlag==false && validateFlag==false) 	validateFlag=true;
	}
	prefFlag=true;//checkPreferenceValue(frmObj,msgidstr);	 //////// commented on 29-Dec-06 for S/H method to disable
	if(prefFlag==false){ return false;} /* check for preference must be selected. */	
	if(validateFlag==true) return false; /* all values entered is not valid. */
	return true;
}
///////////// function to remove leading and trailing spaces /////////////////////
function leadingTrim(value) 
{ return value.replace(/^\s+|\s+$/, ''); }
//////////////////// function to check numeric only /////////////////////////////
function numericOnly(value)
{
	var vdigit='0123456789';
	var getstr=new String();
	for(i=0;i<value.length;i++){
		getstr=value.charAt(i);
		if(vdigit.indexOf(getstr)<0) 
		return false;
	}
	 return true;
}
/////////////////////////// auto tabbing of cursor to next field - 20 Dec 2006 /////////////////////
function moveCursor(srcPos,destPos,charCount,event){
	if(event.keyCode==16){
		//alert("eCode="+event.keyCode+" srcPos="+srcPos+" destPos="+destPos+" charCount="+charCount);
		document.getElementById(srcPos).focus();
		return false;
	}
	else if(document.getElementById(srcPos).value.length>=charCount){
		document.getElementById(destPos).focus();
	}
	return true;
}
////////////////////// AJAX Support on buyer signup 1st page - 30 Dec 2006 ////////////////////////////
var xmlHttp=null,DivId;
function showHandSet(carrierId,handSetDivId,handSetId,msgHId,tabIndex,handSetValue)
{	 
	if(handSetDivId!=null)
		DivId=handSetDivId;
	xmlHttp=GetXmlHttpObject(); /// getting xmlHttpRequest object
	browserSupport(xmlHttp); /////////// checking bowser support for xmlHttpRequest Object
	var url="../signup/gethint.jsp"
	url=url+"?carrierId="+document.getElementById(carrierId).value;
	url=url+"&handSetDivId="+handSetDivId;
	url=url+"&handSetId="+handSetId;
	url=url+"&msgHId="+msgHId;
	url=url+"&tabIndex="+tabIndex;
	url=url+"&sid="+Math.random();
	if(handSetValue!=null ) url=url+"&handSetValue="+handSetValue;
	xmlHttp.onreadystatechange=stateChanged ;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
/////////// on load generation for handSets - 12 Jan 2004 ///////////
function onLoadHandSet(carrierId,handSetDivId,handSetId,msgHId,tabIndex,handSetValue){
	var cVal="";
	cVal=document.getElementById(carrierId).value;
	
	//alert(carrierId+' , '+handSetValue+' , '+cVal);
	if(cVal!="")
		showHandSet(carrierId,handSetDivId,handSetId,msgHId,tabIndex,handSetValue);
}
function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		//document.getElementById(DivId).innerHTML=xmlHttp.responseText ;
		showErrorMessages(xmlHttp.responseText,DivId);		
	} 
} 
function browserSupport(xmlHttp){
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
}
function GetXmlHttpObject()
{ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest();
	}else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
} 
//////////////// State/Zip validation section starts here - 08-Jan-2007 ///////////////////////////
function StateZipValidation(stateId,zipId,msgId,tabIndex,type)//// state select box id, zip text box id, message id, tab index
{	
	var stateVal="",zipVal="",stateZipFlag,url="";
	stateVal=document.getElementById(stateId).value;
	//alert('stateVal='+stateVal+' ,type='+type);
	zipVal=(leadingTrim(document.getElementById(zipId).value)=="Zip")?"":leadingTrim(document.getElementById(zipId).value);	
	if(stateVal=="" || zipVal==""){  return false;}
	if(zipVal.length<5){showErrorMessages('Enter 5 Numeric Characters.',msgId); return false;}
	var zipValidFlag=numericOnly(zipVal);
	if(zipValidFlag==false){ showErrorMessages('Enter digits only.',msgId); return false;}
	xmlHttp=GetXmlHttpObject(); /// getting xmlHttpRequest object
	browserSupport(xmlHttp); /////////// checking bowser support for xmlHttpRequest Object	
	if(type=="admin"){
		url="/signup/stateZipValidation.jsp";
		//alert('stateVal='+stateVal+' ,type='+type+' ,url='+url);
	}else
		url="../signup/stateZipValidation.jsp"
	url=url+"?stateId="+stateVal;
	url=url+"&zipId="+zipVal;
	if(msgId!=null){ url=url+"&msgId="+msgId; DivId=msgId; }
	if(tabIndex!=null) url=url+"&tabIndex="+tabIndex;
	url=url+"&sid="+Math.random();	
	xmlHttp.onreadystatechange=function (){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 				
			if(xmlHttp.responseText.indexOf("State/Zip does not match")!=-1){
				stateZipFlag="true";
				showErrorMessages(xmlHttp.responseText,DivId);			
				//alert('Response1: '+stateZipFlag);
				//return true;
				}else{ /*alert(xmlHttp.responseText+' ,DivId='+DivId)*/;showErrorMessages('',DivId); stateZipFlag="false";}
			}//else{showErrorMessages("",DivId);} 
		} ;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
	//stateZipFlag=(stateZipFlag=="true" && stateZipFlag!=null)?"true":"false";
	//alert('stateZipFlag1: '+stateZipFlag);
	
	if(stateZipFlag=="true")
		return false;
	else
		return true;
}
function getBrowserType(val){		///////// added on 19 Jan 2007 for getting browser type
		document.getElementById(val).value=navigator.appName+' : '+navigator.appVersion+' : '+navigator.userAgent;
}
function catureDemoLinkClick(val,fPage){ //// capturing demo link on home page -- added on 22 Jan 2007
//alert('value='+val+', fPage='+fPage);
	var bType=navigator.appName+' : '+navigator.appVersion+' : '+navigator.userAgent;
	var url="captureDemoViews.jsp";
	xmlHttp=GetXmlHttpObject(); /// getting xmlHttpRequest object
	browserSupport(xmlHttp);
	if(val!=null) url=url+"?demoviews="+val;
	if(val!=null) url=url+"&fPage="+fPage;
	url=url+"&bType="+bType;
	url=url+"&sid="+Math.random();	
	xmlHttp.onreadystatechange=function (){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ }
		} ;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
	return true;
}