// common.js
// Sydney Web Design and Website Development
// http://www.Wiliam.com.au


//defailt variables
var Message;
var strMessage;

//get browser and flash version. The flash code can be disabled if not used.
var version = navigator.appVersion;
var requiredMajorVersion = 8;// Major version of Flash required
var requiredMinorVersion = 0;// Minor version of Flash required
var requiredRevision = 0;// Minor version of Flash required
//var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); // Version check based upon the values entered above in "Globals"

// This is a modified script, design to call the active content writer.
// It gives better flexibility for dynamic sites run this way.
function loadFlashContent(imgSrc,imgTarget,strWidth,strHeight) {
	if (version.toLowerCase().indexOf("mac")!=-1 && imgTarget == "tpBackground") {
		//This is a mac override if using flash as a background image, due to a problem with the flash implementation on macs
	} else {
		var obj=new getObj(imgTarget);
		if (hasReqestedVersion) { // correct version of flash is installed
			if (imgSrc == "")
			{
				strFlash = "";
			}
			else
			{
				if(!strWidth) {strWidth = "100%"}
				if(!strHeight) {strHeight = "100%"}
				strFlash = AC_FL_RunContentString('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0','width',strWidth,'height',strHeight,'src',imgSrc,'wmode','opaque','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie',imgSrc );		
			}
			obj.obj.innerHTML = strFlash;
		}
	}
}


function ShowDiv(DivName)
{
	if	(document.layers) {
		document.layers[DivName].display="block"; 
		document.layers[DivName].visibility="visible"; 
	} else if (document.getElementById) {
		document.getElementById(DivName).style.display="block";
		document.getElementById(DivName).style.visibility="visible";
	} else if (document.all) {
		document.all(DivName).style.display="block";
		document.all(DivName).style.visibility="visible";	
	}
	
}

function HideDiv(DivName) 
{
	if	(document.layers) {
		document.layers[DivName].display="none"; 
		document.layers[DivName].visibility="hidden"; 
	} else if (document.getElementById) {
		document.getElementById(DivName).style.display="none";
		document.getElementById(DivName).style.visibility="hidden";
	} else if (document.all) {
		document.all(DivName).style.display="none";
		document.all(DivName).style.visibility="hidden";	
	}
}

function showTip(obj,content) {
	var popin = new getObj("popin")
	var popincontent = new getObj("popin_innertxt")
	var intmoveLeft = 0;
	var intmoveTop = 0;
	
	if (browserName.indexOf('safari') !=-1) {
		intmoveLeft = -12;
		intmoveTop = 30;
	} else {
		intmoveLeft = -12;
		intmoveTop = 10;
	}
	
	if (obj && popin.obj)	{
		popin.style.top = findPosTop(obj) + intmoveTop + 'px';
		popin.style.left = findPosLeft(obj) + intmoveLeft + 'px';
		popincontent.obj.innerHTML = content;
	}
	ShowDiv("popin")
}


function clearform()
{
 
}


// tabswticher(X, Y)
// tabsetX_buttonY
// tabsetX_divY
function tabswitcher(strTabSet, intTabID) {
	strButtons = 'tabset_' + strTabSet + '_button';
	strDivs = 'tabset_' + strTabSet + '_div';
	for (i = 1; i <= 10; i++) {
		try {
			var objTab =   document.getElementById(strButtons + i);
			var objLayer = document.getElementById(strDivs + i);
			
			if (i == intTabID) {
				objTab.className = 'on';
				objLayer.style.display = 'block';
			} else {
				objTab.className = '';
				objLayer.style.display = 'none';
			}
		} catch(e) { i = 100; }
	}
}

// function to turn a group of buttons on or off, similar to the tab script, but without the layer swap
function setClassOn(strButtons,intButtonID) {
	for (i = 1; i <= 10; i++) {
		try {
			var objTab = document.getElementById(strButtons + i);
			
			if (i == intButtonID) {
				objTab.className = 'on';
			} else {
				objTab.className = '';
			}
		} catch(e) { i = 100; }
	}
}

function getObj(name) {
	if (document.getElementById) {
		this.obj = document.getElementById(name);
		if (this.obj) this.style = document.getElementById(name).style;
	} else if (document.all) {
		this.obj = document.all[name];
		if (this.obj) this.style = document.all[name].style;
	} else if (document.layers) {
		if (document.layers[name]) {
			this.obj = document.layers[name];
			if (this.obj) this.style = document.layers[name];
	   } else {
			this.obj = eval("document.layers." + name + ".layers[name]");
			if (this.obj) this.style = eval("document.layers." + name + ".layers[name]");
	   }
	}
}

// get position scripts
function findPosLeft(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosTop(obj) {
	var curtop = 0;
	var printstring = '';
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

//end get position scripts


// AJAX FUNCTIONS
var Message;
var strMessage;

function loadXMLTarget(strURL, strTarget, strMessage, strTest) {
	if (strTest) { alert(strURL); }
	
	// This stops ajax caching
	if (strURL.indexOf("?") > -1) {
		strURL = strURL + "&" + Date();
	} else {
		strURL = strURL + "?cache=" + Date();
	}
	
	if (strTarget == "") {
		alert('Please specify a target');
	}
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		Message = new XMLHttpRequest();
		Message.onreadystatechange = function() {processTargetHTML(strTarget);};
		Message.open("GET", strURL, true);
		Message.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		Message = new ActiveXObject("Microsoft.XMLHTTP");
		if (Message) {
			Message.onreadystatechange =function() {processTargetHTML(strTarget);};
			Message.open("GET", strURL, true);
			Message.send();
		}
	}
}


function processTargetHTML(strTarget) {
	//alert(strTarget);
	var obj = new getObj(strTarget);
    switch (Message.readyState) {
		case 1:
			//obj.obj.innerHTML = "<img src='/images/loading-anim.gif'>";
			break;
		case 4:
			// only if "OK"
			if (Message.status == 200) {
				obj.obj.innerHTML = Message.responseText;
			} else {
				obj.obj.innerHTML = Message.responseText;
				//alert("There was a problem retrieving the XML data:\n" + Message.statusText);
			}
		break;
    }
}
// END AJAX FUNCTIONS





// USED TO INITIALISE DROP DOWN MENUS
function startList() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
if(navRoot != null)
{
    for (i=0; i<navRoot.childNodes.length; i++) {
    node = navRoot.childNodes[i];
    if (node.nodeName=="LI") {
    node.onmouseover=function() {
    this.className+=" over";
      }
      node.onmouseout=function() {
      this.className=this.className.replace(" over", "");
       }
       }
      }
     }
}
}
window.onload=startList;

