//Suckerfish Menus for IE
sfHover = function() {
	var sfEls = document.getElementById("gNavDrop").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

var strPrevNavID = ""

function showMenu(id,obj) {
	var d = document.getElementById(id);
	
	if (strPrevNavID != id) {
		if (document.getElementById(strPrevNavID)) {
				document.getElementById(strPrevNavID).style.display='none';
			}
	}
	
	if (d) {
		if (d.style.display=='block'){
			d.style.display='none';
			strPrevNavID = "";
		}else{
			d.style.display='block';
			strPrevNavID = id;
		}
	}
}

function PopUp(id,width,height){
	if(id!=""){
		var winl = (screen.width - width) / 4;
     	var wint = (screen.height - height)/ 2;
		var strURL = "/photo.asp?id=" + id;
		var objHeight = parseInt(height) + 105; //85
		var objPhotoWindow = window.open(strURL,'photo','height='+objHeight+'px,width=800px,left='+winl+',top='+wint+',directories=0,fullscreen=0,location=0,menubar=0,scrollbars=1,resizable=0,status=0,toolbar=0');
	}
	//,left=10,top=10
}


function strTrim(strText) {
		for (i=0; i<strText.length; ++i) {
			if (strText.charAt(i) != ' ') break;
		}
		if (i >= strText.length) return ('');
		if (i > 0) strText = strText.substring(i, strText.length);
		for (j=strText.length-1; j > i; --j) {
			if (strText.charAt(j) != ' ') break;
		}
		if (j < strText.length -1)
			strText = strText.substring(0, j+1);
		return strText;

}
function ValidEmail(s){
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
} 


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_validateForm() { //v4.0
		  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
		  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
		    if (val) { nm=val.name; if ((val=val.value)!="") {
		      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
			if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
		      } else if (test!='R') { num = parseFloat(val);
			if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
			if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
			  min=test.substring(8,p); max=test.substring(p+1);
			  if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
		    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
		  } if (errors) alert('The following error(s) occurred:\n'+errors);
		  document.MM_returnValue = (errors == '');
		}

function checkSearch(query) {
	if(!query) {
		alert('Please enter a search term');
		return false;
	}
}

function DisplayPassword(){
	var obj = document.getElementById("forgotPassword");
	if(obj.style.display == "none"){
		obj.style.display = "inline";
		//setTimeout("setPassFocus()",10);
	}else{
		obj.style.display = "none";
	}	
	
	/*var obj = xDOM("forgotPassword",0);
	if(obj.style.height == "0px"){
		obj.style.height = "120px";
		setTimeout("setPassFocus()",10);
	}else{
		obj.style.height = "0px";
	}	*/
}

function setPassFocus(){
	var objInput = xDOM("forgotForm",0);
	objInput.email.focus();	
}

function CheckPaymentType(objSelect,strValue){
	if (strValue != ""){
		var strSelectValue = strValue
	}else{
		var strSelectValue = objSelect[objSelect.selectedIndex].value;
	}
	
	var objCC = xDOM("CCDetails",0);
	if(strSelectValue.substring(0,1) == '1'){
		objCC.style.display = "block";
	}else{
		objCC.style.display = "none";	
		
	}
}

var strPrevId = ""
var objPrevAnswer = ""
var objPrevQuestion = ""
function toggle(id) {
		
		var objAnswerLayer = xDOM('a' + id,0);
		var objQuestionLayer = xDOM('q' + id,0);
		
		if(strPrevId != ""){
			objPrevAnswer = xDOM('a' + strPrevId,0);
			objPrevQuestion = xDOM('q' + strPrevId,0);
		}
		
		if(objPrevAnswer != "" & id == strPrevId){
			objPrevAnswer.style.display = "none";
			objPrevQuestion.className = 'question';
			objQuestionLayer.blur();
			objPrevAnswer = "";
			strPrevId = "";
		} else if(objPrevAnswer != "" & id != strPrevId){
			objPrevAnswer.style.display = "none";
			objPrevQuestion.className = 'question';
			objAnswerLayer.style.display = "block";
			objQuestionLayer.className = 'questionOn';
			objQuestionLayer.blur();
			objPrevAnswer = objAnswerLayer;
			strPrevId = id;
		} else {
			objAnswerLayer.style.display = "block";
			objQuestionLayer.className = 'questionOn';
			objQuestionLayer.blur();
			objPrevAnswer = objAnswerLayer;
			strPrevId = id;
		}
		
	}

// Cross Browser DOM Functions used to create objects and get top / left coords
// copyright Stephen Chapman, 4th Jan 2005
// you may copy this code but please keep the copyright notice as well
var aDOM = 0, ieDOM = 0, nsDOM = 0
var stdDOM = document.getElementById;
if (stdDOM) aDOM = 1; else {
  ieDOM = document.all;
  if (ieDOM) aDOM = 1; else {
    var nsDOM = (
      (navigator.appName.indexOf('Netscape') != -1)
      && (parseInt(navigator.appVersion) ==4));
    if (nsDOM) aDOM = 1;
  }
}
function xDOM(objectId, withStyle) {
var st = ''; if (withStyle) st = '.style';
if (stdDOM) return (eval('document.getElementById(objectId)'+st));
if (ieDOM) return (eval('document.all[objectId]'+st));
if (nsDOM) return (document.layers[objectId]);
}

function ValidateUpdateUser(objForm){
	
	var strAlert = "";
	strAlert = "______________________________________\n\nPlease\n\n";
	var isAlert = false;
	var strFirstName = strTrim(objForm.firstName.value);
	var strLastName = strTrim(objForm.lastName.value);
	var strTelephone = strTrim(objForm.telephone.value);
	var strEmail = strTrim(objForm.email.value);
	/** Admin Password **/
	
	var strOldAdminPass = strTrim(objForm.oldAdminpassword.value);
	var strAdminPassword = strTrim(objForm.adminpassword.value);
	var strConfirmAdminPassword = strTrim(objForm.confirmadminpassword.value);


	/** Unit password **/
	var strOldPassword = strTrim(objForm.oldpassword.value);
	var strPassword = strTrim(objForm.password.value);
	var strConfirmPassword = strTrim(objForm.confirmpassword.value);
	
	if (strFirstName==""){
		strAlert += "- Enter your first name\n";
		isAlert = true;
	}
	if (strLastName==""){
		strAlert += "- Enter your last name\n";
		isAlert = true;
	}			
	if (strTelephone==""){
		strAlert += "- Enter your telephone number\n";
		isAlert = true;
	}						
	if(strEmail == "") {
		strAlert += "- Enter your email address\n";
		isAlert = true;
	}else if(!ValidEmail(strEmail)){
		strAlert += "- Enter a valid email address\n";
		isAlert = true;
	}		
	
	if(strOldAdminPass!=''){
		if(strAdminPassword==""){
			strAlert += "- Enter your new Admin password\n";
			isAlert = true;			
		}else if(strAdminPassword.length < 6){
			strAlert += "- Ensure your new Admin password is at least 6 characters\n";
			isAlert = true;
		}else if(strAdminPassword != strConfirmAdminPassword){
			strAlert += "- Ensure your new Admin password and confirm password match\n";
			isAlert = true;
		}					
	}
	if(strOldPassword!=''){
		if(strPassword==""){
			strAlert += "- Enter your new Unit password\n";
			isAlert = true;			
		}else if(strPassword.length < 6){
			strAlert += "- Ensure your new Unit password is at least 6 characters\n";
			isAlert = true;
		}if(strPassword != strConfirmPassword){
			strAlert += "- Ensure your new Unit password and confirm password match\n";
			isAlert = true;
		}					
	}
	
	
	
	if (isAlert == true){
		strAlert += "\n\n______________________________________";
		alert (strAlert);
		return false;
	}else{
		return true;
	}
	
	
	
}



function ValidateNewUser(objForm){
	var strAlert = "";
	strAlert = "______________________________________\n\nPlease\n\n";
	var isAlert = false;
	var strFirstName = strTrim(objForm.firstName.value);
	var strLastName = strTrim(objForm.lastName.value);
	var strTelephone = strTrim(objForm.telephone.value);
	var strEmail = strTrim(objForm.email.value);
	var strPassword = strTrim(objForm.password.value);
	var strConfirmPassword = strTrim(objForm.confirmpassword.value);
	
	if (strFirstName==""){
		strAlert += "- Enter your first name\n";
		isAlert = true;
	}
	if (strLastName==""){
		strAlert += "- Enter your last name\n";
		isAlert = true;
	}			
	if (strTelephone==""){
		strAlert += "- Enter your telephone number\n";
		isAlert = true;
	}						
	if(strEmail == ""){
		strAlert += "- Enter your email address\n";
		isAlert = true;
	}else if(!ValidEmail(strEmail)){
		strAlert += "- Enter a valid email address\n";
		isAlert = true;
	}		
	if(strPassword == "") {
		strAlert += "- Enter a password\n";
		isAlert = true;
	}else if(strPassword.length < 6){
		strAlert += "- Ensure your password is at least 6 characters\n";
		isAlert = true;
	}else if(strPassword != strConfirmPassword){
		strAlert += "- Ensure your password and confirm password match\n";
		isAlert = true;
	}			
	
	
	if(objForm.checkoutstep.value=='confirmdetails'){
	// Checkout, check for address
		var strAddress = strTrim(objForm.strAddress1.value);
		var strSuburb = strTrim(objForm.strAddress2.value);	
		var strState = strTrim(objForm.strState.value);	
		var strPostcode = strTrim(objForm.strPostcode.value);	
		var strCountry = strTrim(objForm.strCountry.value);	
		if (strAddress==""){
			strAlert += "- Enter your shipping address\n";
			isAlert = true;
		}		
		if (strSuburb==""){
			strAlert += "- Enter your shipping suburb / town\n";
			isAlert = true;
		}		
		if (strState==""){
			strAlert += "- Enter your shipping state\n";
			isAlert = true;
		}		
		if (strPostcode==""){
			strAlert += "- Enter your shipping postcode \n";
			isAlert = true;
		}		
		if (strCountry==""){
			strAlert += "- Enter your shipping country\n";
			isAlert = true;
		}		

	}
	
	
	
	if (isAlert == true){
		strAlert += "\n\n______________________________________";
		alert (strAlert);
		return false;
	}else{
		return true;
	}
}

function CheckPayment(objForm){
	var strAlert = "";
	strAlert = "______________________________________\n\nPlease\n\n";
	var isAlert = false;

	var paymentMethod = objForm.paymentType.options[objForm.paymentType.selectedIndex].value;	
	var intCreditCard = strTrim(objForm.ccnumber.value)
	var intCreditCardName = strTrim(objForm.nameoncard.value)
	if(paymentMethod==""){
		strAlert += "- Please select a payment method.\n";
		isAlert = true;		
	}else if(paymentMethod.substring(0,1) == '1'){ // Its a credit card
		if (intCreditCardName==""){
			strAlert += "- Please enter the name on your Credit Card\n";
			isAlert = true;
		}
		if (intCreditCard==""){
			strAlert += "- Please enter a valid Credit Card number\n";
			isAlert = true;
		}		
	}
	if (isAlert == true){
		strAlert += "\n\n______________________________________";
		alert (strAlert);
		return false;
	}else{
		return true;
	}	
	
}

function CheckLogin(objForm){
	var strAlert = "";
	strAlert = "______________________________________\n\nPlease\n\n";
	var isAlert = false;

	var username = strTrim(objForm.username.value)
	var password = strTrim(objForm.password.value)

	if (username==""){
		strAlert += "- Please enter your username (email address)\n";
		isAlert = true;
	}		

	if (password==""){
		strAlert += "- Please enter your password\n";
		isAlert = true;
	}			
	if (isAlert == true){
		strAlert += "\n\n______________________________________";
		alert (strAlert);
		return false;
	}else{
		return true;
	}
}

// Credit Card Validation Javascript
// copyright 12th May 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 validateCreditCard(s) {
	var v = "0123456789";
	var w = "";
	for (var i=0; i < s.length; i++) {
	x = s.charAt(i);
	if (v.indexOf(x,0) != -1)
	w += x;
	}
	var j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	var k = Math.floor(j);
	var m = Math.ceil(j) - k;
	var c = 0;
	for (var i=0; i<k; i++) {
	a = w.charAt(i*2+m) * 2;
	c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (var i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}


// ROTATING NEWS BANNER //
// Scripts for the Rotating News stuff....
var intSecondBetweenItems = 5;
var intPreviousItem = 0;
var intTotalItems = 8;
function DisplayContent(strID){	
	if(intPreviousItem!=0) {
		//SwapButton(intPreviousItem,"/css/images/HomeNewsNumberGrey.gif");
		displayPreObjNum = getObj("news_"+intPreviousItem);
		displayPreObjNum.className = "NumberItem";
	}

	//SwapButton(strID,"/css/images/HomeNewsNumberGreen.gif");
	displayObjNum = getObj("news_"+strID);
	displayObjNum.className = "NumberItemOn";
	displayObj = getObj("newsContent");
	displayObj.innerHTML = ""
	displayObj.innerHTML = unescape(arrHomeNews[strID].strHtml)	

	if(intTotalItems == parseInt(strID)){
		intNextNewsID = 1;
	}else{
		intNextNewsID = parseInt(strID) + 1;
	}		
	intPreviousItem = strID;
}

function cycleNewsItems(strID){
	if(blnCycleNews){
		DisplayContent(strID);
		setTimeout("cycleNewsItems(intNextNewsID)", intSecondBetweenItems*1000)
	}
}

function DisplayNewsItem(strID){
	blnCycleNews = false
	DisplayContent(strID);
}

function PauseNews(){
	blnCycleNews = false
}
function restartNews(){
	if(!blnCycleNews){
		blnCycleNews = true
		cycleNewsItems(intNextNewsID);
	}
}	

function GoBackOne(){
	blnCycleNews = false
	intNextNewsID = intNextNewsID - 2
	if(intNextNewsID < 1){
		intNextNewsID = intNextNewsID + intTotalItems	
	}	
	DisplayContent(intNextNewsID);	
}
function GoForwardOne(){
	blnCycleNews = false
	DisplayContent(intNextNewsID);
}	
function initNews(){
	cycleNewsItems(1)
}

function SwapButton(strID,strImageAndPath){
	objButton = getObj("news_" + strID)
	objButton.style.background='url('+ strImageAndPath +') no-repeat'
}

function getObj(id){
	if(document.getElementById){
		return document.getElementById(id);
	}else{
		return document.all[id];
	} 
}

function getDayWk(intYear, intMonth, intDay){
	var arrayDay = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); 
	var newsDate = new Date();
	newsDate.setFullYear(intYear,intMonth,intDay);
	var numnewsDay = newsDate.getDay();

	return arrayDay[numnewsDay]+", ";
}

function getSuffix(newsDay){
	// Add suffix to date (1st, 2nd, 4th, etc.)
	var suffix;
	
	if (newsDay==1) { suffix=("st"); }
	else if (newsDay==2) { suffix=("nd"); }
	else if (newsDay==3) { suffix=("rd"); }
	else if (newsDay==21) { suffix=("st"); }
	else if (newsDay==22) { suffix=("nd"); }
	else if (newsDay==23) { suffix=("rd"); }
	else if (newsDay==31) { suffix=("st"); }
	else suffix=("th");
	
	return suffix;
}

function populateyears(selectname, hiddeninputname, maxyear){
	var curDate = new Date();
	var curYear = curDate.getUTCFullYear();
	var htmltext = "<select name='"+selectname+"'>";
	
	for(var i=maxyear; i!=2006; i--){
		htmltext += "<option value='"+i+"'";
		if(i == document.getElementById(hiddeninputname).value) {
			htmltext += " selected";
		}
		htmltext += ">"+i+"</option>";
	}
	document.write(htmltext + "</select>");
}

function ValidateContact(objForm){
	var strAlert = "";
	strAlert = "______________________________________\n\nPlease\n\n";
	var isAlert = false;
	var strTitle = strTrim(objForm.ptitle.value);
	var strFirstName = strTrim(objForm.pname.value);
	var strLastName = strTrim(objForm.plast.value);
	var strMethodContact = strTrim(objForm.pmethodcontact.value);
	var strEmail = strTrim(objForm.pemail.value);
	var strHomePhone = strTrim(objForm.pphone.value);
	var strWorkPhone = strTrim(objForm.pwork.value);
	var strEnquiryTo = strTrim(objForm.penquiryto.value);
	var strFeedback = strTrim(objForm.pfeedback.value);
	
	if (strFirstName==""){
		strAlert += "- Enter your first name\n";
		isAlert = true;
	}
	if (strLastName==""){
		strAlert += "- Enter your last name\n";
		isAlert = true;
	}
	if (strMethodContact==""){
		strAlert += "- Select your preferred method of contact\n";
		isAlert = true;
	}
	if(strEmail == ""){
		strAlert += "- Enter your email address\n";
		isAlert = true;
	}else if(!ValidEmail(strEmail)){
		strAlert += "- Enter a valid email address\n";
		isAlert = true;
	}
	if (strHomePhone==""){
		strAlert += "- Enter your home phone\n";
		isAlert = true;
	}
	/*if (strWorkPhone==""){
		strAlert += "- Enter your work phone\n";
		isAlert = true;
	}
	*/
	if (strEnquiryTo==""){
		strAlert += "- Select who you want to send enquiry to\n";
		isAlert = true;
	}
	/*if (strFeedback==""){
		strAlert += "- Enter some feeback\n";
		isAlert = true;
	}*/
	if (isAlert == true){
		strAlert += "\n\n______________________________________";
		alert (strAlert);
		return false;
	} else {
		return true;
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------
/// Flash UFO functions
// -----------------------------------------------------------------------------------------------------------------------------------------

function FixFlash(strContainerID, strFlashPath, width, height, flashvars){
	var FO = { movie:strFlashPath, width:width + "px", height:height + "px", flashvars:flashvars, wmode:"transparent", majorversion:"7", build:"40"};
	UFO.create(FO, strContainerID);	
}