/****************************
*   > CTI Australia         *
*   > By Dilip Kakarla      *
*   > JavaScript Document   *
****************************/

/********************
*   Image Preload   *
********************/

if (document.images) {
	aboutOn = new Image();
    aboutOn.src = "images/aboutRoll.gif";
    philosophyOn = new Image();
    philosophyOn.src = "images/philosophyRoll.gif";
	privacyOn = new Image();
    privacyOn.src = "images/privacyRoll.gif";
    infoRequestOn = new Image();
    infoRequestOn.src = "images/infoRequestRoll.gif";
	newsOn = new Image();
    newsOn.src = "images/newsRoll.gif";
    jobOpportunitiesOn = new Image();
    jobOpportunitiesOn.src = "images/jobOpportunitiesRoll.gif";
	contactOn = new Image();
    contactOn.src = "images/contactRoll.gif";
	buildingAutomationOn = new Image();
    buildingAutomationOn.src = "images/buildingAutomationRoll.gif";
	energyManagementOn = new Image();
    energyManagementOn.src = "images/energyManagementRoll.gif";
	hospitalityOn = new Image();
    hospitalityOn.src = "images/hospitalityRoll.gif";
	smartHomeOn = new Image();
    smartHomeOn.src = "images/smartHomeRoll.gif";
	smartHomeCompOn = new Image();
    smartHomeCompOn.src = "images/smartHomeCompRoll.gif";
	newslettersOn = new Image();
    newslettersOn.src = "images/newslettersRoll.gif";
	brochuresOn = new Image();
    brochuresOn.src = "images/brochuresRoll.gif";
	
	
	aboutOff = new Image();
    aboutOff.src = "images/about.gif";
    philosophyOff = new Image();
    philosophyOff.src = "images/philosophy.gif";
	privacyOff = new Image();
    privacyOff.src = "images/privacy.gif";
    infoRequestOff = new Image();
    infoRequestOff.src = "images/infoRequest.gif";
	newsOff = new Image();
    newsOff.src = "images/news.gif";
    jobOpportunitiesOff = new Image();
    jobOpportunitiesOff.src = "images/jobOpportunities.gif";
	contactOff = new Image();
    contactOff.src = "images/contact.gif";
	buildingAutomationOff = new Image();
    buildingAutomationOff.src = "images/buildingAutomation.gif";
	energyManagementOff = new Image();
    energyManagementOff.src = "images/energyManagement.gif";
	hospitalityOff = new Image();
    hospitalityOff.src = "images/hospitality.gif";
	smartHomeOff = new Image();
    smartHomeOff.src = "images/smartHome.gif";
	smartHomeCompOff = new Image();
    smartHomeCompOff.src = "images/smartHomeComp.gif";
	newslettersOff = new Image();
    newslettersOff.src = "images/newsletters.gif";
	brochuresOff = new Image();
    brochuresOff.src = "images/brochures.gif";
}

/**********************
*   Activate Images   *
**********************/

function imgOn(imgName) {
	if (document.images) {
    	document[imgName].src = eval(imgName + "On.src");
	}
}

/************************
*   Deactivate Images   *
************************/

function imgOff(imgName) {
	if (document.images) {
    	document[imgName].src = eval(imgName + "Off.src");
	}
}

/***********************
*   Form Validations   *
***********************/

