function navOver(imgTag){var theImage = imgTag;if(theImage.src.indexOf("_off.") != -1)theImage.src = theImage.src.replace("_off.","_over."); else theImage.src = theImage.src.replace("_over.","_off.");}
function addLoadEvent(func){var oldonload = window.onload;if (typeof window.onload != 'function'){window.onload = func;}else{window.onload = function(){if (oldonload){oldonload();}func();}}} 
document.getElementsByClassName = function(elClassName){var arrayList = new Array();var elements = document.getElementsByTagName("*");for(var i = 0;i < elements.length;i++){if(elements[i].className.indexOf(" ") >= 0){var classes = elements[i].className.split(" ");for(var j = 0;j < classes.length;j++){if(classes[j] == elClassName){arrayList.push(elements[i]);}}}else if(elements[i].className == elClassName){arrayList.push(elements[i]);}}return arrayList;}
	
function enrolImgChange(imgName)
{
	var theImage = imgName;

	theImage.src = "/media/build/btn_pleasewait.gif";

}
	
var EmailAFriend = {
	Div: null,
	Btn: null,
	MaxHeight: null,
	Scrolling: null,	
	Init: function()
	{
		Scrolling = false;
		Div = document.getElementById('emailThisPageToAFriend');
		Btn = document.getElementsByClassName('btnEmailThisPage');
								
		for(i=0;i<Btn.length;i++) Btn[i].onclick = EmailAFriend.Toggle;						

		MaxHeight = 394;

		if(Div != null)
		{				
			if(document.getElementsByClassName('homepage')[0] != null) MaxHeight = 220;
			Div.style.overflow = "hidden";			
			Div.style.height = 0 + "px";
		}		
		
	},
	Toggle: function()
	{
		if(Scrolling == true) return;
		if(parseInt(Div.style.height) == 0)
			EmailAFriend.Open();
		else
			EmailAFriend.Close();
	},
	Open: function()
	{
		Div.style.height = parseInt(Div.style.height) + 10 + "px";			
		if(parseInt(Div.style.height) < MaxHeight){						
			Scrolling = true;			
			setTimeout('EmailAFriend.Open()',20);
		} else {
			Scrolling = false;
		}
	},
	Close: function()
	{
		var speed;
		
		if(parseInt(Div.style.height) <= 10) {			
			speed = parseInt(Div.style.height);			
		}else{ 			
			speed = 10;
		}	
			
		Div.style.height = parseInt(Div.style.height) - speed + "px";		
		if(parseInt(Div.style.height) > 0){
			Scrolling = true;
			setTimeout('EmailAFriend.Close()', 20);			
		} else {
			Scrolling = false;	
		}
	}
	
};

function addSwf()
{
	var containerDiv = document.getElementsByClassName('courseDetails')[0];
	
	for(var i=0;i<containerDiv.childNodes.length;i++)
	{
		var itemDiv = containerDiv.childNodes[i];							
		if((itemDiv.nodeName == "H3") && (itemDiv.className != 'readyToEnrol'))
		{
			itemDiv.className = "subTitle";						
		}
	}	
}

