
/* Toggle Registration Form */

function ToggleRegoForm(type)
{
	switch(type)
	{
		case "IND":
		document.getElementById("IndividualForm1").style.display = "";
		document.getElementById("IndividualForm2").style.display = "";
		document.getElementById("TravelAgentForm1").style.display = "none";
		document.getElementById("TravelAgentForm2").style.display = "none";
		document.getElementById("TravelAgentForm3").style.display = "none";
		document.getElementById("HostelForm1").style.display = "none";
		document.getElementById("HostelForm2").style.display = "none";

		break;
		
		case "TRA":
		document.getElementById("IndividualForm1").style.display = "none";
		document.getElementById("IndividualForm2").style.display = "none";
		document.getElementById("TravelAgentForm1").style.display = "";
		document.getElementById("TravelAgentForm2").style.display = "";
		document.getElementById("TravelAgentForm3").style.display = "";
		document.getElementById("HostelForm1").style.display = "none";
		document.getElementById("HostelForm2").style.display = "none";

		break;

		case "HST":
		document.getElementById("IndividualForm1").style.display = "none";
		document.getElementById("IndividualForm2").style.display = "none";
		document.getElementById("TravelAgentForm1").style.display = "none";
		document.getElementById("TravelAgentForm2").style.display = "none";
		document.getElementById("TravelAgentForm3").style.display = "none";
		document.getElementById("HostelForm1").style.display = "";
		document.getElementById("HostelForm2").style.display = "";

		break;

		default:
	}

}

/* Validate Login Form */

function ValidateLoginForm()
{
	var returnvalue1, returnvalue2;
	returnvalue1 = CheckEmail('LoginEmail', 'Email');	
	returnvalue2 = CheckTextBox('LoginPassword', 'Password');
	return returnvalue1 && returnvalue2;
}

function ValidateGuestForm()
{
	var returnvalue1, returnvalue2;
	returnvalue1 = CheckEmail('LoginEmailGuest', 'LoginEmailGuest');	
	return returnvalue1;
}

/* Validate Registration Form */

function ValidateRegoForm()
{

	switch(document.getElementById("RegoRegistrationType").value)
	{
		case "IND":
			/* Individuals Validation */

			var returnvalue1, returnvalue2, returnvalue3, returnvalue4, returnvalue5, returnvalue6;
			returnvalue1 = CheckTextBox('RegoFirstName', 'Firstname');	
			returnvalue2 = CheckTextBox('RegoLastName', 'Lastname');
			returnvalue3 = CheckEmail('RegoEmail', 'Email');
			returnvalue4 = CheckTextBox('RegoPassword', 'Password');
			returnvalue5 = CheckTextBox('RegoPasswordConfirm', 'Confirm Password');
			returnvalue6 = CheckTextBox('RegoIndCountry', 'Country');

			return returnvalue1 && returnvalue2 && returnvalue3 && returnvalue4 && returnvalue5 && returnvalue6;

		break;
		
		case "TRA":

			/* Travel Agent Validation */

			var returnvalue1, returnvalue2, returnvalue3, returnvalue4, returnvalue5, returnvalue6, returnvalue7, returnvalue8, returnvalue9, returnvalue10, returnvalue11, returnvalue12;
			returnvalue1 = CheckTextBox('RegoAgentName', 'Agent Name');	
			returnvalue2 = CheckTextBox('RegoManagerName', 'Manager Name');	
			returnvalue3 = CheckEmail('RegoEmail', 'Email');
			returnvalue4 = CheckTextBox('RegoPassword', 'Password');
			returnvalue5 = CheckTextBox('RegoPasswordConfirm', 'Confirm Password');
			returnvalue6 = CheckTextBox('RegoAddressLine1', 'Address');
			returnvalue7 = CheckTextBox('RegoSuburb', 'Suburb');
			returnvalue8 = CheckTextBox('RegoState', 'State');
			returnvalue9 = CheckTextBox('RegoPostcode', 'Postcode');
			returnvalue10 = CheckTextBox('RegoTraCountry', 'Country');
			returnvalue11 = CheckTextBox('RegoTraPhone', 'Phone');
			returnvalue12 = CheckTextBox('RegoLicenseNumber', 'License Number');

			return returnvalue1 && returnvalue2 && returnvalue3 && returnvalue4 && returnvalue5 && returnvalue6 && returnvalue7 && returnvalue8 && returnvalue9 && returnvalue10 && returnvalue11 && returnvalue12;

		break;

		case "HST":

			/* Hostel Validation */

			var returnvalue1, returnvalue2, returnvalue3, returnvalue4, returnvalue5, returnvalue6, returnvalue7, returnvalue8, returnvalue9, returnvalue10;
			returnvalue1 = CheckTextBox('RegoHostelName', 'Hostel Name');	
			returnvalue2 = CheckTextBox('RegoHostelContactName', 'Contact Name');	
			returnvalue3 = CheckEmail('RegoEmail', 'Email');
			returnvalue4 = CheckTextBox('RegoPassword', 'Password');
			returnvalue5 = CheckTextBox('RegoPasswordConfirm', 'Confirm Password');
			returnvalue6 = CheckTextBox('RegoHostelAddressLine1', 'Address');
			returnvalue7 = CheckTextBox('RegoHostelSuburb', 'Suburb');
			returnvalue8 = CheckTextBox('RegoHostelState', 'State');
			returnvalue9 = CheckTextBox('RegoHostelPostcode', 'Postcode');
			returnvalue10 = CheckTextBox('RegoHostelPhone', 'Phone');
			return returnvalue1 && returnvalue2 && returnvalue3 && returnvalue4 && returnvalue5 && returnvalue6 && returnvalue7 && returnvalue8 && returnvalue9 && returnvalue10;

		break;

		default:
			
			return false;
	}

}

