// JavaScript Document

function externalLinks() {
//function provided by www.sitepoint.com
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       anchor.getAttribute("rel") == "external") 
     anchor.target = "_blank"; 
 } 
} 
window.onload = externalLinks;


//-------------------------------------------------//
function P7_swapClass(){
//function by Project 7 - SwapClass v1.4
//www.projectseven.com
 var i,x,tB,j=0,tA=new Array(),arg=P7_swapClass.arguments;
 if(document.getElementsByTagName){for(i=4;i<arg.length;i++){tB=document.getElementsByTagName(arg[i]);
  for(x=0;x<tB.length;x++){tA[j]=tB[x];j++;}}for(i=0;i<tA.length;i++){
  if(tA[i].className){if(tA[i].id==arg[1]){if(arg[0]==1){
  tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}else{tA[i].className=arg[2];}
  }else if(arg[0]==1 && arg[1]=='none'){if(tA[i].className==arg[2] || tA[i].className==arg[3]){
  tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}
  }else if(tA[i].className==arg[2]){tA[i].className=arg[3];}}}}
}


//-------------------------------------------------//
function Change() {
	if (document.register.proj.value=="Other - ") {
		document.getElementById('hidden_box').style.display = 'block';
		document.register.other.focus();
	}
	else {
		document.getElementById('hidden_box').style.display = 'none';
		document.register.name.focus();
	}	
}


//-------------------------------------------------//
function toggleBox(obj) {
	if (obj.className=='normalbox')
		obj.className='focusbox';
	else
		obj.className='normalbox';
}


//-------------------------------------------------//
function toggleButton(objElement) {
	if (objElement.className=='btn_normal')
		objElement.className='btn_down';
	if (objElement.className=='btn_hover')
		objElement.className='btn_down';
	else
		objElement.className='btn_normal';
}
function buttonRest(objElement) {
		objElement.className='btn_normal';
}
function buttonHover(objElement) {
	if (objElement.className=='btn_normal')
		objElement.className='btn_hover';
	else
		objElement.className='btn_normal';
}


//-------------------------------------------------//
function toggleSmButton(objElement) {
	if (objElement.className=='smbtn_normal')
		objElement.className='smbtn_down';
	if (objElement.className=='smbtn_hover')
		objElement.className='smbtn_down';
	else
		objElement.className='smbtn_normal';
}
function smbuttonRest(objElement) {
		objElement.className='smbtn_normal';
}
function smbuttonHover(objElement) {
	if (objElement.className=='smbtn_normal')
		objElement.className='smbtn_hover';
	else
		objElement.className='smbtn_normal';
}


//-------------------------------------------------//
function toggleDlButton(objElement) {
	if (objElement.className=='dlbtn_normal')
		objElement.className='dlbtn_down';
	if (objElement.className=='dlbtn_hover')
		objElement.className='dlbtn_down';
	else
		objElement.className='dlbtn_normal';
}
function dlbuttonRest(objElement) {
		objElement.className='dlbtn_normal';
}
function dlbuttonHover(objElement) {
	if (objElement.className=='dlbtn_normal')
		objElement.className='dlbtn_hover';
	else
		objElement.className='dlbtn_normal';
}


//-------------------------------------------------//
function RemoveSpaces(txt) {
	while (txt.charAt(0) == ' ')
		txt = txt.substring(1);
	while (txt.charAt(txt.length - 1) == ' ')
		txt = txt.substring(0, txt.length - 1);
	return txt;
}


//-------------------------------------------------//
function ResetForm () {
  if (confirm("Are you sure you want to reset the form?\n\tClick OK to reset it.")) {
      document.register.reset();
	  document.getElementById('hidden_box').style.display = 'none';
	  return true;
  }
  else
  	return false;
}

function ResetContact () {
  if (confirm("Are you sure you want to reset the form?\n\tClick OK to reset it.")) {
      document.contact.reset();
	  return true;
  }
  else
  	return false;
}


//-------------------------------------------------//
function checkSearch() {
	word1=/^or/;
	word2=/^and/;
	word3=/^the/;
	searchVal = document.padpsearch.searchbox.value;
	searchVar = document.padpsearch.searchbox;
	
	if (searchVal=="") {
		alert("Please enter at least one keyword to search");
		searchVar.select();
		return false;
	}
	else if (searchVal=="Type search request here...") {
		alert("[ Type search request here... ] is not a valid search request");
		searchVar.select();
		return false;
	}
	else if ((word1.test(searchVal)) || (word2.test(searchVal)) || (word3.test(searchVal))) {
		alert("Your search may not start with the words: \n\n [ or ] , [ and ] , [ the ]");
		searchVar.select();
		return false;
	}
	else if (searchVal.length < 2) {
		alert("Your search must contain at least 2 characters");
		searchVar.select();
		return false;
	}
	document.padpsearch.sbtn.disabled='disabled';
	return true
}


