// Function for controlling what happens when an ENTER key is pressed, disable submit and act like action icon hit
/* part 2 */
/**
 *=-------------------------------------------------------=
 * getNewHTTPObject
 *=-------------------------------------------------------=
 * This function is here just to create a new
 * XmlHttpRequest object.
 */
function getNewHTTPObject()
{
    var xmlhttp;

    /** Special IE only code ... */
    /*@cc_on
      @if (@_jscript_version >= 5)
          try
          {
              xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
              try
              {
                  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
              }
              catch (E)
              {
                  xmlhttp = false;
              }
         }
      @else
         xmlhttp = false;
    @end @*/

    /** Every other browser on the planet */
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
    {
        try
        {
            xmlhttp = new XMLHttpRequest();
        }
        catch (e)
        {
            xmlhttp = false;
        }
    }

    return xmlhttp;
}

/**
 *=-------------------------------------------------------=
 * onLoadFunction
 *=-------------------------------------------------------=
 * We call this function when the page loads, and it starts
 * two asynchronous Ajax requests to race2.php.
 */
var xmlGetReferrer;
var xmlSaveVisitStats;


//==============================================================================================================================================================
/*
function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}
*/

//==============================================================================================================================================================
function onLoadFunction()                  
{
	loadFormFields;
}

//=============================================================================================================================================================

function loadFormFields() {
	// save log record with referrer data for this visit
	
	var tmp_referrer = document.getElementById('twr_http_referrer').value;
	if (tmp_referrer='') tmp_referrer = document.referrer;
	
	//alert('Saving Visit Stats ... Will happen in BR referrer'+tmp_referrer);

    xmlSaveVisitStats = getNewHTTPObject();

	var submitParams = "fc=S"  +
	"&twr_http_referrer=" +  tmp_referrer  +
	"&twr_time_stamp=" + encodeURIComponent(document.getElementById('twr_time_stamp').value ) +
	"&twr_member_id=" + encodeURIComponent( document.getElementById('twr_member_id').value ) +
	"&twr_member_key=" + encodeURIComponent( document.getElementById('twr_member_key').value ) +
	"&twr_domain_name=" + encodeURIComponent( document.getElementById('twr_domain_name').value ) +
	"&twr_domain_ip=" + encodeURIComponent( document.getElementById('twr_domain_ip').value ) +
	"&twr_session_id=" + encodeURIComponent( document.getElementById('twr_session_id').value ) +
	"&twr_ip_address=" + encodeURIComponent(document.getElementById('twr_ip_address').value ) +
	"&twr_remote_host=" + encodeURIComponent(document.getElementById('twr_remote_host').value ) +
	"&twr_remote_port=" + encodeURIComponent( document.getElementById('twr_remote_port').value ) +
	"&twr_request_uri=" + encodeURIComponent( document.getElementById('twr_request_uri').value ) +
	"&twr_php_self=" + encodeURIComponent( document.getElementById('twr_php_self').value ) +
	"&twr_server_name=" + encodeURIComponent( document.getElementById('twr_server_name').value ) +
	"&twr_server_protocol=" + encodeURIComponent( document.getElementById('twr_server_protocol').value ) +
	"&twr_request_method=" + encodeURIComponent( document.getElementById('twr_request_method').value ) +
	"&twr_request_time=" + encodeURIComponent( document.getElementById('twr_request_time').value ) +
	"&twr_query_string=" + encodeURIComponent( document.getElementById('twr_query_string').value ) +
	"&twr_http_charset=" + encodeURIComponent( document.getElementById('twr_http_charset').value ) +
	"&twr_http_encoding=" + encodeURIComponent( document.getElementById('twr_http_encoding').value ) +
	"&twr_http_connection=" + encodeURIComponent( document.getElementById('twr_http_connection').value ) +
	"&twr_http_user_agent=" + encodeURIComponent( document.getElementById('twr_http_user_agent').value ) +
	"&twr_orig_path_info=" + encodeURIComponent( document.getElementById('twr_orig_path_info').value ) +
	"&twr_script_name=" + encodeURIComponent( document.getElementById('twr_script_name').value ) +
	"&twr_script_filename=" + encodeURIComponent( document.getElementById('twr_script_filename').value ) +
	"&twr_campaign_name=" + encodeURIComponent( document.getElementById('twr_campaign_name').value ) +
	"&twr_ad_tracking_code=" + encodeURIComponent( document.getElementById('twr_ad_tracking_code').value ) +
	"&twr_campaign_code=" + encodeURIComponent( document.getElementById('twr_campaign_code').value ) +
	"&twr_keywordgroup=" + encodeURIComponent( document.getElementById('twr_keywordgroup').value ) +
	"&twr_exactkeyword=" + encodeURIComponent( document.getElementById('twr_exactkeyword').value ) +
	"&doc_referrer=" + document.referrer +
	"&Update=" + encodeURIComponent( document.getElementById('Submit').value ) +
	"&Submit=" + encodeURIComponent( document.getElementById('Submit').value );
	//alert(submitParams);
 	//alert('referring document.referrer = '+document.referrer);
	
	//alert('Have the Data ready to go:'+submitParams);
	
	xmlSaveVisitStats.open("POST","scripts/log_stats_relay.php",true);
	xmlSaveVisitStats.onreadystatechange = handleloadFormFields;
	xmlSaveVisitStats.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	xmlSaveVisitStats.setRequestHeader("Content-length", submitParams.length);  
	xmlSaveVisitStats.setRequestHeader("Connection", "close");  
	xmlSaveVisitStats.send(submitParams); 
	
	
}
function handleloadFormFields()
{
    if (xmlSaveVisitStats.readyState == 4 && xmlSaveVisitStats.status==200)
    {
		var formReferrerData = document.getElementById('twr_get_stats_form_form_label');
		//var formResponseResult = xmlSaveVisitStats.responseXML.getElementsByTagName('result')[0].firstChild.data;
		//var formResponseHTML1 = xmlGetReferrer.responseXML.getElementsByTagName('html_code_1')[0].firstChild.data;

		//formReferrerData.innerHTML = formResponseHTML1;

		//formReferrerData.style.visibility = "visible";
		//formReferrerData.style.display = "none";
		//alert('STATS SAVED:');
    }

//==============================================================================================================================================================
}
//==============================================================================================================================================================
function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	
	if (keycode == 13)
	   {
	   //myfield.form.submit();
	   //var fieldValue = document.getElementById('myfield');
	   var fieldValue = myfield.form.value;
	   addTargetMarket(fieldValue);
	   return false;
	   }
	else
	   return true;
	
}
//==============================================================================================================================================================

