/**
 * @author art
 */
function getXMLRequest() {
	var xmlHttp = null;
	if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest(); // FireFox, Opera and IE7
	}
	else if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE5 & IE6
	}
        
	return xmlHttp;
}

function getRandomNum() {
   return "rand=" + Math.floor(Math.random()*10000);
}

function testDiv(divName) {
	var xmlReq = getXMLRequest();
	var a = document.getElementById(divName);
	
	a.innerHTML = "chang on Tag by XML request...";
}

function getEBID(tagName) {
	return document.getElementById(tagName);
}

function getReturnText(url, data, divTag) {
   
	var objRequest = getXMLRequest();
	var ranDom = getRandomNum();
	var a = document.getElementById(divTag);
        
    objRequest.onreadystatechange = function(){
			if (objRequest.readyState == 1) {
				a.innerHTML = "<img src='images/loadwhite.gif'> Loading...";
			}
			else if(objRequest.readyState == 4 && objRequest.status == 200){
				a.innerHTML = objRequest.responseText;
			}
    }
       
    objRequest.open("GET", url+"?"+ranDom+"&"+data);
    objRequest.send(null);
        
}

// use to Method POST to send information and return text
function postReturnText(url, data, divTag) {
	var objRequest = getXMLRequest();
	var ranDom = getRandomNum();
    var a = document.getElementById(divTag);
	
    objRequest.onreadystatechange = function(){
           if (objRequest.readyState == 1) {
				a.innerHTML = "<img src='images/loadwhite.gif'> Loading...";
			}
			else if(objRequest.readyState == 4 && objRequest.status == 200){
                a.innerHTML = objRequest.responseText;                          
			}
    }
       
    objRequest.open("POST",url);
	objRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	objRequest.send(data+"&"+ranDom);        
}

function getFormData(form_name_or_id) {	// get data from normal form..not XML
	var frm = document.forms[form_name_or_id];
	if(frm==null) {
		alert("this form not found.");
		return;
	}
	
	var data = " ";
	var num_el = frm.elements.length;
	for(var i=0; i<num_el; i++) {
		var el = frm.elements[i];
		if(el.name == "" && el.id == "") {
			continue;
		}
		var param_name = "";
		if(el.name != "") {
			param_name = el.name;
		}
		else if(el.id != "") {
			param_name = el.id;
		}
		
		var t = frm.elements[i].type;
		var value = "";
		
		if(t == "text" || t == "password" || t ==  "hidden" ||  t == "textarea") {
			value = encodeURI(el.value);
		}
		else if(t == "radio" || t == "checkbox") {
			if(el.checked) {
				value = encodeURI(el.value);
			}
			else {
				continue;
			}
		}
		else if(t == "select-one") {
			value = encodeURI(el.options[el.selectedIndex].value);
		}
		else if(t == "select-multiple") {
			for(var j=0; j<el.length; j++) {
				if(el.options[j].selected) {
					if(data != "") {
						data += "&";
					}
					data += param_name + "=";
					data += encodeURI(select.options[j].value);
				}
			}
			
			continue;
		}
		
		if(data != "") {
			data += "&";
		}
		
		data += param_name + "=" + value;
	}
	
	
	return data;
	
}

function loadXMLDoc(xmlfilename) 
{         
	if (window.ActiveXObject) {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	}
	else if (document.implementation.createDocument) {
		xmlDoc = document.implementation.createDocument("","",null);
	}
	else {
		return null;
	}

	xmlDoc.async=false;
	xmlDoc.load(xmlfilename);

	return xmlDoc;
}

function gFormValue() {
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	var subj = document.getElementById("subj").value;
	var detail = document.getElementById("detail").value;
	var send = document.getElementById("send").value;
	var captcha = document.getElementById("captcha").value;
//	var a = "name="+name+"&email="+email+"&subj="+subj+"&detail="+detail+"&send="+send+"&captcha="+captcha+"&scaptcha="+scaptcha;
	var a = "name="+name+"&email="+email+"&subj="+subj+"&detail="+detail+"&send="+send+"&captcha="+captcha;
	
	return a;
}

