/////////////// new bh  ///
var hostNameVar=location.host;
var protocolString="https:";  //drop 's' for systest
var currURL = unescape(window.location.href);
if (currURL.indexOf("krabby")!=-1)
{
    protocolString="http:";  //drop 's' for systest
}
kanaTextLabels=new Array();
kanaXmlLabels=new Array();
htmlFieldsFromXml=new Array();
var scrType="";
var kanaTextTitle="";
var to="";
var subjectLine="";
var nextPage="";
var txtBody="";
var xmlBody="";
var xmlDoc;
var fromNLSS=false;
var fromNLSSViaCPR=false;  //need sep val for this condition
var nlssTextarea="";  //for question passed from nlss
var localDebug=false;//suppress servlet and show parms, xml, and servlet input
var okToCallPresent=false;    //ok to call fix

function progressBar (stepVal) 
{
    if ((fromNLSS)||(fromNLSSViaCPR))
    {
	if (stepVal=="query")
	{
	    active1 = 'class="border1 active"';
	    active2 = 'class="border1"';
	    active3 = 'class="border2"';
	} 
	else if (stepVal=="results") 
	{
	    active1 = 'class="border1"';
	    active2 = 'class="border1 active"';
	    active3 = 'class="border2"';
	} 
	else if (stepVal=="email") 
	{
	    active1 = 'class="border1"';
	    active2 = 'class="border1"';
	    active3 = 'class="border2 active"';
	}
	else 
	{
	    active1 = 'class="border1"';
	    active2 = 'class="border1"';
	    active3 = 'class="border2"';
	}
	var tStr="";
	tStr+='<table width="780" border="0" cellspacing="0" cellpadding="0">';
	tStr+='<tr>';
	tStr+='<td><img src=/images/spacer.gif border=0 height=5 width=1></td>';
	tStr+='</tr>';
	tStr+='<tr>';
	tStr+='<td align="center" class="bluebrdrt">';
	tStr+='<table width="70%" border="0" cellspacing="0" cellpadding="0"><tr><td width="33%" align="center" ' + active1 +'>Enter Your Question </td><td width="34%" align="center" ' + active2 +'>Review Solutions </td><td width="33%" align="center" ' + active3 +'>Submit Your Question </td></tr></table>';
	tStr+='</td>';
	tStr+='</tr>';
	tStr+='</table>';
	document.writeln(tStr);
    }
}
function putBackBtn()
{
    if (fromNLSS)
    {
	var tStr='<a href="javascript:goBack()"><img src=/images/buttons/btn_back.gif border=0 width=44 height=27></a>';
	tStr+='&nbsp;&nbsp;&nbsp;';
	document.writeln(tStr);
    }
}
function goBack()
{
    var backCount=-2;
    re=/Firefox\/(\d\.\d)/i;  //ff 1.5
    if (re.test(navigator.userAgent))
    {
	var tVer=parseFloat(RegExp.$1);
	if (tVer>=1.5)
	{
	    backCount=-1;
	}
    }
    
    re=/Netscape\/(\d\.\d)/i;  //ns 8.1
    if (re.test(navigator.userAgent))
    {
	var tVer=parseFloat(RegExp.$1);
	if (tVer>=8.1)
	{
	    backCount=-1;
	}
    }

//    re=/MSIE\s(\d)/i;  //msie 7
//    if (re.test(navigator.userAgent))
//    {
//	var tVer=parseInt(RegExp.$1);
//	if (tVer>=7)
//	{
//	    backCount=-1;
//	}
//    }

    history.go(backCount);
}

function getXmlValues()
{
    csFormList = xmlDoc.getElementsByTagName("csForm");
    kanaAddrList=csFormList[0].getElementsByTagName("kanaAddr");
    to=kanaAddrList[0].getAttribute("addr");
    if ((to==null)||(to==""))
    {
	if (hostNameVar=="www.bellsouth.com")
	{
	    to="consumer.customer.service@bellsouth.com";
	}
	else 
	{
	    to="kanatest19@bellsouth.com";
	}
    }
//	window.alert(to);
    nextPageList=csFormList[0].getElementsByTagName("nextPage");
    nextPage=nextPageList[0].getAttribute("name");
    if ((nextPage==null)||(nextPage==""))
    {
	nextPage="https://www.bellsouth.com/contactus/contactUsThankYou.html"; //testing absolute path...
    }
//	window.alert(nextPage);
    subjectLineList=csFormList[0].getElementsByTagName("subjectLine");
    subjectLine=subjectLineList[0].getAttribute("text");
//	window.alert(subjectLine);
    webPageElementsList=csFormList[0].getElementsByTagName("webPageElements");
    webPageElementList=webPageElementsList[0].getElementsByTagName("webPageElement");
    for (var x=0; x<webPageElementList.length; x++)
    {
	var htmlName=webPageElementList[x].getAttribute("htmlName");
	var kanaText=webPageElementList[x].getAttribute("kanaText");
	var kanaXml=webPageElementList[x].getAttribute("kanaXml");
	if ((kanaText!=null) && (kanaText!=""))
	{
	    kanaTextLabels[htmlName]=kanaText;
	} 
	if ((kanaXml!=null) && (kanaXml!=""))
	{
	    kanaXmlLabels[htmlName]=kanaXml;
	} 
	htmlFieldsFromXml[htmlFieldsFromXml.length]=htmlName;
//	window.alert(htmlFieldsFromXml[htmlFieldsFromXml.length-1]);
//	window.alert(kanaTextLabels[htmlName]);
//	window.alert(kanaXmlLabels[htmlName]);
    }
    displayXmlVals();	
}

function displayXmlVals()
{
  if (document.getElementById("debugXmlDiv")!=null)
  {  
    var tmpMsg="<h2>XML Values</h2>";
    tmpMsg+="<p>to: "+to;
    tmpMsg+="<p>nextPage: "+nextPage;
    tmpMsg+="<p>subjectLine: "+subjectLine;
    for (var x=0;x<htmlFieldsFromXml.length;x++)
    {
	tmpMsg+="<p>htmlFieldsFromXml:"+htmlFieldsFromXml[x]+" ";
	if ((kanaTextLabels[htmlFieldsFromXml[x]]!=null) && (kanaTextLabels[htmlFieldsFromXml[x]]!=""))
	{
	    tmpMsg+="<br>kanaTextLabels:"+kanaTextLabels[htmlFieldsFromXml[x]]+" ";
	}	
	if ((kanaXmlLabels[htmlFieldsFromXml[x]]!=null) && (kanaXmlLabels[htmlFieldsFromXml[x]]!=""))
	{
	    tmpMsg+="<br>kanaXmlLabels:"+kanaXmlLabels[htmlFieldsFromXml[x]]+" ";
	}	
    }
    document.getElementById("debugXmlDiv").innerHTML=tmpMsg;
  }
}

