var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var page = window.location.href;
var httpObject = null;

function fnGalleryDisplay(pWhat){
	document.getElementById("galleryAndMap").style.display = "none";
	document.getElementById("galleryLarge").style.display = "none";
	document.getElementById(pWhat).style.display = "block";
}

function fnCheckTicked(pNo,pWhat){
	var personElement = "cradPerPerson" + pNo;
	var roomElement = "cradPerRoom" + pNo;
	
	//alert(pNo + "" + pWhat+ "" +personElement+ "" +roomElement);
	
	if((pWhat == "person") && (document.getElementById(personElement).checked == true)){
		document.getElementById(roomElement).checked = false;
		//alert(1);
	}
	
	if((pWhat == "room") && (document.getElementById(roomElement).checked == true)){
		document.getElementById(personElement).checked = false;
		//alert(2);
	}
}

function fnShowDailyOptions(pNo){
	var divElement = "dailyOptions" + pNo;
	var selElement = "cselPeriod" + pNo;
	
	if(document.getElementById(selElement).value == "daily"){
		document.getElementById(divElement).style.display = "block";
	}else{
		document.getElementById(divElement).style.display = "none";
	}
}

function fnRemovePrice(propertyID,entryID){
		var answer = confirm ("Delete this price range?");
		if (answer){
			window.location = "delete-price.php?propertyID=" + propertyID + "&entryID=" + entryID;
		}
}

function fnCheckFriendEmail(){
	var boolOK = true;
	var errorMsg = "";
	
	if(document.getElementById("csender").value == "please enter your name here..."){
		boolOK = false;
		errorMsg+= "please enter your name\n";
	}
	
	if(document.getElementById("csender-email").value == "please enter your email here..."){
		boolOK = false;
		errorMsg+= "please enter your email\n";
	}
	
	if(document.getElementById("cfriend").value == "please enter your friends email here..."){
		boolOK = false;
		errorMsg+= "please enter your friends email address\n";
	}
	
	if(boolOK){
		document.frmSendFriend.submit();
	}else{
		alert(errorMsg);
	}
}

function fnCheckLetterEmail(){
	if(document.getElementById("cemailaddress").value == "please enter your email here..."){
		alert("please enter an email address...");
	}else{
		document.frmNewsLetter.submit();
	}
}

function fnSubmitAvailability(){
	document.frmCalendar.submit();
}

function fnCheckContactForm(){
	
	var boolOK = true;
	var errorMsg = "The form has not been completed, please provide the following...\n";
	
	if(document.getElementById("cfullname").value == ""){
		errorMsg+= " - your full name\n";
		boolOK = false;
	}
	
	if((document.getElementById("cemail").value == "") && (document.getElementById("ctelephone").value == "")){
		errorMsg+= " - your email address or a telephone number \n";
		boolOK = false;
	}
	
	if(document.getElementById("cenq").value == ""){
		errorMsg+= " - your message\n";
		boolOK = false;
	}
	
	if(boolOK){
		document.service1.submit();
	}else{
		alert(errorMsg);
	}
}

function fnCheckCommentForm(){
	
	var boolOK = true;
	var errorMsg = "The form has not been completed, please provide the following...\n";
	
	if(document.getElementById("cfullname").value == ""){
		errorMsg+= " - your full name\n";
		boolOK = false;
	}
	
	if(document.getElementById("cemail").value == ""){
		errorMsg+= " - your email address\n";
		boolOK = false;
	}
	
	if(document.getElementById("cenq").value == ""){
		errorMsg+= " - your comment\n";
		boolOK = false;
	}
	
	if(boolOK){
		document.frmComment.submit();
	}else{
		alert(errorMsg);
	}
}


