﻿  /*******/

  var IE4 = document.all;
  var NS6 = document.getElementById && !document.all;
  var disappearDelay = 500; // miliseconds
      
  function DynamicHide (node, e) {
    if ((IE4 && !node.contains(e.toElement)) ||
        (NS6 && e.currentTarget != e.relatedTarget && !NS6_Contains( e.currentTarget, e.relatedTarget ))) 
    {
      InitTimer( node );
    } 
  }  
  
  function HideObject (nodeID) {    
    var node = document.getElementById( nodeID );
    
    if (typeof node != "undefined") {
      if (IE4 || NS6) {
        node.style.visibility = "hidden";
        node.style.display = 'none';
      }
    }
  }
  
  function ReleaseTimer (node) {    
    if (typeof node != "undefined") {
      if (typeof node.HideTimer != "undefined") {
        clearTimeout( node.HideTimer );
      }
    }
  }
  
  function InitTimer (node) {
    if (typeof node != "undefined") {
      var callBack = 'HideObject( "' + node.getAttribute( 'id' ) + '" )';      
      node.HideTimer = setTimeout( callBack, disappearDelay );
    }
  }
    
  function NS6_Contains (a, b) {
    while (b.parentNode) {
      if ((b = b.parentNode) == a)
        return true;
    }
    
    return false;
  }
        
  /*******/
   
  function ToggleSendToFriend() {
    sendToFriendForm = document.getElementById('SendToFriendForm');
    sendToFriendButton = document.getElementById('SendToFriendButton');

    if (sendToFriendForm.style.visibility == "hidden") {
      sendToFriendForm.style.visibility = "visible";
      sendToFriendForm.style.display = 'block';
    } else {
      sendToFriendForm.style.visibility = "hidden";
      sendToFriendForm.style.display = 'none';
    }

    //sendToFriendForm.style.left = getposOffset(sendToFriendButton, "left") - sendToFriendForm.offsetWidth + sendToFriendButton.offsetWidth;
    sendToFriendForm.style.left = getposOffset(sendToFriendButton, "left") - (sendToFriendForm.offsetWidth / 2) + (sendToFriendButton.offsetWidth / 2);
    sendToFriendForm.style.top = getposOffset(sendToFriendButton, "top") + sendToFriendButton.offsetHeight;
  }
  
  function ToggleAddComment() {
    commentMenu = document.getElementById('CommentMenu');
    commentButton = document.getElementById('CommentButton');

    commentMenu.style.left = getposOffset(commentButton, "left");
    commentMenu.style.top = getposOffset(commentButton, "top") + commentButton.offsetHeight;

    if (commentMenu.style.visibility == "hidden") {
      commentMenu.style.visibility = "visible";
      commentMenu.style.display = 'block';
    } else {
      commentMenu.style.visibility = "hidden";
      commentMenu.style.display = 'none';
    }
  }
  
  function ToggleGalleryThumbnail(pictureID) {
    largeThumbDiv = document.getElementById('SecondaryThumbDiv' + pictureID);
    smallThumb = document.getElementById('SmallThumb' + pictureID);

    if (largeThumbDiv.className == "secondaryThumbnailHidden") {
      largeThumbDiv.className = "secondaryThumbnailPopup";
      largeThumbDiv.style.left = getposOffset(smallThumb, "left") - ((largeThumbDiv.offsetWidth - smallThumb.offsetWidth) / 2) + "px";
      largeThumbDiv.style.top = getposOffset(smallThumb, "top")  - ((largeThumbDiv.offsetHeight - smallThumb.offsetHeight) / 2) + "px";
      setTimeout(function() { largeThumbDiv.style.visibility = "visible"; }, 5);
    } else {
	  largeThumbDiv.className = "secondaryThumbnailHidden";
    }
  }
  
  function ToggleRateMenu() {
    rateMenu = document.getElementById('RateMenu');
    rateButton = document.getElementById('RateButton');
    
    rateMenu.style.left = getposOffset(rateButton, "left");
    rateMenu.style.top = getposOffset(rateButton, "top") + rateButton.offsetHeight;

    if (rateMenu.style.visibility == "hidden") {
      rateMenu.style.visibility = "visible";
      rateMenu.style.display = 'block';
    } else {
      rateMenu.style.visibility = "hidden";
      rateMenu.style.display = 'none';
    }
    
    // Init autohide
    if (window.event) {
      event.cancelBubble = true;
    }
    
    ReleaseTimer( rateMenu );
  }
  
  function ToggleRatePostMenu(control) {
	rateButton = control.parentNode;
	rateMenu = rateButton.nextSibling.nextSibling;

	if ((rateButton.id != "RateButton") || (rateMenu.id != "RateMenu"))
		return;

    rateMenu.style.left = getposOffset(rateButton, "left");
    rateMenu.style.top = getposOffset(rateButton, "top") + rateButton.offsetHeight;

    if (rateMenu.style.visibility == "hidden") {
      rateMenu.style.visibility = "visible";
      rateMenu.style.display = 'block';
    } else {
      rateMenu.style.visibility = "hidden";
      rateMenu.style.display = 'none';
    }
    
    // Init autohide
    if (window.event) {
      event.cancelBubble = true;
    }
    
    ReleaseTimer( rateMenu );
  }

  function ToggleSearchMenu() {
    searchMenu = document.getElementById('SearchMenu');
    searchButton = document.getElementById('SearchButton');

    searchMenu.style.left = getposOffset(searchButton, "left");
    searchMenu.style.top = getposOffset(searchButton, "top") + searchButton.offsetHeight;

    if (searchMenu.style.visibility == "hidden") {
      searchMenu.style.visibility = "visible";
      searchMenu.style.display = 'block';
    } else {
      searchMenu.style.visibility = "hidden";
      searchMenu.style.display = 'none';
    }
  }

