var mmenus    = new Array();
var misShow   = new Boolean(); 
misShow=false;
var misdown   = new Boolean();
misdown=false;
var musestatus=false;
var mpopTimer = 0;//518FD5
mmenucolor='#f8f8ff';mfontcolor='#333333';mmenuoutcolor='#518FD5';mmenuincolor='#518FD5';mmenuoutbordercolor='#518FD5';mmenuinbordercolor='#518FD5';mmidoutcolor='#000000';mmidincolor='#000000';mmenuovercolor='#ffffff';mitemedge='1';msubedge='1';mmenuunitwidth=80;mmenuitemwidth=160;mmenuheight=38;mmenuwidth='100%';mmenuadjust=4;mmenuadjustV=-1;mfonts='font-family: Verdana; font-size: 8pt; color: #333333; ';mfontsT='font-family: Verdana; font-size: 8pt; color: #80ff80; ';mcursor='hand';
var fadeSteps = 4;
var fademsec =10;
var fadeArray = new Array();
 ////////////////////////////////////////////////////////////////////
 ///MakeShadow
 var h;
 var w;
 var l;
 var t;
 var topMar = 1;
 var leftMar = -5;
 var space = 1;
 var isvisible;
 var MENU_SHADOW_COLOR='#999999';
 var global = window.document
 global.fo_currentMenu = null
 global.fo_shadows = new Array
 //**********************************
 //function setTableWidth 
 //arg:width
 //**********************************
function setTableWidth(width)
{
	mmenuwidth=width;
}
 ////////////////////////////////////////////////////////////////////
function fade(el, fadeIn, steps, msec) {
//alert(el.style.filter)
	if (steps == null) steps = fadeSteps;
	if (msec == null) msec = fademsec;
	if (el.fadeIndex == null)
		el.fadeIndex = fadeArray.length;
	fadeArray[el.fadeIndex] = el;
	if (el.fadeStepNumber == null) {
		if (el.style.visibility == "hidden")
			el.fadeStepNumber = 0;
		else
			el.fadeStepNumber = steps;
		if (fadeIn)
			el.style.filter = "Alpha(Opacity=0)";
		else
			el.style.filter = "Alpha(Opacity=100)";
	}
	window.setTimeout("repeatFade(" + fadeIn + "," + el.fadeIndex + "," + steps + "," + msec + ")", msec);
}
function repeatFade(fadeIn, index, steps, msec) {	
	el = fadeArray[index];
	
	c = el.fadeStepNumber;
	if (el.fadeTimer != null)
		window.clearTimeout(el.fadeTimer);
	if ((c == 0) && (!fadeIn)) {
		el.style.visibility = "hidden";
		return;
	}
	else if ((c==steps) && (fadeIn)) {
		el.style.filter = "";
		el.style.visibility = "visible";
		return;
	}
	else {
		(fadeIn) ? 	c++ : c--;
		el.style.visibility = "visible";
		el.style.filter = "Alpha(Opacity=" + 100*c/steps + ")";
		el.fadeStepNumber = c;
		el.fadeTimer = window.setTimeout("repeatFade(" + fadeIn + "," + index + "," + steps + "," + msec + ")", msec);
	}
}

function stoperror(){
return true;
}
//window.onerror=stoperror;
function mpopOut() {
mpopTimer = setTimeout('mallhide()', 50);
}
function getReal(el, type, value) {
	temp = el;
	while ((temp != null) && (temp.tagName != "BODY")) {
		if (eval("temp." + type) == value) {
			el = temp;
			return el;
		}
		temp = temp.parentElement;
	}
	return el;
}


function mMenuRegister(menu) 
{
  mmenus[mmenus.length] = menu
  return (mmenus.length - 1)
}
function mMenuItem(caption,command,target,isline,statustxt,img,sizex,sizey,pos){
	this.caption=caption;
	this.command=command;
	this.target=target;
	this.isline=isline;
	this.statustxt=statustxt;
	this.img=img;
	this.sizex=sizex;
	this.sizey=sizey;
	this.pos=pos;
}
function mMenu(caption,command,target,img,sizex,sizey,pos,children){
	this.items = new Array();
	this.caption=caption;
	this.command=command;
	this.target=target;
	this.img=img;
	this.sizex=sizex;
	this.sizey=sizey;
	this.pos=pos;
	this.children=children;
	this.id=mMenuRegister(this);
}
function mMenuAddItem(item)
{
  this.items[this.items.length] = item
  item.parent = this.id;
  this.children=true;
}

