var xmlHttp = false;
if (window.XMLHttpRequest) {        xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   }



    

//document.myForm.cstreet1.value, '$my_dir', '../compare_streets.php', 'streetCompared',  'myForm', '$action'
function redeem(myInput, myInput2, dataSource, divID, formname, my_action, thisAccountId)  {
	//document.getElementById('livehead').innerHTML = "myInput=" + myInput + " myInput2=" + myInput2 + " dataSource=" + dataSource +  " divID=" + divID + " formname=" + formname + " action=" + my_action + " thisAccountId=" + thisAccountId ;
	
	document.getElementById(divID).innerHTML = " ";
	var tosend = "myInput=" + myInput + "&myInput2=" + myInput2 + "&action=" + my_action +"&thisAccountId=" + thisAccountId ;
        var obj = document.getElementById(divID);
          xmlHttp.open("POST", dataSource, true);
	  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   	  xmlHttp.send(tosend);
  	xmlHttp.onreadystatechange = function()
	{
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
	    { obj.innerHTML = xmlHttp.responseText;
	    //parent.header.document.getElementById('livehead').innerHTML = "<font color=green size=+1>Done Getting office "+svar+" & "+ v1+ "</FONT>";
  
	    }
          }
 } //end streetCompare






function validateFax(locat){
	var error = null;
	var strng   	=  eval("document.myForm."+locat+".value;");
	var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
		//strip out acceptable non-numeric characters
		// if first digit is "1" remove it
        if (stripped.substring(0,1) == "1") {
        	stripped = stripped.substring(1,stripped.length)
	}
		
        var areacode = stripped.substring(0,3);
		
	if (!(stripped.length == 10)) {
		error = "The fax number " +stripped+ " is the wrong length.  Make sure you included an area code.\n";
	}	
	else if(isNaN(stripped)) {
		error = "The fax number " +stripped+ " contains illegal characters. ";
		//(isNaN(parseInt(stripped)))
	}
        else if ((areacode == '900')||(areacode == '809')||(areacode == '829')) {
		error = "The entered areacode is invalid or disallowed.";
	}

	
	if(error){  alert(error);
                 document.getElementById(locat+'Error').innerHTML = "<BR><font color=red>"+error+"</font>";
		}
	else{ document.getElementById(locat+'Error').innerHTML = " "; }
} //validateFax



function faxPreviewScript(){
    var str1   	=  eval("document.myForm.accountName.value;");
    document.getElementById('v_accountName').innerHTML = str1;

    var str2   	=  eval("document.myForm.toWho.value;");
    document.getElementById('v_toWho').innerHTML = str2;

    var str3   	=  eval("document.myForm.amount.value;");
    document.getElementById('v_amount').innerHTML = str3;

    var str4   	=  eval("document.myForm.faxText.value;");
    str4 = str4.replace(/\n/g, '<br />');
    document.getElementById('v_faxText').innerHTML = str4;
    
    var dd = document.myForm.heading.selectedIndex;
    var str5 = document.myForm.heading[dd].text;
    if( str5 == '-blank-'){ str5 = '';}
    document.getElementById('v_heading').innerHTML = str5;



    var showstr6 	= getCheckedValue(document.myForm.elements['showAmount']);
    var str6   		=  eval("document.myForm.amount.value;");
    if( showstr6 != 'YES'){    	str6 = '';
        	document.getElementById('v_showAmount_head').style.display="none";
	}
    else{ 	document.getElementById('v_showAmount_head').style.display="block";  }
    document.getElementById('v_amount').innerHTML = str6;

        
} //faxPreview


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "x";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "y";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	//return " ~~a" +radioObj.length;
	return "z";
}



function addText(text,tarea){
	//document.getElementById('foo').value += text;
	document.getElementById(tarea).value += "\n\n"+text;
	return false;
}




function showHints(whatInput, whatClass, whatId, whatTag) {

	// highlight the input field
        var obj 	= document.getElementById(whatInput);
        var dls2 	= document.getElementsByTagName('input');  // ("span")
	for (i=0;i<dls2.length;i++) {
	   if (dls2[i] == obj) 	{ obj.className 	= 'inputHighlighted';  }
	   else 		{ dls2[i].className 	= ''; }
         }

	// turn off other groups - don't show at all where 
	var dls = document.getElementsByTagName(whatTag);  // ("span")
	for (i=0;i<dls.length;i++) {
		if (dls[i].className==whatClass) {
		     if (dls[i].id==whatId) {
			dls[i].style.display="block";   //block
		     }//whatId
		     else { dls[i].style.display="none"; }
		} //whatClass
         }//cycle
}


 function filterNum(who) {
 	var str   =  eval("document.myForm."+who+".value;");
	//re = /^\$|,/g;	// remove "$" and ","
	//str = str.replace(re, "");
	str = str.replace(/[^0-9.]/g, '');    // only numbers and period
	document.getElementById(who).value =  str;
}