/* Swftype */
function createSwftype(swftypeTag, swftypeSrc, cssSrc, swftypeWidth, swftypeHeight, txtSelect, resizeType, debug)
{	
	var elClassName = "";
	var hasDot = false;
	if(swftypeTag.indexOf(".") != -1)
	{	
		hasDot = true;
		elClassName = swftypeTag.substring(swftypeTag.indexOf(".")+1, swftypeTag.length);
		swftypeTag = swftypeTag.substring(0, swftypeTag.indexOf("."));
		if(swftypeTag.length==0)
		{
			swftypeTag=elClassName;
		}
	}		
	
	if(
		(document.getElementsByTagName(swftypeTag) != "") || 
		(document.getElementsByClassName(swftypeTag) != "") || 
		(document.getElementById(swftypeTag) != "")
		)
	{	
		if(document.getElementsByTagName(swftypeTag).length > 0)											
			var theSwftypeTag = document.getElementsByTagName(swftypeTag);												
		else if(document.getElementsByClassName(swftypeTag).length > 0 )
			var theSwftypeTag = document.getElementsByClassName(swftypeTag);			
		else if(document.getElementById(swftypeTag) != null)
			var theSwftypeTag = document.getElementById(swftypeTag);			
				
		if(theSwftypeTag != null)
		{
			for(var i=0; i<theSwftypeTag.length; i++)
			{			
				var obj = theSwftypeTag[i];
				var tagName = obj.tagName;	
				var className= obj.className;	
				
				if(obj.className.indexOf(elClassName) != -1)
				{
					className = obj.className;
					obj.setAttribute('id', 'Swftype'+swftypeTag+i);			
					if(obj.innerHTML != null)
					{
						/* Swftype Content */
						var pageTxt = obj.innerHTML;			
						// search and add ' in classNames 
						if(pageTxt.indexOf('class=') != -1){			
							var firstQuote = (pageTxt.indexOf('class=') + 6);
							var spanCloseTag = pageTxt.indexOf('>');
							var className = pageTxt.substr(firstQuote, (spanCloseTag - firstQuote));				
							if(pageTxt.charAt(firstQuote) != '"'){
								pageTxt = pageTxt.replace(className,'"'+className+'"');
							}
						}			
						var printAlt = document.createElement("span");										
						printAlt.className = "printSwfType";				
						printAlt.innerHTML = pageTxt;   						
						obj.parentNode.insertBefore(printAlt, obj);
						// Escape all quotes with single quotes
						//pageTxt = pageTxt.replace(/"/g, "'");			
						
						// Convert apostrophes to ascii
						var ahrefStr = pageTxt.substring(pageTxt.indexOf("href=\"")+6, pageTxt.indexOf("\">"));
						pageTxt = pageTxt.replace(ahrefStr, ahrefStr.replace("'", "&apos;"));
						
						// Convert a href quotes to single quotes
						pageTxt = pageTxt.replace("<A href=\"", "<A href='");
						pageTxt = pageTxt.replace("<a href=\"", "<a href='");
						pageTxt = pageTxt.replace("\">", "'>");

						pageTxt = pageTxt.replace(/\+/g, "&#43;");		// Plus
						pageTxt = pageTxt.replace(/%/g, "&#37;");		// Percentage						
						pageTxt = pageTxt.replace(/&/g, "{and}");		// Ampersand
						
						if(debug)
						{
							alert("Swftype Debug: " + pageTxt);
						}
					}
					else
					{
						var pageTxt = "DEFAULT";
					}
				}
				/* swfobject2 */
				var buildString = "";
				var flashvars = {};
				
				buildString += "?swftypeID=Swftype" + swftypeTag + i;
				buildString += "&pageText=" + pageTxt;
				buildString += "&cssURL=" + cssSrc;
				buildString += "&tagName=" + tagName;
				buildString += "&hasDot=" + hasDot;
				buildString += "&className=" + className;
				buildString += "&txtWidth=" + swftypeWidth;
				buildString += "&txtHeight=" + swftypeHeight;
				buildString += "&txtSelect=" + txtSelect;
				buildString += "&resizeMethod=" + resizeType;				
				buildString += "&debug=" + debug;
				buildString += "&version=" + 1.1;
				buildString += "&swftypeURL=" + "http://www.zeroseven.com.au/";
		
				var params = {};
				params.allowScriptAccess = "always";
				params.menu = "false";
				params.wmode = "transparent";
				var attributes = {};
				swfobject.embedSWF(swftypeSrc + buildString, "Swftype" + swftypeTag + i, swftypeWidth, swftypeHeight, "8", "false", flashvars, params, attributes);			
			}
		}
	}
}

