// $(prototype)
function $() {
  	var elements = new Array();
  	for (var i = 0; i < arguments.length; i++) {
    	var element = arguments[i];
    	if (typeof element == 'string') {
      		element = document.getElementById(element);
		}
    	if (arguments.length == 1) {
      		return element;
    		elements.push(element);
		}
  	}
  	return elements;
}

// browser handle
	var browser = navigator.appName;
	var browserVersion = parseFloat(navigator.appVersion);
	//alert(browser + " " + browserVersion);
	/*
	if (browser == "Netscape") {
	}
	else if (browser == "Konqueror") {
	}
	else if (browser == "Opera") {
	}
	else if (browser == "Microsoft Internet Explorer") {
	}
	else {
	}
	*/
	
// window
window.onload = function() {
}

window.onresize = function() {
}

// search
function searchFocus() {
	$('q').style.background = "#FFFFD2";	
}

function searchBlur() {
	$('q').style.background = "#5C5C5C";	
}

function searchOver(id) {
	$(id).style.backgroundPosition = "0px -18px";	
}

function searchOut(id) {
	$(id).style.backgroundPosition = "0px 0px";	
}

function searchDown(id) {
	$(id).style.backgroundPosition = "0px -36px";	
}

function searchUp(id) {
	$(id).style.backgroundPosition = "0px 0px";	
}


// buttons
/*
function buttonOver(id) {
	var ext = $(id).src.length - 3;
	ext = $(id).src.slice(ext);
	$(id).src = $(id).src.replace("." + ext, "_over." + ext);	
}
function buttonOut(id) {
	var ext = $(id).src.length - 3;
	ext = $(id).src.slice(ext);
	if ($(id).src.indexOf("_down." + ext) != -1) {
		$(id).src = $(id).src.replace("_down." + ext, "." + ext);
	}
	else {
		$(id).src = $(id).src.replace("_over." + ext, "." + ext);
	}		
}
function buttonDown(id) {
	var ext = $(id).src.length - 3;
	ext = $(id).src.slice(ext);
	$(id).src = $(id).src.replace("_over." + ext, "_down." + ext);		
}
function buttonUp(id) {
	var ext = $(id).src.length - 3;
	ext = $(id).src.slice(ext);
	$(id).src = $(id).src.replace("_down." + ext, "." + ext);	
}
*/
function buttonOver(id) {
	$(id).style.backgroundPosition = "0px -50px";	
}
function buttonOut(id) {
	$(id).style.backgroundPosition = "0px 0px";	
}
function buttonDown(id) {
	$(id).style.backgroundPosition = "0px -100px";	
}
function buttonUp(id) {
	$(id).style.backgroundPosition = "0px 0px";
}


// url
function goToLink(id)  {	
	document.location.href = $(id).href;	
}
function goToUrl(url)  {	
	document.location.href = url;	
}

// div functions
function clearMsg(id) {
	$(id).innerHTML = "";
}

function inputFocus(id) {
	$(id).style.background = "#FFFFD2";	
}

function inputBlur(id) {
	$(id).style.background = "#FAFAFA";	
}

function hideDiv(id) {
	$(id).style.display = "none";
}

function showDiv(id) {
	$(id).style.display = "block";
}

function showHide(id) {
	if ($(id).style.display != 'none') {
		hideDiv(id);	
	} else {
		showDiv(id);
	}
}


// 
function goToDownload() {
	window.location = "/downloads.php";	 
}

// forms
function submitForm(id) { 
	$(id).submit();
}

// open fullscreen
function fullScreen(url) {
	window.open(url, '_blank', 'scrollbars=auto, toolbar=0, status=0, location=0, menubar=0, directories=0, resizable=1, titlebar=0', false);
}

