// search

// IE hover fix
sfHover = function() {
 var sfEls = document.getElementById('mainmenu').getElementsByTagName('LI');
 for (var i=0; i<sfEls.length; i++) {
 sfEls[i].onmouseover=function() {
 this.className+=(this.className.length>0? " ": "") + "sfhover";
 }
 sfEls[i].onmouseout=function() {
 this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
 }
 }
}

// accessibility script
mcAccessible = function() {
 var mcEls = document.getElementById('mainmenu').getElementsByTagName('A');
 for (var i=0; i<mcEls.length; i++) {
 mcEls[i].ontouchstart=function(e) {
 this.parentNode.className+=(this.parentNode.className.length>0? " ": "") + "touch";
 }
 mcEls[i].onfocus=function() {
 this.className+=(this.className.length>0? " ": "") + "sffocus";
 this.parentNode.className+=(this.parentNode.className.length>0? " ": "") + "sfhover";
 if(this.parentNode.parentNode.parentNode.nodeName == 'LI') {
 this.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.className.length>0? " ": "") + "sfhover"; //li < ul < li < a:focus
 }
 }
 mcEls[i].onblur=function() {
 this.className=this.className.replace(new RegExp("( ?|^)sffocus\\b"), "");
 this.parentNode.className=this.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
 if(this.parentNode.parentNode.parentNode.nodeName == 'LI') {
 this.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
 }
 }
 mcEls[i].onmouseup=function() {
 this.className=this.className.replace(new RegExp("( ?|^)sffocus\\b"), "");
 this.parentNode.className=this.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
 if(this.parentNode.parentNode.parentNode.nodeName == 'LI') {
 this.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
 }
 }
 }
}

// cookies
createCookie = 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 = "";
 document.cookie = name+"="+value+expires+"; path=/";
 //alert('cookie written: ' + name + '=' + value);
}

readCookie = function(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;
}

// event listener
if(window.addEventListener) window.addEventListener('load', mcAccessible, false); // gecko, safari, konqueror and standard
else if(document.addEventListener) document.addEventListener('load', mcAccessible, false); // opera 7
else if(window.attachEvent) { // win/ie
 window.attachEvent('onload', sfHover);
 window.attachEvent('onload', mcAccessible);
} else { // mac/ie5
 if(typeof window.onload == 'function') {
 var existing = onload;
 window.onload = function() {
 existing();
 sfHover();
 mcAccessible();
 }
 } else {
 window.onload = function() {
 sfHover();
 mcAccessible();
 }
 }
}

// email scrambler
mail = function(name,domain,text,subject) {
 if (!domain) {domain='opera.com'}
 if (!text) {text=name+'&#35;'+domain}
 if (!subject) {document.write('<a href="mailto:'+name+'&#64;'+domain+'">'+text+'</a>');}
 else {document.write('<a href="mailto:'+name+'&#64;'+domain+'?subject='+escape(subject)+'">'+text+'</a>');}
}

// a generic function for adding multiple onload events
addOnloadEvent = function(fnc){
 if ( typeof window.addEventListener != "undefined" )
 window.addEventListener( "load", fnc, false );
 else if ( typeof window.attachEvent != "undefined" ) {
 window.attachEvent( "onload", fnc );
 }
 else {
 if ( window.onload != null ) {
 var oldOnload = window.onload;
 window.onload = function ( e ) {
 oldOnload( e );
 window[fnc]();
 };
 }
 else
 window.onload = fnc;
 }
} 
