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

var feedback_ajax = null;
var fb_redirectTimeout = null;
var fb_redirectTimeoutTime = 300;
var mutex = true;

function FeedBack_Submit(){
	var obj_fn = null;
	var obj_ln = null;
	var obj_email = null;
	var obj_ph = null;
	var obj_cn = null;
	var obj_comment = null;
	var send_string = null;
	
	if(mutex){
		mutex = false;

		obj_fn = document.getElementById("firstname");
		obj_ln = document.getElementById("lastname");
		obj_email = document.getElementById("email");
		obj_cn = document.getElementById("companyname");
		obj_ph = document.getElementById("phone");
		obj_comment = document.getElementById("comments");
		
		send_string =	"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + 
						"<feedback>" + 
						"<firstname><![CDATA[" + obj_fn.value + "]]></firstname>" + 
						"<lastname><![CDATA[" + obj_ln.value + "]]></lastname>" + 
						"<email><![CDATA[" + obj_email.value + "]]></email>" + 
						"<companyname><![CDATA[" + obj_cn.value + "]]></companyname>" + 
						"<phone><![CDATA[" + obj_ph.value + "]]></phone>" + 
						"<comments><![CDATA[" + obj_comment.value + "]]></comments>" + 
						"</feedback>";

		feedback_ajax.LoadXMLDocPOST("fbmail.php", send_string);
	}
		
	return false;
}

function fbhideDIV(id){
	var findDIVobj = document.getElementById(id);
	
    if(findDIVobj.style.display != "none"){
		findDIVobj.style.display = "none";
	}
}

function fbshowDIV(id){
	var findDIVobj = document.getElementById(id);
	
    if(findDIVobj.style.display == "none"){
		findDIVobj.style.display = "block";
	}
}

function FeedBack_Redirect(){
	fbhideDIV('inpdata');
	fbshowDIV('thankyou');
}

function FeedBack_HandlerResponseOK(response){
	fb_redirectTimeout = setTimeout("FeedBack_Redirect();", fb_redirectTimeoutTime);
	
	obj = document.getElementById("firstname_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
	obj = document.getElementById("lastname_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
	obj = document.getElementById("email_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
	obj = document.getElementById("companyname_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
	obj = document.getElementById("phone_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
	obj = document.getElementById("comments_comment");
	obj.className = "fb_reg_response_off";
	obj.innerHTML = "&nbsp;";
}

function FeedBack_HandlerResponseFAILED(response){
	var obj = null;
	var err = null;

	obj = document.getElementById("firstname_comment");
	try{
		err = response.getElementsByTagName("firstnamecomment")[0].childNodes[0].nodeValue;
		obj.className = "fb_reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		obj.className = "fb_reg_response_off";
		obj.innerHTML = "&nbsp;";
	}
	
	obj = document.getElementById("lastname_comment");
	try{
		err = response.getElementsByTagName("lastnamecomment")[0].childNodes[0].nodeValue;
		obj.className = "fb_reg_response_failed";
		obj.innerHTML = err ;
	}
	catch(e){
		err = null;
		obj.className = "fb_reg_response_off";
		obj.innerHTML = "&nbsp;";
	}

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

	obj = document.getElementById("companyname_comment");
	try{
		err = response.getElementsByTagName("companynamecomment")[0].childNodes[0].nodeValue;
		obj.className = "fb_reg_response_failed";
		obj.innerHTML = err ;
	}
	catch(e){
		err = null;
		obj.className = "fb_reg_response_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("phone_comment");
	try{
		err = response.getElementsByTagName("phonecomment")[0].childNodes[0].nodeValue;
		obj.className = "fb_reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		obj.className = "fb_reg_response_off";
		obj.innerHTML = "&nbsp;";
	}

	obj = document.getElementById("comments_comment");
	try{
		err = response.getElementsByTagName("commentscomment")[0].childNodes[0].nodeValue;
		obj.className = "fb_reg_response_failed";
		obj.innerHTML = err;
	}
	catch(e){
		err = null;
		obj.className = "fb_reg_response_off";
		obj.innerHTML = "&nbsp;" ;
	}

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

function FeedBack_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"){
			FeedBack_HandlerResponseOK(response);
		}
		else{
			FeedBack_HandlerResponseFAILED(response);
		}
	}
	else{
		alert("System error: empty data!");
	}
	
	mutex = true;
}

function FeedBack_HandlerTimeOut(){
	alert('Sorry! Not connect with server! Try later!');
	
	mutex = true;
}

function FeedBack_HandlerFAILED(num, txt){
	alert('Sorry! Failed: ' + txt);
	
	mutex = true;
}

function FeedBack_DebugHandlerTextOK(x){
	alert(x);
	
	mutex = true;
}

feedback_ajax = new Ajax();
feedback_ajax.SetHandlerTimeOut(FeedBack_HandlerTimeOut);
feedback_ajax.SetHandlerFAILED(FeedBack_HandlerFAILED);
feedback_ajax.SetHandlerXMLOK(FeedBack_HandlerOK);
//feedback_ajax.SetHandlerTextOK(FeedBack_DebugHandlerTextOK);

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