function gResvFormValue() {
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	var phone = document.getElementById("phone").value;
	var country = document.getElementById("country").value;
	var roomtype = document.getElementById("roomtype").value;
	var checkin = document.getElementById("checkin").value;
	var checkout = document.getElementById("checkout").value;
	var guest = document.getElementById("guest").value;
	var child = document.getElementById("child").value;

	var note = document.getElementById("note").value;	
	var send = document.getElementById("send").value;
	var captcha = document.getElementById("captcha").value;
//	var a = "name="+name+"&email="+email+"&subj="+subj+"&detail="+detail+"&send="+send+"&captcha="+captcha+"&scaptcha="+scaptcha;
	var a = "name="+name+"&email="+email+"&phone="+phone+"&country="+country+"&roomtype="+roomtype+"&checkin="+checkin+"&checkout="+checkout+"&guest="+guest+"&child="+child+"&note="+note+"&send="+send+"&captcha="+captcha;

	
	return a;
}

function getFormValue(tableName) {
	
	xmlDoc = this.loadXMLDoc('object.xml');
	var e = xmlDoc.getElementsByTagName(tableName)[0].getElementsByTagName('field');
	var f = xmlDoc.getElementsByTagName(tableName)[0].getElementsByTagName('files');
	
	var a = new Array();
	a['value']="";
	a['path']="";
	
	var i;
	var n="";
	//var show = document.getElementById('dt');
	
    for(i=0; i<e.length; i++) {

		n = e[i].getAttribute('name');
		if(i) 
			a['value'] += "&";
				
		if (e[i].getAttribute('formtype') !== 'button') {
			
			if (e[i].getAttribute('formtype') === 'hidden') {
				a['value'] += n + "=" + document.getElementById(n).value;
			}
			else if (e[i].getAttribute('formtype') === 'checkbox') {
				if (document.getElementById(n).checked) {
					a['value'] += n + "=1";
				}
				else {
					a['value'] += n + "=0";
				}
			}
			else {
				a['value'] += n + "=" + document.getElementById(n).value;
			}
		}
		else {
			if(document.getElementById(n).value === ' confirm ') {
				a['path']=f[0].getAttribute('insert');
				a['value'] += n + "=" + document.getElementById(n).value;
			}
			else {
				a['path']=f[0].getAttribute('update');
				a['value'] += n + "=" + document.getElementById(n).value;
			}
		}
    }
	
	a['value'] += "&formname="+tableName;
	//show.innerHTML = a['value']+",path: "+a['path'];
	return a;
}

function validateDoc(tableName, data) {
	
	xmlDoc = this.loadXMLDoc('object.xml');
	var e = xmlDoc.getElementsByTagName(tableName)[0].getElementsByTagName('field');
	var i=0;
	var a="";
	var buf = data.split("&");
	
	for(i=0; i<e.length; i++) {
		if(e[i].getAttribute('validate') === 'yes') {
			if(!this.checkZero(buf[i],'=')) {
				return false;
			}
		}
	}
	
	return true;
}

function showData(divName) {
	var show = document.getElementById(divName);
	show.innerHTML = this.gFormValue();
}

function changeCaptcha(divTag) {
	var div = document.getElementById(divTag);
	div.innerHTML = "<img src='scripts/captcha.php'>";
}

function sendMail(url, divTag) {
	var data = this.gFormValue();
	postReturnText(url, data, divTag);
	changeCaptcha('cp');
}

function sendResv(url, divTag) {
	var data = this.gResvFormValue();
	postReturnText(url, data, divTag);
	changeCaptcha('cp');
}

function miniwindow(target,nameofwindow,height,width,status,left,top,resizeable) 
{ 
	var s_width = screen.width;
var s_height = screen.height;
	var r_h = (s_height-height)/2;
	var r_w = (s_width-width)/2;

	window.open(target,nameofwindow,'location=0,toolbar=0,directoris=0,status='+status+',menubar=0,scrollbars=1,resizable='+resizeable+',width='+width+',height='+height+',left='+r_w+',top='+r_h+''); 

}