var capImage;
var strList = "9jHtF67,44yhruhy7,54HGyjF6x,867546thsq,GfrTSd4RT7,ghTHG65uxX,HGT6yHF5,hgyt45r73dq,pothgf468GF,t6er765sd4y,tyri32Ws78";
var arrList = new Array();
arrList = strList.split(",");
var strAns = "095GwP,WE12JL,63ThU,OUy5QA,UY564Y,DSw23P,r7TTfA,D45XP2,098Ewd,A2rUO,hgFtyE";
var arrAns = new Array();
arrAns = strAns.split(",");
var boolFinalSend = false;
function funCap() {
																								eventListAdd('[func]funCap[/]');
	var arrImage = new Array();
	for(var i=0; i<arrList.length; i++){
		arrImage[i] = "/images/ghyr45/" + arrList[i] + ".gif";	
	}
	capImage = Math.floor(Math.random() * i);
	document.getElementById("capImg").innerHTML = "<img src='" + arrImage[capImage] + "'>";
}
function resetBtn() {
																								eventListAdd('[func]resetBtn()[/]');
				document.getElementById('er_name').innerHTML = "";
				document.getElementById('er_namelast').innerHTML = "";
				document.getElementById('er_email').innerHTML = "";
				document.getElementById('er_email2').innerHTML = "";
				document.getElementById('er_password').innerHTML = "";
				document.getElementById('er_password2').innerHTML = "";
				document.getElementById('er_employer').innerHTML = "";
				document.getElementById('er_jobtitle').innerHTML = "";
				document.getElementById('er_city').innerHTML = "";
				document.getElementById('er_state').innerHTML = "";
				document.getElementById('er_workphone').innerHTML = "";
				document.getElementById('jh_name').value = "";
				document.getElementById('jh_namelast').value = "";
				document.getElementById('jh_email').value = "";
				document.getElementById('jh_email2').value = "";
				document.getElementById('jh_password').value = "";
				document.getElementById('jh_password2').value = "";
				document.getElementById('jh_employer').value = "";
				document.getElementById('jh_jobtitle').value = "";
				document.getElementById('jh_city').value = "";
				document.getElementById('jh_state').value = "";
				document.getElementById('jh_workphone').value = "";
}
function optionOther(e,message){
																					eventListAdd('[func]optionOther('+e+','+message+')[/]');

	if(document.getElementById(e).selectedIndex == 11){
		//alert('got here');
		var e_other = e + '_other';
		var pSpan = document.createElement("p");
			pSpan.innerHTML = message+'<br/><input type="text" id="'+e_other+'_extra" name="'+e_other+'_extra" />';
			document.getElementById(e_other).appendChild(pSpan);
	}else{
		var e_other = e + '_other';
		document.getElementById(e_other).innerHTML = '';
	}
	
}
function fieldHide(e){
																						eventListAdd('[func]fieldHide('+e+')[/]');
	if(document.getElementById(e).checked){
		boolUserEmail=true;
		document.getElementById("span_jh_username").innerHTML="";
		document.getElementById("span_jh_username_b").innerHTML="";
	}else{
		boolUserEmail=false;
		var tr_jh_username='<input type="text" id="jh_username" name="jh_username" onblur="ajaxFunction(';
			tr_jh_username = tr_jh_username + "'jh_username'";
			tr_jh_username = tr_jh_username + ')"/><span id="er_username" class="error"></span>'; 
			document.getElementById("span_jh_username_b").innerHTML=tr_jh_username;
			document.getElementById("span_jh_username").innerHTML="User Name"
	}
}
function checkSame(e){
																						eventListAdd('[func]checkSame('+e+')[/]');
																						eventListAdd('document.getElementById(e).value = '+document.getElementById(e).value);
	//console.debug('',e);
	var bool = true;
	if(document.getElementById(e).value != document.getElementById(e+'2').value){ // are id e and id e2 the same
		e = parse(e,'jh_','er_');	// swap prefixes
		document.getElementById(e).innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Not the same!' // display the error
		document.getElementById(e+"2").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Not the same!'
		bool = false;
	}else{
		e = parse(e,'jh_','er_');	// swap prefixes
		document.getElementById(e).innerHTML = ''; // clear the error
		document.getElementById(e+"2").innerHTML = '';
	}
																													eventListAdd('Line 81 : fieldHide('+e+') returns '+bool);																												
	return bool;
																													
}
var isOpera = navigator.userAgent.indexOf("Opera") > -1;  
var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;  
var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;  
 