// cookies
function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var cName = name + "=";
	var cAttributes = document.cookie.split(';');
	for (var i=0; i < cAttributes.length; i++) {
		var c = cAttributes[i];
		while (c.charAt(0)==' ') c = c.substring(1, c.length);
		if (c.indexOf(cName) == 0) return c.substring(cName.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

// cursor position
function findPosY(obj) {
	var posTop = 0;
	while (obj.offsetParent) {
			posTop += obj.offsetTop; 
			obj = obj.offsetParent;
	}
	return posTop;
}

function findPosX(obj) {
	var posLeft = 0;
	while (obj.offsetParent) {
			posLeft += obj.offsetLeft; 
			obj = obj.offsetParent;
	}
	return posLeft;
}

// footer (not used)
function setFooter() {
	var windowHeight = document.documentElement.clientHeight;
	var footerElement = $('Footer');	
	var footerPosition = findPosY(footerElement);
	
	if (windowHeight - footerPosition >= 0) {
		var newFooterHeight = (windowHeight - footerPosition);
		footerElement.style.height = (newFooterHeight + 'px');
	}
}

// validate contact form
function validateContactForm() {
	var okSoFar = true;
	with ($('emailForm')) {
		var foundAt = email.value.indexOf("@",0);
		if (name.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter your Name.");
			name.focus();
		}
		if (foundAt < 1 && okSoFar) {
			okSoFar = false;
			alert ("Please enter a valid Email Address");
			email.focus();
		}
		if (phone.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Phone Number.");
			phone.focus();
		}
		if (themessage.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter the details for your enquiry.");
			themessage.focus();
		}
		if (okSoFar==true) {			
		  	submitForm('emailForm');
		}
	}
}

function setDownloadValue() {
	$('requestType').value = "download";
}
function setRequestValue() {
	$('requestType').value = "requestCD";
}

// validate download form
function validateDownloadForm() {
	var okSoFar = true;
	with ($('trial_form')) {
		var foundAt = email.value.indexOf("@",0);
		if (name.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter your First Name.");
			name.focus();
		}
		if (surname.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter your Surname.");
			surname.focus();
		}
		if (foundAt < 1 && okSoFar) { 
			okSoFar = false;
			alert ("Please enter a valid Email Address");
			email.focus();
		}
		if (telephone.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Telephone Number.");
			telephone.focus();
		}
		if (company.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Business Name.");
			company.focus();
		}
		if (okSoFar==true) {
			setDownloadValue();
		  	submitForm('trial_form');
		}
	}
}

// validate download form
function validateRequestForm() {
	var okSoFar = true;
	with ($('trial_form')) {
		var foundAt = email.value.indexOf("@",0);
		if (name.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter your First Name.");
			name.focus();
		}
		if (surname.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter your Surname.");
			surname.focus();
		}
		if (foundAt < 1 && okSoFar) {
			okSoFar = false;
			alert ("Please enter a valid Email Address");
			email.focus();
		}
		if (telephone.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Telephone Number.");
			telephone.focus();
		}
		if (company.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Business Name.");
			company.focus();
		}
		if (address.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Street.");
			address.focus();
		}
		if (suburb.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a Suburb.");
			suburb.focus();
		}
		if (city.value=="" && okSoFar) {
			okSoFar = false;
			alert("Please enter a City.");
			city.focus();
		}		
		if (okSoFar==true) {
			setRequestValue();
		  	submitForm('trial_form');
		}
	}
}





///////////////////////////////////////// older functions not used



// COOKIES:
domain		= '';
path		= '/';
secure		= 0;


function save_field(obj) {
	var cookie_value = '';
	var objType = new String(obj.type);
	switch(objType.toLowerCase()) {
		case "checkbox" :
			if (obj.checked) cookie_value = obj.name + '=[1]'
			else cookie_value = obj.name + '=[0]'
			break;
		case "undefined" :
			for (var i = 0; i < obj.length; i++) {
				if (obj[i].checked) cookie_value = obj[i].name + '=[' + i + ']'
			}
			break;
		case "select-one" :
			cookie_value = obj.name + '=[' + obj.selectedIndex + ']';
			break;
		case "select-multiple" :
			cookie_value = obj.name + '=[';
			for (var i = 0; i < obj.options.length; i++) {
				if (obj.options[i].selected) cookie_value += '+' + i
			}
			cookie_value += ']';
			break;
		default :
			cookie_value = obj.name + '=[' + obj.value + ']';
	}
	if (cookie_value) {
		var expires = new Date();
		expires.setYear(expires.getYear() + 1);
		document.cookie = cookie_value +
		((domain.length > 0) ? ';domain=' + domain : '') +
		((path) ? ';path=' + path : '') +
		((secure) ? ';secure' : '') +
		';expires=' + expires.toGMTString();
	}
	return 1;
}

function save_field_Temp(obj) {
	var cookie_value = '';
	var objType = new String(obj.type);
	switch(objType.toLowerCase()) {
		case "checkbox" :
			if (obj.checked) cookie_value = obj.name + '=[1]'
			else cookie_value = obj.name + '=[0]'
			break;
		case "undefined" :
			for (var i = 0; i < obj.length; i++) {
				if (obj[i].checked) cookie_value = obj[i].name + '=[' + i + ']'
			}
			break;
		case "select-one" :
			cookie_value = obj.name + '=[' + obj.selectedIndex + ']';
			break;
		case "select-multiple" :
			cookie_value = obj.name + '=[';
			for (var i = 0; i < obj.options.length; i++) {
				if (obj.options[i].selected) cookie_value += '+' + i
			}
			cookie_value += ']';
			break;
		default :
			cookie_value = obj.name + '=[' + obj.value + ']';
	}
	if (cookie_value) {
		var expires = new Date();
		expires.setSeconds(expires.getSeconds() + 5);
		document.cookie = cookie_value +
		((domain.length > 0) ? ';domain=' + domain : '') +
		((path) ? ';path=' + path : '') +
		((secure) ? ';secure' : '') +
		';expires=' + expires.toGMTString();
	}
	return 1;
}

function retrieve_field(obj) {
	var cookie = '', real_value = '';
	cookie = document.cookie;
	var objType = new String(obj.type);
	if (obj.name)
		var objName = new String(obj.name);
	else
		var objName = new String(obj[0].name);
	var offset_start = cookie.indexOf(objName + '=[');
	if (offset_start == -1) return 1;
	var offset_start_length = objName.length + 2;
	offset_start = offset_start + offset_start_length;
	var offset_end = cookie.indexOf(']', offset_start);
	real_value = cookie.substring(offset_start, offset_end);
	switch(objType.toLowerCase()) {
		case "checkbox" :
			if (real_value == '1') obj.checked = 1
			else obj.checked = 0
			break;
		case "undefined" :
			obj[real_value].checked = 1;
			break;
		case "select-one" :
			obj.selectedIndex = real_value;
			break;
		case "select-multiple" :
			for (var i = 0; i < obj.options.length; i++) {
				if ((real_value.indexOf('+' + i)) > -1)
					obj.options[i].selected = 1;
				else
					obj.options[i].selected = 0;
			}
			break;
		default :
			obj.value = real_value;
			break;
	}
	return 1;
}

// Pass Data via URL
var minNav3 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 3)
var minIE4 = (navigator.appName.indexOf("Microsoft") >= 0 && parseInt(navigator.appVersion) >= 4)
var minDOM = minNav3 || minIE4   


function getSearchAsArray() {
	var minNav3 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 3)
	var minIE4 = (navigator.appName.indexOf("Microsoft") >= 0 && parseInt(navigator.appVersion) >= 4)
	var minDOM = minNav3 || minIE4 
	var results = new Array()
	if (minDOM) {
		var input = unescape(location.search.substring(1))
		if (input) {
			var srchArray = input.split("&")
			var tempArray = new Array()
			for (i = 0; i < srchArray.length; i++) {
				tempArray = srchArray[i].split("=")
				results[tempArray[0]] = tempArray[1]
			}
		}
	}
	return results
}
var srchData = getSearchAsArray()

function getFormData(form) {
	var searchString = "?"
	var element, onePair

	for (var i = 0; i < form.elements.length; i++) {
		element = form.elements[i]
		if (element.type == "text" || element.type == "textarea") {
			onePair = escape(element.name) + "="
			onePair += escape(element.value)
		} else if (element.type.indexOf("select") != -1) {
			onePair = escape(element.name) + "="
			onePair += escape(element.options[element.selectedIndex].value)
		} else if (element.type == "radio" || element.type == "checkbox") {
			if (element.checked) {
				onePair = escape(element.name) + "="
				onePair += escape(element.value)
			} else continue
		} else continue
		searchString += onePair + "&"
	}
	return searchString
}



function setFormFields() {
	if (minDOM && location.search) {
		var form = document.forms[0]
		document.form.name.value = srchData["name"]
		for (var i = 0; i < document.form.val.options.length; i++) {
			if (document.form.val.options[i].value == srchData["val"]) {
				document.form.val.options[i].selected = true
				break	
			}
		}
	}
}