/* Swftype Resize */
function resizeSwftype(SwftypeId, textHeight , textWidth)
{		
	//alert(textHeight);
	document.getElementById(SwftypeId).style.width = textWidth + "px";	
	document.getElementById(SwftypeId).style.height = textHeight + "px";
}

var UnitOfStudy = {
	btnTitle: null,
	btnToggle: null,
	unitOfStudyDiv: null,
	totalHeight: null,
	inMotion: null,
	Init: function()
	{
		if(document.getElementsByClassName("unitOfStudy")[0] == null) return;
		inMotion = false;
		btnToggle = document.getElementById("toggleUnitOfStudy");
		unitOfStudyDiv = document.getElementsByClassName("unitOfStudy")[0];
		totalHeight = document.getElementsByClassName("unitOfStudy")[0].offsetHeight;
		
		btnToggle.onclick = UnitOfStudy.ShowUnits;
		unitOfStudyDiv.style.height = 0 + "px";
		unitOfStudyDiv.style.overflow = "hidden";
		unitOfStudyDiv.style.display = "none";	
	},
	ShowUnits: function()
	{		
		if(inMotion == true) return;		
		btnToggle.onclick = UnitOfStudy.HideUnits;
		btnToggle.className = "opened";
		btnToggle.title = "Close";
		btnToggle.innerHTML = "Open unit of study";
		UnitOfStudy.Open();
		return false;
	},
	HideUnits: function()
	{	
		if(inMotion == true) return;		
		btnToggle.onclick = UnitOfStudy.ShowUnits;
		btnToggle.className = "closed";
		btnToggle.title = "Open";
		btnToggle.innerHTML = "Close unit of study";
		UnitOfStudy.Close();
		return false;
	},
	Open: function()
	{		
		unitOfStudyDiv.style.display = "block";		
		unitOfStudyDiv.style.height = parseInt(unitOfStudyDiv.style.height) + 15 + "px";			
		if(parseInt(unitOfStudyDiv.style.height) < totalHeight){						
			inMotion = true;
			setTimeout('UnitOfStudy.Open()',30);
		} else {
			inMotion = false;
		}
	},
	Close: function()
	{				
		var speed;		
		if(parseInt(unitOfStudyDiv.style.height) < 10) {
			speed = parseInt(unitOfStudyDiv.style.height);
		} else {
			speed = 15;
		}				
		unitOfStudyDiv.style.height = parseInt(unitOfStudyDiv.style.height) - speed + "px";		
		if(parseInt(unitOfStudyDiv.style.height) > 0){
			inMotion = true;
			setTimeout('UnitOfStudy.Close()', 30);			
		} else {
			unitOfStudyDiv.style.display = "none";		
			inMotion = false;
		}
	}	
};

function AjaxForm() 
{	
	this.TargetId = document.getElementById(arguments[0].TargetId);
	this.TriggerId = arguments[0].TriggerId;	
	this.TriggerResendId = arguments[0].TriggerResendId;
	this.RequestUrl = arguments[0].RequestUrl;
	this.RequestType = arguments[0].RequestType;	
	this.InputFields = arguments[0].Fields;		
	this.LoadingHTML = arguments[0].LoadingHTML;
	this.isValid = true;
	this.RequestString = "";
	this.From = arguments[0].From;
}

AjaxForm.prototype.Call = function(type)	
{						
	xmlHttp = GetXmlHttpObject();		
	this.RequestString = "&call=" + type + "&from=" + this.From;
	
	if(type == "submit")
		this.Validate();
	
	if(this.isValid)
	{		
		xmlHttp.open(this.RequestType,this.RequestUrl,true);						
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", this.RequestString.length);
		xmlHttp.setRequestHeader("Connection", "close");		
		var self = this;

		xmlHttp.onreadystatechange = function()
		{				
			if (xmlHttp.readyState == 4)
			{			
				self.TargetId.innerHTML = xmlHttp.responseText;																		
				if(type == "new") document.getElementById(self.TriggerId).onclick = function(){self.Call('submit');return false};											
				if((type == "submit") && (self.TriggerResendId != "")) document.getElementById(self.TriggerResendId).onclick = function(){self.Call('new');return false};											
			}
			else 		
			{		
				self.TargetId.innerHTML = self.LoadingHTML;									
			}
		};		

		xmlHttp.send(this.RequestString);			
	}
};

