﻿/*@Author - Chirstopher V Lapa *@content - Javascripts common to all pages in CL *@Date - 01/10/08 */  // front page tabs control function switchTabs(myTab){var arr_tabs = new Array('news','events','contact');	var arLen=arr_tabs.length;	for ( var i=0, len=arLen; i<len; ++i ){				var myArrayTab = arr_tabs[i]+"Tab";				var myTabContent = arr_tabs[i]+"Content";				if(myArrayTab == myTab){			getElement(myTab).className = arr_tabs[i]+"Tab_up";			getElement(myTabContent).style.display = "block";		}else{			getElement(myArrayTab).className = arr_tabs[i]+"Tab_down";			getElement(myTabContent).style.display ="none";		}		}	// garbage collect	myTabContent = "";	myTab = "";} // show / hide content function showHideContent(myEl,myType){	// check which DOM	if(document.all) {		var myDOM = "ie";	} else {		var myDOM = "ff";	}		// get the hidden / showing element from the link clicked		var containerElement = myEl.parentNode;		var mainContentElement = containerElement.parentNode;		if(myDOM == "ie"){				// main or sub?		if(myType == "main"){			var contentElement = mainContentElement.childNodes[1];		}else{			var contentElement = mainContentElement.childNodes[2];		}			}else{		// main or sub?		if(myType == "main"){			var contentElement = mainContentElement.childNodes[3];		}else{			var contentElement = mainContentElement.childNodes[5];		}	}		// check if this is MAIN or SUB content and show or hide		//check if its MAIN or SUB	var mainSubRegEx = /main_/;		//check if its SHOW or HIDE	var showHideRegEx = /_hide/;		var myClassname = contentElement.className;		var mainSub = myClassname.search(mainSubRegEx);		var showHide = myClassname.search(showHideRegEx);		if(mainSub != -1){	// Match! its a MAIN element			if(showHide != -1){		// Match! its HIDDEN			contentElement.className = "main_content_show";		}else{			contentElement.className = "main_content_hide";		}			}else{	// its SUB			if(showHide != -1){		// Match! its HIDDEN			contentElement.className = "sub_content_show";		}else{			contentElement.className = "sub_content_hide";		}	}	} // Show / hide answers in resources / learning activites  function showHideAnswer(myEl){	// check which DOM	if(document.all) {		var myDOM = "ie";	} else {		var myDOM = "ff";	}		// get the hidden / showing element from the link clicked		var containerElement = myEl.parentNode;		var mainContentElement = containerElement.parentNode;		(mainContentElement.className == 'resource_link') ? myLinkEl = true: myLinkEl = false;	if(myDOM == "ie"){		// check if its a double liner link	(myLinkEl == true) ?  contentElement = mainContentElement.parentNode.childNodes[2] : contentElement = mainContentElement.childNodes[2];			}else{			// check if its a double liner link		(myLinkEl == true) ?  contentElement = mainContentElement.parentNode.childNodes[5] : contentElement = mainContentElement.childNodes[5];	}		var myClassname = contentElement.className;		//check if its SHOW or HIDE	var showHideRegEx = /_hide/;		var showHide = myClassname.search(showHideRegEx);		if(showHide != -1){		// Match! its HIDDEN			contentElement.className = "resource_show";		}else{			contentElement.className = "resource_hide";		}	}// get the element across IE and FFfunction getElement(elementID) {	// if its IE	if(document.all) {		return document.all[elementID];	// otherwise	} else {		return document.getElementById(elementID);	}}// buttons image swapfunction swap_image(imageID,imageSource){	// get the object	var imgObj = getElement(imageID);	// change its src	imgObj.src = imageSource;}// menu toggle functionvar previousHeaderElement = '';function toggleMenuSub(menuEl){	// if menu El is undefined set it as the index	(!menuEl) ? menuEl = "menu_index_header" : menuEl = menuEl;			//check if its a click thru or a page load	(!menuEl.parentNode) ? headerMenuElement = getElement(menuEl) : headerMenuElement = menuEl.parentNode;	// get the sub menu ID	var subMenuElement = headerMenuElement.childNodes[2];		// get URL from A obj	var myLink = headerMenuElement.childNodes[0].href;		//get the classname of the header so we can see if it is a red menu item	var headerString = headerMenuElement.className;		// if it is a red menu item	if(headerString.indexOf('red') != -1){						if(headerMenuElement.className == "red_header_closed"){								headerMenuElement.className = "red_header_open";								subMenuElement.className = "sub_open";				}else{								headerMenuElement.className = "red_header_closed";								subMenuElement.className = "sub_closed";							}				}else{			if(previousHeaderElement == headerMenuElement.id){		if(subMenuElement.className == "sub_closed"){				// show the submenu				subMenuElement.className = "sub_open";								// change the plus on the item header to a minus				headerMenuElement.className = "header_open";						}else{								// show the submenu				subMenuElement.className = "sub_closed";								// change the plus on the item header to a minus				headerMenuElement.className = "header_closed";								// change location				(window.location != myLink) ? window.location = myLink : headerString = headerMenuElement.className;		}			}else if(previousHeaderElement != headerMenuElement.id){						// set the previous items vars				previousHeaderElement = getElement(previousHeaderElement);								// previous sub menu element				previousSubMenuElement = previousHeaderElement.childNodes[2];						// show the submenu				subMenuElement.className = "sub_open";								// change the plus on the item header to a minus				headerMenuElement.className = "header_open";							// show the submenu				previousSubMenuElement.className = "sub_closed";								// change the plus on the item header to a minus				previousHeaderElement.className = "header_closed";								// change location				window.location = myLink;			}		}		previousHeaderElement = headerMenuElement.id;}// make the breadcrumbs for the pagefunction makeBreadcrumbs(){	// get the current directory	var path = document.location.pathname;	var currentDir = path.substring(path.indexOf('/', 7)+2, path.lastIndexOf('/'));		currentDir = currentDir.substr(0, 1).toUpperCase() + currentDir.substr(1);		//get the page title	// if its IE	var pageTitleRaw = document.title;		var pageTitleArray  = pageTitleRaw.split(" - ");		pageTitle = pageTitleArray[1];		var rootIndex = '../index.php';		var crumbStr = '<a href="'+rootIndex+'" class="breadcrumbs">Home</a> &gt; <a href="index.php" class="breadcrumbs">'+currentDir+'</a> &gt; <span class="breadcrumbs_active">'+pageTitle+'</span>';		getElement('breadCrumbs').innerHTML = crumbStr;	}// taget _blank work aroundfunction targetBlank(){	window.open(this.href);}// form validation for about/register_updates.php// validate the formfunction validateUpdatesForm(){	var myForm = getElement('regform'); 	var errors = "";		// check profession	if(myForm.title.selectedIndex == 0){		errors += "Please select your title. \n";		getElement('title').className = "form_label_red";	}else{	getElement('title').className = "form_label";	}		//check first name	if(myForm.fname.value == ""){	errors += "Please enter your first name. \n";	getElement('fname').className = "form_label_red";	}else{	getElement('fname').className = "form_label";	}		// check surname	if(myForm.surname.value == ""){	errors += "Please enter your surname. \n";	getElement('surname').className = "form_label_red";	}else{	getElement('surname').className = "form_label";	}		// check profession	if(myForm.prof.selectedIndex == 0){		errors += "Please select your profession. \n";		getElement('prof').className = "form_label_red";	}else{	getElement('prof').className = "form_label";	}		// check email is good	var emailFilter=/^.+@.+\..{2,3}$/;	if (!(emailFilter.test(myForm.email.value))) { 		errors += "Please enter a valid email. \n";		getElement('email').className = "form_label_red";	}else{	getElement('email').className = "form_label";	}		// if there are errors then show the alert	if(errors){		alert(errors);		return false;	}else{		myForm.submit();	}	// submit if good, or display errors if not good	}// header search bar submit functionfunction headerSearchSubmit(){	var myForm = getElement('header_search_form'); 	var errors = "";		// check they have entered a value into the search field	if(myForm.query.value == ""){	errors += "Please enter a search query.";	}		// if there are errors then show the alert	if(errors){		alert(errors);		return false;	}else{		myForm.submit();	}}// opens pop up window pre sized to 850x800function popUp(URL) {day = new Date();id = day.getTime();eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=850,height=800,left = 560,top = 200');");}var indexImageSrc = Array('cl_images/find_index_image.jpg','cl_images/build_index_image.jpg','cl_images/plan_index_image.jpg');var indexImageHolder = getElement('main_section_image');function rotateIndexImages(imgHolder,Start){			if(Start>=indexImageSrc.length){			Start=0;		}			  		getElement('main_section_image').src = indexImageSrc[Start];		  		window.setTimeout("rotateIndexImages("+imgHolder+","+(Start+1)+",1)",3000);alert('IMAGE: '+indexImageSrc[Start]+"\n imgHolder: "+imgHolder+"start: "+Start); } // front page image/link mouseover changerfunction indexSectionImageSwap(sectionName){		//break the loop	sectionNumber = 4;		var imageName = "cl_images/"+sectionName+"_index_image.jpg";	var sectionImageDiv = getElement("section_image");	var sectionImageHTML = '<a href="'+sectionName+'/index.php"><img src="'+imageName+'" width="493" height="300" id="main_section_image" alt="" /></a>';		sectionImageDiv.innerHTML = sectionImageHTML;	}