function getposOffset(what, offsettype){
  var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
  var parentEl=what.offsetParent;
  while (parentEl!=null){
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
  }
  return totaloffset;
}

function ToggleMenuOnOff (menuName) {
    var menu = document.getElementById(menuName);

    if (menu.style.display == 'none') {
      menu.style.display = 'block';
    } else {
      menu.style.display = 'none';
    }

}

function OpenWindow (target) { 
  window.open(target, "_Child", "toolbar=no,scrollbars=yes,resizable=yes,width=400,height=400"); 
}

function OpenPostWindow (target) { 
  window.open(target, "_Child", "resizable=yes,width=500,height=700"); 
}

/*
Keep the user's cookie alive
*/

function MakeKeepAliveRequest()
{
	if (!KeepAliveUrl)
		return;

	if (KeepAliveTimer != null)
		window.clearTimeout(KeepAliveTimer);

	var x = null;
	if (typeof XMLHttpRequest != "undefined") 
	{
		x = new XMLHttpRequest();
	} 
	else 
	{
		try 
		{
			x = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				x = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) 
			{
			}
		}
	}
	
	try
	{
		// don't do this asynchronously
		x.open("GET", KeepAliveUrl, false, "", "");
		x.send(null);
	}
	catch (e)
	{
	}
	
	KeepAliveTimer = window.setTimeout(MakeKeepAliveRequest, 599999);
}

function DetermineKeepAliveUrl()
{
	var scripts = document.getElementsByTagName("SCRIPT");
	var i;
	var url;
	
	for (i = 0; i < scripts.length; i++)
	{
		url = scripts[i].src.toLowerCase();
		if (url.indexOf('utility/global.js') != -1)
			return url.replace('utility/global.js', 'utility/keepalive.aspx');
	}
	
	return null;
}

var KeepAliveUrl = DetermineKeepAliveUrl();
var KeepAliveTimer = window.setTimeout(MakeKeepAliveRequest, 599999);

function ShowEditBlock(block) {
	block.className = "CommonContentPartBorderOn";
}
function HideEditBlock(block) {
	block.className = "CommonContentPartBorderOff";
}