function validateForm() {
	var firstName = document.infoRequest.firstName.value;
	var surName = document.infoRequest.surName.value;
	var email = document.infoRequest.email.value;
	var byAppointment = document.infoRequest.byAppointment.checked;
	var byEmail = document.infoRequest.byEmail.checked;
	var byMail = document.infoRequest.byMail.checked;
	var byFax = document.infoRequest.byFax.checked;
	var phone = document.infoRequest.phone.value;
	var fax = document.infoRequest.fax.value;
	var addressOne = document.infoRequest.addressOne.value;
	var postcode = document.infoRequest.postcode.value;
	var stateChoice = document.infoRequest.state.selectedIndex;
	var info = document.infoRequest.info.value;
	
	if (firstName == "") {
		alert("Please enter your First Name.");
		document.infoRequest.firstName.focus();
		return false;
	}
	if (surName == "") {
		alert("Please enter your Surname.");
		document.infoRequest.surName.focus();
		return false;
	}
	if (email == "") {
		alert("Please enter your E-Mail address.");
		document.infoRequest.email.focus();
		return false;
	}
	if (email != "") {
		var invalidChars = " /:,;";
		for (i = 0; i < invalidChars.length; i++) {
			var badChar = invalidChars.charAt(i);
			if (email.indexOf(badChar,0) > -1) {
				alert("Please enter a valid E-Mail address.");
				document.infoRequest.email.focus();
				return false;
			}
		}
		var atPos = email.indexOf("@",1);
		if (atPos == -1) {
			alert("Please enter a valid E-Mail address.");
			document.infoRequest.email.focus();
			return false;
		}
		if (email.indexOf("@",atPos+1) > -1) {
			alert("Please enter a valid E-Mail address.");
			document.infoRequest.email.focus();
			return false;
		}
		var periodPos = email.indexOf(".",atPos);
		if (periodPos == -1) {
			alert("Please enter a valid E-Mail address.");
			document.infoRequest.email.focus();
			return false;
		}
		if (periodPos+3 > email.length) {
			alert("Please enter a valid E-Mail address.");
			document.infoRequest.email.focus();
			return false;
		}
	}
	if (!byAppointment && !byEmail && !byMail && !byFax) {
		alert("Please indicate how you would like us to pass this information onto you.");
		return false;
	}
	if (byAppointment) {
		if (phone == "") {
			alert("Please enter your Phone Number.");
			document.infoRequest.phone.focus();
			return false;
		}
		else if (isNaN(phone)) {
			alert("Please enter a valid Phone Number.");
			document.infoRequest.phone.focus();
			return false;
		}
	}
	if (byMail) {
		if (addressOne == "") {
			alert("Please enter your Address.");
			document.infoRequest.addressOne.focus();
			return false;
		}
		else if (postcode == "") {
			alert("Please enter your Postcode.");
			document.infoRequest.postcode.focus();
			return false;
		}
		else if (isNaN(postcode)) {
			alert("Please enter a valid Postcode.");
			document.infoRequest.postcode.focus();
			return false;
		}
		else if (document.infoRequest.state.options[stateChoice].value == "none") {
			alert("Please select a State.");
			document.infoRequest.state.focus();
			return false;
		}
	}
	if (byFax) {
		if (fax == "") {
			alert("Please enter your Fax Number.");
			document.infoRequest.fax.focus();
			return false;
		}
		else if (isNaN(fax)) {
			alert("Please enter a valid Fax Number.");
			document.infoRequest.fax.focus();
			return false;
		}
	}
	if (info == "") {
		alert("Please briefly describe the information you are after.");
		document.infoRequest.info.focus();
		return false;
	}
	return true;
}

/************************
*   IFRAME Autoresize   *
************************/

var iframeids=["myframe"];
var iframehide="yes";
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1];
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 450 : 0;

function resizeCaller() {
	var dyniframe=new Array();
	for (i=0; i<iframeids.length; i++) {
		if (document.getElementById)
			resizeIframe(iframeids[i]);
		if ((document.all || document.getElementById) && iframehide=="no") {
			var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]);
			tempobj.style.display="block";
		}
	}
}

function resizeIframe(frameid) {
	var currentfr=document.getElementById(frameid);
	if (currentfr && !window.opera) {
		currentfr.style.display="block";
		if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight)
			currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight; 
		else if (currentfr.Document && currentfr.Document.body.scrollHeight);
			currentfr.height = currentfr.Document.body.scrollHeight;
		if (currentfr.addEventListener)
			currentfr.addEventListener("load", readjustIframe, false);
	else if (currentfr.attachEvent) {
		currentfr.detachEvent("onload", readjustIframe);
		currentfr.attachEvent("onload", readjustIframe);
		}
	}
}

function readjustIframe(loadevt) {
	var crossevt=(window.event)? event : loadevt;
	var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement;
	if (iframeroot)
	resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url) {
	if (document.getElementById)
	document.getElementById(iframeid).src=url;
}

if (window.addEventListener)
	window.addEventListener("load", resizeCaller, false);
	else if (window.attachEvent)
		window.attachEvent("onload", resizeCaller);
else
	window.onload=resizeCaller;