//==============================================================================================================================================================

function OpenSection(ContentRegion) {
//	document.getElementById(CloseHeaderName).style.display = "block";
// 	document.getElementById(OpenHeaderName).style.display = "none";
 	document.getElementById(ContentRegion).style.display = "block";

}

function CloseSection(ContentRegion) {
 //	document.getElementById(CloseHeaderName).style.display = "none";
//	document.getElementById(OpenHeaderName).style.display = "block";
 	document.getElementById(ContentRegion).style.display = "none";

}
//==============================================================================================================================================================
//==============================================================================================================================================================

//
// Functions to display specific data in fields (the div is where the HTML data goes, the html data, the div region to turn ON
function AjaxLoaderON() {
	//document.getElementById('ajax_loader').innerHTML=thisContent;		
 	document.getElementById('ajax_loader').style.display = "block";
}

function AjaxLoaderOFF() {
	//document.getElementById('ajax_loader').innerHTML=thisContent;		
 	document.getElementById('ajax_loader').style.display = "none";	
}
//==============================================================================================================================================================

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//==============================================================================================================================================================
//==============================================================================================================================================================
function verify(f) {
	var msg = "";
    var empty_fields = "";
    var errors = "";
    var browserok;
	var telnoRegxp = /^([0-9]{10})$/;
	var checker = "";
	var pstemail1 = "";
	var pstemail2 = "";
	var pstbadphone = "FALSE";	
	var pstTermsCheck = "PASS";						// AGREE TO OUR TERMS CHECK BOX
	var pstGenderCheck = "PASS";					// GENDER RADIO GROUP 
	var pstCheckBoxCheck = "PASS";					// GENERIC CHECK BOX TEST - MAKE SURE AT LEAST ONE CLICKED
	var pstWorkString = new String ("empty");		// USED FOR STRING FUNCTIONS
	var pstCheckBoxVar = ""; 						// USED TO LABEL CHECKBOXES 

    browseok = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3))
	        || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>=3)));

	
	
	if(browseok) { 
   	    for ( var i = 0; i < f.length; i++ ) {
        	var e = f.elements[i];
			
	        if ( ( ( e.name == "email" ) || ( e.name == "from" ) || ( e.name == "FROM" )) || 
				 ( ( e.name == "fname" ) || ( e.name == "name" ) || ( e.name == "firstname" ) || ( e.name == "custom firstname" ) ) ||
				 ( ( e.name == "custom lastnam" )  || ( e.name == "custom_lastnam" ) || ( e.id == "custom_lastnam" ) || ( e.name == "lastname" ) ) || 
				 ( ( e.name == "custom phone1" )  || ( e.name == "custom_phone1" ) || ( e.id == "custom_phone1" )  || ( e.name == "phone1" ) ) || 
				 ( ( e.name == "custom phone2" )  || ( e.name == "custom_phone2" )  || ( e.id == "custom_phone2" ) || ( e.name == "phone2" ) ) || 
				 ( ( e.name == "custom timezone" )  || ( e.name == "custom_timezone" ) || ( e.id == "custom_timezone" ) ) ||
				 ( ( e.name == "custom timetocall" )  || ( e.name == "custom_timetocall" ) || ( e.id == "custom_timetocall" ) ) 
				) {

				// CHECK ALL ELEMENTS FOR EMPTY
				if ( ( e.value == null ) || ( e.value == "" ) || isblank( e.value ) ) {
					// FIX FOR DAN'S AT DSG PAGES CHECK FOR ELEMENT NAME EXISTS
					// THERE Are APPARENTLY SOME DOC ELEMENTS WITH ALL PROPS = NULL
					if ( ( e.name )) {
						empty_fields += "\n        " + e.name;
					}
					continue;
				}	
	
				//if (e.name == "fname") {
				if ( ( e.name == "fname" ) || ( e.name == "name" ) || ( e.name == "firstname" ) || ( e.name == "custom firstname" ) ) {
					checker = checkName(e.value);
					if (checker != "OK") {
						errors += "\n" +checker;
					}
				}
	
				if ( ( e.name == "custom lastnam" )  || ( e.name == "custom_lastnam" ) || ( e.id == "custom_lastnam" ) || ( e.name == "lastname" ) ) {
				//if (e.name == "lname") {
					checker = checkName(e.value);
					if (checker != "OK") {
						errors += "\n" + checker;
					}
				}
	
				// CHECK FOR AGREEMENT CHECKBOX OF TERMS
				if (e.name == "termson") {			// HIDDEN VAR TO TELL US CHECKBOX IS ON 
					pstTermsCheck = "FAIL";			// MUST BE IN TOP OF WEBPAGE SO THIS GETS SET FIRST
				}
	
				if (e.name == "termscheck") {		// ACTUAL CHECK BOX EXISTS SO ITS CHECKED
						if (e.checked) {
							pstTermsCheck = "PASS";
						}
				}
				
				// CHECK FOR GENDER RADIO BUTTON
				if (e.name == "genderon") {			// HIDDEN VAR TO TELL US GENDER RADIO GROUP IS ON 
					pstGenderCheck = "FAIL";		// MUST BE IN TOP OF WEBPAGE SO THIS GETS SET FIRST
				}
	
				if (e.name == "gender") {		// RADIO BUTTON SO TEST IT
					if (e.value == "MALE" && e.checked == true) {  
						pstGenderCheck = "PASS";
					}
					if (e.value == "FEMALE" && e.checked == true) {
						pstGenderCheck = "PASS";
					}
				}
	
				// CHECK FOR GENERIC CHECKBOXs IF FORM NEEDS US TOO
				if (e.name == "checkboxon") {		// HIDDEN VAR TO TELL US CHECKBOX IS ON 
					pstCheckBoxCheck = "FAIL";		// MUST BE IN TOP OF WEBPAGE SO THIS GETS SET FIRST
					pstCheckBoxVar = e.value;
				}
				pstWorkString = e.name;							// STRIP OUT LEFTMOST 2 CHARS FOR CHECKING
				pstWorkString = pstWorkString.substring(0,2);	// THERE ARE USSUALLY MULTIPLE CHECKBOXES
				if (pstWorkString = "cb") {						// ACTUAL CHECK BOX EXISTS SO IT PASSES
						if (e.checked) {						// THESE CHECKBOXES ARE cb1, cb2, cb3 etc...
							pstCheckBoxCheck = "PASS";
						}
				}
	
				if ( ( e.name == "email" ) || ( e.name == "from" ) || ( e.name == "FROM" ) ) {
				//if (e.name == "email") {			// WHEN EMAIL (NOT EMAIL1) WE HAVE ONLY ONE EMAIL ADDRESS
					pstemail1 = e.value;			// IF WE GOT ONLY ONE EMAIL ADDRES 
					pstemail2 = e.value;			// LOAD INTO PSTEMAIL2 FOR MATCH CHECKING
					checker = checkEmail(e.value);
					if (checker != "OK") {
						errors += "\n" + checker;
					}
				}
	
				if (e.name == "email1") {
					pstemail1 = e.value;
					checker = checkEmail(e.value);
					if (checker != "OK") {
						errors += "\n" + checker;
					}
				}
	
				if (e.name == "email2") {
					pstemail2 = e.value;
					checker = checkEmail(e.value);
					if (checker != "OK") {
						errors += "\n" + checker;
					}
				}
	
				if ( ( e.name == "custom phone1" )  || ( e.name == "custom_phone1" ) || ( e.id == "custom_phone1" )  || ( e.name == "phone1" ) ) {
					checker = checkPhone(e.value);
					if (checker != "OK") {
						pstbadphone="TRUE";
					}
				}
				
				if ( ( e.name == "custom phone2" )  || ( e.name == "custom_phone2" )  || ( e.id == "custom_phone2" ) || ( e.name == "phone2" ) ) {
					checker = checkPhone(e.value);
					if (checker != "OK") {
						pstbadphone="TRUE";
					}
				}

				// for 3 piece phone numbers
				if ((e.name == "phone1a") || (e.name == "phone2a")) {
					checker = checkAreaCode(e.value);
					if (checker != "OK") {
						pstbadphone="TRUE";
					}
				}
	
				if ((e.name == "phone1b") || (e.name == "phone2b")) {
					checker = checkPrefix(e.value);
					if (checker != "OK") {
						pstbadphone="TRUE";
					}
				}
	
				if ((e.name == "phone1c") || (e.name == "phone2c")) {
					checker = checkExchange(e.value);
					if (checker != "OK") {
						pstbadphone="TRUE";
					}
				}
			} // if filed is in check list
 }

	if (pstemail1 != pstemail2) {
		errors += "\n" + "e-mails do not match.";
	}		 	

	if (pstbadphone == 'TRUE') {
		errors += "\n" + "Please enter valid Phone Numbers.";
	}		 	

	if (pstTermsCheck == "FAIL") {
		errors += "\n" + "Please agree to our terms by clicking the check box.";
	}

	if (pstGenderCheck == "FAIL") {
		errors += "\n" + "Please select your gender.";
	}
	
	if (pstCheckBoxCheck == "FAIL") {
		errors += "\n" + "Please select a " + pstCheckBoxVar +" checkbox.";
	}

	if ( (!empty_fields) && (!errors) ) return true;

	msg = "_________________________________________________\n\n"
    msg += " The form was not submitted due to the following error(s).\n";
	msg += " Please correct these error(s) and re-submit.\n";
    msg += "_________________________________________________\n\n"

    if ( empty_fields ) {
		msg += "The field(s) listed below are required." + empty_fields + "\n";
		if ( errors ) msg += "\n";
    }

    msg += errors;
	alert(msg);
    return false;
}
	return true;  // if version ie3 or net3 or lower it does not check and returns true.
}
//==============================================================================================================================================================
//
function checkName(s) {
	if (! isAlpha(s) ) {
	    return "Only letters in names.";
	}		
	if (s.length < 3) {
	    return "Names must be three or more characters.";
	}
	return "OK";	
}
//==============================================================================================================================================================

