// blah

var req;
var e_comp;

function loadXMLDoc(url, call_back) {
    // branch for native XMLHttpRequest object
	try
  {  // Firefox, Opera 8.0+, Safari  
  req=new XMLHttpRequest();  }

catch (e)
  {  // Internet Explorer  
  try
    {    req=new ActiveXObject("Msxml2.XMLHTTP");    }
  catch (e)
    {    try
      {      req=new ActiveXObject("Microsoft.XMLHTTP");      }
    catch (e)
      {      alert("Your browser does not support AJAX!");      
	  		 return false;      }    }  }
     if (req) {
        req.onreadystatechange = call_back;
        req.open("GET", url, true);
        req.send(null);
    
        }
		  
    
}

function check_password () {
	var pword = document.getElementById( "pword").value;
	var pword_conf = document.getElementById( "pword_conf").value;
	var pword_msg = document.getElementById( "pword_msg");
	
	var e = "";
	
	if ( ! pword ) {
		e = "Password cannot be blank";
	} else { 
		if ( pword.length < 5 ) {
			e = "Password is too short";
		} else if (pword_conf && pword != pword_conf ) {
			e = "Passwords have to match.";
		}
	}
	
	if ( e ) {
		pword_msg.innerHTML = '<div class="msg-box"><b>' + e + '</b><br></div>';
	} else {
		pword_msg.innerHTML = '';
	}
}

function check_password_conf () {
	var pword = document.getElementById( "pword").value;
	var pword_conf = document.getElementById( "pword_conf").value;
	var pword_msg = document.getElementById( "pword_msg");
	
	var e = "";
	
	if ( ! pword_conf ) {
		if ( ! pword ) {
			e = "Password and Confirm password cannot be blank";
		} else {
			e = "Confirm password cannot be blank";
		}
	}
	
	if ( pword && pword_conf ) {
		if ( pword.length < 5 ) {
			e = "Password is too short";
		} else if ( pword != pword_conf ) {
			e = "Passwords have to match.";
		}
	}
	
	if ( e ) {
		pword_msg.innerHTML = '<div class="msg-box"><b>' + e + '</b><br></div>';
	} else {
		pword_msg.innerHTML = '';
	}
}

function comp_onchange (f) {
	var e_val = f.value;
	var msg_d = document.getElementById ( f.name + "_msg");
	
	if ( ! e_val ) {
		msg_d.innerHTML = '<div class="msg-box"><b>Above field cannot be empty.</b><br></div>';
	} else {
		msg_d.innerHTML = "";
	}
}



function email_onchange (f) {
	e_comp = f;
	
	var e_val = f.value;
	
	if ( e_val ) {
		//alert ("check_email.me?email=" + e_val);
		//loadXMLDoc ("check_email.me?email=" + e_val, processReqChange_email);
		loadXMLDoc ("check_email.me?email=" + e_val, email_mesg_ie);
	}
}

function username_onchange (f) {
	e_comp = f;
	
	var e_val = f.value;
	
	if ( e_val ) {
		//alert ("check_uname.me?name=" + e_val);
		
		loadXMLDoc ("check_uname.me?name=" + e_val, uname_mesg_ie);
		//loadXMLDoc ("check_uname.me?name=" + e_val, processReqChange_uname);
	} else {
		var msg_d = document.getElementById ( f.name + "_msg");
		msg_d.innerHTML = '<div class="msg-box"><b>Username cannot be empty.</b><br></div>';
	}
}


function processReqChange_email() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			var s = req.responseXML.getElementsByTagName("status")[0];
			var s_txt = s.firstChild.nodeValue;
			
			var msg_d = document.getElementById ( e_comp.name + "_msg");
			//document.getElementById
			
			if ( s_txt == 'bad' ) { 
				var msg = req.responseXML.getElementsByTagName("msg")[0];

				var msg_txt;

				if (msg.textContent) {
					msg_txt = msg.textContent;
				} else {
					msg_txt = msg.innerText;
				}
				
				msg_d.innerHTML = msg_txt;
			} else {
				msg_d.innerHTML = "";
			}
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}

function uname_mesg_ie() {
	var msg_d = document.getElementById ( e_comp.name + "_msg");
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			var s = req.responseText;
			if (s.indexOf('User name taken') > -1) {
				msg_d.innerHTML = s;
			}else {
				msg_d.innerHTML = "";
			}
		}
	}
}

function email_mesg_ie() {
	var msg_d = document.getElementById ( e_comp.name + "_msg");
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			var s = req.responseText;
			if (s.indexOf('You are already registered') > -1 || s.indexOf('Email address is not valid') > -1) {
				msg_d.innerHTML = s;
			}else {
				msg_d.innerHTML = "";
			}
		}
	}
}

function processReqChange_uname() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			var s = req.responseXML.getElementsByTagName("status")[0];
			alert(s);
			var s_txt = s.firstChild.nodeValue;
			
			var msg_d = document.getElementById ( e_comp.name + "_msg");
			//document.getElementById
			
			if ( s_txt == 'bad' ) { 
				var msg = req.responseXML.getElementsByTagName("msg")[0];
				var msg_txt;

				if (msg.textContent) {
					msg_txt = msg.textContent;
				} else {
					msg_txt = msg.innerText;
				}
				
				msg_d.innerHTML = msg_txt;
			} else {
				msg_d.innerHTML = "";
			}
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}

function ignore_email () {
	var ei = window.document.reg.i_email;
	ei.value = "ignore";
	var msg_d = document.getElementById ( e_comp.name + "_msg");
	msg_d.innerHTML = "";
}