function textboxSelect (oTextbox, iStart, iEnd) {  
 
   switch(arguments.length) {  
       case 1:  
           oTextbox.select();  
           break;  
 
       case 2:  
           iEnd = oTextbox.value.length;  
           /* falls through */  
             
       case 3:            
           if (isIE) {  
               var oRange = oTextbox.createTextRange();  
               oRange.moveStart("character", iStart);  
               oRange.moveEnd("character", -oTextbox.value.length + iEnd);        
               oRange.select();                                                
           } else if (isMoz){  
               oTextbox.setSelectionRange(iStart, iEnd);  
           }                      
   }  
 
   oTextbox.focus();  
}  
 
function textboxReplaceSelect (oTextbox, sText) {  
 
   if (isIE) {  
       var oRange = document.selection.createRange();  
       oRange.text = sText;  
       oRange.collapse(true);  
       oRange.select();                                  
   } else if (isMoz) {  
       var iStart = oTextbox.selectionStart;  
       oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length);  
       oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length);  
   }  
 
   oTextbox.focus();  
}  
 
function autocompleteMatch (sText, arrValues) {  
 
   for (var i=0; i < arrValues.length; i++) {  
       if (arrValues[i].indexOf(sText) == 0) {  
           return arrValues[i];  
       }  
   }  
 
   return null;  
 
}  
 
function autocomplete(oTextbox, oEvent, arrValues,v) { 
 switch(v){
	 case 'state':arrValues = arrV;break;
 }
 
   switch (oEvent.keyCode) {  
       case 38: //up arrow    
       case 40: //down arrow  
       case 37: //left arrow  
       case 39: //right arrow  
       case 33: //page up    
       case 34: //page down    
       case 36: //home    
       case 35: //end                    
       case 13: //enter    
       case 9: //tab    
       case 27: //esc    
       case 16: //shift    
       case 17: //ctrl    
       case 18: //alt    
       case 20: //caps lock  
       case 8: //backspace    
       case 46: //delete  
           return true;  
           break;  
 
       default:  
           textboxReplaceSelect(oTextbox, String.fromCharCode(isIE ? oEvent.keyCode : oEvent.charCode));  
           var iLen = oTextbox.value.length;  
 
           var sMatch = autocompleteMatch(oTextbox.value, arrValues);  
 
           if (sMatch != null) {  
               oTextbox.value = sMatch;  
               textboxSelect(oTextbox, iLen, oTextbox.value.length);  
           }    
             
           return false;  
   }  
} 
var arrV = ["alabama","alaska","arizona","arkansas","california","colorado","connecticut","delaware","florida","georgia","hawaii","idaho","illinois","indiana","iowa","kansas","kentucky","louisiana","maine","maryland","massachusetts","michigan","minnesota","mississippi","missouri","montana","nebraska","nevada","new hampshire","new jersey","new mexico","new york","north carolina","north dakota","ohio","oklahoma","oregon","pennsylvania","rhode island","south carolina","south dakota","tennessee","texas","utah","vermont","virginia","washington","west virginia","wisconsin","wyoming"];
   		 
