//////////////////////////////////////
platform_client = navigator.platform;
var obj_global;
var code_global;
var isIE = false;
// global request and XML document objects
var req;
var version = "";

if (platform_client == "Win32") {
	if (navigator.appVersion.indexOf("4.")!=-1) {
		var version = "IE7";
	}
}
//////////////////////////////////////
//#############################################

//www = "http://10.0.1.2/~dg/Hotelsystem/websites/locandapittucupalit/";

//########################################################

function SelectAllList(CONTROL){
	for (var i = 0; i < CONTROL.length; i++) {
		CONTROL.options[i].selected = true;
	}
}

function DeselectAllList(CONTROL) {
	for (var i = 0; i < CONTROL.length;i++) {
		CONTROL.options[i].selected = false;
	}
}

function showTbls(obj) {
	url = "export.php?db_name=" + obj;
	this.location.replace(url);
}
//########################################################

function openWindow(url, name, size) {
	popupWin = window.open(url, name, size)
}
//#################################################################
function f(o) {
  o.value = o.value.replace(/([^0-9])/g,"");
}
//#################################################################
function isValidEmail(email) {
	if (! allValidChars(email)) {  // check to make sure all characters are valid
		return false;
	}
	
	if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
		return false;
	} else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
		return false;
	} else if (email.indexOf("@") == email.length) {  // @ must not be the last character
		return false;
	} else if (email.indexOf("..") >=0) { // two periods in a row is not valid
		return false;
	} else if (email.indexOf(".") == email.length) {  // . must not be the last character
		return false;
	}
	
	return true;
}

function allValidChars(email) {
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (var i=0; i < email.length; i++) {
		var letter = email.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		parsed = false;
		break;
	}
	return parsed;
}

//########################################################
//########################################################