function getFormObject()
{
	var formObj = new Object;
	formObj = document.contactUsForm;
	return formObj;
}
var globalFieldList=new Array(
		"txtFirstName",
		"txtLastName",
		"txtBillPhoneAreaCode",
		"txtBillPhone3",
		"txtBillPhone4",
		"txtContactPhoneAreaCode",
		"txtContactPhone3",
		"txtContactPhone4",
		"txtEmailAddress",
		"txtLoginName",
		"txtLongDistanceCity",
		"txtLongDistanceState",
		"txtLongDistanceChangeFrom",
		"txtLocalTollChangeFrom",
		"txtBillingChangeOldName",
		"txtBillingChangeOldAddress",
		"txtBillingChangeOldCity",
		"txtBillingChangeOldState",
		"txtBillingChangeOldZip",
		"txtOrder_Number",
		"txtProducts",
		"txtBillInquiryDisputeReason",
		"textarea",
		"txtCingularPhoneAreaCode",
		"txtCingularPhone3",
		"txtCingularPhone4");

function populateFields()
{ 
    var formObj=getFormObject();
	    
    for (var x=0; x<globalFieldList.length;x++)
    {
	var tmpGlobalFieldName=globalFieldList[x];
	for(var i =0; i<formObj.elements.length; i++)
	{ 
	    if (tmpGlobalFieldName == formObj.elements[i].name)
	    {   
		if ( (urlParms[formObj.elements[i].name]!=null)&&(urlParms[formObj.elements[i].name]!="") )
		{
		      formObj.elements[i].value = unescape(urlParms[formObj.elements[i].name]);
		      break;
		}
	    }
	}
    }
    if (nlssTextarea!="")
    {
	formObj.textarea.value=nlssTextarea;   //accomodate name addr screen trip to cpr
    } 
}
urlParms=new Array();
var debugQSText="";
var queryString="";
function getUrlParms()  //optional parm is 1 for debug
{
    var debugMode=false;
    var debugText="";
    if (arguments.length>0)
    {
	if (arguments[0]==1)
	{
	    debugMode=true;
	}
    }

    queryString = location.search;
    var re=/^\?(.+)$/;
    if (re.test(queryString))
    {
	queryString=RegExp.$1;
    }
    if (debugMode)
    {
	debugText+="<h2>Query String</h2>"+queryString;
	debugText+="<h2>Parameters Extracted from Query String</h2>";
	debugText+="<table border=1><th>Name</th><th>Value</th>";
    }
    var nameValuePairs=queryString.split("&");
    for (var x=0; x < nameValuePairs.length; x++)
    {
	var nameValue=nameValuePairs[x].split("=");
	if ( (nameValue[0]!=null) && (nameValue[0]!="") )
	{ 
	    if ( (nameValue[1]!=null) && (nameValue[1]!="") )
	    { 
		var tmpName=nameValue[0];
		var tmpValue=nameValue[1];
		var re=/\+/g;  //make plus a hex char for space
		var tmpEscVal=tmpValue.replace(re,"%20");
		urlParms[tmpName]=tmpEscVal;  //leave escaped	
		if (debugMode)
		{
		    tmpEscVal=unescape(tmpEscVal);
		    debugText+="<tr><td>"+tmpName+"</td><td>"+tmpEscVal+"</td></tr>";
		}	
	    }
	}	
    }
    if (debugMode)
    {
	debugText+="</table>";
	debugQSText=debugText;
    }
    if ((urlParms['debug']!=null) && (urlParms['debug']=="local"))
    { 
	localDebug=true;
    }
    if ((urlParms['fromNLSS']!=null) && (urlParms['fromNLSS']=="1"))
    { 
	fromNLSS=true;
	if (urlParms['textarea']!=null)
	{
		nlssTextarea=unescape(urlParms['textarea']);  //keep to put in cookie for namme / addr page	
	}
    }
}
function showDebugQSText()
{
  if (document.getElementById("debugQSDiv")!=null)
  {  
    if (debugQSText.length>0)
    {
    	document.getElementById("debugQSDiv").innerHTML=debugQSText;
    }
  }
}
//switch logic from index page
contactUsPages=new Array();
contactUsPages['ara']="ContactUsAcctRegister";
contactUsPages['bi']="ContactUsBillInquiry";
contactUsPages['cbnma']="ContactUsCorrectNameAddr";
contactUsPages['csps']="ContactUsCarrierChange";
contactUsPages['cw']="ContactUsCingular";
contactUsPages['fbpa']="ContactUsFinalBill";
contactUsPages['is']="ContactUsInterruptSvc";
contactUsPages['pa']="ContactUsPaymentArrange"; 
contactUsPages['or']="ContactUsOrderRequest";
contactUsPages['os']="ContactUsOrderStatus";
contactUsPages['ps']="ContactUsProductsSvcs";
contactUsPages['sp']="ContactUsSpanishForm";
contactUsPages['other']="ContactUsOther";
function callPageMan(formObj)  //manual
{
    var formObj=getFormObject();
    var tObj=formObj.pageSelection;
    var iStr=tObj.options[tObj.selectedIndex].value;
    var tLink="/contactus/"+contactUsPages[iStr]+".html?sfid="+iStr;
    if (fromNLSS)
    {
	//tLink+="&fromNLSS=1";
    }
    location.href=tLink;
}
function callPage() //auto based on sfid parm on url
{
    if ((urlParms['sfid']!=null) && (urlParms['sfid']!="")) 
    {
	var iStr=urlParms['sfid'];
	var tLink="/contactus/"+contactUsPages[iStr]+".html?"+queryString;
	if (fromNLSS)
	{
	//	tLink+="&fromNLSS=1";
	}
	location.href=tLink;
    }
    else //display index page
    {
        document.getElementById("processingMsgDiv").style.display = "none";
        document.getElementById("leftNav").style.display = "block";
        document.getElementById("selectionFormDiv").style.display = "block";
    }
}
//build strings for servlet
//generic 
function servletGenericTextField(field)
{
    var itemName=field.name;
//    window.alert(field.name);
    if( (kanaXmlLabels[itemName]!=null) && (kanaXmlLabels[itemName]!="") )
    {
        var tmpXStr="<kanaAttribute name=\""+kanaXmlLabels[itemName]+"\">"+ field.value +"</kanaAttribute>\n";
        xmlBody+=tmpXStr;
    }    
}
function servletGenericTextFieldTxt(field)
{
    var itemName=field.name;
//    window.alert(field.name+"-t");
    if( (kanaTextLabels[itemName]!=null) && (kanaTextLabels[itemName]!="") )
    {
        var tmpXStr=kanaTextLabels[itemName]+" = "+ field.value +"\n";
        txtBody+=tmpXStr;
    }    
}
function servletGenericTNField(tn,kName) //now a generic writer of a literal
{
    if( (kanaXmlLabels[kName]!=null) && (kanaXmlLabels[kName]!="") )
    {
	var tmpXStr="<kanaAttribute name=\""+kanaXmlLabels[kName]+"\">"+ tn +"</kanaAttribute>\n";
	xmlBody+=tmpXStr;
    }    
}
function servletGenericTNFieldTxt(tn,kName)  //now a generic writer of a literal
{
    if( (kanaTextLabels[kName]!=null) && (kanaTextLabels[kName]!="") )
    {
	var tmpXStr=kanaTextLabels[kName]+" = "+ tn +"\n";
	txtBody+=tmpXStr;
    }    
}

