
//=====================================================================
// Event Listener -- deprecated, use Event.observe() instead, 
// for which this is now a wrapper
//=====================================================================
function addEvent(obj, evType, fn){
	return Event.observe(obj,evType,fn);
}

/*
This is to allow :hover pseudoclass on LI items for Explorer, which
otherwise would faint at the very thought.
*/
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

/*
* IE 6 png fix -- only possibly called in ie6.css
*/
function fixPNG(element, appId) {
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
		var src;
		if (element.tagName == 'IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = '/assets/'+appId+'/images/spacer.gif';
			}
		}
		else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage = 'none';
			}
		}
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "')";
	}
}

function breakFrame(){
	if (top.location != self.location) {
		top.location = self.location.href
	}
}
addEvent(window,'load',breakFrame);

/*
// Set the font size for the document body
*/
function setFontSize(size) {
	theBody = document.getElementsByTagName('body')[0].style.fontSize = size;
	writeCookie('fontsize',size,90);
}
/*
//Attach onclick event handlers to the change font size links
*/
function initFontSizeLinks() {
	var fontsizer = document.getElementById('fontsizer');
	var sizelinks = fontsizer.getElementsByTagName('a');
	for(var i=0; i<sizelinks.length; i++){
		if (sizelinks[i].style.fontSize == 'medium') {
			addEvent(sizelinks[i],'click',function(){ setFontSize('100%'); });
		}
		else if (sizelinks[i].style.fontSize == 'large') {
			addEvent(sizelinks[i],'click',function(){ setFontSize('110%'); });
		}
		else {
			addEvent(sizelinks[i],'click',function(){ setFontSize('85%'); cancelClick(); });
		} 
		addEvent(sizelinks[i],'click',cancelClick);
	}
}
addEvent(window,'load',initFontSizeLinks);

/*
// setDisplay() usage:
// setDisplay('block','someElement1','anotherElement','another'...)
*/
function setDisplay()
{
	var args = setDisplay.arguments;
	var d = args[0];
	var el;
	/* default to 'block' if d not given.*/
	if( (!d) || (d.length==0) ){ d = 'block'; }
	
	for(i=1; i<args.length; i++) // start at 1, args[0] is display value
	{
		el = document.getElementById(args[i]);
		el.style.display = d;
	}
	return true;
}

function toggle()
{
	var el, j, i = toggle.arguments;
	if ( !i ){return false;}
	for ( j=0; j<i.length; j++)
	{
		el=MM_findObj(i[j]);
		el.style.display=(el.style.display=='block' || el.style.display=='' ? 'none' : 'block');
	}
}

function cancelClick(e) {
	if( window.event && window.event.returnValue ) {
		window.event.returnValue = false;
	}
	if( e && e.preventDefault ){
		e.preventDefault();
	}
	return false;
}

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;
}

//clear text and select elements on a search form.
function clearSearchForm(fmid){
	fm = $(fmid);
	if(!fm) return;
	fm.reset();
	for(i=0; i<fm.elements.length; i++){
		if(fm.elements[i].type == 'text') { fm.elements[i].value=''; }
		if(fm.elements[i].type == 'select-one' && fm.elements[i].id != 'pagesize') { 
			for(j=0; j<fm.elements[i].options; j++){
				fm.elements[i].options[j].selected = false;
			}
			fm.elements[i].options[0].selected = true;
		}
	}
}


function showEditMultiSelect(selid, lnkid) {
	toggle(selid);
	toggle(lnkid);
}

function toggleCheckBoxes(parentElId,strMode) {
	parentEl = $(parentElId);
	if(!parentEl) {alert('no parentEl'); return; }
	if(strMode != 'off' && strMode != 'on' && strMode !='toggle') return;
	theBoxes = parentEl.getElementsByTagName('input');
	for(i=0; i<theBoxes.length; i++) {
		if(theBoxes[i].type == 'checkbox') {
			if(strMode == 'off') theBoxes[i].checked = false;
			else if(strMode == 'on') theBoxes[i].checked = true;
			else theBoxes[i].checked = (!theBoxes[i].checked);
		}
	}
}

function writeCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(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 deleteCookie(name) {
	writeCookie(name,'',0);
}
