
/******************************
**
**	Iteracy Content Management System
**	(c) 2007 Iteracy Ltd
**	All rights reserved
**	www.iteracy.com
**
*******************************/

function Element(sID) {
	// returns an element
	if (document.getElementById(sID)) {
		return document.getElementById(sID);
	} else {
		return null;
	}
}

function hideDiv(sID) {
	// hides an element
	if (Element(sID)) {
		Element(sID).style.display = "none";
	}
}

function showDiv(sID) {
	// shows an element
	if (Element(sID)) {
		Element(sID).style.display = "block";
	}
}

function showHide(sID) {
	if (Element(sID)) {
		if (Element(sID).style.display != "block") {
			showDiv(sID);
		} else {
			hideDiv(sID);
		}
	}
}

function showHidePageList(sID) {
	var cookie_value = "";
	if (Element(sID)) {
		if (Element(sID).style.display == "block" || (Element(sID).style.display == "" && Element(sID).className == "displayBlock")) {
			hideDiv(sID);
			cookie_value = getCookie("pagelist_tree");
			cookie_value = cookie_value.replace("|" + sID + "|", "");
			setCookie("pagelist_tree",cookie_value,9999);
		} else {
			showDiv(sID);
			cookie_value = getCookie("pagelist_tree");
			setCookie("pagelist_tree",cookie_value + "|" + sID + "|",9999);
		}
	}
}

function quickLink(sParams) {
	sURL = sParams.split("|")[0];
	bNewWin = sParams.split("|")[1];
	if (bNewWin == "true") {
		window.open(sURL);
	} else {
		document.location = sURL;
	}
}

function setRate(oCompany) {
	document.forms[0].tas_rate.value = aRates[oCompany.value];
}

function setFormat() {
	if (Element("pf1") && Element("pf2") && Element("pf3")) {
		if (Element("lang_de").checked) {
			sLang = Element("lang_de").value;
		} else if (Element("lang_fr").checked) {
			sLang = Element("lang_fr").value;
		} else {
			sLang = Element("lang_en").value;
		}
		
		if (Element("pf1").checked) {
			sFormat = Element("pf1").value;
		} else if (Element("pf2").checked) {
			sFormat = Element("pf2").value;
		} else {
			sFormat = Element("pf3").value;
		}
		if (navigator.userAgent.indexOf("MSIE") != -1) {
			displayStyle = "block";
		} else {
			displayStyle = "table-row";
		}
		if (sFormat == 'single') {
			Element("area1_"+sLang).style.display = "none";
			Element("area2_"+sLang).style.display = displayStyle;
			Element("area3_"+sLang).style.display = "none";
		}
		if (sFormat == 'two') {
			Element("area1_"+sLang).style.display = "none";
			Element("area2_"+sLang).style.display = displayStyle;
			Element("area3_"+sLang).style.display = displayStyle;
		}
		if (sFormat == 'two_header') {
			Element("area1_"+sLang).style.display = displayStyle;
			Element("area2_"+sLang).style.display = displayStyle;
			Element("area3_"+sLang).style.display = displayStyle;
		}
	}
}

function setLanguage() {
	if (Element("lang_de").checked) {
		sLang = Element("lang_de").value;
	} else if (Element("lang_fr").checked) {
		sLang = Element("lang_fr").value;
	} else {
		sLang = Element("lang_en").value;
	}
	if (navigator.userAgent.indexOf("MSIE") != -1) {
		displayStyle = "block";
	} else {
		displayStyle = "table-row";
	}
	
	langItems = getElementsByClassName("en", "tr");
	for (keyVar in langItems) {
		langItems[keyVar].style.display = "none";
	}
	langItems = getElementsByClassName("de", "tr");
	for (keyVar in langItems) {
		langItems[keyVar].style.display = "none";
	}
	langItems = getElementsByClassName("fr", "tr");
	for (keyVar in langItems) {
		langItems[keyVar].style.display = "none";
	}
	langItems = getElementsByClassName(sLang, "tr");
	for (keyVar in langItems) {
		langItems[keyVar].style.display = displayStyle;
	}
	setFormat();
}

//suckerfish dropdown
sfHover = function() {
	if (document.getElementById("nav")) {
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function showHelp(sID) {
	helpItems = getElementsByClassName("help", "div");
	for (keyVar in helpItems) {
		hideDiv(helpItems[keyVar].id);
	}
	showDiv(sID);
}

function getElementsByClassName(classname,tag) {
	if(!tag) {
		tag = "*";
	}
	var anchs =  document.getElementsByTagName(tag);
	var total_anchs = anchs.length;
	var regexp = new RegExp('\\b' + classname + '\\b');
	var class_items = new Array();
	
	for(var i=0;i<total_anchs;i++) { 
		var this_item = anchs[i];
		if(regexp.test(this_item.className)) {
			class_items.push(this_item);
		}
	}
	return class_items;
}

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
  		if (c_start!=-1) { 
    		c_start=c_start + c_name.length+1; 
    		c_end=document.cookie.indexOf(";",c_start);
    		if (c_end==-1) c_end=document.cookie.length;
    		return unescape(document.cookie.substring(c_start,c_end));
   		} 
  	}
	return "";
}

function setCode(lang) {
	switch(lang) {
		case "de":
			var nameField = document.forms['form1'].page_name_de;
			var codeField = document.forms['form1'].page_code_de;
			break;
		case "fr":
			var nameField = document.forms['form1'].page_name_fr;
			var codeField = document.forms['form1'].page_code_fr;
			break;
		default:
			var nameField = document.forms['form1'].page_name_en;
			var codeField = document.forms['form1'].page_code_en;
	}
	if ((typeof nameField != "undefined") && (typeof codeField != "undefined")) {
		code = nameField.value;
		code = code.toLowerCase();
		code = code.replace(/[^ A-Za-z0-9\-\_]/gi, "");
		code = code.replace(/[ ]/gi, "-");
		codeField.value= code;
	}
}

