/*******************************************************************************
*                                                                              *
*  Web Site  :  http://www.eps.com.au/                                         *
*  Author    :  EPS                                                    *
*  Modified  :  09-Dec-2004                                                    *
*                                                                              *
*******************************************************************************/
var d = document, dE = d.documentElement;
var fixIEwidth = 0;

/* Hide emails from pesky spiders
*******************************************************************************/
var dom = "eps.com.au";
var eA = "sales";
var eB = "info";
var eC = "support";
var eD = "management";
var eE = "developers";


/* Use this code to write the email address
<script language="javascript" type="text/javascript">
document.write('<a href=\"mailto:'+b+'@'+a+'\">');
document.write(b+'@'+a+'<\/a>');
</script>
*/

/* Stylesheet Switching
*******************************************************************************/
var stylesheet = {
	set : function(title) {
		var found = 0;
		for (var i = 0; (a = d.getElementsByTagName("link")[i]); i++) {
			if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
				a.disabled = true;
				if (a.getAttribute("title") == title) {
					a.disabled = false;
					found = 1;
				}
			}
		}
		if (found == 0) {
			title = this.getPreferred();
			if (title) {
				this.set(title);
			}
		}
	},
	getActive : function() {
		for (var i = 0; (a = d.getElementsByTagName("link")[i]); i++) {
			if (a.getAttribute("rel").indexOf("style") != -1
			&& a.getAttribute("title") && !a.disabled) {
				return a.getAttribute("title");
			}
		}
		return null;
	},
	getPreferred : function() {
		for (var i = 0; (a = d.getElementsByTagName("link")[i]); i++) {
			if (a.getAttribute("rel").indexOf("style") != -1
			&& a.getAttribute("rel").indexOf("alt") == -1
			&& a.getAttribute("title")) {
				return a.getAttribute("title");
			}
		}
		return null;
	}
}

/* Cookies
*******************************************************************************/

var cookie = {
	write : function(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 = "";
		}
		d.cookie = name + "=" + value + expires + "; path=/";
	},
	read : function(name) {
		name += "=";
		var cr = d.cookie.split("; ");
		for (var i = 0, crL = cr.length; i < crL; i++) {
			var c = cr[i];
			if (c.indexOf(name) == 0) {
				return unescape(c.substring(name.length,c.length));
			}
		}
		return null;
	}
};

/* Style Switcher UI
*******************************************************************************/

function addStyleswitcher() {
	var switcher = d.getElementById("customise");
	var buttons = switcher.getElementsByTagName("a");

	for (var i = 0, bL = buttons.length; i < bL; i++) {
		buttons[i].onclick = function() {
			this.blur();
			stylesheet.set(this.hash.substring(1));
			return false;
		};
	}
}

/* Hover support for drop downs in IE (Opera 7.23 also seems to need this too?!)
*******************************************************************************/

function menuHover() {
	var menuItems = d.getElementById("nav").getElementsByTagName("LI");

	for (var i = 0, miL = menuItems.length; i < miL; i++) {
		menuItems[i].onmouseover = function() {
			this.className = "mnhover";
		}
		menuItems[i].onmouseout = function() {
			this.className = "";
		}

		// Add alpha transparencey in IE 5.5+
		var hasSub = menuItems[i].getElementsByTagName("UL")[0];
		if (hasSub && (typeof hasSub.filters == "object")) {
			hasSub.style.filter = "alpha(opacity=90)";
		}
	}
}

/* Search Form
*******************************************************************************/

function searchForm() {
	var sb = d.getElementById("s");
	sb.defVal = "Search EPS";
	sb.value = sb.defVal;
	sb.onfocus = function() {
		this.className = "focus";
		if (this.value == this.defVal) {
			this.value = '';
		}
	};
	sb.onblur = function() {
		this.className = "";
		if (isempty(this.value)) {
			this.value = this.defVal;
		}
	};
}

/* Forms
*******************************************************************************/

function initForm() {
	var d = document;
	//var form = d.getElementById('sectionForm').getElementsByTagName('FORM')[0];
    var form = d.getElementById('sectionForm');
	if (!form) return;
    
    /*if (!d.getElementById('sectionForm').getElementsByTagName('FORM')[0])
	{
    	return;
    }
    else
    {
    	var form = d.getElementById('sectionForm').getElementsByTagName('FORM')[0];
    }*/
    
	if (d.getElementById('search-results')) return;
	
	//alert('form');
	var textareas = form.getElementsByTagName('TEXTAREA');
	var inputs = form.getElementsByTagName('INPUT');
	
	var frmTxtBoxes = new Array();
	var ti = 0;
	
	for(var i = 0, len = textareas.length; i < len; i++){
		frmTxtBoxes[ti] = textareas[i];
		ti++;
	}
	for(var i = 0, len = inputs.length; i < len; i++){
		if (inputs[i].type == "text") {
			frmTxtBoxes[ti] = inputs[i];
			ti++;
		}
	}

	for (var i = 0, len = frmTxtBoxes.length; i < len; i++) {
		var currinput = frmTxtBoxes[i];
		if (currinput) {
			currinput.defaultValue = currinput.value;
			currinput.onfocus = clearDefaultVal;
			currinput.onblur = resetDefaultVal;
		}
	}

	form.onsubmit = checkform;
}

