/* ========================================================== */
/* File name: register.js                                     */
/* Description: RightSizer register JS-file                   */
/* Create data: August 2008                                   */
/* Programmed by Bodro (Bodrov Vasiliy)                       */
/* Contact: vbodrov@v-kernel.com                              */
/* ========================================================== */

var reg_ajax = null;
var redirectTimeout = null;
var redirectTimeoutTime = 1000;

function OnKeyPressRegister(event){
	if((event.keyCode == 0x0A) || (event.keyCode == 0x0D)){
		PressRegister();
	}
}

function PressRegister(){
	//var pattern_email = /^[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?\.[A-Za-z0-9]{2,6}$/;
	var obj_firstname;
	var obj_lastname;
	var obj_email;
	var send_string;
	var obj_passw;
	var obj_cpassw;
	var obj_login;
	
	obj_firstname = document.getElementById("firstname");
	obj_lastname = document.getElementById("lastname");
	obj_email = document.getElementById("email");
	obj_passw = document.getElementById("passw");
	obj_cpassw = document.getElementById("cpassw");
	obj_login = document.getElementById("login");
	
	/*
	if(obj_passw.value != obj_cpassw.value){
		alert("Incorrect confirm password!");
		return;
	}
	*/
	
	/*
	if(obj_email.value != "" && pattern_email.exec(obj_email.value) == null){
		alert("Incorrect email address!");
		return;
	}
	*/

	send_string =	"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + 
					"<registration><firstname>" + escape(obj_firstname.value) + "</firstname>" + 
					"<lastname>" + escape(obj_lastname.value) + "</lastname>" +
					"<email><![CDATA[" + obj_email.value + "]]></email>" +
					"<password>" + escape(obj_passw.value) + "</password>" +
					"<cpassword>" + escape(obj_cpassw.value) + "</cpassword>" +
					"<login>" + escape(obj_login.value) + "</login>" + "</registration>";

	reg_ajax.LoadXMLDocPOST("reg.php", send_string);
}

function Redirect(){
	location.href='./';
}

function HandlerResponseOK(response){
	redirectTimeout = setTimeout("Redirect();", redirectTimeoutTime);
	
	obj = document.getElementById("firstname_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("lastname_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("login_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("email_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("password_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("cpassword_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
	obj = document.getElementById("other_comment");
	obj.className = "reg_comment_off";
	obj.innerHTML = "&nbsp;" + "<br />";
}

function HandlerResponseFAILED(response){
	var obj = null;
	var err = null;
	
	obj = document.getElementById("firstname_comment");
	try{
		err = response.getElementsByTagName("firstnamecomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}
	
	obj = document.getElementById("lastname_comment");
	try{
		err = response.getElementsByTagName("lastnamecomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err ;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("email_comment");
	try{
		err = response.getElementsByTagName("emailcomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err ;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("login_comment");
	try{
		err = response.getElementsByTagName("niknamecomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err ;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("password_comment");
	try{
		err = response.getElementsByTagName("passwordcomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("cpassword_comment");
	try{
		err = response.getElementsByTagName("cpasswordcomment")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;" ;
	}

	obj = document.getElementById("other_comment");
	try{
		err = response.getElementsByTagName("other")[0].childNodes[0].nodeValue;
		obj.className = "reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		//obj.className = "reg_comment_off";
		obj.innerHTML = "&nbsp;";
	}
}

function HandlerOK(xml){
	var response = null;
	var status = null;

	if(xml != null){
		response = xml.documentElement;
		status = response.getElementsByTagName("status")[0].childNodes[0].nodeValue;

		if(status == "OK"){
			HandlerResponseOK(response);
		}
		else{
			HandlerResponseFAILED(response);
		}
	}
	else{
		alert("System error: empty data!");
	}
}

function HandlerTimeOut(){
	alert('Sorry! Not connect with server! Try later!');
}

function HandlerFAILED(num, txt){
	alert('Sorry! Failed: ' + txt);
}

function DebugHandlerTextOK(x){
	alert(x);
}

reg_ajax = new Ajax();
reg_ajax.SetHandlerTimeOut(HandlerTimeOut);
reg_ajax.SetTimeOut(30000);
reg_ajax.SetHandlerFAILED(HandlerFAILED);
reg_ajax.SetHandlerXMLOK(HandlerOK);
//reg_ajax.SetHandlerTextOK(DebugHandlerTextOK);

/* ========================================================== */
/* End of file                                                */
/* ========================================================== */