function fnCheckEnquiryForm(){
	
	var boolOK = true;
	var errorMsg = "The form has not been completed, please provide the following...\n";
	
	if(document.getElementById("cfullname").value == ""){
		errorMsg+= " - your full name\n";
		boolOK = false;
	}
	
	if((document.getElementById("cemail").value == "") && (document.getElementById("ctelephone").value == "")){
		errorMsg+= " - your email address or a telephone number \n";
		boolOK = false;
	}
	
	if(document.getElementById("cenq").value == ""){
		errorMsg+= " - your message\n";
		boolOK = false;
	}
	
	if(boolOK){
		document.frmEnquiry.submit();
	}else{
		alert(errorMsg);
	}
}

function fnShowBox(pID){
	fnHideByClass("getthere-box");
	var boxID = "gtbox" + pID;
	//alert(boxID);
	document.getElementById(boxID).style.display = "block";
}

function fnHideByClass(pClass){
	var node = null;
	var tag = null;
	var searchClass = pClass;
	var classElements = new Array();
	if (node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	
	
	for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i].id;
				document.getElementById(els[i].id).style.display = "none"
				j++;
			}
	}
}

function fnCheckAll(pElement,pClass){
	//alert(pElement + " " + pClass);
	if(document.getElementById(pElement).checked){
		var lChecked = true;
	}else{
		var lChecked = false;
	}
	var node = null;
	var tag = null;
	var searchClass = pClass;
	var classElements = new Array();
	if (node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	
	
	for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i].id;
				document.getElementById(els[i].id).checked = lChecked;
				j++;
			}
	}
}

function fnSubmitSearch(pSearchFor){
	var activityType = document.getElementById("cselActivityType").value;
	var regionType = document.getElementById("cselRegionType").value;
	var region = document.getElementById("cselRegion").value;
	var department = document.getElementById("cselDepartments").value;
	var holidayType = document.getElementById("cselHolidayType").value;
	var bedrooms = document.getElementById("cselBedrooms").value;
	var price = document.getElementById("cselPrice").value;
	var hotels = document.getElementById("hotelString").value;

	window.location = "search-results.php?regionType=" + regionType 
						+ "&region=" + region 
						+ "&department=" + department 
						+ "&holidayType=" + holidayType 
						+ "&bedrooms=" + bedrooms 
						+ "&price=" + price 
						+ "&activityType=" + activityType
						+ "&hotels=" + hotels
						+ "&searchFor=" + pSearchFor;
}

function fnSubmitSearchRight(){
	var activityType = "any";
	var regionType = document.getElementById("rselRegionType").value;
	var region = document.getElementById("rselRegion").value;
	var department = document.getElementById("rselDepartments").value;
	var holidayType = "any";
	var bedrooms = document.getElementById("rselBedrooms").value;
	var price = document.getElementById("rselPrice").value;
	var hotels = "any";

	window.location = "search-results.php?regionType=" + regionType 
						+ "&region=" + region 
						+ "&department=" + department 
						+ "&holidayType=" + holidayType 
						+ "&bedrooms=" + bedrooms 
						+ "&price=" + price 
						+ "&activityType=" + activityType
						+ "&hotels=" + hotels;
}

function fnGetDepartments(pRegionID,pSelectID){
	document.getElementById("selectID").value = pSelectID;
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET", "get_departments.php?regionID=" + pRegionID);
		httpObject.send(null);
		httpObject.onreadystatechange = departmentsPopulate;
	}
}

function departmentsPopulate(){
	if(httpObject.readyState == 4){
		var pReturn = httpObject.responseText;
		//alert(pReturn);
		var arrOptions = pReturn.split("--op--");
		var lSelect = document.getElementById("selectID").value;
		var optTextAndID = "";
		document.getElementById(lSelect).length = 0;
		
		var optn = document.createElement("OPTION");
		optn.text = "Any";
		optn.value = "0";
		document.getElementById(lSelect).options.add(optn);
		
		for(i = 0; i < arrOptions.length - 1; i++){
			var optn = document.createElement("OPTION");
			var arrOptionSplit = arrOptions[i].split("idAndName");
			optn.text = arrOptionSplit[1];
			optn.value = arrOptionSplit[1];
			document.getElementById(lSelect).options.add(optn);
		}		
	}
}