function getCookie(sName) {
	var cookie = "" + document.cookie;
	var start = cookie.indexOf(sName);
	if (cookie == "" || start == -1) 
		return "";
	var end = cookie.indexOf(';',start);
	if (end == -1)
		end = cookie.length;
	return unescape(cookie.substring(start+sName.length + 1,end));
}
function setCookie(sName, value) {
	document.cookie = sName + "=" + escape(value) + ";path=/;";
}
function setCookieForever(sName, value) {
	document.cookie = sName + "=" + escape(value) + ";path=/;expires=Fri, 1 Jan 2010 00:00:00 GMT;";
}

function inLineEditOn(control)
{
    control.className = "CommonInlineEditOn";
}

function inLineEditOff(control)
{
    control.className = "CommonInlineEditOff";
}

var requestStatus;
function showRequestStatus(){
	if(requestStatus){
		requestStatus.style.display = 'block';
		return;
	}
	requestStatus = document.createElement('div');
    requestStatus.style.position = 'absolute';
    requestStatus.style.top = 0;
    requestStatus.style.left = 0;
    requestStatus.style.width = '100%';
    requestStatus.style.height = '100%';
    document.body.appendChild(requestStatus);
    
	var rs = document.createElement('div');
	rs.style.position = 'fixed';//'relative';
	rs.style.top = '1px';//String(document.body.scrollTop + 1) + 'px';
	rs.style.right = '10px';
	rs.style.width = "100px";
	rs.style.float = "right";
	rs.style.backgroundColor = '#CC4444';
	rs.style.padding = '5px';
	rs.style.paddingTop = '2px';
	rs.style.color = 'white';
	rs.innerHTML = '正在交换数据...';
	requestStatus.appendChild(rs);
}
function hideRequestStatus(){
	if(requestStatus){
		requestStatus.style.display = 'none';
	}
}