function getSubmenu(needed, sub)
      {  //getsubmenu

	// turn off other groups - don't show at all unless <span id=$needed>
	var dls = document.getElementsByTagName("span");
	for (i=0;i<dls.length;i++) {
		if ((dls[i].id!=needed)&&(dls[i].id!=sub)&&(dls[i].className =="menugroup")) {  //don't show
		dls[i].style.display="none";
		}
		else if(dls[i].className=="help"){}
		else if((dls[i].id==needed)&&(dls[i].className =="menugroup")){ //show it
			dls[i].style.display="block";
			}
	}
if((!sub)||(sub=="noregion")){ //window.parent.header.document.location.reload()
	parent.header.document.getElementById('searchtd').style.display="block";
	parent.header.document.getElementById('livehead').style.display="none";
	}

}//getsubmenu









//set focus to first good form element
function firstFocus(){
	var bFound = false;  
	for(i=0; i < document.forms[0].length; i++)
	{
	   if (document.forms[0][i].type != "hidden")
	   {
		if (document.forms[0][i].disabled != true)
		{
			document.forms[0][i].focus();
			var bFound = true;
		}
	    }
	    if (bFound == true)
	    break;
	} 
} //firstFocus  echo "	<script type=\"text/javascript\">window.onload = firstFocus();</script>";


<!-- Original:  Russ Swift (rswift220@yahoo.com) -->
<!-- http://javascript.internet.com/forms/val-pass.html?password=margin&password2=margin -->
<!-- Begin
function validatePwd(word1,word2) {
	var invalid = " "; // Invalid character is a space
	var minLength = 6; // Minimum length
	//var str   =  eval("document.myForm."+who+".value;");
	var pw1 = eval("document.myForm." +word1+ ".value;");
	var pw2 = eval("document.myForm." +word2+ ".value;");
	var pw1long = eval("document.myForm." +word1+ ".value.length;");
	// check for a value in both fields.
	if (pw1 == '' || pw2 == '') {
		alert('Please enter your password twice.');
		return false;
		}
	if (pw1long < minLength) {
		alert('Your password must be at least ' + minLength + ' characters long. Try again.');
		return false;
		}
	// check for spaces
	var myspaces = eval("document.myForm." +word1+ ".value.indexOf(invalid);");
	if (myspaces > -1) {
		alert("Sorry, spaces are not allowed.");
		return false;
		}
	else {
		if (pw1 != pw2) {
			alert ("You did not enter the same new password twice. Please re-enter your password.");
			return false;
		}
	// else { alert('Nice job.');	return true;	}
	}
}
//  End -->



/* HIGHLIGHT ACTIVE Created by: Alf Magne Kalleland :: www.dhtmlgoodies.com (C) www.dhtmlgoodies.com, November 2005 */

var currentlyActiveInputRef = false;
var currentlyActiveInputClassName = false;

function highlightActiveInput() {
  if(currentlyActiveInputRef) {
    currentlyActiveInputRef.className = currentlyActiveInputClassName;
  }
  currentlyActiveInputClassName = this.className;
  this.className = 'inputHighlighted';
  currentlyActiveInputRef = this;
}

function blurActiveInput() {
  this.className = currentlyActiveInputClassName;
}

function initInputHighlightScript() { //highlights field
  var tags = ['INPUT','TEXTAREA'];
  for(tagCounter=0;tagCounter<tags.length;tagCounter++){
    var inputs = document.getElementsByTagName(tags[tagCounter]);
    for(var no=0;no<inputs.length;no++){
      if(inputs[no].className && inputs[no].className=='doNotHighlightThisInput')continue;
      if(inputs[no].tagName.toLowerCase()=='textarea' || (inputs[no].tagName.toLowerCase()=='input' && inputs[no].type.toLowerCase()=='text')   || (inputs[no].tagName.toLowerCase()=='input' && inputs[no].type.toLowerCase()=='password')){
        inputs[no].onfocus = highlightActiveInput;
        inputs[no].onblur = blurActiveInput;
      }
    }
  }
}

// end of highlighting active