//bill pay special cases
function servletBillAmountPaidTxt(formObj)
{
    var payAmt=formObj.txtPaymentArrangementsAmountPaid.value;
    var payFrac=formObj.txtPaymentArrangementsAmountFraction.value;
    if ((payAmt==null) || (payAmt==""))
    {
	payAmt="0";
    }
    if ((payFrac==null) || (payFrac==""))
    {
	payFrac="00";
    }
    payAmt+="."+payFrac;
    var tmpXStr="PAYMENT AMOUNT = $"+ payAmt +"\n";
    txtBody+=tmpXStr;
}
function servletBillHowPaid(formObj)
{
    var tmpXStr="";
    var tObj=formObj.txtPaymentArrangementsChoiceOnline;
    var payOpt=tObj.options[tObj.selectedIndex].value;
    var tmpXStr="";
    var yn="no";
    if ((payOpt!=null)&&(payOpt=="payOnline"))
    {
	yn="yes";
    }
    tmpXStr+="<kanaAttribute name=\"PAYONLINE\">"+ yn +"</kanaAttribute>\n";
    var yn="no";
    if ((payOpt!=null)&&(payOpt=="payAgent"))
    {
	yn="yes";
    }
    tmpXStr+="<kanaAttribute name=\"PAYAGENT\">"+ yn +"</kanaAttribute>\n";
    var yn="no";
    if ((payOpt!=null)&&(payOpt=="mailAddr"))
    {
	yn="yes";
    }
    tmpXStr+="<kanaAttribute name=\"PAYBYMAIL\">"+ yn +"</kanaAttribute>\n";
    xmlBody+=tmpXStr;
}
function servletBillHowPaidTxt(formObj)
{
    var tObj=formObj.txtPaymentArrangementsChoiceOnline;
    var payOpt=tObj.options[tObj.selectedIndex].value;
    var tmpXStr="METHOD OF PAYMENT  = ";
    if (payOpt=="payOnline")
    {
	tmpXStr+="ONLINE";
    }
    else if (payOpt=="payAgent")
    {
	tmpXStr+="PAYMENT AGENT";
    }
    else if (payOpt=="mailAddr")
    {
	tmpXStr+="BY MAIL";
    }
    tmpXStr+="\n";
    txtBody+=tmpXStr;
}
function servletBillWhenPaidTxt(formObj)
{
    var month="";
    var day="";
    var year="";
    var tObj=formObj.txtPaymentArrangementsChoiceMonth;
    month=tObj.options[tObj.selectedIndex].value;
    var tObj=formObj.txtPaymentArrangementsChoiceDay;
    day=tObj.options[tObj.selectedIndex].value;
    var tObj=formObj.txtPaymentArrangementsChoiceYear;
    year=tObj.options[tObj.selectedIndex].value;
    var tmpXStr="PAYMENT MONTH = " + month + "\n";
    tmpXStr+="PAYMENT DAY = " + day + "\n";
    tmpXStr+="PAYMENT YEAR = " + year + "\n";
    txtBody+=tmpXStr;
}