//Ajax Start
function Ajax_GetXMLHttpRequest() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		if (window.Ajax_XMLHttpRequestProgID) {
			return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
		} else {
			var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
			for (var i = 0; i < progIDs.length; ++i) {
				var progID = progIDs[i];
				try {
					var x = new ActiveXObject(progID);
					window.Ajax_XMLHttpRequestProgID = progID;
					return x;
				} catch (e) {
				}
			}
		}
	}
	return null;
}
function Ajax_CallBack(type, id, method, args, clientCallBack, debugRequestText, debugResponseText, debugErrors, includeControlValuesWithCallBack, url,getType) {
	
	if (!url)
	{
		url = window.location.href;
		url = url.replace(/\#.*$/, '');
		if (url.indexOf('?') > -1)
			url += "&Ajax_CallBack=true";
		else
		{
			if (url.substr(url.length - 1, 1) == "/")
				url += "default.aspx";
				
			url += "?Ajax_CallBack=true";
		}
	}
	showRequestStatus();
	var x = Ajax_GetXMLHttpRequest();
	var result = null;
	if (!x) {
		result = { "value":null, "error": "NOXMLHTTP"};
		if (debugErrors) {
			alert("error: " + result.error);
		}
		if (clientCallBack) {
			clientCallBack(result);
			hideRequestStatus();
		}
		return result;
	}
	if(getType){
		x.open("GET", url, clientCallBack ? true : false);
		//x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	}else{
		x.open("POST", url, clientCallBack ? true : false);
		x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
	}
	if (clientCallBack) {
		x.onreadystatechange = function() {
			var result = null;
		
			if (x.readyState != 4) {
				return;
			}
			
			if (debugResponseText) {
				alert(x.responseText);
			}
			
			try
			{
				var result = eval("(" + x.responseText.substring(0,x.responseText.lastIndexOf('}')+1) + ")");
				if (debugErrors && result.error) {
					alert("error: " + result.error);
				}
			}
			catch (err)
			{
				if (window.confirm('The following error occured while processing an AJAX request: ' + err.message + '\n\nWould you like to see the response?'))
				{
					var w = window.open();
					w.document.open('text/plain');
					w.document.write(x.responseText);
					w.document.close();
				}
				
				result = new Object();
				result.error = 'An AJAX error occured.  The response is invalid.';
			}
			
			clientCallBack(result);
			hideRequestStatus();			
		}
	}
	var encodedData = "Ajax_CallBackType=" + type;
	if (id) {
		encodedData += "&Ajax_CallBackID=" + id.split("$").join(":");
	}
	encodedData += "&Ajax_CallBackMethod=" + method;
	if (args) {
		for (var i in args) {
			encodedData += "&Ajax_CallBackArgument" + i + "=" + encodeURIComponent(args[i]);
		}
	}
	if (includeControlValuesWithCallBack && document.forms.length > 0) {
		var form = document.forms[0];
		for (var i = 0; i < form.length; ++i) {
			var element = form.elements[i];
			if (element.name) {
				var elementValue = null;
				if (element.nodeName == "INPUT") {
					var inputType = element.getAttribute("TYPE").toUpperCase();
					if (inputType == "TEXT" || inputType == "PASSWORD" || inputType == "HIDDEN") {
						elementValue = element.value;
					} else if (inputType == "CHECKBOX" || inputType == "RADIO") {
						if (element.checked) {
							elementValue = element.value;
						}
					}
				} else if (element.nodeName == "SELECT") {
					elementValue = element.value;
				} else if (element.nodeName == "TEXTAREA") {
					elementValue = element.value;
				}
				if (elementValue) {
					encodedData += "&" + element.name + "=" + encodeURIComponent(elementValue);
				}
			}
		}
	}
	if (debugRequestText) {
		alert(encodedData);
	}
	if(getType)
		x.send(null);
	else
		x.send(encodedData);
	if (!clientCallBack) {
		if (debugResponseText) {
			alert(x.responseText);
		}
		result = eval("(" + x.responseText + ")");
		if (debugErrors && result.error) {
			alert("error: " + result.error);
		}
	}
	delete x;
	return result;
}

//Ajax End

function Ajax_GetHtml(url,clientCallBack){
	return Ajax_CallBack('', '', null, null, clientCallBack, false, false, false, false, url,true);
	//Request.sendGET(url,clientCallBack);
}


var Request = new Object();

Request.send = function(url, method, callback, data, urlencoded, name) {
	var req;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (typeof name == "undefined") {
		name = "";
	} else {
		name += "\n";
	}
	var readychange = function() {
		if (req.readyState == 4) {// only if req shows "loaded"
			if (req.status < 400) {// only if "OK"
				if (method=="POST") {
					callback(req);
					delete callback;
				} else {
					callback(req,data);
					delete callback;
				}
			} else if (typeof req == "undefined" || typeof req.status == "undefined") {
				// don't do anything. user has navigated away
				delete callback;
			} else if (req.status == 401) { // unauthorized
				callback(req);
				delete callback;
			} else if (req.status == 404) {
				// should not happen, but ignore it for now
			} else {
				if (App.errorShowing) return false;
				App.errorShowing = true;
				switch(req.status) {
					// windows error codes
					case 12002: // server timeout
					case 12029: case 12030: case 12031: // dropped connection
					case 12152: // connection closed by server
					case 13030:
						alert(name + "There was a network problem. Please reload the page.");
						break;
					case 500: case 503:
						alert(name + "There was an internal server error. Please try later.");
						break;
					default:
						alert("There was a problem loading data:" + "\nstatus: " + req.status+ "/" + req.statusText + "\n" + url);
				App.errorShowing = false;
				}
				delete callback;
			}
		}
	};
	function do_request() {
    	if (method=="POST") {
			req.open("POST", url, true);
			if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.onreadystatechange = readychange;
			req.send(data);
		} else {
			req.open("GET", url, true);
			req.onreadystatechange = readychange;
			req.send(null);
		}
	};
	do_request();
	return req;
}

Request.sendRawPOST = function(url, data, callback, name) {
	Request.send(url, "POST", callback, data, false, name);
}
Request.sendPOST = function(url, data, callback, name) {
	Request.send(url, "POST", callback, data, true, name);
}
Request.sendGET = function(url, callback, args, name) {
	return Request.send(url, "GET", callback, args, name);
}



//Element Items Borrowed From Prototype

function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1) 
      return element;

    elements.push(element);
  }

  return elements;
}


var Element = {
  
  toggle: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = 
        (element.style.display == 'none' ? '' : 'none');
    }
  },

  hide: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = 'none';
    }
  },

  show: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = '';
    }
  },

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
  },
   
  getHeight: function(element) {
    element = $(element);
    return element.offsetHeight; 
  }
}


