//	All of the front end JS should be kept in here
// 	Created by Tom Jenkins
//	Date 12/08/2005

//  Validations...

function valSearch(){
	var theForm = document.searchCriteria;
	if (theForm.criteria.value==''){
		alert('Please enter something to search on');
		return false
	}
return true
}

function checkFormSuggestion()
{
	var theForm = document.Suggestion;
	
		if ( !RequiredInput(theForm.Title,'Please select a title') ) { return false; }
		if ( !RequiredInput(theForm.Firstname,'Please enter your first name') ) { return false; }		
		if ( !RequiredInput(theForm.Surname,'Please enter your surname') ) { return false; }
		if ( !RequiredInput(theForm.EmailAddress,'Please enter an email address') ) { return false; }			
		if ( !ValidateEmail(theForm.EmailAddress,'Please enter a valid email address') ) { return false; }
		if ( !RequiredInput(theForm.CompAdd1,'Please enter your company address') ) { return false; }		
		if ( !RequiredInput(theForm.County,'Please enter a county') ) { return false; }
		if ( !RequiredInput(theForm.PostCode,'Please enter a postcode') ) { return false; }
		if ( !RequiredInput(theForm.PhoneNo,'Please enter a contact phone number') ) { return false; }
	
	return true;
}

function checkFormBooking()
{
	var theForm = document.Booking;
	
		if ( !RequiredInput(theForm.Title,'Please select a title') ) { return false; }
		if ( !RequiredInput(theForm.Firstname,'Please enter your first name') ) { return false; }		
		if ( !RequiredInput(theForm.Surname,'Please enter your surname') ) { return false; }
		if ( !RequiredInput(theForm.EmailAddress,'Please enter an email address') ) { return false; }			
		if ( !ValidateEmail(theForm.EmailAddress,'Please enter a valid email address') ) { return false; }
		if ( !RequiredInput(theForm.CompAdd1,'Please enter your company address') ) { return false; }		
		if ( !RequiredInput(theForm.County,'Please enter a county') ) { return false; }
		if ( !RequiredInput(theForm.PostCode,'Please enter a postcode') ) { return false; }
		if ( !RequiredInput(theForm.PhoneNo,'Please enter a contact phone number') ) { return false; }
	
	return true;
}

function checkFormSignup()
{
	var theForm = document.UserSignUp;		
	
			if ( !RequiredSelect(theForm.Title,'Please select your title') ) { return false; }
			if ( !RequiredInput(theForm.FirstName,'Please enter your first name') ) { return false; }
			if ( !RequiredInput(theForm.Lastname,'Please enter your last name') ) { return false; }
			if ( !RequiredInput(theForm.Email,'Please enter an email address') ) { return false; }	
			if ( !ValidateEmail(theForm.Email,'Please enter a valid email address') ) { return false; }
			if ( !RequiredInput(theForm.Password,'Please enter a password') ) { return false; }
			if ( !RequiredInput(theForm.CPassword,'Please confirm your password') ) { return false; }
			if ( theForm.CPassword.value != theForm.Password.value){
				alert('Please make sure your passwords match');
				return false;
			}
			if ( !RequiredSelect(theForm.Country,'Please select a country') ) { return false; }
			
			
	return true;
}

function subscribeForm()
{
	var theForm = document.subscribe;
	
	if ( !RequiredInput(theForm.SubcribeEmail,'Please enter an email to subscribe') ) { return false; }
	if ( !ValidateEmail(theForm.SubcribeEmail,'Please enter a valid email address') ) { return false; }
	if ( theForm.SubcribeEmail.value=='Enter Email' ){	
	alert('Please enter an email to subscribe');
	theForm.SubcribeEmail.focus();
	return false;
	}
	return true;
}

function checkLogin()
{
	var theForm = document.Login;
	
	if ( !RequiredInput(theForm.username,'Please enter your username') ) { return false; }
	if ( !ValidateEmail(theForm.username,'Please check to make sure this is a valid email address') ) { return false; }
	if ( !RequiredInput(theForm.password,'Please enter your password') ) { return false; }
	
	return true;
}

//	Image Rollovers...

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//  Collapse frontend code ...

var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)

if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}

function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent(cid){
if (typeof ccollect!="undefined"){
if (collapseprevious=="yes")
contractcontent(cid)
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
getElementbyClass("switchcontent")
if (enablepersist=="on" && typeof ccollect!="undefined")
revivecontent()
}


if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate


function isFilled( elm ) { 
	if (  elm != null ) {
		if ( elm.value == "" || elm.value == null ) {
			return false									;
		}
		else {
			return true									;
		}
	}
}

function TopLevel(SectionID, RealURL){
	document.AccessMenu.TopSecID.value=SectionID;
	document.AccessMenu.TopSubID.value='';
	document.AccessMenu.TopSubPageID.value='';
	document.AccessMenu.TopPageID.value='';
	document.AccessMenu.action=RealURL;
	document.AccessMenu.submit();
}
function SubLevel(SectionID, RealURL){
	document.AccessMenu.TopSubID.value=SectionID;
	document.AccessMenu.TopSubPageID.value='';
	document.AccessMenu.TopPageID.value='';
	document.AccessMenu.action=RealURL;
	document.AccessMenu.submit();
}
function SubPageLevel(PageID, RealURL){
	document.AccessMenu.TopSubPageID.value=PageID;
	document.AccessMenu.TopSubID.value='';
	document.AccessMenu.TopPageID.value='';
	document.AccessMenu.action=RealURL;
	document.AccessMenu.submit();
}
function SubHomePageLevel(PageID, SectionID, RealURL){
	document.AccessMenu.TopSubPageID.value=PageID;
	document.AccessMenu.TopSubID.value=SectionID;
	document.AccessMenu.TopPageID.value='';
	document.AccessMenu.action=RealURL;
	document.AccessMenu.submit();
}
function PageLevel(PageID, RealURL){
	document.AccessMenu.TopPageID.value=PageID;
	document.AccessMenu.action=RealURL;
	document.AccessMenu.submit();
}


function ExpandSub(SectionID){

	var DivID='SubSection'+SectionID;
	var DivElement=document.getElementById(DivID);	
	var DivElements = document.getElementsByTagName("div");
	var currentDiv;
	var mySubSectionExp;
	var Count=0;

	mySubSectionExp = /SubSection([0-9]+)/g;
	
	for (currentDiv in DivElements)
	{
		Count ++ ;
		var varDiv='SubSection'+Count;		
		if(varDiv.search(mySubSectionExp) == 0)
		{				
			var var1=document.getElementById(String(varDiv));
			
			if (var1 != null){		
				var1.style.display='none';				
			}
		}
	}

	if (DivElement.style.display=='none'){
		DivElement.style.display=''
	}else{
		DivElement.style.display='none'
	}

}