function clearDefaultVal() {
	if (this.value == this.defaultValue) {
		this.value = '';
	}
	this.className = "txtfocus";
}

function resetDefaultVal() {
	var d = document;
       
    if(d.getElementById('contactForm'))
    {
		var frmName = d.getElementById('prospect_name');
        var frmPosition = d.getElementById('prospect_position');
        var frmCompany = d.getElementById('prospect_company');
        var frmPhone = d.getElementById('prospect_phone');
        var frmEmail = d.getElementById('prospect_email');	

		//if (is_empty(this.value) || this.value == this.defaultValue) { 
        if (is_empty(this.value)) { 
			this.value = this.defaultValue;
            this.className = (this == frmName || this == frmPosition || this == frmCompany || this  == frmPhone || this == frmEmail ) ? 'txterror' : 'txt';
		} else {
			this.className = "txtok";
		}
    }
    else if (d.getElementById('presentForm'))
    {
    	var frmName = d.getElementById('present_name');
		var frmEmail = d.getElementById('present_email');
        var frmSeminar = d.getElementById('present_seminar');

		if (is_empty(this.value) || this.value == this.defaultValue) { 
			this.value = this.defaultValue;
            this.className = (this == frmName || this == frmEmail || this == frmSeminar ) ? 'txterror' : 'txt';
		} else {
			this.className = "txtok";
		}
    }
     else if (d.getElementById('domainForm'))
    {
		var frmLogin = d.getElementById('frmLogin');
        var frmPassword = d.getElementById('frmPassword');

		if (is_empty(this.value) || this.value == this.defaultValue) { 
			this.value = this.defaultValue;
            this.className = (this == frmLogin || this == frmPassword ) ? 'txterror' : 'txt';
		} else {
			this.className = "txtok";
		}
    }
    else if (d.getElementById('metaForm'))
    {
    	var frmTitle = d.getElementById('metaTitle');
        var frmKeywords = d.getElementById('metaKeywords');
        var frmDesc = d.getElementById('metaDescription');
		var frmName = d.getElementById('client_name');
        var frmOrg = d.getElementById('organisation');
        var frmEmail = d.getElementById('email_address');

		if (is_empty(this.value) || this.value == this.defaultValue) { 
			this.value = this.defaultValue;
            this.className = (this == frmTitle || this == frmKeywords || this == frmDesc || this == frmName || this == frmOrg || this == frmEmail) ? 'txterror' : 'txt';
		} else {
			this.className = "txtok";
		}
    }
    else
    {
    	return;
    }
}

function is_empty(val) {
	var empty = /^\s*$/;
	return empty.test(val);
}

function checkform() {
	var d = document;
    
    if(d.getElementById('contactForm'))
    {
		var frmName = d.getElementById('prospect_name');
        var frmPosition = d.getElementById('prospect_position');
        var frmCompany = d.getElementById('prospect_company');
        var frmPhone = d.getElementById('prospect_phone');
        var frmEmail = d.getElementById('prospect_email');
	
		/*if (frmName.value == frmName.defaultValue ||
    	frmPosition.value == frmPosition.defaultValue ||
        frmCompany.value == frmCompany.defaultValue ||
        frmURL.value == frmURL.defaultValue ||
        frmPhone.value == frmPhone.defaultValue ||
		frmEmail.value == frmEmail.defaultValue ||
        frmRequire.value == frmRequire.defaultValue) { 
		/*if (frmName.value == frmName.defaultValue) { frmName.className = 'txterror'; }
		if (frmPosition.value == frmPosition.defaultValue) { frmPosition.className = 'txterror'; }
		if (frmCompany.value == frmCompany.defaultValue) { frmCompany.className = 'txterror'; }
        if (frmURL.value == frmURL.defaultValue) { frmURL.className = 'txterror'; }
        if (frmPhone.value == frmPhone.defaultValue) { frmPhone.className = 'txterror'; }
        if (frmEmail.value == frmEmail.defaultValue) { frmEmail.className = 'txterror'; }
        if (frmRequire.value == frmRequire.defaultValue) { frmRequire.className = 'txterror'; }       
			alert ('Please complete the required fields');
			return false;
		} else {
			document.getElementById('submitform').disabled = true;
		}*/
    }
    else if(d.getElementById('contactForm'))
    {
		var frmName = d.getElementById('present_name');
        var frmEmail = d.getElementById('present_email');
        var frmSeminar = d.getElementById('present_seminar');
    }
    else if (d.getElementById('domainForm'))
    {
		var frmLogin = d.getElementById('frmLogin');
        var frmPassword = d.getElementById('frmPassword');
	
		if (frmLogin.value == frmLogin.defaultValue ||
        frmPassword.value == frmPassword.defaultValue) { 
		if (frmLogin.value == frmLogin.defaultValue) { frmLogin.className = 'txterror'; }
		if (frmPassword.value == frmPassword.defaultValue) { frmPassword.className = 'txterror'; }
        
			alert ('Please complete the required fields');
			return false;
		} else {
			//document.getElementById('submitform').disabled = true;
            return;
		}
    }
}