function checkEmail(s) {
	var objRegExp  = /^\w+([\-\.]\w+)*\@\w+([\-\.]\w+)*\.[a-z]{2,3}$/i;
	if (! objRegExp.test(s) ) {
		return "Please enter a valid e-mail address.";
	}
	return "OK";
}
//==============================================================================================================================================================

function isblank(s) {
	for ( var i = 0; i < s.length; i++ ) {
		var c = s.charAt(i);
        if ( ( c != ' ' ) && ( c != '\n' ) && ( c != '\t' ) ) {
				return false;
		}
    }
    return true;
}
//==============================================================================================================================================================

function isAlpha(s) {
	if (s.value == "") {
    	return false;
    }
    for (var i = 0; i < s.length; i++) {
  		if ((s.charAt(i) < "a" || s.charAt(i) > "z") && (s.charAt(i) < "A" || s.charAt(i) > "Z")) {
               return false;
        }
    }
    return true;
 }
//==============================================================================================================================================================

function checkAreaCode(s) {
	var stripped = s.replace(/[\(\)\.\-\ ]/g, '');  //strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
		return "Please enter a valid phone number.";
	}
	if (!(stripped.length == 3) ) {
		return "Please enter a valid phone number.";
	}
	if ( (s =="999") || (s =="555") || (s == "000") ) {	
		return "Please enter a valid phone number.";
	}
    return "OK";
}
//==============================================================================================================================================================