//common fields  
function servletStartStrings()
{
    if (kanaTextTitle=="")
    {
    	txtBody=subjectLine + "\n";
    }    
    else
    {
    	txtBody=kanaTextTitle + "\n";
    }
    xmlBody="<?xml version=\"1.0\" encoding=\"us-ascii\" ?>\n";
    xmlBody+="<kanaRoot>\n";
    xmlBody+="<kanaMessage>\n";
}
function servletEndStrings()
{
    xmlBody+="</kanaMessage>\n";
    xmlBody+="</kanaRoot>\n";
}
// servletXxx() is xml servletXxxTxt is text
function servletFirstName(formObj)
{
    var tField=formObj.txtFirstName;
    servletGenericTextField(tField);
}
function servletFirstNameTxt(formObj)
{
    var tField=formObj.txtFirstName;
    servletGenericTextFieldTxt(tField);
}
function servletLastName(formObj)
{
    var tField=formObj.txtLastName;
    servletGenericTextField(tField);
}
function servletLastNameTxt(formObj)
{
    var tField=formObj.txtLastName;
    servletGenericTextFieldTxt(tField);
}
function servletBillingTN(formObj)  
{
    //txtBillPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtBillPhoneAreaCode.value+")"+formObj.txtBillPhone3.value+"-"+formObj.txtBillPhone4.value;
    servletGenericTNField(tmpPhCombined,'txtBillPhone');
}
function servletBillingTNTxt(formObj)  
{
    //txtBillPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtBillPhoneAreaCode.value+")"+formObj.txtBillPhone3.value+"-"+formObj.txtBillPhone4.value;
    servletGenericTNFieldTxt(tmpPhCombined,'txtBillPhone');
}
function servletContactTN(formObj)
{
    //txtContactPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtContactPhoneAreaCode.value+")"+formObj.txtContactPhone3.value+"-"+formObj.txtContactPhone4.value;
    servletGenericTNField(tmpPhCombined,'txtContactPhone');
}
function servletContactTNTxt(formObj)  
{
    //txtContactPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtContactPhoneAreaCode.value+")"+formObj.txtContactPhone3.value+"-"+formObj.txtContactPhone4.value;
    servletGenericTNFieldTxt(tmpPhCombined,'txtContactPhone');
}
function servletContactTNExt(formObj)  //added extension
{
    //txtContactPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtContactPhoneAreaCode.value+")"+formObj.txtContactPhone3.value+"-"+formObj.txtContactPhone4.value + " Ext. " + formObj.txtContactPhoneExt.value;
    servletGenericTNField(tmpPhCombined,'txtContactPhone');
}
function servletContactTNExtTxt(formObj)  //added extension
{
    //txtContactPhone is not an html field. Used as subscript only.
    var tmpPhCombined="("+formObj.txtContactPhoneAreaCode.value+")"+formObj.txtContactPhone3.value+"-"+formObj.txtContactPhone4.value + " Ext. " + formObj.txtContactPhoneExt.value;
    servletGenericTNFieldTxt(tmpPhCombined,'txtContactPhone');
}
function servletBestTime(formObj)
{
    var selVal=formObj.selBestTime.options[formObj.selBestTime.selectedIndex].text;
    if (formObj.selBestTime.selectedIndex==0)
    {
	selVal="none";
    }
    servletGenericTNField(selVal,'selBestTime');
}
function servletBestTimeTxt(formObj)
{
    var selVal=formObj.selBestTime.options[formObj.selBestTime.selectedIndex].text;
    if (formObj.selBestTime.selectedIndex==0)
    {
	selVal="none";
    }
    servletGenericTNFieldTxt(selVal,'selBestTime');
}
function servletEmailAddr(formObj)
{
    var tField=formObj.txtEmailAddress;
    servletGenericTextField(tField);
}
function servletEmailAddrTxt(formObj)
{
    var tField=formObj.txtEmailAddress;
    servletGenericTextFieldTxt(tField);
}
function servletSecretCode(formObj)//special case
{
    if( (kanaXmlLabels['txtSecretCode']!=null) && (kanaXmlLabels['txtSecretCode']!="") )
    {
	var tmpXStr="****"+ formObj.txtSecretCode.value +"****\n";
	xmlBody+=tmpXStr;
    }    
}
//no secret code text entry
function servletTextArea(formObj)
{
    var tField=formObj.textarea;
    servletGenericTextField(tField);
}
function servletTextAreaTxt(formObj)
{
    var tField=formObj.textarea;
    servletGenericTextFieldTxt(tField);
}
function servletCpni(formObj)
{
    var tmpCpni="no";  //val of 1th radio
    if (formObj.rdoCPNI[0].checked)
    {
	tmpCpni="yes";
    }
    if( (kanaXmlLabels['rdoCPNI']!=null) && (kanaXmlLabels['rdoCPNI']!="") )
    {
	var tmpXStr="<kanaAttribute name=\""+kanaXmlLabels['rdoCPNI']+"\">"+ tmpCpni +"</kanaAttribute>\n";
	xmlBody+=tmpXStr;
    }    
}
function servletCpniTxt(formObj)
{
    var tmpCpni="no";  //val of 1th radio
    if (formObj.rdoCPNI[0].checked)
    {
	tmpCpni="yes";
    }
    if( (kanaTextLabels['rdoCPNI']!=null) && (kanaTextLabels['rdoCPNI']!="") )
    {
	var tmpXStr=kanaTextLabels['rdoCPNI']+" = "+ tmpCpni +"\n";
	txtBody+=tmpXStr;
    }    
}
function servletSubject(formObj)  //subject not html field. Subscript only.
{
    if( (kanaXmlLabels['subject']!=null) && (kanaXmlLabels['subject']!="") )
    {
	var tmpXStr="<kanaAttribute name=\""+kanaXmlLabels['subject']+"\">"+ subjectLine +"</kanaAttribute>\n";
	xmlBody+=tmpXStr;
    }    
}
function servletSubjectTxt(formObj)  //subject not html field. Subscript only.
{
    if( (kanaTextLabels['subject']!=null) && (kanaTextLabels['subject']!="") )
    {
	var tmpXStr=kanaTextLabels['subject']+" = "+ subjectLine +"\n";
	txtBody+=tmpXStr;
    }    
}
function servletGeneric1(formObj)  //assumes g1 is textarea
{
    var tField=formObj.generic1;
    servletGenericTextField(tField);
}
function servletGeneric1Txt(formObj)  //assumes g1 is textarea
{
    var tField=formObj.generic1;
    servletGenericTextFieldTxt(tField);
}
function servletGeneric2(formObj)  //assumes g2 is textarea
{
    var tField=formObj.generic2;
    servletGenericTextField(tField);
}
function servletGeneric2Txt(formObj)  //assumes g1 is textarea
{
    var tField=formObj.generic2;
    servletGenericTextFieldTxt(tField);
}
function setServletParms(formObj)
{
    formObj.subjectLine.value=subjectLine;
    formObj.to.value=to;
    formObj.from.value=formObj.txtEmailAddress.value;
    formObj.nextPage.value=nextPage;
    formObj.sfid.value=urlParms['sfid'];
    formObj.xmlBody.value=xmlBody;
    formObj.txtBody.value=txtBody;
}
function displayServletParms()
{
  if (document.getElementById("debugServletParmsDiv")!=null)
  {  
    var formObj=getFormObject();
    var debugServletParmsTxt="<h2>Servlet Parms</h2>";
    debugServletParmsTxt+="<b>subjectLine: </b>"+formObj.subjectLine.value+"<br>";
    debugServletParmsTxt+="<b>to: </b>"+formObj.to.value+"<br>";
    debugServletParmsTxt+="<b>from: </b>"+formObj.from.value+"<br>";
    debugServletParmsTxt+="<b>nextPage: </b>"+formObj.nextPage.value+"<br>";
    debugServletParmsTxt+="<b>sfid: </b>"+formObj.sfid.value+"<br>";
    debugServletParmsTxt+="<b>xmlBody:</b><br><xmp>"+formObj.xmlBody.value+"</xmp><br>";
    debugServletParmsTxt+="<b>txtBody:</b><br><xmp>"+formObj.txtBody.value+"</xmp>";
    document.getElementById("debugServletParmsDiv").innerHTML=debugServletParmsTxt;
  }
}
///////////////end  new bh  ///
var widgetVarID = ""; //global var to be accessible by left nav layer 	  
function getWidgetVarID()
{
    var subFormID="";
    if ( (urlParms['sfid']!=null) && (urlParms['sfid']!="") )
    {
	subFormID=urlParms['sfid'];
    }
    if(subFormID == "ara"){
	  widgetVarID = "emrs_ContactUsIndexForm_ara";
    }else if(subFormID == "bi"){
	  widgetVarID = "emrs_ContactUsIndexForm_bi";
    }else if(subFormID == "csps"){
	  widgetVarID = "emrs_ContactUsIndexForm_csps";
    }else if(subFormID == "cw"){
	  widgetVarID = "emrs_ContactUsIndexForm_cw";
    }else if(subFormID == "cbnma"){
	  widgetVarID = "emrs_ContactUSIndexForm_cbnma";
    }else if(subFormID == "fbpa"){
	  widgetVarID = "emrs_ContactUsIndexForm_fbpa";
    }else if(subFormID == "is"){
	  widgetVarID = "emrs_ContactUsIndexForm_is";
    }else if(subFormID == "or"){
	  widgetVarID = "emrs_ContactUsIndexForm_or";
    }else if(subFormID == "pa"){
	  widgetVarID = "emrs_ContactUsIndexForm_pa";
    }else if(subFormID == "ps"){
	  widgetVarID = "emrs_ContactUsIndexForm_ps";
    }else if(subFormID == "other"){
	  widgetVarID = "emrs_ContactUsIndexForm_other";
    }else if(subFormID == "os"){
	  widgetVarID = "emrs_ContactUsIndexForm_os";
    }else{
	  widgetVarID = "emrs_contactus_indexform_templatejsp";
    }
}


////////////////////////////////////////////////////////////////////

//	general.js	Utility routines for form validation
//		Change History:
//		04/01/00	WAM stripped out Cellular-specific formats.
//		06/23/00	WAM added support for '-' and 2-char ext in checkEMail.
//		11/03/00	WAM added checkAlphaNumeric, allow "." in phonenumbers.
//		11/09/00	WAM added length check in prepare??() functions.
//		5/10/01		PBM added new CheckDollar routine, CheckEmail routine, PrepareDollar change
//		7/1/01		PBM changed CheckDollar routine to restrict allowable value to the following format -  ###.##
//		7/1/01		PBM changed TestEmail to allow domains that are > 2 chars long - new domains can be 4+ chars
//		7/18/01		PBM changed reqd to include a maxLength property
//---------------------------------------------------------------------------

// Object definition for required fields array
function reqd(field, description, maxLength){
	this.field = field;
	this.description = description;
	if(maxLength != null){
		this.maxLength = maxLength;
	} else {
		this.maxLength = "";
	}
}

// Iterate through required array and build a list of any missing fields
function checkRequiredFields(array){
	var strError = "";
	var focusfield = null;
	// For every field in the array
	for (var i = 0; i < array.length; i++){
		if (isBlank(array[i].field)){
			strError += "  " + array[i].description + "\n";
			if (focusfield == null){
				focusfield = array[i].field;
			}
		}
	}
	if (strError != ""){
		window.alert("Required data missing:\n" + strError);
		focusfield.focus();
		return false;
	}
	return true;
}

