var mnu_timer=0;
var vmnu_timer0=0;
var vmnu_timer1=1;
var max_site_width=760;

var w_menu_image = 0;           //Menu image (if any) that appears to the left of the menu header text
var w_menu_space = 20;          //Vertical space between menu items    
var letterfactor = 7;           //Used for calculating child menu position based on font size
var menu_width = 120;            //Width of child menus
var topmenustart=190;           //Top position of the menu
var leftmenustart=0;            //First Left Position of the menu

var vw_nav_image = 0;              //Menu image (if any) that appears to the left of the menu header text
var v_menu_space = 0;              //horz space between menu items
var vmenu_width = 150;              //Width of child menus
var vmenu_height = 20;
var vtopmenustart=190;              //First Top position of the menu
var vleftmenustart=0;             //Left Position of the menu
//id,title array of "items"

if (parseInt(resolution)==800){
    leftmenustart=leftmenustart;
    max_site_width=760
}

function menu_lookup(svalue){
	if (svalue.charAt(svalue.length - 1) == "|") svalue = svalue.substr(0,svalue.length - 1);
	var sdata=svalue.split("|");
	this.contents=new Array();
	this.get=get_member;
	for (var i=0;i<sdata.length;i++){
		var m = new item_lookup(sdata[i]);
		this.contents[this.contents.length]=m;
	}
	return this;
}
function item_lookup(svalue){
	if (svalue.charAt(svalue.length - 1) == "^") svalue = svalue.substr(0,svalue.length - 1);
	var sdata=svalue.split("^");
	this.itemid=sdata[0];
	this.parentid=sdata[1];
	this.itemtitle=sdata[2];
	this.itemurl=sdata[3];
	this.itemsequence=sdata[4];
    this.type=sdata[5];
	return this;
}

function get_member(memberid){
	
	for (var n=0;n<this.contents.length;n++){
		if (memberid==this.contents[n].itemid){
			   return this.contents[n];	
			}
	}
}
//build two level array of menus
function make_menus(obj,directionalcue){
	this.contents=new Array(); // Array to hold all menus
	this.itemid=0;
	this.parentid=-1;
	this.get=get_menu;
	this.level=0;
	this.html="";
	this.additem=add_menu;
	this.itemsequence=0;
    this.type=directionalcue;
	//alert(obj.contents.length);
	for (var i=0;i<obj.contents.length;i++){
		var mnu = new menu_item(obj.contents[i],directionalcue)
        if (parseInt(mnu.parentid)==0){
			this.additem(mnu);
		}
		else{
			var pmnu=this.get(mnu.parentid);
			if(pmnu) //parent is a valid menu
                pmnu.additem(mnu);
		    else    //no valid parent item
                this.additem(mnu);
        }
	}
    for (var i=0;i<this.contents.length;i++){
		var mnu=this.contents[i];
		if (mnu.contents.length>0){
			mnu.html=make_menu_html(mnu);
			this.contents[i]=mnu;
		}
		
	}
	
	this.html=make_menu_html(this)
	return this;
}

//object for containing menu data
function menu_item(mnuData,directionalcue){
	this.itemid = mnuData.itemid;
	this.itemtitle=mnuData.itemtitle
	this.parentid=mnuData.parentid;
	this.itemurl=mnuData.itemurl;
	this.contents=new Array();
	this.additem=add_menu;
	this.get=get_menu;
	this.html=directionalcue;
	this.itemsequence=mnuData.itemsequence
	this.type=directionalcue;
    return this;
}
var current_member=0;
function get_menu(mnuID){
    for (var i=0;i<this.contents.length;i++){
		if (parseInt(mnuID)==parseInt(this.contents[i].itemid)){
			current_member=i;
            return this.contents[i];
		}
	}
	return false;
}

function add_menu(mnu_item){
	if (this.parentid==-1){
	}
	else
	{
	mnu_item.itemsequence=this.itemsequence;
	}
	this.contents[this.contents.length]=mnu_item;
}