function fnShow(pWhat){
	document.getElementById(pWhat).style.display = "block";
}

function fnHide(pWhat){
	document.getElementById(pWhat).style.display = "none";
}

function fnShowHide(pWhat){

	if(document.getElementById(pWhat).style.display == "block"){
		document.getElementById(pWhat).style.display = "none";
	}else{
		document.getElementById(pWhat).style.display = "block";
	}
}



function fnHighlight(pNo){
	var bar = "left-bar-" + pNo;
	if(document.getElementById(bar).className == "left-bar"){
		document.getElementById(bar).className = "left-bar-highlight";
	}else{
		document.getElementById(bar).className = "left-bar";
	}
}

function fnHighlightImage(pID,pImage){
	document.getElementById(pID).src = pImage;
}

function fnRestoreOpacity(pID){
	document.getElementById(pID).className = "opacity100";
}

function fnShowImage(pID,pImage){
	document.getElementById(pID).className = "opacity50";
	document.getElementById("main-image").src = "images/" + pImage;
}

function getHTTPObject(){

	if (window.ActiveXObject) 

		return new ActiveXObject("Microsoft.XMLHTTP");

	else if (window.XMLHttpRequest) 

		return new XMLHttpRequest();

	else {

		alert("Your browser does not support AJAX.");

	return null;

	}
}

function fnCheckLogin(){
	var userName = document.getElementById("txtUserName").value;
	var password = document.getElementById("txtPassword").value;
	var boolOK = true;

	if(userName == ""){
		boolOK = false;
		document.getElementById("required-username").style.display = "block";
	}
	
	if(password == ""){
		boolOK = false;
		document.getElementById("required-password").style.display = "block";
	}

	if(boolOK){
		document.frmLogin.submit();
	}
}

function fnCheckNameExists(pTable){
	document.getElementById("nameError").style.display = "none";
	document.getElementById("nameErrorSpan").innerHTML = "";
	var fName = document.getElementById("cname").value;
	if(fName == ""){
		fnCheckAdminForm("dummy");
	}else{
		httpObject = getHTTPObject();
		if (httpObject != null) {
			httpObject.open("GET", "check_name_exists.php?table=" + pTable + "&name=" + fName);
			httpObject.send(null);
			httpObject.onreadystatechange = setExistsError;
		}
	}
}
	
function setExistsError(){
	if(httpObject.readyState == 4){
		var pReturn = httpObject.responseText;
		//alert(pReturn);
		if(pReturn == ""){
			fnCheckAdminForm("dummy");
		}else{
			fnCheckAdminForm(pReturn);
		}
	}
}

function fnCheckAdminForm(pName){
	var fName = document.getElementById("cname").value;
	var boolOK = true;
	
	if(pName != "dummy"){
		document.getElementById("nameError").style.display = "block";
		document.getElementById("nameErrorSpan").innerHTML = pName + " already exists, please use a different name";
		boolOK = false;
	}else{
		if(fName == ""){
			boolOK = false;
			document.getElementById("nameError").style.display = "block";
			document.getElementById("nameErrorSpan").innerHTML = "please enter a name";
		}
		if((sPage != "admin_add_page.php") && (sPage != "admin_add_section.php") && (sPage != "admin_edit_section.php")){
			var fTitle = document.getElementById("ctitle").value;
			if(fTitle == ""){
				boolOK = false;
				document.getElementById("titleError").style.display = "block";
				document.getElementById("titleErrorSpan").innerHTML = "please enter a title";
			}
		}
	}

	if(boolOK){
		document.frmAdmin.submit();
	}
}

function fnLoginFail(pFailID){
	var message;
	document.getElementById("failed").style.display = "block";
	switch(pFailID){
		case 1:
			message = "user not recognised, please check your username and password are correct";
		break
		case 2:
			message = "you do not have sufficient administrative rights to view the page requested";
		break
	}
	
	document.getElementById("failed-message").innerHTML = message;
}