function isBlank(element){element
	if (element == null){
		//window.alert("general.js - isBlank():\nElement referenced does not exist.");
		return false;
	}
	//window.alert(element.name);
	var bRet = true;
	switch(element.type)
	{
		case "text":
		case "textarea":
		case "password":
				bRet = isEmpty(element.value);
				break;
		case "select-one":
		case "select-multiple":
				if (element.selectedIndex == -1){
						bRet = true;
				}else{
					if (isEmpty(element.options[element.selectedIndex].value) ||
							isEmpty(element.options[element.selectedIndex].text)){
						bRet = true;
					}else{
						bRet = false;
					}
				}
				break;
		case "radio":
				// Test a radio group
				for (var i = 0; i < element.length; i++){
					bRet = (bRet || element[i].checked);
				}
				break;
		case "checkbox":
				bRet != element.checked;
				break;
		default:
				window.alert("general.js - isBlank():\nUnexpected element type " + element.type);
				bRet = false;
				break;
	}
	return bRet;
}

// Strings require an extra check to eliminate blanks
function isEmpty(str){
	// Is it really a text element?
	if (str == null){
		return false;
	}
	// Check whether string is empty.
	for (var intLoop = 0; intLoop < str.length; intLoop++){
		if (" " != str.charAt(intLoop)){
			return false;
		}
	}
	return true;
}

// Enable event capture for Nav
if (is_nav4up){
   document.captureEvents(Event.KEYPRESS);
}

// For multi-part fields, jump to next one when current field is full
function autotab_toname(evt, cur_field, char_max, goto_field){    
	if (is_nav4){
		if (cur_field.value.length >= char_max){
				goto_field.focus();
			}
	}
	if (is_ie4up || is_nav5up){	// Offset fixed in Nav 6
		if (cur_field.value.length > (char_max-1)){
				goto_field.focus();
		}
	}
}

function checkEMail(field){
  var str = field.value;
  if (isEmpty(str)) return true;
  var result = testEMail(str);
  if (result == false){ // Test to see if hyphen caused failure
    var pos = str.lastIndexOf(".");
    var front = (str.substring(0, pos));
    var ext = (str.substring(pos));
    str = front.replace(/-/g, "x");
    str = str + ext;
    result = testEMail(str);
    if (result == false){ // It is really a failure
      window.alert("The e-mail address must be in 'name@domain.ext' format.");
      field.focus();
    }
  }
  return result;
}

function checkEMail2(field){
//temporary function used while EBPP was served from BSOL
  var str = field.value;
  if (isEmpty(str)) return true;
  var result = testEMail(str);
  if (result == false){ // Test to see if hyphen caused failure
    var pos = str.lastIndexOf(".");
    var front = (str.substring(0, pos));
    var ext = (str.substring(pos));
    str = front.replace(/-/g, "x");
    str = str + ext;
    result = testEMail(str);
    if (result == false){ // It is really a failure
      window.alert("The e-mail address must be in 'name@domain.ext' format.");
      field.focus();
    }
  }
  return result;
}

function testEMail(str){
  var pattern1 = /(@.*@)|(\.\.)|(\\.\\.)|(@\\.)|(^\\.)/; // 
  var pattern2 = /^(\w[\w_-]*\.)*\w+@{1}(\w[\w_-]*\.)*\w+\.\w{2,}$/;
  var result = (!(pattern1.test(str)) && pattern2.test(str));
  return result;
}

function checkNumeric(field, desc){
	var str = field.value;
	if (isEmpty(str)) return true;
	var v = parseFloat(field.value);
	var result = !(isNaN(v));
	if (result == false){

		if (desc==null) {
			window.alert("Please enter only digits.");
		}
		else {
			window.alert("Please enter only digits for " + desc + ".");
		}
		field.focus();
	}
	return result;
}

function checkDollar(field){
	var str = field.value;
	if (isEmpty(str)) return true;
    if (str.charAt(0) == "."){
      var temp = "0" + str;
      str = temp;
    }
	var pattern = /^[0-9]+\.[0-9][0-9]$/; 
	//var pattern = /^\d+(\.\d{2})?$/;
	var result = pattern.test(str);
	if (result == false){
		window.alert("Please enter a dollar amount with 2 decimal places and no commas.\n  ex: 1449.95");
		field.focus();
    }else{
      field.value = prepareDollar(str);
	}
	return result;
}

function checkPhone(field){
	var str = field.value;
	if (isEmpty(str)){
		return true;
	}
	var pattern = /^(\d{3})[-.]?(\d{3})[-.]?(\d{4})$/;
	var result = pattern.test(str);
	if (result == false){
		window.alert("Please enter a valid phone number.\n  ex: 404.555.1234");
		field.focus();
	}
	return result;
}

function checkAlpha(field, desc){ //designed so that desc parameter does not need to be passed.
	var str = field.value;
	if (isEmpty(str)) return true;
	var pattern = /^[A-Za-z]+$/;
	var result = pattern.test(str);
	if (result == false){
		if (desc==null) {
			window.alert("Please use only the letters A-Z and a-z.");
		}
		else {
			window.alert("Please use only the letters A-Z and a-z for " + desc + ".");
		}
		field.focus();
	}
	return result;
}

function checkLengthBase(fieldParm, lengthParm)
{
	var str = fieldParm.value;
	if (isEmpty(str)) return true;
	var result = (str.length == length);
	return result;
}

function checkLength(field,length, desc){ //designed so that desc parameter does not need to be passed.
	var str = field.value;
	if (isEmpty(str)) return true;
	var result = (str.length == length);
	if (result == false){

		if (desc==null) {
			window.alert("Please enter exactly " + length + " characters.");
		}
		else {
			window.alert("Please enter exactly " + length + " characters for " + desc + ".");
		}

		field.focus();
	}
	return result;
}

function checkReqdLength(reqFieldParm, lengthParm)
{
	var	result = checkLengthBase(reqFieldParm.field);

	if (!result)
	{
		var alrt = "Please enter exactly " + length +
			" characters for the '" + reqFieldParm.description +
			"' field";
		Window.alert(alrt);
		Field.focus();
	}

	return(result);
}

function checkDateBase(fieldParm)
{
	var str = fieldParm.value;
	if (isEmpty(str)) return true;
	var pattern = /^([01]{0,1}\d)[-\/]?([0123]{0,1}\d)[-\/]?((19|20)\d{2})$/;
	var result = pattern.test(str);
	return result;
}

function checkDate(field){
	var str = field.value;
	if (isEmpty(str)) return true;
	var pattern = /^([01]{0,1}\d)[-\/]?([0123]{0,1}\d)[-\/]?((19|20)\d{2})$/;
	var result = pattern.test(str);
	if (result == false){
		window.alert("Please enter a valid date, including the century.\n  ex: 04/30/1999");
		field.focus();
	}
	return result;
}

function checkReqdDate(reqFieldParm)
{
	var	result = checkDateBase(reqFieldParm.field);

	if (!result)
	{
		window.alert("Please enter a valid date for the '" +
		reqFieldParm.description +
		"' field, including the century.\n  ex: 04/30/1999");
		field.focus();
	}

	return(result);
}