function checkPrefix(s) {
	var stripped = s.replace(/[\(\)\.\-\ ]/g, '');  //strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
		return "Please enter a valid phone number.";
	}
	if (!(stripped.length == 3) ) {
		return "Please enter a valid phone number.";
	}
	if ( (s =="999") || (s =="555") || (s == "000") ) {	
		return "Please enter a valid phone number.";
	}
    return "OK";
}
//==============================================================================================================================================================

function checkExchange(s) {
	var stripped = s.replace(/[\(\)\.\-\ ]/g, '');  //strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
		return "Please enter a valid phone number.";
	}
	if (!(stripped.length == 4) ) {
		return "Please enter a valid phone number.";
	}
	if ( (s =="9999") || (s =="5555") || (s == "0000") ) {	
		return "Please enter a valid phone number.";
	}
    return "OK";
}
//==============================================================================================================================================================

function checkPhone(s)
    {
	var stripped = s.replace(/[\(\)\.\-\ ]/g, '');  //strip out acceptable non-numeric characters
	var areacode1 = "";
	var prefix1 = "";
	var checker2 = "";

	if (isNaN(parseInt(stripped))) {
		return "Please enter a valid phone number.";
	}
	//Then we count the length of the number. It should have exactly ten digits - any more or less, and we reject it.
	if (!(stripped.length == 10)) {
		return "Please enter a valid phone number.";
	}

	//Now check for 555 999 in area code 
    for ( var pcounter = 0; pcounter < 3; pcounter++ ) {
		areacode1 += s.charAt(pcounter);
	}
	
	checker2 = checkAreaCode(areacode1);
	if (checker2 != "OK") {
		return "Please enter a valid phone number.";
	}

	//Now check for 555 999 in prefix
    for ( pcounter = 3; pcounter < 6; pcounter++ ) {
		prefix1 += stripped.charAt(pcounter);
	}
	
	checker2 = checkPrefix(prefix1);
	if (checker2 != "OK") {
		return "Please enter a valid phone number.";
	}

	return "OK";
}




