/// for sticky close box	
	// for sticky right box
	/* checked with jsLint 2006 05 26 */
	/* BackToTop link that sticks in one spot */
	scrollSpeed2=20; //Screen refresh rate in msec.?
	scrolled2='document.body.scrollTop';var ltop2;
	/* fontsize zoom example */

	function checkScrolled2(){ //backTo Top link stays in lower right
	  document.getElementById('stickyEl').style.top=eval(scrolled2)+ltop2+'px';
	  setTimeout('checkScrolled2()',scrollSpeed2);}
	function stickyInit(){copy=''; //write link dynamically
	  copy+='<a href="index.cct" class="sticky">Home Page<\/a>';
	  document.getElementById('stickyEl').innerHTML=copy;
	  x1=eval(scrolled2);window.scrollBy(0,1); //test scrolled2 ptr
	  x2=eval(scrolled2);window.scrollBy(0,-1); //reset position
	  if((x2-x1)<1){scrolled2='document.documentElement.scrollTop';}
	  ltop2=parseInt(document.getElementById('stickyEl').style.top,10);
	  checkScrolled2();}
	/* rollover color change example */
	fadept=0; // global to remember fade state
	function fade(thisone){
	  col="#000";
	  switch (fadept){
		case 0:col='#000';break;
		case 1:col='#333';break;
		case 2:col='#666';break;
		case 3:col='#999';break;
		case 4:col='#aaa';break;
		case 5:col='#ccc';break;
		case 6:col='#ddd';break;
		case 7:col='#eee';break;
		case 8:col='#fff';break;
		}
	fadept+=1;  // increment for next time around
	if(fadept>8){fadept=0;} // hit end so reset
		styleObj=document.getElementById(thisone).style;
		styleObj.color=col;
	}


	//// Validate Required Fields
	function ValidateFields(formobj, fieldRequired, fieldDescription){
			// validate inputs nows		
			var alertMsg = "Please Re-Enter / Complete the following fields:\n";	
			var l_Msg = alertMsg.length;			
			for (var i = 0; i < fieldRequired.length; i++){
				var obj = formobj.elements[fieldRequired[i]];
				if (obj){
					switch(obj.type){
					case "select-one":
						if ((obj.selectedIndex == -1) || (obj.options[obj.selectedIndex].text == "") || (obj.options[obj.selectedIndex].value == "")){
							alertMsg += " - " + fieldDescription[i] + "\n";
						}
						break;
					case "select-multiple":
						if (obj.selectedIndex == -1){
							alertMsg += " - " + fieldDescription[i] + "\n";
						}
						break;
					case "text":
					case "password":
					case "file":
					case "textarea":
						if ((obj.value == "") || (obj.value == null) || (obj.value.length == 0) ){
							alertMsg += " - " + fieldDescription[i] + "\n";
						}
						break;
					default:
					}
					if (obj.type == undefined){
						var blnchecked = false;
						for (var j = 0; j < obj.length; j++){
							if (obj[j].checked){
								blnchecked = true;
							}
						}
						if (!blnchecked){
							alertMsg += " - " + fieldDescription[i] + "\n";
						}
					}
				}
			}			
			if (alertMsg.length != l_Msg) {
				alert(alertMsg);
				return false;
			}			
		return true
	}


/// for data input functions
		// validates image files
		function LimitAttach(form, file) {
			extArray = new Array(".jpg");
			allowSubmit = false;
			while (file.indexOf("\\") != -1)
				file = file.slice(file.indexOf("\\") + 1);
				ext = file.slice(file.indexOf(".")).toLowerCase();
				for (var i = 0; i < extArray.length; i++) {
					if (extArray[i] == ext) { allowSubmit = true; break; }
				}
				if (allowSubmit) return true;
				else
					alert("Please only upload files that end in types:  "
					+ (extArray.join("  ")) + "\nPlease select a new "
					+ "file to upload and submit again.");
				return false;
		}

		function isPhoneNumber(s){
		 	// Check for correct phone number
			 rePhoneNumber = new RegExp(/^\d{4}\-\d{3}\-\d{4}$/);
	 		if (!rePhoneNumber.test(s.value)) {
				  alert("Phone Number Must Be Entered As: 0805-488-5724");
 					s.select()
				  return false;				    	
			 }
 			return true;
		}
	//
		function checkdate(input){
			var validformat=/^\d{1,2}\/\d{1,2}\/\d{4}$/ //Basic check for format validity
			var returnval=false
			if (!validformat.test(input.value))
				alert("Invalid Date Format.\nTry Day/Month/Year Date format.\nPlease correct and submit again.")
			else{ //Detailed check for valid date ranges
				var dayfield=input.value.split("/")[0]	
				var monthfield=input.value.split("/")[1]
				var yearfield=input.value.split("/")[2]
			
				var dayobj = new Date(yearfield, monthfield-1, dayfield)
				if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
					alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
				else
				returnval=true
			}
			if (returnval==false) input.select()
			return returnval
		}

		/*  Email Address Checker 
		 Syntax: form name="validation" onSubmit="return checkemail(this.Email)">
		*/
		function checkemail(myEmail){
			var testresults
			var str=myEmail.value
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (filter.test(str))
				testresults=true
			else{
				alert("Please input a valid email address!")
				testresults=false
			}
			if (testresults==false) myEmail.select()
			return (testresults)
		}

// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function validateEmail(addr) {
	if (addr == '') {
	   alert('email address(s) is mandatory');
	   return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
		  alert('email address contains invalid characters');
		  return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
		  alert("email address contains non ascii characters.");
		  return false;
	   }
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   alert('email address must contain an @');
	   return false;
	}
	if (atPos == 0) {
	   alert('email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   alert('email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   alert('email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   alert('invalid primary domain in email address');
	   return false;
	}
	return true;
}

//
	function multiEmail(email_field) {
		var email = email_field.split(',');
		for (var i = 0; i < email.length; i++) {
			if (!validateEmail(email[i])) return false;
		}
	return true;
	} 

		// determine screen resolutions
		function isHighResolution(){
			if (screen.width <= 1024 || screen.height < 768) return false
			else return true
		}


		function OpenWindow(url,winname, dwidth, dheight) {
			window.open(url, winname, "width="+dwidth+",height="+dheight+
			",directories=no,location=no,menubar=no," +
			"resizable=0,status=yes,toolbar=no,history=no,scrollbars=1,");
			return false;
		}

	// for opening windows
		function OpenMyWindow(url) {
		window.open(url, "", "width=800,height=600,"+
		"directories=no,location=no,menubar=no," +
		"resizable=0,status=yes,toolbar=no,history=no,scrollbars");
		}
	//to minimise windows
		function Minimize() 
		{
		window.innerWidth = 100;
		window.innerHeight = 100;
		window.screenX = screen.width;
		window.screenY = screen.height;
		alwaysLowered = true;
		}
	
	// to maximise windows
		function Maximize() 
		{
		window.innerWidth = screen.width;
		window.innerHeight = screen.height;
		window.screenX = 0;
		window.screenY = 0;
		alwaysLowered = false;
		}

		function stopRKey(evt) { 
		  var evt = (evt) ? evt : ((event) ? event : null); 
		  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
		  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;} 
		} 

		document.onkeypress = stopRKey; 
		//
///