function checkMonth(field){
	var str = field.value;
	if (isEmpty(str)) return true;
	var pattern = /^(01|02|03|04|05|06|07|08|09|10|11|12)$/;
	var result = pattern.test(str);
	if (result == false){
		window.alert("Please enter a valid month.\n  ex: 04");
		field.focus();
	}
	return result;
}

function checkYear(field){
	var str = field.value;
	if (isEmpty(str)) return true;
	var pattern = /^((19|20)\d{2})$/;
	var result = pattern.test(str);
	if (result == false){
		window.alert("Please enter a valid year using all 4 digits.\n  ex: 2000");
		field.focus();
	}
	return result;
}

// Take a date in 199903011230 format and break into its parts.
function formatDate(str){
	if (isEmpty(str)) return;
	var pattern = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})$/;
	var result = str.match(pattern);
	if (result != null){
		var year = result[1];
		var month = result[2];
		var day = result[3];
		var hour = result[4];
		var minute = result[5];
		document.write(month + "-" + day + "-" + year + " " + hour + ":" + minute);
	}else{
		// make it red if it's a bad format
		document.write("<font color=\"red\">" + str + "</font>");
	}
}

// Take a string of digits and add zeroes to the left up to the maximum length
function leftPad(numStr, maxLength){
	var zeroStr = "";   
	for (var i = 0; i < maxLength - numStr.length; i++){
		zeroStr += "0";
	}
	return (zeroStr + numStr);
}

// Strip the punctuation from the date and format for the server
function unFormatDate(str){
	if (isEmpty(str)){
		return ("");
	}
	var date = "";
	var pattern = /^([01]{0,1}\d)[-\/]?([0123]{0,1}\d)[-\/]?((19|20)\d{2})$/;
	var result = str.match(pattern);
	if (result != null){
		date = result[3] + leftPad(result[1], 2) + leftPad(result[2], 2);
	}
	return (date);
}

// Prepare a date for Oracle
function prepareOracleDate(field){
	var str = field.value;
	if (isEmpty(str)){
		return "";
	}
	var date = "";
	var pattern = /^([012]?[0-9])[-\/]?([0123]?[0-9])[-\/]?((19|20)[0-9]{2})$/;
	var result = str.match(pattern);
	if (result != null){
		var month = "";
		switch(result[1] - 0){
			case 1:	 month = "jan"; break;
			case 2:  month = "feb"; break;
			case 3:  month = "mar"; break;
			case 4:  month = "apr"; break;
			case 5:  month = "may"; break;
			case 6:  month = "jun"; break;
			case 7:  month = "jul"; break;
			case 8:  month = "aug"; break;
			case 9:  month = "sep"; break;
			case 10: month = "oct"; break;
			case 11: month = "nov"; break;
			case 12: month = "dec"; break;
			default: window.alert("general.js - prepareOracleDate():\n Bad month in date - " + str);
					bRet = false;
					break;
		}
		date = result[2] + "-" + month + "-" + result[3];
	}
	window.alert(date);
	return date;
}

function currentDate(){
	var curdate = new Date();
	document.write(curdate.toLocaleString());
}

function formatSSN(str){
	if (isEmpty(str)) return;
	var pattern = /^(\d{3})-?(\d{2})-?(\d{4})$/;
	var result = str.match(pattern);
	if (result != null){
		var first = result[1];
		var second = result[2];
		var third = result[3];
		document.write(first + "-" + second + "-" + third);
	}else{
		document.write("<font color=\"red\">" + str + "</font>");
	}
}

function unFormatSSN(str){
	if (isEmpty(str)){
		return "";
	}
	var ssn = "";
	var pattern = /^(\d{3})-?(\d{2})-?(\d{4})$/;
	var result = str.match(pattern);
	if (result != null){
		ssn = result[1] + result[2] + result[3];
	}else{
		ssn = str;
	}
	return ssn;
}

function formatPhone(str){
	if (isEmpty(str)){
		return;
	}
	var pattern = /^(\d{3})[-.]?(\d{3})[-.]?(\d{4})$/;
	var result = str.match(pattern);
	if (result != null){
		var areacode = result[1];
		var exchange = result[2];
		var number = result[3];
		document.write(areacode + "." + exchange + "." + number);
	}else{
		document.write("<font color=\"red\">" + str + "</font>");
	}
}

// Display all the form fields on an HTML page
function dumpAllFormFields(){
	document.write("<P>");
	for (var intLoop = 0; intLoop < document.forms[0].elements.length; intLoop++){
		document.write(document.forms[0].elements[intLoop].name + "<BR>");
	}
}

function getRadioValue(radioObject){
	var value = null;
	for (var i = 0; i < radioObject.length; i++){
		if (radioObject[i].checked){
			value = radioObject[i].value;
			break;
		}
	}
	return value;
}

function setSelect(selectObject, value){
	var index = -1;
	for (var i = 0; i < selectObject.options.length; i++){
		if (selectObject.options[i].value == value){
			index = i;
			break;
		}
	}
	selectObject.selectedIndex = index;
	return;
}

function prepareSSN(str){
	if (9 == str.length){
		var pt1 = str.substr(0,3);
		var pt2 = str.substr(3,2);
		var pt3 = str.substr(5,4);
		str = pt1 + "-" + pt2 + "-" + pt3;
	}
	return str;
}

function preparePhone(str){
	if (10 == str.length){
		var areacode = str.substr(0,3);
		var exchange = str.substr(3,3);
		var number = str.substr(6,4);
		str = areacode + "." + exchange + "." + number;
	}
	return str;
}

function unFormatPhone(str){
	if (isEmpty(str)) return "";
	var phone = "";
	var pattern = /^(\d{3})[-.]?(\d{3})[-.]?(\d{4})$/;
	var result = str.match(pattern);
	if (result != null){
		phone = result[1] + result[2] + result[3];
	}else{
		phone = str;
	}
	return phone;
}

function prepareDate(str){
	if (8 == str.length){
		var year = str.substr(0,4);
		var month = str.substr(4,2);
		var day = str.substr(6,2);
		str = month + "/" + day + "/" + year;
	}
	return str;
}

function setRadio(radioObject, value){
	if ("" == value){
		return;
	}
	for (var i = 0; i < radioObject.length; i++){
		radioObject[i].checked = (radioObject[i].value == value);
	}
}

// Display anchor text for either IE4.0 or Netscape
function setAnchor(anchor, value){
	if (is.ie4up){
		anchor.innerText = value;
	}else{
		anchor.text = value;
	}
}
    
// Get the currently selected value of a select widget
function getSelectValue(select){
	if (select.selectedIndex < 0){
			return("");
	}
	return(select.options[select.selectedIndex].value);
}

// Add a dash to a zipcode field if it has the 4 digit extension
function prepareZip(value){
	if (9 == value.length){
		value = value.substr(0,5) + "-" + value.substr(5,4);
	}
	return(value);
}

// Remove the dash from a zipcode field that has the 4 digit extension
function unFormatZip(value){
	if (10 == value.length){
		var pattern = /^(\d{5})-(\d{4})$/;
		var result = value.match(pattern);
		value = result[1] + result[2];
	}
	return(value);
}

