function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function mark(face,field_color,text_color){
	if (document.documentElement){//if browser is IE5+ or NS6+
		face.style.backgroundColor=field_color;
		face.style.color=text_color;
	}
}

function openWin(theURL,winName,features) {
	var newwindow = window.open(theURL,winName,features);
	if (window.focus) { newwindow.focus(); }
}

function toggleVisibility(divName) {
	var div = document.getElementById(divName);
	if (div.style.display == "none") {
		div.style.display = "block";
	} else {
		div.style.display = "none";
	}
}

function setVisibility(divName, visibility){
	document.getElementById(divName).style.display = visibility;
}

/* set the first target to visible and the subsequent targets to not visibile*/
function toggleVisibilityUnique(targets){
	for ( var x = 0; x < targets.length ; x++ )	{
		var div = document.getElementById(targets[x]);
		if (x == 0) div.style.display = "block";
		else div.style.display = "none";
	}
}

function calculate(obj, limit, write_to_name){
	//if space is not counted then uncomment below
	//nu=obj.value.replace(/\s/g,'').length;
	nu = obj.value.length;
	difference = limit - nu;
	if (difference < 0) difference = 0;
	document.getElementById(write_to_name).innerHTML= "You have "+ (difference) +" characters left";
}


function goBack() {
	window.history.go(-1);	
}

function $(id) {
	return document.getElementById(id);	
}

function redirect(url, replaceUrl) {
	if (replaceUrl == undefined) replaceUrl = false;
	if (replaceUrl) {
		location.replace(url);
	} else {
		location.href = url;
	}
}

// Pop Up Menu
currentMenu = null;
menuTimer = null;

function showMenu( menuID ) {
	var menu = $('submenu_' + menuID);
	var link = $('link_' + menuID);

	if (menu != undefined) {
		if (currentMenu == null || currentMenu.id != menu.id) {
			closeMenu();
			menu.style.left = "0px";
			if (link.clientHeight == 0) {
				menu.style.top = (findPosY(link) + 11) + "px";	
			} else {
				menu.style.top = (findPosY(link) + link.clientHeight - 6) + "px";
			}
			menu.style.display = "block";
			menu.style.visibility = "visible";
			
			currentMenu = menu;
		}
		clearTimer();
	}
}

function fadeMenu() {
	menuTimer = setInterval("closeMenu()",500);
}

function closeMenu() {
	if (currentMenu != null) {
		currentMenu.style.display = "none";
		currentMenu = null;
	}
	
	clearTimer();
}

function clearTimer() {
	if (menuTimer != null) {
		clearInterval(menuTimer);
		menuTimer = null;
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

// Reset form for contact us page
function resetForm() {
	$('firstname').value = '';
	$('lastname').value = '';
	$('address_1').value = '';
	$('address_2').value = '';
	$('city').value = '';
	$('state').value = '';
	$('postcode').value = '';
	$('phone_day').value = '';
	$('phone_after').value = '';
	$('email').value = '';
	$('message').value = '';
	$('interest').selectedIndex = 0;
	$('referral').selectedIndex = 0;
	
	return false;
}