var arrValues = ''; 
function getEntryList(v,e){
	var list = '';
	switch(v){
		case 'state': entryList = 'Alabama,Alaska,Arizona,Arkansas,California,Colorado,Connecticut,Delaware,Florida,Georgia,Hawaii,Idaho,Illinois,Indiana,Iowa,Kansas,Kentucky,Louisiana,Maine,Maryland,Massachusetts,Michigan,Minnesota,Mississippi,Missouri,Montana,Nebraska,Nevada,New Hampshire,New Jersey,New Mexico,New York,North Carolina,North Dakota,Ohio,Oklahoma,Oregon,Pennsylvania,Rhode Island,South Carolina,South Dakota,Tennessee,Texas,Utah,Vermont,Virginia,Washington,West Virginia,Wisconsin,Wyoming';	
		entryList = entryList.toLowerCase();
		break;
	}
	var str = document.getElementById(e).value;
	if(str.length>1){
		var arEntryList = entryList.split(',');
		for(var i=0; i<arEntryList.length; i++){
			if(str == arEntryList[i].substr(0,str.length)){
				document.getElementById(e).value = arEntryList[i];
			}
		}
	}
}
// Error Handlers

/* These function(s) handles content errors
	Missing files
	bad links 
	etc...
*/
function eventListAdd(eve){ // Event Log sent to event_list.php
	ev++;
	eve = 'edu_form - ' + eve;
	var br_info = BrowserDetect.browser+' '+BrowserDetect.version+' '+BrowserDetect.OS;
	eventList = eventList + '&ev'+ev+'='+eve+'&date'+ev+'='+now.format("m/dd/yy")+'&time'+ev+'='+now.format("h")+'&ampm'+ev+'='+now.format("TT")+'&zone'+ev+'='+now.format("Z")+'&br_info'+ev+'='+br_info+'&datetime'+ev+'='+now;
	//console.debug('eventList',eventList);
	//eventList = parse(eventList,'.js','');
	if(eventList.length > 500 || boolFinalSend==true){addScript(eventListUrl+eventList+'&evnumber='+ev);ev=0;}
}
function addScript(jsonUrl)
   
      {
			var obj=new JSONscriptRequest(jsonUrl); 
   
        obj.buildScriptTag(); // Build the script tag     
   
        obj.addScriptTag(); // Execute (add) the script tag
  		//if(boolDebug){console.debug("addScript",null);}
		//document.getElementById("output").innerHTML = 'got here';
		
		eventList = ''; // empty eventlist to minimize string size
} 
function error(e,s){
	var er_message = '';
	var open_html = '<div id="errMessage"><table><tr><td><input type="button" value="OK" onclick="out(errMessage)" /></td><td>';
	var close_html = '</td><td><img src="/media/com_ambra/images/required_16.png"></td></tr></table></div>';
	switch(e){
		case 0001:
			er_message = 'Timeout Error - Error loading image or image does not exist<br />Error trx001';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 0002:
			er_message = s + '<br />Error trx002';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 0003:
			er_message = s + '<br />Error trx000'; // null or empty string
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 404:
			er_message = 'File Not Found Error - Error loading file or file does not exist<br />Error 404';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 408:
			er_message='Request TimeOut - Error loading file or file does not exist<br />Error 408';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 500:
			er_message='Internal Server Error or Script Error<br />Error 500';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 501:
			er_message='Request Unsupported - A requested feature not suported by this server<br />Error 501';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 502:
			er_message = 'Overload Error - Server congestion overload; Keep trying untill the page loads<br />Error 502';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
		case 503:
			er_message = 'Service Unavailable or Page has been moved<br />Error 503';
			document.getElementById('msgBox').innerHTML = open_html + er_message + close_html;
			eventListAdd('[er] Catch Error : '+er_message+'[/]');
			break;
	}
		
}
function errorCheck(bool) {
	eventListAdd('[func] errorCheck('+bool+')[/]');
	var boolError = false;
	if(bool){
		if(document.getElementById("tr_jh_username").checked==false){
			if(document.getElementById("jh_username").value==""){
				boolError=true;document.getElementById("er_username").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
			}else{
				document.getElementById("er_username").innerHTML = "";
			}
		}
		if(document.getElementById("jh_emailusername").checked==false){if(ajaxFunction('jh_username')){boolError=true;}}
		if(ajaxFunction('jh_email')){boolError=true;}
		if(ajaxFunction('jh_email2')){boolError=true;}
		if(!checkSame('jh_password')){boolError=true;}
		if(!checkSame('jh_email')){boolError=true;}
		if(document.getElementById("jh_name").value==""){
			boolError=true;document.getElementById("er_name").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_name").innerHTML = "";
		}
		if(document.getElementById("jh_namelast").value==""){
			boolError=true;document.getElementById("er_namelast").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_namelast").innerHTML = "";
		}
		if(document.getElementById("jh_email").value==""){
			boolError=true;document.getElementById("er_email").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_email").innerHTML = "";
			var strCheck = document.getElementById("jh_email").value;
			if(strCheck.indexOf("@") < 1){
				boolError=true;document.getElementById("er_email").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Invalid Email';
			}
		}
		if(document.getElementById("jh_email2").value==""){
			boolError=true;document.getElementById("er_email2").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_email2").innerHTML = "";
			var strCheck = document.getElementById("jh_email").value;
			if(strCheck.indexOf("@") < 1){
				boolError=true;document.getElementById("er_email2").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Invalid Email';
			}
		}
		if(document.getElementById("jh_password").value==""){
			boolError=true;document.getElementById("er_password").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_password").innerHTML = "";
		}
		if(document.getElementById("jh_password2").value==""){
			boolError=true;document.getElementById("er_password2").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_password2").innerHTML = "";
		}
		if(document.getElementById("jh_employer").value==""){
			boolError=true;document.getElementById("er_employer").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_employer").innerHTML = "";
		}
		if(document.getElementById("jh_jobtitle").value==""){
			boolError=true;document.getElementById("er_jobtitle").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_jobtitle").innerHTML = "";
		}
		if(document.getElementById("jh_city").value==""){
			boolError=true;document.getElementById("er_city").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_city").innerHTML = "";
		}
		if(document.getElementById("jh_state").value==""){
			boolError=true;document.getElementById("er_state").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_state").innerHTML = "";
		}
		if(document.getElementById("jh_workphone").value==""){
			boolError=true;document.getElementById("er_workphone").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
		}else{
			document.getElementById("er_workphone").innerHTML = "";
		}
		if(document.getElementById("jh_referer").selectedIndex==0){
			if(document.getElementById("jh_referer_other_extra")==undefined){
				boolError=true;document.getElementById("er_referer").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
			}else{
				if(document.getElementById("jh_referer_other_extra").value==""){
					boolError=true;document.getElementById("er_referer").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
				}else{
					document.getElementById("er_referer").innerHTML = "";
				}
				
			}
		}else{
			if(document.getElementById("jh_referer").selectedIndex==11){
				if(document.getElementById("jh_referer_other_extra").value==""){
					boolError=true;document.getElementById("er_referer").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Required';
				}else{
					document.getElementById("er_referer").innerHTML = "";
				}
					boolReferer = false;
				}else{
					boolReferer = true;}
		}
	}
	if(document.getElementById("jh_captcha").value!=arrAns[capImage]){boolError=true;document.getElementById("er_cap").innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> Answer Incorrect';}else{document.getElementById("er_cap").innerHTML = "";}
	if(boolError==false){
		ajaxFunction('jh_response');
	}
	eventListAdd('[func] errorCheck('+bool+') boolError = '+boolError+'[/]');
}
/* End Error Handlers @@@@@@@@@@@@ */

function out(e){
	eventListAdd('[func] out('+e+')[/]');
	document.getElementById(e).style.visibility = "hidden";
}
function parse(s,a,b){
	eventListAdd('[func] parse('+s+','+a+','+b+')[/]');
																											
	while (s.indexOf(a) > -1)
	{
		s = s.replace(a,b);
	}
	return s;				
}
function check_xmlhttpResponse(s){
	eventListAdd('[func] check_xmlhttpResponse('+s+')[/]');
	var r=0;
	if(s.indexOf('checkUser')>-1){s = parse(s,'checkUser=','');if(s=='true'){r = 1;}else{r=2;}}
	if(s.indexOf('addJoomlaUserProfileInformation')>-1){s = parse(s,'addJoomlaUserProfileInformation=','');if(s='true'){}else{r=3;}}
	if(s.indexOf('boolNullError')>-1){s = parse(s,'boolNullError=','');if(s=='true'){r = 5;}}
	eventListAdd('check_xmlhttpResponse return = '+r);
	return r;
}
function ajaxFunction(e){
	eventListAdd('[func] ajaxFunction('+e+')[/]');
	var bool = false;
	var xmlhttp;
	if (window.XMLHttpRequest)
	  {
	  	// code for IE7+, Firefox, Chrome, Opera, Safari
	  	xmlhttp=new XMLHttpRequest();
	  }else{
	  	// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	{
	if(xmlhttp.readyState==4)
	{
		  if(xmlhttp.status==200){
	  			var outStr = xmlhttp.responseText; 
				//console.debug('',outStr);
				
				switch(check_xmlhttpResponse(outStr)){
					case 1:
						e = parse(e,'jh_','er_');	// swap prefixes
						document.getElementById(e).innerHTML = '<img src="/media/com_ambra/images/required_16.png" alt="required" /> user name or email already exists!';
						bool = true;
						break;
					case 2:
						e = parse(e,'jh_','er_');	// swap prefixes
						document.getElementById(e).innerHTML = '';
						bool = false;
						break;
					case 3:
						error(0002,outStr);
						bool=true;
						break;
					case 5:
						error(0003,'Empty or Null string GET register_user.php');
				default:
				boolFinalSend=true;
				eventListAdd('[s] register_user response '+outStr+'[/]');
	  				document.getElementById(e).innerHTML = "";
					var pSpan = document.createElement("span");
					pSpan.innerHTML = outStr;
					document.getElementById(e).appendChild(pSpan);
					
				}
				
			}else{
				error(xmlhttp.status,'');
			}
		}
	}
	switch(e){
		case 'jh_email':var url="http://www.myedutrax.com/register_user.php?checkUser=" + document.getElementById("jh_email").value + '&boolUserEmail=true';break;
		case 'jh_email2':var url="http://www.myedutrax.com/register_user.php?checkUser=" + document.getElementById("jh_email2").value + '&boolUserEmail=true';break;
		case 'jh_username':
			var url="http://www.myedutrax.com/register_user.php?checkUser=" + document.getElementById("jh_username").value + '&boolUserEmail=false';break;
		
		default:
			var url="http://www.myedutrax.com/register_user.php?reg=";
			if(boolUserEmail==false){
				url = url + '|username=' + document.getElementById("jh_username").value + '|boolUserEmail=false';
				url = url + '|email=' + document.getElementById("jh_email").value;
				url = url + '|email2=' + document.getElementById("jh_email2").value;
			}else{
				url = url + '|email=' + document.getElementById("jh_email").value + '|boolUserEmail=true';
				url = url + '|email2=' + document.getElementById("jh_email2").value;
			}
			url = url + '|name=' + document.getElementById("jh_name").value;
			url = url + '|namelast=' + document.getElementById("jh_namelast").value;
			url = url + '|password=' + document.getElementById("jh_password").value;
			url = url + '|password2=' + document.getElementById("jh_password2").value;
			url = url + '|employer=' + document.getElementById("jh_employer").value;
			url = url + '|jobtitle=' + document.getElementById("jh_jobtitle").value;
			url = url + '|city=' + document.getElementById("jh_city").value;
			url = url + '|state=' + document.getElementById("jh_state").value;
			url = url + '|phone=' + document.getElementById("jh_workphone").value;
			if(boolReferer){
				url = url + '|referer=' + document.getElementById("jh_referer").value;
				
			}else{
				url = url + '|referer=' + document.getElementById("jh_referer_other_extra").value;
			}
			boolFinalSend=true;
			eventListAdd('[s]URL = '+url+'[/]');
	}
	/*
	for(var i=0; i<inputArray.length; i++){
	
		
		if(inputArray[i].name != ""){
			url = url + '|' + inputArray[i].name + '=' + document.getElementById(inputArray[i].name).value;
			console.debug('',inputArray[i].name);
		}
	}
		*/
		//console.debug('URL',url);
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	return bool;
}

//