//-------------------------------------------------//
function CheckRegister() {
	TLC=/^0\d{9}/;
	EMC=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	NReg=/^([a-zA-z\s]{2,128})$/;
	var OtherStr;
	var NameStr;
	var SnameStr;
	var EmailStr;
	var OrgStr;
	var TelNum;
	var CelNum;
	var FaxNum;
	
	OtherStr = RemoveSpaces(document.register.other.value); 
	NameStr = RemoveSpaces(document.register.name.value);
	SnameStr = RemoveSpaces(document.register.sname.value);
	EmailStr = RemoveSpaces(document.register.email.value);
	OrgStr = RemoveSpaces(document.register.org.value);
	TelNum = RemoveSpaces(document.register.tel.value);
	CelNum = RemoveSpaces(document.register.cell.value);
	FaxNum = RemoveSpaces(document.register.fax.value);
	
	if (document.register.proj.value=="0") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please select a Project\n");
		document.register.proj.focus();
		return false;
	}
	if (document.register.proj.value=="1") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please select a Project\n");
		document.register.proj.focus();
		return false;
	}
	if ((document.register.proj.value=="Other - ") && (OtherStr=="")) {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter another Project Name\n");
		document.register.other.focus();
		return false;
	}
		
	if (NameStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your First Name\n");
		document.register.name.focus();
		return false;
	}
	if ((NameStr.length < 2) && (NameStr!="")) {
		alert("FIRST NAME INPUT ERROR:\n\n\n- First Name must be at least 2 characters in length\n");
		document.register.name.select();
		return false;
	}
	if (!NReg.test(NameStr) && (NameStr!="")) {
		alert("FIRST NAME INPUT ERROR:\n\n\n- First Name can only contain alphabetic characters\n");
		document.register.name.select();
		return false;
	}
	
	if (SnameStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Surname\n");
		document.register.sname.focus();
		return false;
	}
	if ((SnameStr.length < 2) && (SnameStr!="")) {
		alert("SURNAME INPUT ERROR:\n\n\n- Surame must be at least 2 characters in length\n");
		document.register.sname.select();
		return false;
	}
	if (!NReg.test(SnameStr) && (SnameStr!="")) {
		alert("SURNAME INPUT ERROR:\n\n\n- Surame can only contain alphabetic characters\n");
		document.register.sname.select();
		return false;
	}
	
	if (OrgStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Organisation name\n");
		document.register.org.focus();
		return false;
	}
	
	if (EmailStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your E-mail address\n");
		document.register.email.focus();
		return false;
	}
	if (!EMC.test(EmailStr)) {
		alert("E-MAIL INPUT ERROR:\n\n\n[ " + EmailStr + " ] is not a valid email address\n");
		document.register.email.select();
		return false;
	}
	
	if (TelNum=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Telephone number\n");
		document.register.tel.focus();
		return false;
	}
	if (!TLC.test(TelNum)) {
		alert("TELEPHONE INPUT ERROR:\n\n\n[ " + TelNum + " ] is not a valid Telephone number.\n\n- Please enter a 10-digit Phone Number starting with a dialing code");
		document.register.tel.select();
		return false;
	}
	
	if (!CelNum=="") {
		if (!TLC.test(CelNum)) {
			alert("CELLPHONE INPUT ERROR:\n\n\n[ " + CelNum + " ] is not a valid Cellphone number");
			document.register.cell.select();
			return false;
		}
	}
	
	if (!FaxNum=="") {
		if (!TLC.test(FaxNum)) {
			alert("FACSIMILE INPUT ERROR:\n\n\n[ " + FaxNum + " ] is not a valid Facsimile number.\n\n- Please enter a 10-digit Facsimile number starting with a dialing code");
			document.register.fax.select();
			return false;
		}
	}
	
	if (document.register.post.value=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Postal Address\n");
		document.register.post.focus();
		return false;
	}

	document.register.btn_submit.disabled='disabled';
	document.register.btn_reset.disabled='disabled';
	return true
}