function make_menu_html(obj){
	var slevel=1;
	var s="v"
	var shtml="";
	var b=false;
     	if (parseInt(obj.parentid)==-1){
                if (parseInt(obj.type)==0){ //horizontal menu
            	    shtml='<table border="0" height="100%" cellpadding="0" cellspacing="0">'
                    shtml+='<tr valign="middle">'
                    shtml+='<td align="left">'
                    shtml+='<table border="0" cellspacing="0" cellpadding="0">';
            	    shtml+='<tr valign="middle">';
                    for (var i=0;i<obj.contents.length;i++){
                        if(parseInt(currentid) == parseInt(obj.contents[i].itemid))
                            var link_class="navlink_on";
                        else
                            var link_class="navLink_off";
						
						if (parseInt(i)>0)	shtml+='<td class="h_menu_left" width="' +  parseInt(w_menu_space) + 'px" align="center" valign="bottom"></td>'
			            shtml+='<td class="h_menu_center" width="'+  parseInt(obj.contents[i].itemtitle.length)*letterfactor  +'px" align="left" ><a href="' + obj.contents[i].itemurl + '" class="' + link_class + '" onmouseout="mnu_timer=setTimeout(\'prepare_hide()\',1000);" onmouseover="javascript: show_menu(' + obj.contents[i].itemid  + ','+ obj.type +');canceltimer(); ensure_visible(' + obj.contents[i].itemid + ');">&nbsp;' + obj.contents[i].itemtitle + '</a></td>';
						
                    }
            		shtml+='</tr>';
                    shtml+='</table>';
                    shtml+='</td>';
                    shtml+='</tr>';
                    shtml+='</table>';
                }else{ //Vertical menu
            	    shtml='<table align="left" width="100%" class="vMenu_Table" cellpadding="0" cellspacing="0" border="0">'
                    for (var i=0;i<obj.contents.length;i++){
                        if (obj.contents[i].itemid){
                            if(parseInt(currentid) == parseInt(obj.contents[i].itemid))
                                var link_class="navlink_on";
                            else
                                var link_class="navLink_off";
                            shtml+='<tr><td align="left" style="border-top: 1px solid #ffffff;" height="' + vmenu_height + 'px" width="'+  parseInt(obj.contents[i].itemtitle.length)*letterfactor  +'px" ><a class="' + link_class + '" style="font-size: 11px;"  onmouseout="mnu_timer=setTimeout(\'prepare_hide()\',200);" onmouseover="javascript: show_menu('+ obj.contents[i].itemid  + ','+ obj.type +');canceltimer(); ensure_visible(' + obj.contents[i].itemid + ');">&nbsp;' + obj.contents[i].itemtitle + '</a></td></tr>';
                        }
                    }
                    shtml+='</table>';             
                }
        }
    	else{
             if (parseInt(obj.type)==0){
                	shtml='<table align="left" width="' + menu_width + 'px" cellspacing="0" cellpadding="0" class="hchild_Menu_Table">';
                    for (var i=0;i<obj.contents.length;i++){
						var cid = obj.contents[i].itemid
                        shtml+='<tr class="nav_child_off" id="child_menu'+ cid +'" onmouseover="javascript: hi_lite_child_menu('+ cid +',\'nav_child_on\')" onmouseout="javascript: hi_lite_child_menu('+ cid +',\'nav_child_off\')"><td align="left" style="padding-left: 4px;" height="20px" valign="middle" align="center"><a class="navLink_child" href="' + obj.contents[i].itemurl + '" onmouseout="prepare_hide();">' + obj.contents[i].itemtitle + '</a></td></tr>';
                    }
                    shtml+='</table>';
             }else{
                    shtml='<table align="left" width="' + vmenu_width + 'px" cellspacing="0" cellpadding="0" class="vchild_Menu_Table">';
                    for (var i=0;i<obj.contents.length;i++){
                        shtml+='<tr><td align="left" style="border-top: 1px solid #ffffff; padding-left: 4px;" height="20px" valign="middle" align="center"><a class="navLink_child" href="' + obj.contents[i].itemurl + '" onmouseout="prepare_hide();">' + obj.contents[i].itemtitle + '</a></td></tr>';
                    }
                    shtml+='</table>';
             }
        }
  //  alert(shtml);
	return shtml;
}
function set_color(pel,pcolor){
    var el=get_style(pel);
    el.background=pcolor;
}