/* Validate Forgot Password Form */

function ValidateForgotPasswordForm()
{
	var returnvalue1;
	returnvalue1 = CheckEmail('ForgotPasswordEmail', 'Email');	
	return returnvalue1;
}


/* Check if text box has a value */

function CheckTextBox(ThisField, ThisFieldLabel)
{
	if(document.getElementById(ThisField).value == '')
	{
		ShowInputError(ThisField, ThisFieldLabel, false);
		return false;
	}
	else
	{
		return true;
	}
}

/* Check if email has a value or email is valid */

function CheckEmail(ThisField, ThisFieldLabel) 
{ 
	if(document.getElementById(ThisField).value == '')
	{
		ShowInputError(ThisField, ThisFieldLabel, false);
		return false;
	}
	else
	{
		var emailfmt= /^\w+([.-]\w+)*@\w+([.-]\w+)*\.\w{2,8}$/;
		if(!emailfmt.test(document.getElementById(ThisField).value))
		{
			ShowInputError(ThisField, ThisFieldLabel, true);
			return false;
		}
		else
		{
			return true;
		}
	}
}

/* Show input error */

function ShowInputError(ThisField, ThisFieldLabel, IsEmail)
{
	var colour  = "#cccccc";
	var TheMessage;
	if (IsEmail) 
	{ 
		TheMessage = ThisFieldLabel + ' is not valid'; 
	}
	else
	{
		TheMessage = 'Value for ' + ThisFieldLabel + ' is required.';
	}
	alert(TheMessage);
	document.getElementById(ThisField).style.backgroundColor = colour;
	document.getElementById(ThisField).focus();
}

/******************************************
* auto resize ifame
********************************************/
function autofitIframe(id)
{
	if(document.getElementById) 
	{
		if(parent.document.getElementById(id))
		{
			parent.document.getElementById(id).style.height=this.document.body.scrollHeight+"px";
			parent.document.getElementById(id).style.width=this.document.body.scrollWidth+"px";
			/*
			if (this.document.body.offsetHeight)
			{
				parent.document.getElementById(id).style.height=this.document.body.offsetHeight+"px";
			}
			*/
		}
	}
}

/******************************************
* Handle top login - AJAX
********************************************/

function processTopLogin()
{
	if (document.getElementById("TopLoginEmail").value != "" && document.getElementById("TopLoginEmail").value != "Email" && document.getElementById("TopLoginPassword").value != "")
	{	
		var loginObject = new sack();
		loginObject.requestFile = "Booking/AjaxScripts/TopLogin.asp?email=" + document.getElementById("TopLoginEmail").value + "&password=" + document.getElementById("TopLoginPassword").value;

		loginObject.onCompletion = function()
				{
					if(loginObject.response == 'Error')
					{
						alert('Invalid Email/Password combination.');						
					}
					else
					{
						if(document.getElementById("login2"))
						{
							alert('Login Successful.');
							//document.getElementById("login2").innerHTML = loginObject.response;
							document.location.reload();
						}
					}					
				};
		loginObject.onError = function()
		{  
				alert('There was an error processing your request.');
		};  
		loginObject.runAJAX();
	}

}

/**********************************************
* change parent page url if there is a parent page
***********************************************/
function ChangeParentURL(thisURL)
{
	if (window.parent)
	{
		window.parent.location.replace(thisURL) 

	}
	else
	{
		window.location.replace(thisURL) 
	}
}

/**********************************************
* Expand/Contract Route Options Tree
***********************************************/

function stretchTourOptionUL(oEle)
{
	if(oEle != null && oEle.nodeType=="1")
	{
		subEle = oEle.parentNode.getElementsByTagName("ul")[0];

		if(subEle.style.display != "none")
		{
			subEle.style.display = "none";
			oEle.innerHTML = "<img width=\"11\" height=\"11\" src=\"images/tree_menu.gif\" />";
		}
		else
		{
			subEle.style.display = "block";
			oEle.innerHTML = "<img width=\"11\" height=\"11\" src=\"images/tree_menu2.gif\" />";
		}
	}
}

function setTourOptions(routeID)
{
	document.getElementById("SelectedRouteImage").innerHTML = document.getElementById("RouteImage_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionTitle").innerHTML = document.getElementById("RouteTitle_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionDays").innerHTML = document.getElementById("RouteDays_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionFrom").innerHTML = document.getElementById("RouteFrom_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionTo").innerHTML = document.getElementById("RouteTo_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionPrice").innerHTML = document.getElementById("RoutePrice_" + routeID).innerHTML;

	document.getElementById("SelectedTourOptionBookingLink").href = document.getElementById("RouteBookingLink_" + routeID).innerHTML;
	document.getElementById("SelectedTourOptionMoreLink").href = document.getElementById("RouteMoreLink_" + routeID).innerHTML;

	//SelectedTourOptionMoreLink

}


function SetCurrency(thisObject) 
	{
		var SelectedCurrencyID = thisObject.options[thisObject.selectedIndex].value;
		var TextValue = thisObject.options[thisObject.selectedIndex].text 
		// Set the session
		ajax_loadContent("CurrencyDiv","SetCurrency.asp?CurrencyID=" + SelectedCurrencyID, "");
		// Tell the user
		alert('Currency Changed to ' + TextValue);
		document.location.reload();
	}