function prenota() {
	var c = false;

	// MSG ///////////////////
	msg_div = document.getElementById("msg");
	msg_div.innerHTML = "";
	//////////////////////////
	// THANX ///////////////////
	thanx_div = document.getElementById("thanx");
	thanx_div.innerHTML = "";
	//////////////////////////

	var ff = document.getElementsByTagName("input");
	for (i = 0; i < ff.length; i++) {
		if (ff[i].name == "data" && ff[i].checked) {
			alert(ff[i].name + " = " + ff[i].value)
		}
		///////////////////////////////////
		if (ff[i].name == "nome") {
			nome = ff[i].value;
			if (nome == "") {
				
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci il Nome<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}
		///////////////////////////////////
		if (ff[i].name == "cognome") {
			cognome = ff[i].value;
			if (cognome == "") {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci il Cognome<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}
		///////////////////////////////////
		if (ff[i].name == "email") {
			email = ff[i].value;
				
			validemail = isValidEmail(email);
			if (!validemail) {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "E-mail non valida<br>";	
				
				ff[i].focus()
		 		ff[i].select()
				
				c = false;
				break;
			}
			
			if (email == "") {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci l'E-mail<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}
		///////////////////////////////////
		if (ff[i].name == "telefono") {
			telefono = ff[i].value;
			if (telefono == "") {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci il Telefono<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}
		///////////////////////////////////
		if (ff[i].name == "nr_persone") {
			telefono = ff[i].value;
			if (telefono == "") {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci il numero di persone<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}
		///////////////////////////////////
		/*if (ff[i].name == "data_prenotazione") {
			telefono = ff[i].value;
			if (telefono == "") {
				msg_div.style.display = "";
				msg_div.innerHTML = msg_div.innerHTML + "Inserisci la data di prenotazione<br>";	
				
				ff[i].focus()
		 		ff[i].select()

				c = false;
				break;
			} else {
				c = true;
			}
		}*/
	}
	//////////////////////////////////////////////////////

	if (c) {
		f = document.getElementById("prenota");
		f.submit();
		
		//msg_div.innerHTML = msg_div.innerHTML + "Inserisci il Nome<br>";	
		
	}
//
}


//#################################################################
function cancel_p() {
	location = location.href;
	location.reload(true);
}
//#################################################################
//###########################################################################################/////////////////////////
//###########################################################################################/////////////////////////
//###########################################################################################//////////////////////////
function getElementTextNS(prefix, local, parentElem, index) {
	var local = local;
	var result = "";
	if (prefix && isIE) {
			// IE/Windows way of handling namespaces
			if (local == "") {
				result = parentElem.getElementsByTagName(prefix)[index];
			} else {
				result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
			}
	} else {
			if (local == "") {
				result = parentElem.getElementsByTagName(prefix)[index];
			} else {
				result = parentElem.getElementsByTagName(local)[index];			
			}
			
	}
	if (result) {
			// get text, accounting for possible
			// whitespace (carriage return) text nodes 
			if (result.childNodes.length > 1) {
					return result.childNodes[1].nodeValue;
			} else {
					return result.firstChild.nodeValue;    		
			}
	} else {
			return "n/a";
	}
}
///////////
function clearTopicList(id) {
	c = document.getElementById(id);
	c.innerHTML = "";
}
///////////
function checkForParseError(xmlDocument) {
	var errorNamespace ='http://www.mozilla.org/newlayout/xml/parsererror.xml';
	var documentElement = xmlDocument.documentElement;

	var parseError = { errorCode : 0 };
	if (documentElement.nodeName == 'parsererror' && documentElement.namespaceURI == errorNamespace) {
		parseError.errorCode = 1;
		var sourceText = documentElement.getElementsByTagNameNS(errorNamespace, 'sourcetext')[0];
		if (sourceText != null) {
			parseError.srcText = sourceText.firstChild.data
		}
		parseError.reason = documentElement.firstChild.data;
	}
	return parseError;
}
//////////////////////////////////////////////////////////////////
//################################################
//################################################

function loadXMLDoc_banners(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_banners;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_banners;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_banners() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				//clearTopicList();
				buildTopicList_banners();
			} else {
				alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function buildTopicList_banners() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	banners = content.split("###");
	
	b_div = document.getElementById("banners_div");
	
	timerID = setInterval('bannerRoller()',4000);
	
}
//################################################
var ii = 0;
function bannerRoller() { 
	var Banner = banners[ii];
	ii++; 
	if (ii == banners.length) { 
		ii = 0; 
		clearInterval(timerID); 
		setTimeout("timerID=setInterval('bannerRoller()',4000)",4000);
	}
	b_div.innerHTML = Banner;
} 

function create_banners() {
	var url = "banners.php";
	fields = "";
	loadXMLDoc_banners(url);
}

//################################################
//################################################
// CALENDARIO ////////////////////////////////
var req_c;

function mkcalendar(m,y,d,loc) {
	var url = "calendar.php";
	fields_cal = "m="+m+"&y="+y+"&d="+d+"&loc="+escape(loc);
	loadXMLDoc_cal(url);
}

function loadXMLDoc_cal(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req_c = new XMLHttpRequest();
			req_c.onreadystatechange = processReqChange_cal;
			req_c.open("POST",url,true);
			req_c.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req_c.send(fields_cal);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req_c = new ActiveXObject("Microsoft.XMLHTTP");
			if (req_c) {
				req_c.onreadystatechange = processReqChange_cal;
				req_c.open("POST",url,true);
				req_c.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req_c.send(fields_cal);
			}
	}
}
function processReqChange_cal() {
	// only if req shows "loaded"
	if (req_c.readyState == 4) {
			// only if "OK"
			if (req_c.status == 200) {
				//clearTopicList();
				buildTopicList_cal();
			} else {
				alert("There was a problem retrieving the XML data:\n" + req_c.statusText);
			}
	}
}
function buildTopicList_cal() {
	var response = req_c.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	cal_div = document.getElementById("calendar");
	
	cal_div.innerHTML = content;
	delete content;
}
//################################################