//SHOW MENU - occurs on mouse over event. This displays the HTML for a menu object
function show_menu(mnuID, oType){
    canceltimer();
    var el=get_el("pop_menu2");
        //Set menu H or V
    if (parseInt(oType)==0){    //horizontal
        var mnu=hmenu.get(mnuID);
    }else if (parseInt(oType)==1){                      //vertical
        var mnu=vmenu1.get(mnuID);
    }else if (parseInt(oType)==2){                      //vertical
        var mnu=vmenu2.get(mnuID);
    }
        //If no contents exit
	if (parseInt(mnu.contents.length)==0){
        var el=get_style("pop_menu2")
		el.visibility="hidden";
	}
        //else build menu
	else{
		el.innerHTML=mnu.html;          //set html
        var el=get_style("pop_menu2")   //get the menu div style
        
        if (parseInt(oType)==0){   //horizontal menu
            el.top=topmenustart;                //set top position  
            var current_menu_pos=leftmenustart;

            for (var i=0; i < parseInt(current_member); i++)
                current_menu_pos += (parseInt(w_menu_space) + (parseInt(hmenu.contents[i].itemtitle.length)*letterfactor));

			if (i>0)	current_menu_pos += 10;
			//alert(parseInt(hmenu.contents[0].itemtitle.length)*letterfactor)
            el.left = current_menu_pos + "px";	
        }else{                      //vertical menu
            if (parseInt(oType)==1)
                el.left = vleftmenustart + "px";	//set left position
            else
                 el.left = v2leftmenustart + "px";	//set left position
            var current_menu_pos=vtopmenustart;
            current_menu_pos +=  ((parseInt(v_menu_space) + parseInt(vmenu_height))* parseInt(current_member));
            el.top=current_menu_pos + "px";
        }
        el.visibility="visible";
		mnu_timer=setTimeout('hide_menu('+ mnuID + ')',3000);
    }
}
//Overload for vertical menus
function vshow_menu(mnuName){
    get_style(mnuName).visibility = 'visible'; 
    vmnu_timer0=setTimeout('vhide_menus("v_menu")',6000);  
}
function canceltimer(){
	clearTimeout(mnu_timer);
}
//Overload for vertical menus
function vcanceltimer(vMenu){
    if(parseInt(vMenu)==1){
        clearTimeout(vmnu_timer0);
    }else if(parseInt(vMenu)==2){
	    clearTimeout(vmnu_timer1);
    }
}
//set time for hiding menus that may be visible
function prepare_hide(){
	canceltimer();
	mnu_timer=setTimeout('hide_menus()',6000);
}
//Overload for vertical menus
function vprepare_hide(vMenu){
	vcanceltimer(vMenu);
    if(parseInt(vMenu)==1)
        vmnu_timer0=setTimeout('vhide_menus("v_menu")',6000);
    else
        vmnu_timer1=setTimeout('vhide_menus("v_menu2")',6000);
}
function hide_menus(){
		var el=get_style("pop_menu2")
		el.visibility="hidden";
}
//Overload for vertical menus
function vhide_menus(mnuName){
    get_style(mnuName).visibility = 'hidden';
    var el=get_style("pop_menu2")
		el.visibility="hidden";   
}

function hide_menu(mnuID){
	var mnu=hmenu.get(mnuID);
	var el=get_style("pop_menu2")
	el.visibility="hidden";
}
function ensure_visible(level){
	var actualbottom = document.body.clientHeight + document.body.scrollTop;
	var el=get_el("pop_menu2");
    var elsty= get_style("pop_menu2");    
		var itop=parseInt(elsty.top);
		var iheight=parseInt(el.clientHeight);
		if ((actualbottom - 22)-(itop + iheight)<0){
			elsty.top=(actualbottom-iheight-10)
		}
}
function hi_lite_child_menu(){
}
function form_reset(frm){
        el= get_el(frm);
		el.reset();
}
    
function form_submit(frm){
    el= get_el(frm);
    el.submit();
}