function showTab(tabID, langType) {
	featuresState = "tab_hide";
	detailsState = "tab_hide";
	galleryState = "tab_hide";
	bookState = "tab_hide";
	featuresTabState = "tab_item";
	detailsTabState = "tab_item";
	galleryTabState = "tab_item";
	bookTabState = "tab_item";
	if (tabID == "features") {
		featuresState = "tab";
		featuresTabState = "tab_item_active";
	} else if (tabID == "details") {
		detailsState = "tab";
		detailsTabState = "tab_item_active";
	} else if (tabID == "gallery") {
		galleryState = "tab";
		galleryTabState = "tab_item_active";
	} else if (tabID == "book") {
		bookState = "tab";
		bookTabState = "tab_item_active";
	}
	document.getElementById("features").className = featuresState;
	document.getElementById("details").className = detailsState;
	document.getElementById("gallery").className = galleryState;
	document.getElementById("book").className = bookState;
	document.getElementById("tab_features_" + langType).className = featuresTabState;
	document.getElementById("tab_details_" + langType).className = detailsTabState;
	document.getElementById("tab_gallery_" + langType).className = galleryTabState;
	document.getElementById("tab_book_" + langType).className = bookTabState;
}	

function getGalleryId() {
	return "gallery" + position;
}

function goPrevious() {
	if (position > 0) {
		Effect.Fade(getGalleryId(),{duration:0.3, queue:{scope:'myscope', position:'end'}});
		position--;
		Effect.Appear(getGalleryId(),{duration:0.3, queue:{scope:'myscope', position:'end'}});
	}
}

function goNext() {
	if ((position+1) < listLength) {
		Effect.Fade(getGalleryId(),{duration:0.3, queue:{scope:'myscope', position:'end'}});
		position++;
		Effect.Appear(getGalleryId(),{duration:0.3, queue:{scope:'myscope', position:'end'}});
	}
}

/* admin booking form functions */

function showGuestRows(numGuests) {
	if (numGuests != 0) {
		if (navigator.userAgent.indexOf("MSIE") != -1) {
			displayStyle = "block";
		} else {
			displayStyle = "table-row";
		}
		for (n=1; n<=10; n++) {
			if (numGuests >= n) {
				Element("row_bkg_guest" + n + "name").style.display = displayStyle;
				Element("row_bkg_guest" + n + "age").style.display = displayStyle;
			} else {
				Element("row_bkg_guest" + n + "name").style.display = "none";
				Element("row_bkg_guest" + n + "age").style.display = "none";
			}
		}
	}
}

function updateBookingForm() {
	// update bed config
	//alert(document.form1.bkg_property.value);
	propertyId = document.form1.bkg_property.value;
	newConfig = eval("property" + propertyId);
	// clear all items
	document.getElementById("bkg_bedconfig").options.length = 0;
	// recreate list
	for(n=0; n<newConfig.length; n++) {
		document.getElementById("bkg_bedconfig").options.length ++;
		document.getElementById("bkg_bedconfig").options[n].value = newConfig[n];
		document.getElementById("bkg_bedconfig").options[n].text = newConfig[n];
	}
}

function updateGuest1() {
	document.form1.bkg_guest1name.value = document.form1.bkg_firstname.value + " " + document.form1.bkg_lastname.value
}

function calculateCost() {
	frm = document.form1;
	property = frm.bkg_property.value;
	arrival = frm.bkg_arrivedate_y.value + "-" + frm.bkg_arrivedate_m.value + "-" + frm.bkg_arrivedate_d.value;
	departure = frm.bkg_departdate_y.value + "-" + frm.bkg_departdate_m.value + "-" + frm.bkg_departdate_d.value;
	pet = frm.bkg_pet.value;
	promocode = frm.bkg_promocode.value;
	win = window.open("calculate_booking_cost.php?property=" + property + "&arrival=" + arrival + "&departure=" + departure + "&promocode=" + promocode + "&pet=" + pet, "win", "width=1000,height=600,resizable=yes,scrollbars=yes");
}

function setTotal(total) {
	window.opener.document.form1.bkg_totalcost.value = total;
	top.close();
}

/* front end booking form functions */

function frontShowGuestRows(numGuests) {
	for (n=1; n<=10; n++) {
		if (Element("guest" + n)) {
			if (numGuests >= n) {
				Element("guest" + n).style.display = "block";
			} else {
				Element("guest" + n).style.display = "none";
			}
		}
	}
}

function frontUpdateGuest1() {
	document.form1.guest1name.value = document.form1.firstname.value + " " + document.form1.lastname.value;
}

function copyField(aryDestination, newValue) {
	for (keyVar in aryDestination) {
		elem = document.getElementById(aryDestination[keyVar]);
		elem.value = newValue;
	}
}


function stripeTable() {
	count = 0;
	table = document.getElementById("prices_table");
	if (!table) { 
		return;
	}
	var tbodies = table.getElementsByTagName("tbody");
	for (var h = 0; h < tbodies.length; h++) {
		var trs = tbodies[h].getElementsByTagName("tr");
		for (var i = 0; i < trs.length; i++) {
			var tds = trs[i].getElementsByTagName("td");
			for (var j = 0; j < tds.length; j++) {
				var mytd = tds[j];
				if (j == 0) {
					currentDate = mytd.innerHTML;
				}
				if (count % 2 == 0) {
					mytd.className = "r0";
				} else {
					mytd.className = "r1";
				}
			}
			count++;
		}
	}
}