AjaxForm.prototype.Set = function()
{
	var self = this;
	document.getElementById(self.TriggerId).onclick = function()
	{
		self.Call('submit');return false
	};	
}
			
AjaxForm.prototype.Validate = function()
{		
	for (var i in this.InputFields)
	{
		var fieldHolder = document.getElementById(this.InputFields[i].id);
		
		if(this.InputFields[i].validate)
		{		
			if(fieldHolder.value == "")
			{
				this.isValid = false;
				addClass(fieldHolder, this.InputFields[i].errorCss);															
				
			}			
			else if(this.InputFields[i].isEmail)
			{		
				var supEmail = fieldHolder.value;
				var emLen = supEmail.length;
				var posAt = supEmail.indexOf('@')
				var posDot = supEmail.lastIndexOf('.')
				if((emLen < 7) || (posAt < 1) || (posDot <= (posAt + 1)) || (posDot >= (emLen - 1)))
				{
					this.isValid = false;
					fieldHolder.setAttribute("class", fieldHolder.getAttribute("class") + " " + this.InputFields[i].errorCss);		
				}	
				else 
				{
					this.isValid = true;
					this.RequestString += "&"+this.InputFields[i].name+"=" + fieldHolder.value;
					removeClass(fieldHolder, this.InputFields[i].errorCss);
				}
			}			
			else
			{			
				this.isValid = true;
				this.RequestString += "&"+this.InputFields[i].name+"=" + fieldHolder.value;
				removeClass(fieldHolder, this.InputFields[i].errorCss);
			}
		}
		else
		{	
			this.RequestString += "&"+this.InputFields[i].name+"=" + fieldHolder.value;
		}
	}			
}