var of;
function checkform(of)
		{
                // http://onlinetools.org/articles/unobtrusivejavascript/chapter5.html
		
		//parent.header.document.getElementById('livehead').innerHTML = "<font color=green>x IN checkform y</FONT>";
		//In <form> onsubmit=\"return checkform(this);\"
		//<INPUT TYPE=hidden NAME=\"required\" 	value=\"$required_by_jobPhp\" id=\"required\"  />
		//$required_by_jobPhp	= "clastname,cfirstname,cstreet1,zipcode,state,cphone1"; 
		
		
		
		// Test if DOM is available and there is an element called required
			if(!document.getElementById || !document.createTextNode){return;}
			if(!document.getElementById('required')){return;}

		// Define error messages and split the required fields
			var errorID='errormsg';
			var errorClass='error'
			var errorMsg='Please enter or change the fields marked with a ';
			var errorImg='../images/alert.gif';
			var errorAlt='Error';
			var errorTitle='This field has an error!';
			var reqfields=document.getElementById('required').value.split(',');

		// Cleanup old mess
			// if there is an old errormessage field, delete it
			if(document.getElementById(errorID))
			{
				var em=document.getElementById(errorID);
				em.parentNode.removeChild(em);
			}
			// remove old images and classes from the required fields
			for(var i=0;i<reqfields.length;i++)
			{
				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
				if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
				{
					f.parentNode.removeChild(f.previousSibling);
				}
				f.className='';
			}
		// loop over required fields
			for(var i=0;i<reqfields.length;i++)
			{
		// check if required field is there
				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
		// test if the required field has an error, 
		// according to its type
				switch(f.type.toLowerCase())
				{
					case 'text':
						if(f.value=='' && f.id!='email'){cf_adderr(f)}							
		// email is a special field and needs checking
						if(f.id=='email' && !cf_isEmailAddr(f.value)){cf_adderr(f)}							
					break;
                                          // password added by shane
                                        case 'password':
						if(f.value==''){cf_adderr(f)}
					break;
					
					case 'textarea':
						if(f.value==''){cf_adderr(f)}							
					break;
					case 'checkbox':
						if(!f.checked){cf_adderr(f)}							
					break;
					case 'select-one':
						if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}
					case 'radio':
						rad = getCheckedValue(f)
						if(rad == "x") {cr_adderr(f)}
						else if(rad == "y") {cr_adderr(f)}
						else if(rad == "z") {cr_adderr(f)}
					break;				
					break;
				}
			}
			return !document.getElementById(errorID);

			/* Tool methods */
			function cf_adderr(o)
			{
				// create image, add to and colourise the error fields
				var errorIndicator=document.createElement('img');
				errorIndicator.alt=errorAlt;
				errorIndicator.src=errorImg;
				errorIndicator.title=errorTitle;
				o.className=errorClass;
				o.parentNode.insertBefore(errorIndicator,o);

			                        // Check if there is no error message
				if(!document.getElementById(errorID))
				{
				// create errormessage and insert before submit button
					var em=document.createElement('div');
					em.id=errorID;
					var newp=document.createElement('p');
					newp.appendChild(document.createTextNode(errorMsg))
					// clone and insert the error image
					newp.appendChild(errorIndicator.cloneNode(true));
					em.appendChild(newp);
					// find the submit button 
					for(var i=0;i<of.getElementsByTagName('input').length;i++)
					{
						if(/submit/i.test(of.getElementsByTagName('input')[i].type))
						{
							var sb=of.getElementsByTagName('input')[i];
							break;
						}
					}
					if(sb)
					{
						sb.parentNode.insertBefore(em,sb);
					}	
				} 
			}
			function cf_isEmailAddr(str) 
			{
			    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
			}
}


function hidelayer(lay){
	var ie4 = (document.all) ? true : false;
	var ns4 = (document.layers) ? true : false;
	var ns6 = (document.getElementById && !document.all) ? true : false;
	if (ie4) {document.all[lay].style.visibility = "hidden";}
	if (ns4) {document.layers[lay].visibility = "hide";}
	if (ns6) {document.getElementById([lay]).style.display = "none";}
}//hidelayer

		
/****** pop ups layer for choosing techs ***/
function getObject( obj ) {
	
	// step 1
	if ( document.getElementById ) {
	obj = document.getElementById( obj );
	
	// step 2
	} else if ( document.all ) {
	obj = document.all.item( obj );
	
	//step 3
	} else {
	obj = null;
	}
	
	//step 4
	return obj;
	}
	
function moveObject( obj, e ) {
	
	// step 1
	var tempX = 0;
	var tempY = 0;
	var offsetx = 15;
	var offsety = 20;
	var objHolder = obj;
	
	// step 2
	obj = getObject( obj );
	if (obj==null) return;
	
	// step 3
	if (document.all) {
	tempX = event.clientX + document.body.scrollLeft;
	tempY = event.clientY + document.body.scrollTop;
	} else {
	tempX = e.pageX;
	tempY = e.pageY;
	}
	
	// step 4
	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}
	
	// step 5
	obj.style.top  = (tempY + offsety) + 'px';
	//obj.style.left = (tempX + offsetx) + 'px';
	// shane removed to leave it on the left
	
	// step 6
	displayObject( objHolder, true );
	}
	
