// JavaScript Document
// Made by Ahmed Khamdan
// (C) 2004, tasjeel.biz



isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.myDiv : document.getElementById("myDiv");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}


function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.myDiv.visibility="hide";
}

function showMe(){
  if (isIE||isNN)
  whichDog.style.visibility="visible";
  else if (isN4) document.myDiv.visibility="show";
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");


var SHIFT_DOWN = false;
var CTRL_DOWN  = false;
var A_DOWN     = false;
document.onkeydown=keys;
document.onkeyup=keys;
function keys(evt)
{
     evt = (evt) ? evt : window.event
     var keyCode = evt.keyCode;
     if(keyCode==17)SHIFT_DOWN=!SHIFT_DOWN;
     if(keyCode==16)CTRL_DOWN=!CTRL_DOWN;
     if(keyCode==65)A_DOWN=!A_DOWN;
     if(SHIFT_DOWN & CTRL_DOWN & A_DOWN)
     {
          showHide();
     }
}


function showHide()
{
     var m=document.getElementById("myDiv");
     if(m.style.visibility!="visible")
     m.style.visibility="visible";
     else
     m.style.visibility="hidden";
}

			<!--
			var htmlNBSP = "&nbsp;";
		var LinkList = new Array;
		var ImageNameMap = new Array;
		var Timer = new Array;
		function NSMouseCallback(name,callback)
		{	this.name = name;
			this.callback = callback;
		}
		function AddNSMouseCapture(srclayer,name,down_callback,up_callback)
		{	
			if (null == srclayer.captureEvents) return;
		//Local	
			var callbacklist;
			var i;
		//Capture
			if (null != srclayer.down_callback)	srclayer.releaseEvents(Event.MOUSEDOWN);	
			if (null != srclayer.up_callback)	srclayer.releaseEvents(Event.MOUSEUP);	
			srclayer.captureEvents(Event.MOUSEDOWN);
			srclayer.captureEvents(Event.MOUSEUP);
		//Init
			if (null == srclayer.down_callback)	srclayer.down_callback = new Array;
			if (null == srclayer.up_callback)	srclayer.up_callback = new Array;
		//Add Callback	
			for (i = 0; i < srclayer.down_callback.length; i++)
			{	if (srclayer.down_callback[i].name == name)
				{	srclayer.down_callback[i].callback = down_callback;
					break;
				}
			}
			if (i == srclayer.down_callback.length)
				srclayer.down_callback[srclayer.down_callback.length] = new NSMouseCallback(name,down_callback);
		
			for (i = 0; i < srclayer.up_callback.length; i++)
			{	if (srclayer.up_callback[i].name == name)
				{	srclayer.up_callback[i].callback = up_callback;
					break;
				}
			}
			if (i == srclayer.up_callback.length)
				srclayer.up_callback[srclayer.up_callback.length] = new NSMouseCallback(name,up_callback);
		//Set Handle
			callbacklist = "";
			for (i = 0 ; i < srclayer.down_callback.length; i++)
				callbacklist = callbacklist + srclayer.down_callback[i].callback;
			srclayer.onmousedown = new Function("event",callbacklist);
		
			callbacklist = "";
			for (i = 0 ; i < srclayer.up_callback.length; i++)
				callbacklist = callbacklist + srclayer.up_callback[i].callback;
			srclayer.onmouseup = new Function("event",callbacklist);
		}
		function RemoveNSMouseCapture(srclayer,name)
		{	if (null == srclayer.releaseEvents) return;
			srclayer.releaseEvents(Event.MOUSEDOWN);
			srclayer.releaseEvents(Event.MOUSEUP);
			srclayer.down_callback = null;
			srclayer.up_callback = null;
		}
		function IsPrefixWith(szSrc,start,szPrefix)
		{	if ("" == szSrc || "" == szPrefix) return false;
			if (0 == szSrc.length || 0 == szPrefix.length) return false;
			
			var		i;
		
			for(i = 0; 0 != szSrc.charAt(start + i) && 0 != szPrefix.charAt(i); i++) {
				if (szSrc.charAt(start + i) != szPrefix.charAt(i))	break; }
			return 0 == szPrefix.charAt(i);
		}
		function IsPrefixSpecialChar(szSrc,start)
		{	if ("" == szSrc || 0 == szSrc.length) return false;		
			return '&' == szSrc.charAt(start);
		}
		function GetPrefixSpecialCharLen(szSrc,start)
		{
		//	Gaurd
			if (0 == szSrc.length || '&' != szSrc.charAt(start)) return 0;
		//	Init
			var	Len	= 0 , i;
			
			for(i = 0; 0 != szSrc.charAt(i); i++)
			{	if (';' == szSrc.charAt(start + i))
				{	Len = i + 1;
					break;
				}
			}
		//	Return
			return Len;
		}
		function GoLink(url,target)
		{
		//	gaurd
			if (url == null) return;
			if (url.length == 0) return;
		//	local
			var target_doc = document;
		//	find link target
			if (null != window.parent) {
				if (null != window.parent.frameset) {
					if (null != window.parent.frameset[target])
						target_doc = window.parent.frameset[target]; } }
		//	link
			if (null == target)				document.location.href	= url;
			else if ('_self' == target)		document.location.href = url;
			else if ('_blank' == target)	window.open(url);
			else if (null != target_doc)	target_doc.location.href = url;
			else							window.open(url,target);
		}
		function HitTest()
		{	if (null == document.all) return true;
		
			return (   window.event.x > 0 && window.event.x < document.all[Me.target].offsetWidth 
					&& window.event.y > 0 && window.event.y < document.all[Me.target].offsetHeight);
		}
		
		function UpdateSrcText(var_name,update_text)
		{
			var	i = 0;
			var	parse_text	= "";	
		
			for (i = 0; i < update_text.length; i ++)
			{
				if ('\'' == update_text.charAt(i))
					parse_text = parse_text + "\\";	
				parse_text = parse_text + update_text.charAt(i);
			}
		
			eval(var_name + "='" + parse_text + "'; ");
		}
		
		function AddLink(src_text,text_link)
		{
			var text_res = "";
		
			if (text_link.length)
				text_res = "<A href='" + text_link + "'>" + src_text + "</A>";
			else
				text_res = src_text;
		
			return text_res;
		}
		
		function GetLayer(target)
		{	var target_layer;
			if (document.all)
			{	target_layer = document.all[target];
			}
			else if (document.layers)
			{	if (document.layers[target + "_layer"])
					target_layer = document.layers[target + "_layer"];
				else
					target_layer = document.layers[target].document.layers[target + "_layer"];
			}
			return target_layer;
		}
		function UpdateLayer(target,restext)
		{	var target_layer;
			target_layer = GetLayer(target);
			if (document.all)
			{	target_layer.innerHTML = restext;
			}
			else if (document.layers)
			{	target_layer.document.open("text/html");
				target_layer.document.write(restext);
				target_layer.document.close();	
			}	
		}
		function AddTextLink(strLink)
		{	LinkList[LinkList.length] = strLink;  }
		function GoTextLink(LinkIndex)
		{	GoLink(LinkList[LinkIndex],'');	}
		function ReloadPage()
		{	for (i = 0 ; i < Timer.length ; i++)
				clearTimout(Timer[i]);
			document.location.reload(false);
		}
		function setJSTimeout(name,callback,delay)
		{	setTimeout("if ('undefined' != typeof(" + name + ")) " + callback + " else document.location.reload(true);",delay);
		}
		function ReplaceImageNS(layername,name, state)
		{	var CurDoc;
			if (document.layers)
				CurDoc = document.layers[layername].document.layers[layername + "_layer"].document;
			else
				CurDoc = document;	
			if (bIsSupportOK) {
				for (i = 0; i < imgCounter; i++) {
					if (CurDoc.images[ImageList[i][NameIndex]] != null) {
						if ((name == ImageList[i][NameIndex]) && (ImageList[i][state] != null))
							CurDoc.images[name].src = ImageList[i][state].src;
					}
				}
			}
		}
		//-->

		<!--
		function MakeTextStyle(text,font,fontsize,IsBold,IsItalic,color)
	{
		var StyleHead = "";
		var StyleTail = "";
	
		if (IsBold)	StyleHead = '<STRONG>';
		if (IsItalic) StyleHead = StyleHead + '<EM>';
		StyleHead	= StyleHead + '<font color="' + color + '" face="' + font + '" + size=' + fontsize + '>';
	
		StyleTail = '</font>';
		if (IsItalic) StyleTail = StyleTail + '</EM>';
		if (IsBold)	StyleTail = StyleTail + '</STRONG>';
	
		return StyleHead + text + StyleTail;
	}
	function WriteLayer(MeLayer,text,font,fontsize,IsBold,IsItalic,color)
	{
		with (MeLayer.document)
		{
			open();
			write(MakeTextStyle(text,font,fontsize,IsBold,IsItalic,color));
			close();
		}
	}
	function PopupEffect_GetItem(name)
	{	for (i = 0 ; i < this.itemlist.length; i++)
		{	
			if (name == this.itemlist[i].name)
				return this.itemlist[i];
		}
	}
	function PopupEffect_enterMenu(event)
	{	var Me	= this;
		var TriggerLayer;
	
		Me.IsInMenu	= true;
	
		if (document.all)
			TriggerLayer = document.all[this.trigger];
		else if (document.layers)
		{	if (document.layers[this.trigger])
				TriggerLayer = document.layers[this.trigger].document.layers[this.trigger + "_layer"];
			else
				TriggerLayer = document.layers[this.trigger + "_layer"];
		}	
		if (TriggerLayer)
		{	if (TriggerLayer.onmouseover)
			{
				if (document.layers)
					TriggerLayer.handleEvent(event);
				else
					TriggerLayer.onmouseover(event);
			}
		}
	}
	function PopupEffect_leaveMenu(event)
	{
	//	local
		var Me	= this;
		var TriggerLayer;
	
		Me.IsInMenu	= false;
	
		if ((false == Me.IsShowMenu) &&	(false == Me.IsInMenu) &&  (false == Me.IsInTimer))
		{
			Me.IsInTimer	= true;
			setTimeout(Me.name + ".hideMenuTimer();",100);
		}
	
		if (document.all)
			TriggerLayer = document.all[this.trigger];
		else if (document.layers)
		{	if (document.layers[this.trigger])
				TriggerLayer = document.layers[this.trigger].document.layers[this.trigger + "_layer"];
			else
				TriggerLayer = document.layers[this.trigger + "_layer"];
		}
	
		if (TriggerLayer)
		{
			if (TriggerLayer.onmouseout)
			{
				if (document.layers)
					TriggerLayer.handleEvent(event);
				else
					TriggerLayer.onmouseout(event);
			}
		}
	}
	function PopupEffect_enterItem(target,MeLayer,text)
	{
		var info = this.GetItem(target);
		var Me	= this;
	
		if (document.all)
		{
			document.all[target].style.color = Me.focus_color;   
			document.all[target].style.backgroundColor = Me.focus_backcolor;
		}
		else if (document.layers)
		{
			WriteLayer(MeLayer,text,Me.font,Me.fontsize,Me.IsBold,Me.IsItalic,Me.focus_color);
			MeLayer.bgColor = Me.focus_backcolor;
			MeLayer.captureEvents(Event.MOUSEDOWN);
			Me.OutputDebug("capture " + MeLayer.id);
			MeLayer.onmousedown = new Function("event",Me.name + ".goLink('" + info.url + "','" + info.target + "','" + Me.target + "','" + info.name + "')" );
		}
	
		if (0 == info.status.length)
			window.status = info.url;
		else
			window.status = info.status;
	}
	
	
	function PopupEffect_leaveItem(target,MeLayer,text)
	{
		var Me	= this;
	
		if (document.all)
		{
			document.all[target].style.color = Me.normal_color;   	
			document.all[target].style.backgroundColor = Me.normal_backcolor;
		}
		else if (document.layers)
		{
			WriteLayer(MeLayer,text,Me.font,Me.fontsize,Me.IsBold,Me.IsItalic,Me.normal_color);
			MeLayer.bgColor = Me.normal_backcolor;
			MeLayer.releaseEvents(Event.MOUSEDOWN);
		//	window.status = "release" + MeLayer.id;
		}
		window.status = "";
	}
	function PopupEffect_AlignMenu(MeLayer)
	{
		var MaxWidth = 0;
	
		for (i = 0; i < this.itemlist.length; i++)
		{
			var name = this.itemlist[i].name;
			var width;
			
			if (document.all)
				width = document.all[name].offsetWidth;
			else if (document.layers)
				;	//need check	//width = document.layers[name].width;
	
			if (width > MaxWidth) MaxWidth = width;
		}
		for (i = 0; i < this.itemlist.length; i++)
		{
			var name = this.itemlist[i].name;
	
			if (document.all)
				document.all[name].style.width = MaxWidth;
			else if (document.layers)
				;	//need check	//document.layers[name].width = MaxWidth;
		}
	}
	function PopupEffect_layoutMenu(MeLayer)
	{
	//	local
		var Me	= this;
	//	Init
		Me.IsShowMenu	= true;
		trigger			= Me.trigger;
		target			= Me.target;
		trigger_layer	= Me.trigger + "_layer";
		target_layer	= Me.target	 + "_layer";
	//	get cell info
		if (1 == this.type)
		{
			CellLeft	= Me.AreaLeft;
			CellTop		= Me.AreaTop;
			CellRight	= CellLeft;
			CellBottom	= CellTop;
		}
		else
		{
			if (document.all)
			{	
				CellLeft	= document.all[trigger].offsetLeft;
				CellRight	= document.all[trigger].offsetLeft + document.all[trigger].offsetWidth;
				CellTop		= document.all[trigger].offsetTop;
				CellBottom	= document.all[trigger].offsetTop + document.all[trigger].offsetHeight;
			}
			else if (document.layers)
			{
			//	CellLeft	= document.layers[trigger].document.layers[trigger_layer].pageX;
				CellLeft	= MeLayer.pageX;
				CellRight	= CellLeft + MeLayer.document.width;
			//	CellTop		= document.layers[trigger].document.layers[trigger_layer].pageY;
				CellTop		= MeLayer.pageY;
				CellBottom	= CellTop + MeLayer.document.height;
			}
		}
		if (document.all)
		{	
			MenuWidth	= document.all[target].offsetWidth;
			MenuHeight	= document.all[target].offsetWidth;
		}
		else if (document.layers)
		{
			var CurLayer;
			if (document.layers[target])
				CurLayer = document.layers[target].document.layers[target_layer];
			else
				CurLayer = document.layers[target_layer];	//Tricky case: html text
	
			MenuHeight	= CurLayer.document.height;
			MenuWidth	= CurLayer.document.layers[0].document.width;
		}
	//	calc layout position
		if (0 == Me.xlayout)		NewCellLeft	= CellLeft - MenuWidth;
		else if (1 == Me.xlayout)	NewCellLeft	= CellLeft;
		else if (2 == Me.xlayout)	NewCellLeft	= CellRight - MenuWidth;
		else if (3 == Me.xlayout)	NewCellLeft	= CellRight;
	
		if (0 == Me.ylayout)		NewCellTop	= CellTop - MenuHeight;
		else if (1 == Me.ylayout)	NewCellTop	= CellTop;
		else if (2 == Me.ylayout)	NewCellTop	= CellBottom - MenuHeight;
		else if (3 == Me.ylayout)	NewCellTop	= CellBottom;	
	//	set new position
		if (document.all)
		{	
			document.all[target].style.posLeft= NewCellLeft + this.OffsetX;
			document.all[target].style.posTop = NewCellTop + this.OffsetY;	
		}
		else if (document.layers)
		{
			var CurLayer;
			if (document.layers[target])
				CurLayer = document.layers[target];
			else
				CurLayer = document.layers[target + "_layer"];
	
			CurLayer.left	= NewCellLeft + this.OffsetX;
			CurLayer.top	= NewCellTop + this.OffsetY;
		}
	}
	function PopupEffect_showMenu(MeLayer)
	{
		var Me	= this;
	
		Me.IsShowMenu	= true;
	
		if (document.all)
		{	Me.layoutMenu();
			document.all[Me.target].style.visibility	="visible"; 
		}
		else if (document.layers)
		{	var menu_layer;
			Me.layoutMenu(MeLayer);
			if (document.layers[Me.target])
				menu_layer = document.layers[Me.target]
			else
				menu_layer = document.layers[Me.target + "_layer"]; 
			menu_layer.visibility	="visible"; 
			if (menu_layer.zIndex <= MeLayer.zIndex)
				menu_layer.moveAbove(MeLayer);
		}
	}
	function PopupEffect_hideMenu()
	{	var Me	= this;
		Me.IsShowMenu	= false;
		if ((false == Me.IsShowMenu) &&	(false == Me.IsInMenu) &&  (false == Me.IsInTimer))
		{	Me.IsinTimer	= true;
			setTimeout(Me.name + ".hideMenuTimer();",100);
		}
	}	
	function PopupEffect_hideMenuTimer()
	{	var Me	= this;
		if ((false == Me.IsShowMenu) && (false == Me.IsInMenu))
		{
			if (document.all)
			{
				document.all[Me.target].style.visibility="hidden"; 
			}
			else if (document.layers)
			{
				if (document.layers[Me.target])
					document.layers[Me.target].visibility="hidden"; 
				else
					document.layers[Me.target + "_layer"].visibility="hidden"; 
			}
			window.status	= "";
		}	
		Me.IsInTimer	= false;
	}
	function PopupEffect_AddItem(name,text,url,target,status,alt)
	{	var Me		= this;
	
		Index	= Me.itemlist.length;
		Me.itemlist[Index]	= new PopupItem(name,text,url,target,status,alt);
	}
	function PopupEffect_InitCell(trigger,target,OffsetX,OffsetY)
	{	var Me	= this;
	
		this.type = 0;
		this.trigger = trigger;
		this.target	 = target;
		this.OffsetX = OffsetX;
		this.OffsetY = OffsetY;
	}
	function PopupEffect_InitImageMap(Left,Top,target,OffsetX,OffsetY)
	{	var Me	= this;
	
		this.type = 1;
		this.AreaLeft = Left;
		this.AreaTop = Top;
		this.target = target;
		this.OffsetX = OffsetX;
		this.OffsetY = OffsetY;
	}
	function PopupEffect_GoLink(url,target,id,item)
	{	var info = this.GetItem(item);
		var menu_layer;
	
		window.status = info.status;
	
		if (document.layers)
		{
		//	buggy, release event to prevent crash in NS
		//	itemlayer = document.layers[id].document.layers[id + '_layer'].document.layers[item + '_layer'];
		//	itemlayer.releaseEvents(Event.MOUSEDOWN);
		}	
		if (document.all) {
			menu_layer = document.all[this.target];
		} else {	
			if (document.layers[this.target])
				menu_layer = document.layers[this.target]
			else
				menu_layer = document.layers[this.target + "_layer"]; 
		}	
		menu_layer.visibility="hidden"; 
			
		setTimeout(this.name + ".goLinkTimer('" + url + "','" + target + "');",10);
	}
	function PopupEffect_GoLinkTimer(url,target)
	{
	//	local
		var target_doc = document;
	//	find link target
		if (null != window.parent)
		{
			if (null != window.parent.frameset)
			{
				if (null != window.parent.frameset[target])
					target_doc = window.parent.frameset[target];
			}
		}
	//	link
		if (null == target)
			document.location.href	= url;
		else if ('_self' == target)
			document.location.href = url;
		else if ('_blank' == target)
			window.open(url);
		else if (null != target_doc)
			target_doc.location.href = url;
		else
			window.open(url,target);
	}
	function PopupEffect_CreateMenu(id,font,fontsize,bold,italic,normal_color,focus_color,normal_backcolor,focus_backcolor)
	{	var Me	= this;
		var NSMenuLayer;
		
		Me.MenuID = id;
		Me.normal_color	= normal_color;
		Me.focus_color	= focus_color;
		Me.normal_backcolor = normal_backcolor;
		Me.focus_backcolor = focus_backcolor;
		Me.font = font;
		Me.fontsize = fontsize;
		Me.IsBold = bold;
		Me.IsItalic = italic;
	
		if (document.layers)
		{	if (document.layers[id])
				NSMenuLayer = document.layers[id];
			else
				NSMenuLayer = document.layers[id + '_layer'];
			NSMenuLayer.visibility ='hidden';
		}
	
		for (i = 0; i < Me.itemlist.length; i++)
		{
			if (document.all)
			{
				itemlayer = document.all[Me.itemlist[i].name];
				itemlayer.style.color = Me.normal_color;
				itemlayer.onmousedown = new Function("event",Me.name + ".goLink('" + Me.itemlist[i].url + "','" + Me.itemlist[i].target + "','" + id + "','" + Me.itemlist[i].name + "')" );
			}
			else if (document.layers)
			{
				itemlayer = NSMenuLayer.layers[Me.itemlist[i].name];
			}
		}	
		this.AlignMenu();
	}
	function PopupItem(name,text,url,target,status,alt)
	{
		this.name	= name;
		this.text	= text;
		this.url	= url;
		this.target = target;
		this.status = status;
		this.alt	= alt;
	}
	function PopupEffect_OutputDebug(msg)
	{
	//	window.status = msg;
	}
	function PopupEffect(name)
	{
	//	Data
		this.name		= name;
		this.IsShowMenu	= false;
		this.IsInMenu	= false;
		this.IsInTimer	= false;
		this.xlayout	= 1;	//xlayout;
		this.ylayout	= 1;	//ylayout;
		this.IsFirst	= true;
		this.itemlist	= new Array;
		this.normal_color	= 'blue';
		this.focus_color	= 'red';
		this.UseAnchor		= false;
		this.focus_backcolor	= '';
		this.normal_backcolor	= '';
	//	Method
		this.debug		= false;
		this.OutputDebug= PopupEffect_OutputDebug;
		this.layoutMenu	= PopupEffect_layoutMenu;
		this.AlignMenu	= PopupEffect_AlignMenu;
		this.showMenu	= PopupEffect_showMenu;
		this.hideMenu	= PopupEffect_hideMenu;
		this.hideMenuTimer= PopupEffect_hideMenuTimer;
		this.enterMenu	= PopupEffect_enterMenu;
		this.leaveMenu	= PopupEffect_leaveMenu;
		this.enterItem	= PopupEffect_enterItem;
		this.leaveItem	= PopupEffect_leaveItem;
		this.InitCell	= PopupEffect_InitCell;
		this.InitImageMap= PopupEffect_InitImageMap;
		this.addItem	= PopupEffect_AddItem;
		this.createMenu	= PopupEffect_CreateMenu;
		this.goLink		= PopupEffect_GoLink;
		this.goLinkTimer= PopupEffect_GoLinkTimer;
		this.GetItem	= PopupEffect_GetItem;
	}
	//-->


