function clearInput(element)
{
	if (element.value == element.defaultValue)
	{
		element.value = "";
	}
}

function popUp(win, w, h)
{
	popUpResize(win, w, h, false);
}

function popUpResize(win, w, h, resize)
{
	var cl = (screen.width-w)/2;
	var ct = (screen.height-h)/2;

	var strResize = resize?'yes':'no';
	
	newWindow = window.open(win,'PopUp','toolbar=no,location=no,status=yes,scrollbars=yes,resizable='+strResize+',width='+w+',height='+h+',left='+cl+',top='+ct);
	newWindow.focus();
}


function openURL(url)
{
	location.href = url;
}

function clearForm(frm) {
	var elements = frm.elements; 
	frm.reset();
	
	for (i = 0; i < elements.length; i++) {
	
	field_type = elements[i].type.toLowerCase();
	
	switch(field_type) {
		case "text": 
		case "password": 
		case "textarea":
			elements[i].value = ""; 
			break;
		case "radio":
		case "checkbox":
			if (elements[i].checked) {
				elements[i].checked = false; 
			}
			break;
		case "select-one":
		case "select-multiple":
			elements[i].selectedIndex = -1;
			break;
		default: 
			break;
		}
	}
}

function hideElement(elementID)
{
	document.getElementById(elementID).style.display = 'none';
	document.getElementById(elementID).style.visibility = 'hidden';
}

function hideElementRange(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{
			divs[i].style.display = "none";
			divs[i].style.visibility = "hidden";
		}
	}
}

function hideOnly(elementID,partialID,elementType)
{
	showElementRange(partialID,elementType);
	hideElement(elementID);
}

function showElement(elementID)
{
	document.getElementById(elementID).style.display = 'inline';
	document.getElementById(elementID).style.visibility = 'visible';
}

function showElementRange(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{
			divs[i].style.display = "inline";
			divs[i].style.visibility = "visible";
		}
	}
}

function showOnly(elementID,partialID,elementType)
{
	hideElementRange(partialID,elementType);
	showElement(elementID);
}

function updateInnerHTML(elementID, valueString)
{
	document.getElementById(elementID).innerHTML = valueString;
}

function checkOtherBoxes(partialID,elementType)
{
	if (document.getElementById("contentTypeLabel-Other").checked == true)
	{
		checkElementRange(partialID,elementType);
	}
	else
	{
		unCheckElementRange(partialID,elementType);
	}  
}

function checkElementRange(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{
			divs[i].checked = true;
		}
	}
}

function unCheckElementRange(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{
			divs[i].checked = false;
		}
	}
}

function baseCreateCookie(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 baseReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') {
			c = c.substring(1,c.length);
		}
		if (c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}

function baseEraseCookie(name) {
	baseCreateCookie(name,"",-1);
}

function getURLBasedOnCookie(elementID, name, currentURL, newURL) {
	if (baseReadCookie(name) == 'true') {
		window.location = newURL;
	} else {
		window.location = currentURL;
	}
}

// Use the prototype library to dynamically add classes to each list item when matching a specific object ID 
addOnloadEvent(function() {
	// Dynamic anchorlist div used in MPA TOC
    $$('div#anchorListDynamic ol li:nth-child(odd)').each(function(updateAnchorList) {
        updateAnchorList.addClassName('o');
    });
    $$('div#anchorListDynamic ol li:nth-child(even)').each(function(updateAnchorList) {
        updateAnchorList.addClassName('e');
    });	

	// Dynamic tabular data table
    $$('table#tabularDynamic tr:nth-child(even)').each(function(updateTabular) {
        updateTabular.addClassName('odd');
    });
    $$('div#tabularDynamic tr:nth-child(odd)').each(function(updateTabular) {
        updateTabular.addClassName('even');
    });

	$$('table.table1 tr:nth-child(even)').invoke("addClassName", "even");
	$$('table.table1 tr:nth-child(odd)').invoke("addClassName", "odd");
	$$('table.table2 tr:nth-child(even)').invoke("addClassName", "even");
	$$('table.table2 tr:nth-child(odd)').invoke("addClassName", "odd");
	$$('table.table3 tr:nth-child(even)').invoke("addClassName", "even");
	$$('table.table3 tr:nth-child(odd)').invoke("addClassName", "odd");
	$$('table.table5 tr:nth-child(even)').invoke("addClassName", "even");
	$$('table.table5 tr:nth-child(odd)').invoke("addClassName", "odd");
	$$('table.table5 tbody tr td:first-child').invoke("addClassName", "cell-highlight");
});