function displayObject( obj, show ) {
	
	// step 1
	obj = getObject( obj );
	if (obj==null) return;
	
	// step 2
	obj.style.display = show ? 'block' : 'none';
	obj.style.visibility = show ? 'visible' : 'hidden';
	}
	
  
/*** end layer ***/


function toggleWorkAreaEnabled(idStatus, idNeeded) {
	if(idStatus == "ON")	{document.getElementById(idNeeded).style.display="inline";}
	if(idStatus == "OFF")	{document.getElementById(idNeeded).style.display="none";	}
}


var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {        XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {  XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");   }


// ('$jzip', 	'$my_dir', 	'../get_techs.php', 	'$jobtype', '	get_tech_span','myForm_$jobid', '$jobid', 'details')
// (zipCodeInput, my_dir, 	dataSource, 		skill, 		divID, 		formname, 	jobid, 	my_action)
function getSurvey(divID, accountId, fileName, myAction)  {
	document.getElementById(divID).innerHTML = " ";
	if(XMLHttpRequestObject) { //a
          var obj = document.getElementById(divID);
          XMLHttpRequestObject.open("POST", fileName);
	  XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
          XMLHttpRequestObject.onreadystatechange = function()
          {
            if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
	    { obj.innerHTML = XMLHttpRequestObject.responseText;
	      toggleWorkAreaEnabled('OFF','techSpinner');
	      //if(closeWindow == 'CLOSE') { hidelayer('popup'); }
	    }
          }
	  try {
	     var tosend = "neededAccountId=" + accountId + "&myAction=" + myAction;
	     XMLHttpRequestObject.send(tosend);
	  } catch (exception1){
	    	document.getElementById(divID).innerHTML =
	  	"<BR><BR><font color=red>Unable to Complete</font><BR><BR>";
		}
	}//a
 } //end getSurvey


 

/*
Auto center window script- Eric King (http://redrival.com/eak/index.shtml)
*/
var win = null;
function NewWindow(mypage,myname,w,h,scroll){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings ='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
	win = window.open(mypage,myname,settings)
}


// will not allow submit if TOO MANY characters or linebreaks
 function CheckCharLimitMAX(divname,charlimit,errorSpan,linelimit) {
    var error = null;
    var linebreaks = 0;
    var newlines = 0;
    var errorbox = " ";
    if(document.getElementById(divname).value.length > charlimit) {
        errorbox = "Your fax is too long. \n" +document.getElementById(divname).value.length+" characters entered \n"+ charlimit +" characters allowed\n";
	error = "Your fax is too long. <br>" +document.getElementById(divname).value.length+" characters entered <br>"+ charlimit +" characters allowed<BR>";
    }

    try{ linebreaks = document.getElementById(divname).value.match(/[^\n]*\n[^\n]*/gi).length;
    }catch(err){ linebreaks = 0; }
    try{ newlines = document.getElementById(divname).value.match(/<br>|<\/br>/gi).length;
    }catch(err){ newlines = 0; }
    var totLines = linebreaks + newlines;
    
    var txtrows = document.getElementById(divname).value.length;
    txtrows = txtrows/80;
    var morerows = totLines + 5 + txtrows ;
    eval ("document.myForm." +divname+ ".rows = morerows;")
    
    if(totLines > linelimit){
    	errorbox = errorbox+ "\nYour fax contains too many linebreaks. \n" +totLines+ " found, " +linelimit+ "allowed.\n";
	error = error+ "<br>Your fax contains too many linebreaks. " +newlines+ " found, " +linelimit+ "allowed.<BR>";
	}
    
    //document.getElementById('textwarning').innerHTML = document.getElementById(divname).value.length+' characters entered ' +linebreaks +' = linebreaks \n' +newlines+ ' = newlines';
        document.getElementById('textwarning').innerHTML = document.getElementById(divname).value.length+' characters entered '
	if(error){  alert(errorbox);
		 document.getElementById(errorSpan).innerHTML = "<BR><font color=red>"+error+"</font>";
		 return false;
		}
	else{ document.getElementById(errorSpan).innerHTML = " "; }
}



function showComments(textField) {
		// GET THE VALUE FROM ONE TEXT FIELD
	var accountNameNeeded 	= eval("document.myForm.accountName.value;");
		//document.getElementById('livehead').innerHTML = "accountNameNeeded=" + accountNameNeeded;
	NewWindow('comments.php?accountNameNeeded=' +accountNameNeeded+ '&popup=YES','comments','920','690','yes')
}	 

	

 
