var myimages=new Array()


function preloadimages(){
    for (i=0;i<preloadimages.arguments.length;i++){
        myimages[i]=new Image();
        myimages[i].src="/images/menu/"+preloadimages.arguments[i];
    }
}

preloadimages("n-state.gif","o-state.gif","b-state.gif","sm-state.gif","so-state.gif","sb-state.gif","ssm-state.gif","sso-state.gif","ssb-state.gif","sssb-state.gif","sssm-state.gif","ssso-state.gif");

/* check if obj is menu item or its contents (return menu item if true) */
function isMenuItem(obj) {
    while (obj && (obj != document) && (obj.tagName.toLowerCase() != "ul")) {
        if (obj.tagName.toLowerCase() == "li") return obj;
        obj = (obj.parentElement) ? obj.parentElement : obj.parentNode;
    }
    return false;
}

/* handling multiple styles applied to an element */

function addStyle(obj, class_name) {
    var cn = obj.className;
    var re = new RegExp("(^| )" + class_name + "($| )");
    if (cn.search(re) != -1) return false;
    if (cn != "" && cn.charAt(cn.length - 1) != " ") cn += " ";
    cn += class_name;
    obj.className = cn;
}

function removeStyle(obj, class_name) {
    if (!obj) return false;
	    var re = new RegExp(" " + class_name + " ");
    var re1 = new RegExp("(^" + class_name + " )|( " + class_name + "$)|(^"
                           + class_name + "$)");
    var cn = obj.className;
    cn = cn.replace(re, " ");
    cn = cn.replace(re1, "");
    if (obj.className!=cn) {
        obj.className = cn;
        return true;
    }
    return false;
}

function hasStyle(obj, class_name) {
    var cn = obj.className;
    var re = new RegExp("(^| )" + class_name + "($| )");
    if (cn.search(re) != -1) return true;
	return false;
}
function handleClick(e) {
    var el = (e) ? e.target : event.srcElement;
    var menuitem = isMenuItem(el);

    if (menuitem) {
		if (menuitem.getElementsByTagName("UL").length != 0){
		removeStyle(menuitem,"pover");
		removeStyle(menuitem,"psover")
 if (!hasStyle(menuitem,'cur'))
	{	
	 if (!removeStyle(menuitem,"sub")) {
            addStyle(menuitem,"sub");
			
        } else /*{ if (munuitem.getElementsByTagName("UL").length == 0){*/
            addStyle(menuitem,"pointer");
			
		}
else {	
	 if (!removeStyle(menuitem,"sub")) {
            addStyle(menuitem,"sub");
			addStyle(menuitem,"psover");
        } else /*{ if (munuitem.getElementsByTagName("UL").length == 0){*/
            addStyle(menuitem,"pointer");
			addStyle(menuitem,"pover");
		}
    }}
}


function handleMouseOut(e) {
    var el = (e) ? e.target : event.srcElement;
    var toel = (e) ? e.relatedTarget : event.toElement;
    var menuitem = isMenuItem(el);
   if ((menuitem)&&(!hasStyle(menuitem,'cur'))&& (menuitem != isMenuItem(toel))) {
	   if (menuitem.getElementsByTagName("UL").length == 0){
            removeStyle(menuitem,"over");}
			else { if (hasStyle(menuitem,'sub')) removeStyle(menuitem,"psover");
		else removeStyle(menuitem,"pover");}
     }
}

function handleMouseOver(e) {
	   var el = (e) ? e.target : event.srcElement;
/*    var toel = (e) ? e.relatedTarget : event.toElement;*/
    var menuitem = isMenuItem(el);
    if ((menuitem)&&(!hasStyle(menuitem,'cur'))) {
		if (menuitem.getElementsByTagName("UL").length == 0){
            addStyle(menuitem,"over");}
		else  {if (hasStyle(menuitem,'sub')) addStyle(menuitem,"psover");
		else addStyle(menuitem,"pover");}
    }
}

function handleLoad() {
ar=document.getElementsByTagName("UL");
for (i=0;i<ar.length;i++){
if (ar[i].className=='menu'){	
subar=ar[i].getElementsByTagName("LI");
for (j=0;j<subar.length;j++){
if (subar[j].getElementsByTagName("UL").length != 0) {
if (hasStyle(subar[j],'cur'))
{	if (hasStyle(subar[j],'sub'))
	addStyle(subar[j],"psover");	else addStyle(subar[j],"pover");
}else
	addStyle(subar[j],"pointer");}

}
}
}
}

window.onload = handleLoad;
document.onmouseover = handleMouseOver;
document.onmouseout = handleMouseOut;
document.onclick = handleClick;