mMenu.prototype.addItem = mMenuAddItem;
function mtoout(src){

src.style.borderLeftColor=mmenuoutbordercolor;
src.style.borderRightColor=mmenuinbordercolor;
src.style.borderTopColor=mmenuoutbordercolor;
src.style.borderBottomColor=mmenuinbordercolor;
src.style.backgroundColor=mmenuoutcolor;
if (src.style.color!=mmenuovercolor)
src.style.oldcolor=src.style.color
src.style.color=mmenuovercolor;
//src.style.color=src.style.oldcolor;
}
function mtoin(src){

src.style.borderLeftColor=mmenuinbordercolor;
src.style.borderRightColor=mmenuoutbordercolor;
src.style.borderTopColor=mmenuinbordercolor;
src.style.borderBottomColor=mmenuoutbordercolor;
src.style.backgroundColor=mmenuincolor;
if (src.style.color!=mmenuovercolor)
src.style.oldcolor=src.style.color
src.style.color=mmenuovercolor;
}
function mnochange(src){
src.style.borderLeftColor=mmenucolor;
src.style.borderRightColor=mmenucolor;
src.style.borderTopColor=mmenucolor;
src.style.borderBottomColor=mmenucolor;
src.style.backgroundColor='';
src.style.color=src.style.oldcolor;

}
function mallhide(){
	for(var nummenu=0;nummenu<mmenus.length;nummenu++){
		var themenu=document.all['mMenu'+nummenu]
		var themenudiv=document.all['mmenudiv'+nummenu]
                mnochange(themenu);
                mmenuhide(themenudiv,nummenu);
				
                }
}
function mmenuhide(menuid,nummenu){
//alert(nummenu);
fade(menuid,false,5);
//menuid.style.visibility = "hidden";

misShow=false;
}
function mmenushow(menuid,pid){

menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;menuid.style.top=mposflag.offsetTop+mmenutable.offsetHeight+mmenuadjustV;
if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth+document.body.scrollLeft)
menuid.style.left=document.body.clientWidth+document.body.scrollLeft-mmenuitemwidth;
fade(menuid,true,5);
misShow=true;
}
function mmenu_over(menuid,x){
toel = getReal(window.event.toElement, "className", "coolButton");
fromel = getReal(window.event.fromElement, "className", "coolButton");
if (toel == fromel) return;
//if(x==2||x==4){
if (mmenus[x].children=="false"){
  misShow = false;
  mallhide();
  mtoout(eval("mMenu"+x));
}else{

  mallhide();
  mtoin(eval("mMenu"+x));
  mmenushow(menuid,eval("mMenu"+x));

}
clearTimeout(mpopTimer);
}
function mmenu_out(x){
toel = getReal(window.event.toElement, "className", "coolButton");
fromel = getReal(window.event.fromElement, "className", "coolButton");
if (toel == fromel) return;
if (misShow){
mtoin(eval("mMenu"+x));
}else{
mnochange(eval("mMenu"+x));
}
mpopOut()
}
function mmenu_down(menuid,x){
  if(misShow){
  mmenuhide(menuid);
  mtoout(eval("mMenu"+x));
  }
  else{
  mtoin(eval("mMenu"+x));
  mmenushow(menuid,eval("mMenu"+x));
  misdown=true;
  }
}
function mmenu_up(){
  misdown=false;
}
function mmenuitem_over(x,i){
srcel = getReal(window.event.srcElement, "className", "coolButton");
if(misdown){
	mtoin(srcel);
}
else{
mtoout(srcel);
}
mthestatus = mmenus[x].items[i].statustxt;
if(mthestatus!=""){
	musestatus=true;
	window.status=mthestatus;
}
clearTimeout(mpopTimer);
}
function mmenuitem_out(){
srcel = getReal(window.event.srcElement, "className", "coolButton");
mnochange(srcel);
if(musestatus)window.status="";
mpopOut()
}
function mmenuitem_down(){
srcel = getReal(window.event.srcElement, "className", "coolButton");
mtoin(srcel)
misdown=true;
}
function mmenuitem_up(){
srcel = getReal(window.event.srcElement, "className", "coolButton");
mtoout(srcel)
misdown=false;
}
function mexec2(x){
var cmd;
if(mmenus[x].target=="blank"){
  cmd = "window.open('"+mmenus[x].command+"')";
}else{
  cmd = mmenus[x].target+".location=\""+mmenus[x].command+"\"";
}
eval(cmd);
}
function mexec(x,i){
var cmd;
if(mmenus[x].items[i].target=="blank"){
  cmd = "window.open('"+mmenus[x].items[i].command+"')";
}else{
  cmd = mmenus[x].items[i].target+".location=\""+mmenus[x].items[i].command+"\"";
}
eval(cmd);
}
function mbody_click(){

if (misShow){
	srcel = getReal(window.event.srcElement, "className", "coolButton");
	for(var x=0;x<=mmenus.length;x++){
		if(srcel.id=="mMenu"+x)
		return;
	}
	mallhide();
}
}
document.onclick=mbody_click;
function mwritetodocument(){
      var mwb=0;
                     var stringx='<div id="mposflag"  style="position:absolute;"></div><table  id=mmenutable border=0 cellpadding=0 cellspacing=0 width='+mmenuwidth+' height='+mmenuheight+' bgcolor='+mmenucolor+
                     ' onselectstart="event.returnValue=false"'+
                     ' style="cursor:'+mcursor+';'+mfontsT+ 'filter:Alpha(Opacity=100)'+
                     ' border-left: '+mwb+'px solid '+mmenuoutbordercolor+';'+
                     ' border-right: '+mwb+'px solid '+mmenuinbordercolor+'; '+
                     'border-top: '+mwb+'px solid '+mmenuoutbordercolor+'; '+
                     'border-bottom: '+mwb+'px solid '+mmenuinbordercolor+'; padding:0px"><tr><td background="/imgs/left.gif" width=8>'
                     for(var x=0;x<mmenus.length;x++){
                     	var thismenu=mmenus[x];
                     	var imgsize="";
                     	if(thismenu.sizex!="0"||thismenu.sizey!="0")imgsize=" width="+thismenu.sizex+" height="+thismenu.sizey;
                     	var ifspace="";
                     	if(thismenu.caption!="") ifspace="&nbsp;";
                     	stringx += "<td nowrap backGround='/imgs/center.gif' class=coolButton id=mMenu"+x+" style='border: "+"0"/*mitemedge*/+"px solid "+mmenucolor+
                     	"' width="+mmenuunitwidth+"px onmouseover=mmenu_over(mmenudiv"+x+
                     	","+x+") onmouseout=mmenu_out("+x+
                     	") onmousedown=mmenu_down(mmenudiv"+x+","+x+")";
                     	      if(thismenu.command!=""){
                     	          stringx += " onmouseup=mmenu_up();mexec2("+x+");";
                     	      }else{
                     	      	  stringx += " onmouseup=mmenu_up()";
                     	      }
                     	      if(thismenu.pos=="0"){
                     	          stringx += " align=center><img align=absmiddle src='"+thismenu.img+"'"+imgsize+">"+ifspace+thismenu.caption+"</td>";	
                     	      }else if(thismenu.pos=="1"){
                     	          stringx += " align=left>"+thismenu.caption+ifspace+"<img align=absmiddle src='"+thismenu.img+"'"+imgsize+"></td>";	
                     	      }else if(thismenu.pos=="2"){
                     	          stringx += " align=center><img align=absmiddle src='"+thismenu.img+"'"+imgsize+">"+ifspace+thismenu.caption+"&nbsp;</td>";	
                     	      }else{
                     	          stringx += " align=center>&nbsp;"+thismenu.caption+"&nbsp;</td>";
                     	      }
                     	stringx += "";
                     }
                     stringx+="<td backGround='/imgs/center.gif' align=right width=*>&nbsp;</td><td backGround='/imgs/right.gif' width=8></td></tr></table>";
                     
                     
                     for(var x=0;x<mmenus.length;x++){
                     	thismenu=mmenus[x];
			///////////////////////////////////////////////////////
                        if(thismenu.children=="false"){
			//////////////////////////////////////////////////////
                        stringx+='<div id=mmenudiv'+x+' style="visiable:none ;filter:Alpha(Opacity=50)"></div>';
                        }else{
                        stringx+='<div id=mmenudiv'+x+
                        ' style="cursor:'+mcursor+';position:absolute;'+
                        'width:'+mmenuitemwidth+'px;z-index:'+(x+100);
                        if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                        stringx+=';border-left: 0px solid '+mmidoutcolor+
                        ';border-top: 0px solid '+mmidoutcolor;}
                        stringx+=';border-right: 0px solid '+mmenuinbordercolor+
                        ';border-bottom: 0px solid '+mmenuinbordercolor+';visibility:hidden;overflow: visible;" onselectstart="event.returnValue=false">\n'+
                     	'<table id=submenu'+x+' onmousemove="clearTimeout(mpopTimer);"  width="100%" border="0" height="100%"  align="center" cellpadding="1" cellspacing="2" '+
                     	'style="'+mfonts+' border-left: 1px solid '+mmenuoutbordercolor;
                       // if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                     	stringx+=';border-right: 1px solid '+mmenuoutbordercolor+
                     	';border-bottom: 1px solid '+mmenuinbordercolor;//}
                     	stringx+=';border-top: 1px solid '+mmenuinbordercolor+
                     	';padding: 4px" bgcolor='+mmenucolor+'>\n'
                     	for(var i=0;i<thismenu.items.length;i++){
                     		var thismenuitem=thismenu.items[i];
                     		var imgsize="";
                     	        if(thismenuitem.sizex!="0"||thismenuitem.sizey!="0")imgsize=" width="+thismenuitem.sizex+" height="+thismenuitem.sizey;
                     	        var ifspace="";
                     	        if(thismenu.caption!="")ifspace="&nbsp;";
                     		if(!thismenuitem.isline){
                     		stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                     		"' width=100% height=15px onmouseover=\"mmenuitem_over("+x+","+i+
                     		");\" onmouseout=mmenuitem_out() onmousedown=mmenuitem_down() onmouseup=";
 				stringx += "mmenuitem_up();mexec("+x+","+i+"); ";
 				if(thismenuitem.pos=="0"){
                     	            stringx += "><img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+">"+ifspace+thismenuitem.caption+"</td></tr>";	
                     	          }else if(thismenuitem.pos=="1"){
                     	            stringx += ">"+thismenuitem.caption+ifspace+"<img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+"></td></tr>";	
                     	          }else if(thismenuitem.pos=="2"){
                     	            stringx += "background='"+thismenuitem.img+"'>"+thismenuitem.caption+"</td></tr>";	
                     	          }else{
                     	            stringx += ">"+thismenuitem.caption+"</td></tr>";
                     	          }
 				}else{
                     		stringx+='<tr><td width="100%" align=center><table width=100%><tr></td><td height="4"  width="100%" background="/imgs/hr.gif" onmousemove="clearTimeout(mpopTimer);"><img height="1" width="1" src="none.gif" border="0"></td></tr></table></td></tr>\n';
                     		}
                     	}stringx+='</table>\n</div>';
						//if(thismenu.children!="false")
						//makeRectangularDropShadow('submenu'+x,"#999999",4)
                     	}
                     	
                }
                	//textarea.value=eval(submenu1.style.posLeft);
					//textarea.value=stringx;
                     document.write(/*"<div  align='center'>"+*/stringx/*+"</div>"*/);
					 //textarea.value=eval(submenu1.style.posLeft);
					for(var x=0;x<mmenus.length;x++){
                     	thismenu=mmenus[x];
                        if(thismenu.children!="false")
						{
					 //makeRectangularDropShadow(eval('submenu'+x),MENU_SHADOW_COLOR,2);
					 }}
}