//End Element Items


function convertTextToHTML(s) {
	s = s.replace(/\&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>").replace(/  /g, "&nbsp; ");
	return s;
}
function convertHTMLToText(s) {
	s = s.replace(/\&amp;/g,"&").replace(/\&lt;/g,"<").replace(/&gt;/g,">").replace(/<br>/g,"\n").replace(/\&nbsp;/g, " ");
	return s;
}

function convertHTMLToText2(s) {
	s = s.replace(/\&amp;/g,"&").replace(/\&lt;/g,"<").replace(/&gt;/g,">");
	return s;
}


//Edit by lf V2.1
function expandModule(obj){
    var contentObj = obj.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[1];
    if(contentObj.style.display == "none"){
        contentObj.style.display = "block";
        obj.className = "UnExpand";
    }else{
        contentObj.style.display = "none";
        obj.className = "Expand";
    }
}

function expandMod(obj){
	var contentObj = obj.parentNode.parentNode.childNodes[1];
    if(contentObj.style.display == "none"){
        contentObj.style.display = "block";
        obj.className = "mod_m UnExpand";
    }else{
        contentObj.style.display = "none";
        obj.className = "mod_m Expand";
    }
}

var currentModObj = null;
function setMod(obj,app,w,h){
	var mod = obj.parentNode.parentNode.parentNode;
	var id = obj.parentNode.parentNode.id;
	currentModObj = obj;
	Telligent_Modal.Open('/ControlPanel/Pages/SetModulePropertys.aspx?app='+app+'&type='+ mod.id + '&id='+id,w,h,setModOK);
	function setModOK(){
		if(currentModObj) refreshMod(currentModObj);
	}
	return false;
}

function refreshMod(obj){
	var mod = obj.parentNode.parentNode.parentNode;
	var id = obj.parentNode.parentNode.id;
	var modContent = mod.childNodes[0].childNodes[1].childNodes[0];
	
	modContent.bakInnerHTML = modContent.innerHTML;
	modContent.removeChild(modContent.childNodes[0]);
	modContent.innerHTML = '<div class="wc p2">正在获取数据，请稍后...</div>';
	var url = window.location.href;
	if(url.indexOf('.xhtml') == -1){
		if(url.lastIndexOf('/') == url.length -1)
			url += "default.xhtml";
		else
			url += "/default.xhtml";
	}
	if(url.indexOf('?') != -1)
		url = url + '&moduleid=' + id;
	else
		url = url + '?moduleid=' + id;
	Ajax_GetHtml(url,setControlContent);
	function setControlContent(result){
		modContent.innerHTML = '';
		if(!result.error){
			if(IE4)	modContent.insertAdjacentHTML("afterBegin",  result.value); else modContent.innerHTML = result.value;
		}else{
			if(IE4)	modContent.insertAdjacentHTML("afterBegin",  modContent.bakInnerHTML); else modContent.innerHTML = modContent.bakInnerHTML;
		}
	}
}


function dw(s){document.write(s);}
function dwSwf(_sName, _sSrc, _sWidth, _sHeight, _sMode, _aValue){
	var sValue = '';
	var aFlashVars = [];
	if(_aValue){
		for(key in _aValue){
			aFlashVars[aFlashVars.length] = key + "=" + _aValue[key];
		}
		sValue = aFlashVars.join('&');
	}
	_sMode = _sMode ? 'wmode="transparent"' : '';
	return '<embed id="' + _sName + '" name="' + _sName + '" src="' + _sSrc + '" ' + _sMode + ' quality="high" align="top" salign="lt" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + _sWidth + '" height="' + _sHeight + '" flashVars="' + sValue + '"></embed>';
}

function limouseover(obj){
	setElementClassName(obj,'set',true);
}
function limouseout(obj){
	setElementClassName(obj,'set',false);
}

function setElementClassName(obj,name,isAdd){
	var cns = obj.className.split(' ');
	obj.className = '';
	for(i=0;i<cns.length;i++){
		if(cns[i] != '' && cns[i] != name)
			obj.className += " " + cns[i];
	}
	if(isAdd) obj.className += " " + name;
}

//This credit MUST stay intact for use
var menuOffX=-5	//菜单距连接文字最左端距离
var menuOffY=22	//菜单距连接文字顶端距离
var fo_shadows=new Array()
var linkset=new Array()

////No need to edit beyond here

var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers

function showmenu(e,index,p,paging){
	//p为当前页数,paging为当前是不是翻页
	if (!document.all&&!document.getElementById&&!document.layers)
		return
	
	which=linkset[index]
	var pSize=10	//每页连接数
	var pNum=Math.floor((which.length-1)/pSize)+1		//页数
	
	clearhidemenu()
	ie_clearshadow()
	
	//设置菜单内容
	if (pNum==1){
		which=which.join("")
	}else{
		which=which.slice( (p-1)*pSize, p*pSize )
		which=which.join("")
		which+="<div class=\"menuitems\" >"
		if (p==1)
		{
			which+="&nbsp;&nbsp;<font face=webdings color=gray>7</font>"
		}else{
			which+="&nbsp;&nbsp;<font face=webdings style=cursor:hand onclick=showmenu(event,"+ index +","+ (p-1) +",true) >7</font>"
		}
		if (p==pNum)
		{
			which+="<font face=webdings color=gray>8</font>"
		}else{
			which+="<font face=webdings style=cursor:hand onclick=showmenu(event,"+ index +","+ (p+1) +",true) >8</font>"
		}
		which+="</div>"
	}
	
	menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
	menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
	
	if (ie4||ns6)
		menuobj.innerHTML=which
	else{
		menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
		menuobj.document.close()
	}
	menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
	menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
	
	eventX=ie4? event.clientX : ns6? e.clientX : e.x
	eventY=ie4? event.clientY : ns6? e.clientY : e.y
	
	var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
	var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
		
	if (!paging)
	{	
		if (rightedge<menuobj.contentwidth)
			menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth+menuOffX : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
		else
			menuobj.thestyle.left=ie4? ie_x(event.srcElement)+menuOffX : ns6? window.pageXOffset+eventX : eventX
		
		if (bottomedge<menuobj.contentheight)
			menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight-event.offsetY+menuOffY : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
		else
			menuobj.thestyle.top=ie4? ie_y(event.srcElement)+menuOffY : ns6? window.pageYOffset+eventY : eventY
	}
		
	menuobj.thestyle.visibility="visible"
	ie_dropshadow(menuobj,"#999999",3)
	return false
}

function ie_y(e){  
	var t=e.offsetTop;  
	while(e=e.offsetParent){  
		t+=e.offsetTop;  
	}  
	return t;  
}  
function ie_x(e){  
	var l=e.offsetLeft;  
	while(e=e.offsetParent){  
		l+=e.offsetLeft;  
	}  
	return l;  
}  
function ie_dropshadow(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);
		fo_shadows[fo_shadows.length] = rect;
	}
}
function ie_clearshadow()
{
	for(var i=0;i<fo_shadows.length;i++)
	{
		if (fo_shadows[i])
			fo_shadows[i].style.display="none"
	}
	fo_shadows=new Array();
}


function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function hidemenu(){
	if (window.menuobj)
		menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
	ie_clearshadow()
}

function dynamichide(e){
	if (ie4&&!menuobj.contains(e.toElement))
		hidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		hidemenu()
}

function delayhidemenu(){
	if (ie4||ns6||ns4)
		delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
	if (window.delayhide)
		clearTimeout(delayhide)
}

function highlightmenu(e,state){
	if (document.all)
		source_el=event.srcElement
	else if (document.getElementById)
		source_el=e.target
	if (source_el.className=="menuitems"){
		source_el.id=(state=="on")? "mouseoverstyle" : ""
	}
	else{
		while(source_el.id!="popmenu"){
			source_el=document.getElementById? source_el.parentNode : source_el.parentElement
			if (source_el.className=="menuitems"){
				source_el.id=(state=="on")? "mouseoverstyle" : ""
			}
		}
	}
	
}

if (ie4||ns6)
document.onclick=hidemenu