// Check a zip code field for either 99999-9999 or 99999 format.
function checkZip(zip){
	if (isBlank(zip)){
		return(true);
	}
	var pattern5 = /^\d{5}$/;
	var pattern54 = /^\d{5}-\d{4}$/;
	if (pattern5.test(zip.value) || pattern54.test(zip.value)){
		return(true);
	}
	window.alert("Use '99999' or '99999-9999' format for zip codes.");
	zip.focus();
	return(false);
}

// Validate an integer field
function checkIntegerBase(fieldParm)
{
	var pattern = /^\d*$/;
	if (pattern.test(fieldParm.value))
		return (true);
	else
		return(false);
}

function checkInteger(field, desc){  //designed so that desc parameter does not need to be sent.
	var pattern = /^\d*$/;
	if (pattern.test(field.value)){
		return (true);
	}
	if (desc==null) {
		window.alert("Please enter only numeric characters (0-9).");
	}
	else {
		window.alert("Please enter only numeric characters (0-9) for " + desc + ".");
	}
	 
	field.focus();
	return(false);
}

// Validate a field with alphanumeric only, no special characters
function checkAlphaNumeric(field, desc){ //designed so that desc parameter does not need to be sent.
	var pattern = /^\w*$/;
	if (pattern.test(field.value)){
		return (true);
	}
	if (desc==null) {
		window.alert("Please enter only alphabetic characters or numbers.");
	}
	else {
		window.alert("Please enter only alphabetic characters or numbers for " + desc + ".");
	}
	field.focus();
	return(false);
}

// Remove any existing elements in a select
function clearSelect(select, end){
	while (select.length > end){
		select.options[select.length - 1] = null;
	}
}

function prepareDollar(str){
	var newValue = str;
	var decAmount = "";
	var dolAmount = "";
	var decFlag = false;
	var aChar = "";
	var textObj = "";

	// Ignore all but digits and decimal points
	for (var i = 0; i < newValue.length; i++){
		aChar = newValue.substring(i, i+1);
		if (aChar >= "0" && aChar <= "9"){
			if (decFlag){
				decAmount = "" + decAmount + aChar;
			}else{
				dolAmount = "" + dolAmount + aChar;
			}
		}
		if (aChar == "."){
			if (decFlag){
				dolAmount = "";
				break;
			}
			decFlag = true;
		}
	}

	// Ensure that at least a zero appears for the dollar amount
	if (dolAmount == ""){
		dolAmount = "0";
	}

	// Strip leading zeros
	if (dolAmount.length > 1){
		while (dolAmount.length > 1 && dolAmount.substring(0, 1) == "0"){
			dolAmount = dolAmount.substring(1, dolAmount.length);
		}
	}

	// Round the decimal amount
	if (decAmount.length > 2){
		if (decAmount.substring(2, 3) > "4"){
			decAmount = parseInt(decAmount.substring(0, 2)) + 1;
			if (decAmount < 10){
					decAmount = "0" + decAmount;
			}else{
					decAmount = "" + decAmount;
			}
		}else{
			decAmount = decAmount.substring(0, 2);
		}
		if (decAmount == 100){
			decAmount = "00";
			dolAmount = parseInt(dolAmount) + 1;
		}
	}

	// Pad right side of decAmount
	if (decAmount.length == 1){
		decAmount = decAmount + "0";
	}
	if(decAmount.length == 0){
		decAmount = decAmount + "00";
	}

	// Check for negative values
	if (newValue.substring(0,1) != '-' ||(dolAmount == "0" && decAmount == "00")){
		textObj = dolAmount + "." + decAmount;
	}else{
		textObj = '-' + dolAmount + "." + decAmount;
	}
	return textObj;
}
////////////////////////////////////

function blankMsg(blankField, msg) {
if(isBlank(blankField)) {
alert(msg)
blankField.focus()
return false;
}
else {
return true;
}
}
function chkEmail(emailField) {
if(emailField.value == ""){
		alert("Please enter a proper E-mail address!")
		emailField.focus()
		return false;
}else if(!checkEMail2(emailField))
	{
		//alert("Please enter a proper E-mail address!")
		emailField.focus()
		return false;
	}
	else
	{
	return true;
	}
}
function checkPhoneNum(phoneField, numDigits, numberType) {
if (isBlank(phoneField) || phoneField.value.length < numDigits)
	{
		alert("Please enter a valid " + numberType);
		phoneField.focus()
		return false;
	}
	else
	if (!checkInteger(phoneField))
	{
		phoneField.focus()
		return false;
	}
	else 
	{
	//window.alert(phoneField.name);
	return true;
	}
}

function nextObject(object1,object2, objectsize) {
		if (object1.value.length == objectsize)
		object2.focus()
}