function hasClass(ele,cls) 
{
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) 
{
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) 
{
	if (hasClass(ele,cls)) 
	{
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function GetXmlHttpObject()
{
	var xmlHttp = null;	
	try {
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

/* Display course payment popups */
var upFrontPaymentPopup = {
    Show: function () {
        var overlay = document.getElementById("dataOverlay");
        var overlayHolder = document.getElementById("coursePopupHolder2");
        var popupToShow = document.getElementById("popupUpFrontPayment");
        document.getElementById("popupReadyToEnrol").style.display = "none";
        document.getElementById("coursePopupHolder1").style.display = "none";
        overlay.style.opacity = 0.7;
        var scrollatt = getPageScroll();
        var sizeatt = getPageSize();

        if (navigator.userAgent.indexOf("MSIE 6") != -1)
            hideDdls();

        if (navigator.userAgent.indexOf("Camino") != -1)
            hideObject();

        fullHeight = sizeatt[1];

        overlay.style.height = fullHeight + "px";

        if (navigator.userAgent.indexOf("MSIE") != -1)
            overlay.style.width = (sizeatt[0]) + "px";
        else
            overlay.style.width = (sizeatt[0] - 17) + "px";

        var currLeft = 0;
        do {
            if (overlay.className == "alignCenter") {
                currLeft -= overlay.offsetLeft;
                break;
            }
        }
        while (overlay = overlay.parentNode);
        overlay = document.getElementById("dataOverlay");
        overlay.style.left = currLeft + "px";
        overlay.style.top = "-96px";
        overlay.style.display = "block";
        overlayHolder.style.display = "block";
        popupToShow.style.display = "block";
        //overlayHolder.style.top = getPageScroll() + 100 + "px";
        document.getElementById("popupReadyToEnrol").style.display = "none";
        overlayHolder.style.top = scrollatt[1] + 100 + "px";
    },
    Hide: function () {
        var overlay = document.getElementById("dataOverlay");
        var overlayHolder = document.getElementById("coursePopupHolder2");
        var popupToHide = document.getElementById("popupUpFrontPayment");

        if (navigator.userAgent.indexOf("MSIE 6") != -1)
            showDdls();

        if (navigator.userAgent.indexOf("Camino") != -1)
            showObject();

        overlay.style.display = "none";
        overlayHolder.style.display = "none";
        popupToHide.style.display = "none";
    }

}
var paymentOptionsPopup = {
    Show: function () {
        var overlay = document.getElementById("dataOverlay");
        var overlayHolder = document.getElementById("coursePopupHolder1");
        var popupToShow = document.getElementById("popupReadyToEnrol");
        document.getElementById("popupUpFrontPayment").style.display = "none";
        document.getElementById("coursePopupHolder2").style.display = "none";
        overlay.style.opacity = 0.7;
        var scrollatt = getPageScroll();
        var sizeatt = getPageSize();

        if (navigator.userAgent.indexOf("MSIE 6") != -1)
            hideDdls();

        if (navigator.userAgent.indexOf("Camino") != -1)
            hideObject();

        fullHeight = sizeatt[1];

        overlay.style.height = fullHeight + "px";

        if (navigator.userAgent.indexOf("MSIE") != -1)
            overlay.style.width = (sizeatt[0]) + "px";
        else
            overlay.style.width = (sizeatt[0] - 17) + "px";

        var currLeft = 0;
        do {
            if (overlay.className == "alignCenter") {
                currLeft -= overlay.offsetLeft;
                break;
            }
        }
        while (overlay = overlay.parentNode);
        overlay = document.getElementById("dataOverlay");
        overlay.style.left = currLeft + "px";
        overlay.style.top = "-96px";
        overlay.style.display = "block";
        overlayHolder.style.display = "block";
        popupToShow.style.display = "block";
        
        overlayHolder.style.top = scrollatt[1] + 100 + "px";
    },
    Hide: function () {
        var overlay = document.getElementById("dataOverlay");
        var overlayHolder = document.getElementById("coursePopupHolder1");
        var popupToHide = document.getElementById("popupReadyToEnrol");

        if (navigator.userAgent.indexOf("MSIE 6") != -1)
            showDdls();

        if (navigator.userAgent.indexOf("Camino") != -1)
            showObject();

        overlay.style.display = "none";
        overlayHolder.style.display = "none";
        popupToHide.style.display = "none";
    }
}

function hideDdls() {
    for (i = 0; i < document.getElementsByTagName("select").length; i++)
        document.getElementsByTagName("select")[i].style.visibility = "hidden";
}

function showDdls() {
    for (i = 0; i < document.getElementsByTagName("select").length; i++)
        document.getElementsByTagName("select")[i].style.visibility = "visible";
}

function hideObject() {
    for (i = 0; i < document.getElementsByTagName("object").length; i++)
        document.getElementsByTagName("object")[i].style.visibility = "hidden";
}

function showObject() {
    for (i = 0; i < document.getElementsByTagName("object").length; i++)
        document.getElementsByTagName("object")[i].style.visibility = "visible";
}

function getPageScroll() {
    var yScroll;
    if (self.pageYOffset) {
        yScroll = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        yScroll = document.documentElement.scrollTop;
    } else if (document.body) {
        yScroll = document.body.scrollTop;
    }

    arrayPageScroll = new Array('', yScroll)
    return arrayPageScroll;
}

function getPageSize() {
    var xScroll, yScroll;

    if (window.innerHeight && window.scrollMaxY) {
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight) {
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else {
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }

    var windowWidth, windowHeight;
    if (self.innerHeight) {
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) {
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }

    if (yScroll < windowHeight) {
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }

    if (xScroll < windowWidth) {
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }

    arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
    return arrayPageSize;
}


