var xmlreqs = new Array();

function CXMLReq(type, xmlhttp) { this.type = type; this.xmlhttp = xmlhttp; }

function lr(url, data, objCheck){
        var xmlhttp = false;
        var _targObject = null;
        var _do = null;
        var type = null;

	if( !data ) data = 'inner';
	if( !objCheck ) objCheck = 2;

        _opt = objCheck;
        _targObject = document.getElementById(data);

        if(window.XMLHttpRequest)
                xmlhttp2 = new XMLHttpRequest();
        else if(window.ActiveXObject)
                xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
        else alert('Please upgrade your browser.');

        switch( _opt ){
		case 1: document.getElementById(data).innerHTML = "<div align = 'center'><div align='center' style='height: 100px; width: 100px; margin-top: 120px;'><img src='images/loading/ajax-loader.gif'></div></div>";
			break;
	}

        if(window.XMLHttpRequest) {
                xmlhttp=new XMLHttpRequest();
                xmlhttp.onreadystatechange=xmlhttpChange;
                xmlhttp.open("POST",url,true);
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                xmlhttp.send(data);
        }else if(window.ActiveXObject) {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                if(xmlhttp) {
                        xmlhttp.onreadystatechange=xmlhttpChange;
                        xmlhttp.open("POST",url,true);
                        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                        xmlhttp.send(data);
                }
        }

        var xmlreq = new CXMLReq(data, xmlhttp); xmlreqs.push(xmlreq);
}

function xmlhttpChange() {
 if (typeof(window['xmlreqs']) == "undefined") return;

 var xmldoc = null;
 for (var i=0; i < xmlreqs.length; i++) {
        if (xmlreqs[i].xmlhttp.readyState == 4) {
                if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
                        response = xmlreqs[i].xmlhttp.responseText;
                        switch( xmlreqs[i].type ) {
				case 'check':{
					var nArr = response.split(':');

			                checkDiv = document.getElementById('check');
			                if (nArr[0] == '1') {
			                        checkDiv.style.color = '#00ff00';
                        			checkDiv.innerHTML = nArr[1]+' is available!';
			                } else if (nArr[0] == '0') {
			                        checkDiv.style.color = '#ff0000';
                        			checkDiv.innerHTML = nArr[1]+' is taken.';
			                } else if (nArr[0] == '-1') {
                        			checkDiv.style.color = '#ff0000';
			                        checkDiv.innerHTML = nArr[1]+' can only have letters and numbers.';
			                }	break;
				}

				default:{
					document.getElementById(xmlreqs[i].type).style.display = 'block';
					document.getElementById(xmlreqs[i].type).innerHTML = (response);
					break;
				}
			}

                        xmlreqs.splice(i,1); i--;
                } else {//error
                        xmlreqs.splice(i,1); i--;
                }
        }
 }
}

function cQ(form)
{
    var elements = document.getElementById(form).elements;
    var pairs = new Array();
    for (var i = 0; i < elements.length; i++) {
        if ((name = elements[i].name) && (value = elements[i].value) && (type = elements[i].type)){
	    if(type == 'checkbox'){
		if(elements[i].checked)
		     var tVal = 1;
		else var tVal = 0;
	    }else var tVal = encodeURIComponent(value);

            pairs.push(name + "=" + tVal);
	}
    }
    var tastypairpear = pairs.join("&");
    return tastypairpear;
}

function sfm(h,e,t) {
        var kc;
        if (window.event) kc = window.event.keyCode;
        else if (e) kc = e.which;
        else return true;

        if (kc == 13) {
                switch(t){
			case 1:  lr('post.php?'+cQ('pf'),'info',2); break;
                        default: h.form.submit(); break;
                }

                return false;
        }else   return true;
}

function openBox(a,b){
 document.getElementById('acf').style.display='block';
 document.getElementById('acb').style.display='block';
 lr(a+'.php'+b,'acw',2);
}

function closeBox(a,b,c){
 document.getElementById('acf').style.display='none';
 document.getElementById('acb').style.display='none';
 lr(a+'.php?'+cQ(b),c,2);
}

function vF(bd){
        var b = '';
        var x = document.forms['pf']['username'].value;
        if( x == null || x == '' ){
                alert('You must enter a username!');
                return false;
        }

        var y = document.forms['pf']['email'].value;
        if( y == null || y == '' ){
                alert('You must enter an email address!');
                return false;
        }

        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if(reg.test(y) == false) {
                alert('Invalid Email Address');
                return false;
        }

        if( b == null || b == '' ){
		if(bd)
			lr('../../post.php?'+cQ('pf'),'info',2);
		else	lr('post.php?'+cQ('pf'),'info',2);
	}
}

function eCo(){
 var d = document.getElementById('code');
 if(d.value.length!=4){
  alert('You must enter a 4 digit code!');
  return false;
 } closeBox();
}