//------------------------------------------------------------------//
function CheckContact() {
	TLC=/^0\d{9}/;
	EMC=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	NReg=/^([a-zA-z\s]{2,128})$/;
	var OtherStr;
	var NameStr;
	var SnameStr;
	var EmailStr;
	var OrgStr;
	var TelNum;
	var CelNum;
	var FaxNum;
	
	NameStr = RemoveSpaces(document.contact.name.value);
	SnameStr = RemoveSpaces(document.contact.sname.value);
	EmailStr = RemoveSpaces(document.contact.email.value);
	OrgStr = RemoveSpaces(document.contact.org.value);
	TelNum = RemoveSpaces(document.contact.telep.value);
	CelNum = RemoveSpaces(document.contact.cell.value);
	FaxNum = RemoveSpaces(document.contact.fax.value);

	if (NameStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your First Name\n");
		document.contact.name.focus();
		return false;
	}
	if ((NameStr.length < 2) && (NameStr!="")) {
		alert("FIRST NAME INPUT ERROR:\n\n\n- First Name must be at least 2 characters in length\n");
		document.contact.name.select();
		return false;
	}
	if (!NReg.test(NameStr) && (NameStr!="")) {
		alert("FIRST NAME INPUT ERROR:\n\n\n- First Name can only contain alphabetic characters\n");
		document.contact.name.select();
		return false;
	}
	
	if (SnameStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Surname\n");
		document.contact.sname.focus();
		return false;
	}
	if ((SnameStr.length < 2) && (SnameStr!="")) {
		alert("SURNAME INPUT ERROR:\n\n\n- Surame must be at least 2 characters in length\n");
		document.contact.sname.select();
		return false;
	}
	if (!NReg.test(SnameStr) && (SnameStr!="")) {
		alert("SURNAME INPUT ERROR:\n\n\n- Surame can only contain alphabetic characters\n");
		document.contact.sname.select();
		return false;
	}
	
	if (EmailStr=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your E-mail address\n");
		document.contact.email.focus();
		return false;
	}
	if (!EMC.test(EmailStr)) {
		alert("E-MAIL INPUT ERROR:\n\n\n[ " + EmailStr + " ] is not a valid email address\n");
		document.contact.email.select();
		return false;
	}
	
	if (TelNum=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Telephone number\n");
		document.contact.telep.focus();
		return false;
	}
	if (!TLC.test(TelNum)) {
		alert("TELEPHONE INPUT ERROR:\n\n\n[ " + TelNum + " ] is not a valid Telephone number.\n\n- Please enter a 10-digit Phone Number starting with a dialing code");
		document.contact.telep.select();
		return false;
	}
	
	if (!CelNum=="") {
		if (!TLC.test(CelNum)) {
			alert("CELLPHONE INPUT ERROR:\n\n\n[ " + CelNum + " ] is not a valid Cellphone number");
			document.contact.cell.select();
			return false;
		}
	}
	
	if (!FaxNum=="") {
		if (!TLC.test(FaxNum)) {
			alert("FACSIMILE INPUT ERROR:\n\n\n[ " + FaxNum + " ] is not a valid Facsimile number.\n\n- Please enter a 10-digit Facsimile number starting with a dialing code");
			document.contact.fax.select();
			return false;
		}
	}
	
	if (document.contact.query.value=="") {
		alert("REQUIRED FIELD MISSING:\n\n\n- Please enter your Query or Comment\n");
		document.contact.query.focus();
		return false;
	}

	document.contact.btn_submit.disabled='disabled';
	document.contact.btn_reset.disabled='disabled';
	return true
}


// ------------------------------------------------------------------------------- //
function showProject(projname) {
	var projects = new Array('project1', 'project2', 'project3', 'project4', 'project5', 'project6', 'project7', 'project8', 'project9', 'project10', 'project11', 'project12');
	for(i = 0; i < projects.length; i++) {
	  document.getElementById(projects[i]).style.display = (projname == projects[i]) ? 'block':'none';
	}
	return false;
}

// ------------------------------------------------------------------------------- //
function HydSho() {
	for (var i=0; i<HydSho.arguments.length; i++) {
		var element = document.getElementById(HydSho.arguments[i]);
		element.style.display = (element.style.display == "none") ? "block" : "none";
	}
}

function printProjects() {
	P7_swapClass(1,'none','open','closed','li');
	window.print()
}

function openImage(url) {
	window.open( url, 'name', "status = 0, height = 450, width = 338, left = 250, top = 100, resizable = 0" )
}

//-------------------------------------------------------------------------------//
function checkMdp() {
	if ((document.mdp.filename.value=="0") || (document.mdp.filename.value=="1")) {
		alert("Please select a Report to view/download");
		document.mdp.filename.focus();
		return false;
	}
}