function makeRectangularDropShadow(el, color, size)
{
	var i;
	
	for (i=size; i>0; i--)
	{
		var rect = document.createElement('div');
		var rs = rect.style
		rs.position = 'absolute';
		rs.left = el.style.posLeft+ i + 'px';
		rs.top = el.style.posTop + i + 'px';
		rs.width = el.offsetWidth + 'px';
		rs.height = el.offsetHeight + 'px';
		rs.zIndex = el.style.zIndex - i;
		rs.backgroundColor = color;
		var opacity = 1 - i / (i + 1);
		rs.filter = 'alpha(opacity=' + (100 * opacity) + ')';
		el.insertAdjacentElement('afterEnd', rect);
		global.fo_shadows[global.fo_shadows.length] = rect;
	}
}


/*mpmenu1=new mMenu('File','','self','../IMAGE/WIN16.GIF','0','0','0','');
mpmenu1.addItem(new mMenuItem('New','javascript:alert(\\"New\\")','self',false,'New','../IMAGE/new.gif','0','0','0'));
mpmenu1.addItem(new mMenuItem('Open','javascript:alert(\\"Open\\")','self',false,'Open','../IMAGE/open.gif','0','0','0'));
mpmenu1.addItem(new mMenuItem('Save','javascript:alert(\\"Save\\")','self',false,'Save','../IMAGE/save.gif','0','0','0'));
mpmenu1.addItem(new mMenuItem(null,null,null,true));
mpmenu1.addItem(new mMenuItem('Exit','javascript:alert(\\"Exit\\")','self',false,'Exit','../IMAGE/exit.gif','0','0','0'));
mpmenu2=new mMenu('Edit','','self','../IMAGE/WIN16.GIF','0','0','0','');
mpmenu2.addItem(new mMenuItem('Undo','javascript:alert(\\"Undo\\")','self',false,'Undo','../IMAGE/undo.gif','0','0','0'));
mpmenu2.addItem(new mMenuItem('Forward','javascript:alert(\\"Forward\\")','self',false,'Forward','../IMAGE/redo.gif','0','0','0'));
mpmenu2.addItem(new mMenuItem(null,null,null,true));
mpmenu2.addItem(new mMenuItem('Copy','javascript:alert(\\"Copy\\")','self',false,'Copy','../IMAGE/copy.gif','0','0','0'));
mpmenu2.addItem(new mMenuItem('Paste','javascript:alert(\\"Paste\\")','self',false,'Paste','../IMAGE/paste.gif','0','0','0'));
mpmenu3=new mMenu('Favorites','','self','../IMAGE/WIN16.GIF','0','0','0','');
mpmenu3.addItem(new mMenuItem('My&nbsp;Homepage','http://www.KnifeSoft.com','blank',false,'Visit My Homepage','../IMAGE/HOME.GIF','0','0','0'));
mpmenu3.addItem(new mMenuItem('Yahoo','http://www.yahoo.com','blank',false,'Visit Yahoo','../IMAGE/VIEW.GIF','0','0','0'));
mpmenu4=new mMenu('Help','','self','../IMAGE/WIN16.GIF','0','0','0','');
mpmenu4.addItem(new mMenuItem('Content','javascript:alert(\\"Content\\")','self',false,'Content','../IMAGE/help.gif','0','0','0'));
mpmenu4.addItem(new mMenuItem('Send&nbsp;me&nbsp;an&nbsp;E-mail','mailto:Support@knifesoft.com','self',false,'Send me an E-mail','../IMAGE/mail.gif','0','0','0'));
mpmenu4.addItem(new mMenuItem(null,null,null,true));
mpmenu4.addItem(new mMenuItem('About','javascript:alert(\\"About\\")','self',false,'About WebMenuShop','../IMAGE/about.gif','0','0','0'));
mwritetodocument();*/