function setDivHeight(divID, maxHeight) {
	var scalingValue = 1.62;
	var newHeight = document.getElementById(divID).offsetHeight;
	var currentWidth = document.getElementById(divID).offsetWidth;
	newHeight = Math.round(currentWidth * scalingValue);
	if (newHeight > maxHeight) {
		newHeight = maxHeight;
	}
	document.getElementById(divID).style.height = newHeight + 'px';
}

/* Allows you to have multiple window onload events */

function addOnresizeEvent(fnc) {
  if ( typeof window.addEventListener != "undefined" )
    window.addEventListener( "resize", fnc, false );
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onresize", fnc );
  }
  else {
    if ( window.onresize != null ) {
      var oldOnresize = window.onresize;
      window.onresize = function ( e ) {
        oldOnresize( e );
        window[fnc]();
      };
    }
    else
      window.onresize = fnc;
  }
}

/* TAFE campus/institute functions */
function showCampusFrame() {
	document.getElementById("campusesFrame").style.display = "block";
	document.getElementById("campusesFrame").style.visibility = "visible";
	document.getElementById("campusTab").className = "frameMenuActive";
	document.getElementById("institutesFrame").style.display = "none";
	document.getElementById("institutesFrame").style.visibility = "hidden";
	document.getElementById("instituteTab").className = "";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("mapFrame").style.visibility = "hidden";
	document.getElementById("mapTab").className = "";
}

function showInstitutesFrame() {
	document.getElementById("campusesFrame").style.display = "none";
	document.getElementById("campusesFrame").style.visibility = "hidden";
	document.getElementById("campusTab").className = "";
	document.getElementById("institutesFrame").style.display = "block";
	document.getElementById("institutesFrame").style.visibility = "visible";
	document.getElementById("instituteTab").className = "frameMenuActive";
	document.getElementById("mapFrame").style.display = "none";
	document.getElementById("mapFrame").style.visibility = "hidden";
	document.getElementById("mapTab").className = "";
}

function showMapFrame(clickId) {
	document.getElementById("campusesFrame").style.display = "none";
	document.getElementById("campusesFrame").style.visibility = "hidden";
	document.getElementById("campusTab").className = "";
	document.getElementById("institutesFrame").style.display = "none";
	document.getElementById("institutesFrame").style.visibility = "hidden";
	document.getElementById("instituteTab").className = "";
	document.getElementById("mapFrame").style.display = "block";
	document.getElementById("mapFrame").style.visibility = "visible";
	document.getElementById("mapTab").className = "frameMenuActive";

	if (clickId != '') {
		myclick(clickId);
	}
}

function hideElementRangeBlock(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{
			divs[i].style.display = "none";
			divs[i].style.visibility = "hidden";
		}
	}
}

function showElementRangeBlock(partialID,elementType)
{
	var divs = document.getElementsByTagName(elementType);
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].id.match(partialID))
		{

			// Test for MSIE x.x;
			if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
				// capture x.x portion and store as a number
				var ieversion = new Number(RegExp.$1);

				if (ieversion >= 6 && ieversion < 7) {
					divs[i].style.display = "block";
				}
				else {
					divs[i].style.display = "table-row";
				}
			}
			else {
					divs[i].style.display = "table-row";
			}

			divs[i].style.visibility = "visible";
		}
	}
}

function enableInstitute(instituteId) {
	document.getElementById("showCampuses-" + instituteId).style.display = "none";
	document.getElementById("showCampuses-" + instituteId).style.visibility = "hidden";
	document.getElementById("hideCampuses-" + instituteId).style.display = "inline";
	document.getElementById("hideCampuses-" + instituteId).style.visibility = "visible";
	showElementRangeBlock("hiddenCampus-" + instituteId + '-',"tr");
}

function disableInstitute(instituteId) {
	document.getElementById("hideCampuses-" + instituteId).style.display = "none";
	document.getElementById("hideCampuses-" + instituteId).style.visibility = "hidden";
	document.getElementById("showCampuses-" + instituteId).style.display = "inline";
	document.getElementById("showCampuses-" + instituteId).style.visibility = "visible";
	hideElementRangeBlock("hiddenCampus-" + instituteId + '-',"tr");
}