/* Make external links pop (ken 2005-03-11)
*******************************************************************************/
function popExLinks() {
var aTags = d.getElementsByTagName("a");

for( var i=0; i<aTags.length; i++ ) {
	// all non-javascript/mailto href attributes pointing to external locations
                // or if it's a pdf document (ken 2005-03-23)
		if( (aTags[i].href.indexOf("http://") == 0 && aTags[i].href.indexOf("http://"+d.domain) != 0) || (aTags[i].href.indexOf("https://") == 0 && aTags[i].href.indexOf("https://"+d.domain) != 0) ||
                    aTags[i].href.indexOf("http://") == 0 && aTags[i].href.indexOf(".pdf") > 5 || aTags[i].href.indexOf("http://") == 0 && aTags[i].href.indexOf(".html") > 5) {
			aTags[i].target = "_blank";
		}
	}
}

/* Prevent IE from breaking the layout
*******************************************************************************/

function checkMinWidth() {
	var w = d.getElementById("main");
	if (w.offsetWidth < 710) {
		fixIEwidth = 1;
		stylesheet.set("fixed");
	}
}

/* Form Validation
*******************************************************************************/

function isempty(val) {
	var x = /^\s*$/;
	return x.test(val);
}

/* Toggle Expandable/Expanded (ken 2005-03-17)
*******************************************************************************/
function toggleExpandable( ele ) {
    ele.className = ( ele.className == 'expanded' ) ? 'expandable':'expanded';
}

function toggleExpandableMap( ele ) {
    ele.className = ( ele.className == 'expandedmap' ) ? 'expandablemap':'expandedmap';
}

/* Perform on page load/unload
*******************************************************************************/

function init() {
	window.defaultStatus = "Postgrado UCLA";
	if (d.getElementById) {
		var c = cookie.read("epsprefs");
		var title = c ? c : stylesheet.getPreferred();
		stylesheet.set(title);
	}
}

window.onload = function(e) {
	if (d.getElementById) {
		if (d.all) {
			menuHover();
		}
		// Opera wont switch css sometimes unless we do it onload! POS!
		if (navigator.userAgent.indexOf('Opera') != -1) {
			init();
			//alert("Your browser sucks!!");
		}
		addStyleswitcher();
		searchForm();
        initForm();
	
	popExLinks(); // ken 2005-03-11
		if (d.all && !window.opera && fixIEwidth == 0) {
			checkMinWidth();
		}
	}
};
window.onunload = function(d) {
	if (d.getElementById) {
		title = stylesheet.getActive();
		if (title != "plaintext") {
			cookie.write("epsprefs", stylesheet.getActive(), 0);
		}
	}
};

if (d.all && !window.opera && fixIEwidth == 0) {
	window.onresize = function() {
		checkMinWidth();
	};
}

/* Perform as soon as we can!
*******************************************************************************/

init();

/* Display contact map
******************************************************************************/
function showMap(mName)
// Function that will swap the display/no display for contact map
{
	if (mName.style.display == "none")
    {
    	mName.style.display = "";
    }
    else
    {
		mName.style.display = "none";
    }
}

function makeVisible(whichNavs,onOff) {
	if (whichNavs == "mapfull" && onOff == "block")
    {
    	document.getElementById('mapthumb').style.display= 'none';
    }
    
    if (whichNavs == "mapfull" && onOff == "none")
    {
    	document.getElementById('mapthumb').style.display='block';
    }
   document.getElementById(whichNavs).style.display=onOff;
}