function entryCheck(frm)  {
    contFlag = true;
	if(contFlag){
	contFlag = contFlag && blankMsg(frm.txtFirstName, "Please enter your first name."); 
	}
	if(contFlag){
	contFlag = contFlag && blankMsg(frm.txtLastName, "Please enter your last name."); 
	}
	if(contFlag){
	contFlag = contFlag && checkPhoneNum(frm.txtBillPhoneAreaCode, 3, "billing phone number."); 
	}
	if(contFlag){
	contFlag = contFlag && checkPhoneNum(frm.txtBillPhone3, 3, "billing phone number."); 
	}
	if(contFlag){
	contFlag = contFlag && checkPhoneNum(frm.txtBillPhone4, 4, "billing phone number."); 
	}
	if(contFlag){
	contFlag = contFlag && blankMsg(frm.textarea, "Please enter a question or comment."); 
	}
	if(contFlag){
	   if(scrType == "Cingularfrm"){
		if(contFlag){
		contFlag = contFlag && checkPhoneNum(frm.txtCingularPhoneAreaCode, 3, "Cingular phone number."); 
		}
		if(contFlag){
		contFlag = contFlag && checkPhoneNum(frm.txtCingularPhone3, 3, "Cingular phone number."); 
		}
		if(contFlag){
		contFlag = contFlag && checkPhoneNum(frm.txtCingularPhone4, 4, "Cingular phone number."); 
		}
		if(contFlag){
		contFlag = contFlag && chkEmail(frm.txtEmailAddress);
		}
		if(contFlag){
		contFlag = contFlag && blankMsg(frm.txtBillInquiryDisputeReason, "Please enter a question or comment."); 
		}
	    }
	}
	
	//begin validation for NameChngfrm only
	if(contFlag){
	   if(scrType == "NameChngfrm"){
	      if(frm.txt2ndBillPhoneAreaCode.value.length > 0 || frm.txt2ndBillPhone3.value.length > 0 || frm.txt2ndBillPhone4.value.length > 0){
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt2ndBillPhoneAreaCode, 3, "additional phone number."); 
	         }
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt2ndBillPhone3, 3, "additional phone number."); 
	         }
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt2ndBillPhone4, 4, "additional phone number."); 
	         }
	      }
	      if(frm.txt3rdBillPhoneAreaCode.value.length > 0 || frm.txt3rdBillPhone3.value.length > 0 || frm.txt3rdBillPhone4.value.length > 0){
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt3rdBillPhoneAreaCode, 3, "additional phone number."); 
	         }
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt3rdBillPhone3, 3, "additional phone number."); 
	         }
	         if(contFlag){
	            contFlag = contFlag && checkPhoneNum(frm.txt3rdBillPhone4, 4, "additional phone number."); 
	         }
	      }
	   }
	}
	//end validation for NameChngfrm only
	
	//begin validation for Order Status only
	if(contFlag){
	   if(scrType == "OrderStatusfrm"){
	   	  if(contFlag){
	         contFlag = contFlag && blankMsg(frm.txtOrder_Number, "Please enter your Order/Confirmation Number."); 
	      }
	   }
	}
	//end validation for Order Status only
	
	//begin validation for Bill Inquiry only
	if(contFlag){
	   if(scrType == "BillInquiryfrm"){
	   	  if(contFlag){
		contFlag = contFlag && blankMsg(frm.txtBillInquiryDisputeReason, "Please enter a question or comment."); 
		}
	   }
	}
	//end validation for Bill Inquiry only
	
	if(contFlag){
	var CPNIValue = getRadioValue(frm.rdoCPNI);
		if (CPNIValue == null) {
		contFlag = false;
		alert("Please choose either Yes or No for the CPNI agreement");		
		} else {
		contFlag = true;
		}
		
	var OkToCallValue = getRadioValue(frm.rdoOkToCall);
		if (OkToCallValue == null) {
		contFlag = false;
		alert("Do you agree to an AT&T representative calling.");
		document.getElementById('okToCall').style.backgroundColor = '#FFFF00';
		document.getElementById('okToCall').style.fontWeight = 'bold';
		} else {
		contFlag = true;
		}
	}

	if(contFlag){
		buildServletStrings();
		submitCSForm(frm);
	}
}
function submitCSForm(frm)
{
		if (localDebug)
		{
		    window.alert("Please scroll to bottom of page\nto see Kana Email strings.");
		}
//		var tmpAction=protocolString+"//"+hostNameVar+"/apps/rnr/ordering/contactus/ContactUsEmailServlet"; 
		var tmpAction="https://ordering.bellsouth.com/apps/rnr/ordering/contactus/ContactUsEmailServlet"; 
		if (okToCallPresent)   //ok to call fix  -- obsolete with use of generic 1 Left in -- just in case
		{
			//resizeComment(frm);	
		}
		if (!localDebug)
		{
			frm.action=tmpAction;
			frm.submit();
		}
		else
		{
			window.alert(tmpAction);
		}
}
function resizeComment(frm)  //ok to call fix  -- not used Left in -- in case
{
	
	if (frm.textarea != null)
	{
		tObj=frm.textarea;
	}
	else if (frm.txtBillInquiryDisputeReason != null)
	{
		tObj=frm.txtBillInquiryDisputeReason;
	}
	if (tObj!=null)
	{
		tObj.rows="1";
	}
	window.scrollTo(0,0);

}
var cpniBlurb='<span class="redsmall">*</span>For this session, I would like to use your service and usage records to discuss products offered by the AT&amp;T family of companies. Protecting the privacy of this information is your right and our duty under Federal law and your decision will not affect your service. Is that okay?';

//cookie to handle case where name/addr screen goes to cpr -- need to know if user is coming from nlss via cpr
//cookie is nlssViaCpr   Values: yes/no
//cookie stuff
var expires = "";
var path ="/";
if (currURL.indexOf('iocteamsite') > -1) {
	var BSdomain = "bls.com";
} else if (currURL.indexOf('localhost') > -1) {
	var BSdomain = "";
} else if (currURL.indexOf('iocecstgwww.bellsouth.com') > -1) {
	var BSdomain = "iocecstgwww.bellsouth.com";
} 
  else if (currURL.indexOf('krabby.ourbellsouth.com') > -1) {
	var BSdomain = "krabby.ourbellsouth.com";
}
  else {
	var BSdomain = "bellsouth.com";
}
var secure = "";
function autoStowValue(cookieName,tVal)
{    
	//window.alert(expires + path + BSdomain + secure);
	setCookie(cookieName,tVal, expires, path, BSdomain, secure);
}

var customerCodeLink="<a href=\"javascript: w = window.open('https://emailus.sbc.com/ermsfp/emailus?service=external/CustomerCode', 'customerCodeWindow', 'top=100,left=100,width=575,height=390,scrollbars=no,resizable=no'); w.focus();\" class=bread>Customer Code</a>"; 
var accountSpecificLink="<a href=\"javascript: w = window.open('https://emailus.sbc.com/ermsfp/emailus?service=external/AccountSpecific', 'accountSpecificWindow', 'top=100,left=100,width=490,height=205,scrollbars=no,resizable=no'); w.focus();\" class=bread>account specific</a>";
function accountSpecificBlurb()
{
    var tStr="<table width=\"100%\" cellpadding=0 cellspacing=0 border=0><tr><td>"+
    "<p class=bread>If your email is regarding " + accountSpecificLink + " information, " +
    "you will need to provide two of the following in the comments section below:<br>"+
    "1) Your three-digit "+customerCodeLink+"<br>"+
    "2) Billing Zip Code<br>"+
    "3) Last Amount Due<br>"+
    "</td></tr></table>";
    document.write(tStr);
}

function doOkToCallBlurb()
{
    okToCallPresent=true;   //ok to call fix
    var tWording="<span class='redsmall'>*</span>I agree that an AT&amp;T representative may call me within three business days, of my receipt of the inquiry confirmation, to discuss AT&amp;T products and services that may add value or savings for me. My permission is related to this inquiry only and waives any AT&amp;T Do Not Call restrictions that may currently be in place for the telephone numbers listed in the Contact Information Section."; 
    var tStr="";
    tStr='<tr><td colspan="3"><img src="/images/spacer.gif" height="5" width="1" border="0"></td></tr>'+
	'<tr><td colspan="3" id="okToCall" style="padding:5px;">'+tWording+'</td></tr>'+
	'<tr><td colspan="3"><img src="/images/spacer.gif" height="3" width="1" border="0"></td></tr>'+
	'<tr><td colspan="3"><table><td width="20" valign="top"><input type="radio" value="yes" name="rdoOkToCall"></td><td colspan="2" valign="top"> Yes, an AT&amp;T Representative may call me at a telephone number listed in the Contact Information Section.</td></tr><td width="20" valign="top"><input type="radio" value="no" name="rdoOkToCall"></td><td colspan="2" valign="top">No thank you</td></tr></table></td></tr>';
    document.writeln(tStr);
}

function servletOkToCallResponse(fm)  //"append to Comments" logic obsolete. Left in--just in case. 
{
    if (fm.rdoOkToCall[0].checked)
    {
       //fm.textarea.value+="\nOK TO CALL = Yes";
       fm.generic1.value="OK TO CALL = Yes";
    }
    else
    {
       //fm.textarea.value+="\nOK TO CALL = No";
       fm.generic1.value="OK TO CALL = No";
    }
}
function servletOkToCallResponse2(fm)  //for Cingular and Bill Inquiry
{
    if (fm.rdoOkToCall[0].checked)
    {
       //fm.txtBillInquiryDisputeReason.value+="\nOK TO CALL = Yes";
       fm.generic1.value="OK TO CALL = Yes";
    }
    else
    {
       //fm.txtBillInquiryDisputeReason.value+="\nOK TO CALL = No";
       fm.generic1.value="OK TO CALL = No";
    }
}


