d = document;

function checkForm(theform) {

	// determine desired payment type
	//----------------------------------

	var pt = theform.paytype;
	if(pt) {
		var optsLen = pt.length;
		var optIndex = 0;
		var checkedOpt;

		while(optIndex < optsLen){

			if(theform.paytype[optIndex].checked){
				checkedOpt = theform.paytype[optIndex].value;
				break;
			}
			optIndex++;
		}

		// update hidden vars based on paytype
		//----------------------------------

		switch(checkedOpt){
			case 'chk':
				theform.jnpage.value = 'ck';
				break;
			case 'cc':
				theform.jnpage.value = 'cc';
				break;
			case 'wb':
				theform.jnpage.value = 'ed';
				break;
		}
	}//if(pt)

	//--------------

	validateError = "";
	validateError += validate("USERNAME","Username","word",true,null,40,"UN_LABEL");
	validateError += validate("FNAME","First Name","alpha",true,null,40,"FN_LABEL");
	validateError += validate("LNAME","Last Name","alpha",true,null,40,"LN_LABEL");
	validateError += validate("PASSWORD","Password",null,true,4,20,"PW_LABEL");
	validateError += validate("EMAIL","Email","email",true,null,100,"EM_LABEL");
	validateError += validate("ZIP","Postal Code","text",true,null,10,"ZIP_LABEL");
	validateError += validate("bmonth","Birth Month","num",true,null,null,null);
	validateError += validate("bday","Birth Day","num",true,null,null,null);
	validateError += validate("byear","Birth Year","num",true,null,null,null);
	
	if(theform.TERMS) {
		validateError += validate("TERMS",null,"terms",true,null,null,"TERMS_LABEL");
	}
	
	if(validateError.length) {

		alert(validateError);

	//	try{
	//		dsEnablePop();
	//	} catch(err){}
	return false;
	}

	username = document.getElementById("USERNAME").value;
  var s= new sack("/checkUser.php");
	s.setVar("username",username);
	s.onCompletion = function(){
		var r = s.responseXML.documentElement;
		var n = r.getElementsByTagName('exists')[0].firstChild.nodeValue;

		if(n == 'true') {
			validateFailLabel("USERNAME","UN_LABEL");
			alert("That username is taken.\nPlease choose another username");

			//try{
			//	dsEnablePop();
			//} catch(err){}

		} else {
			checkCN();
		}
	};
  s.runAJAX();

	return false;

}


function checkCN() {
	user = document.getElementById("USERNAME").value;
	email = document.getElementById("EMAIL").value;
	var sa= new sack("/checkCNUser.php");
	
	sa.setVar("em",email);
	sa.setVar("un",user);
	
	sa.onCompletion = function(){
		var r = sa.response;
		var msg = '';
		var ok = false;
		switch(r) {
			case '1':
				ok = true;
				break;
			case '-1':
				msg = "Email Is Used/Invalid";
				break;
			case '-2':
				msg = "IP Blocked";
				break;
			case '-3':
				msg = "Username Taken";
				break;
			case '-4':
				msg = "Email Is Already Member";
				break;
			default:
				msg = "Dating Lookup Error(" + r + ")";
		}
		
		if(!ok) {
			alert(msg);
		} else {
			//good to go
			try {
				dsDisablePop();
			} catch(err){}
			document.forms[0].submit();
		}
	};
  sa.runAJAX();
}