var xmlHttp_enjoy = createXmlHttpRequestObject() ;
var updateInterval = 5 ;
var errorRetryInterval = 30 ;
var debugMode = true ;

var arVersion = navigator.appVersion.split("MSIE") ;
var IEversion = parseFloat(arVersion[1]) ;

function createXmlHttpRequestObject()
{
	var xmlHttp ;
	try
	{
		xmlHttp = new XMLHttpRequest() ;
	}
	catch (e)
	{
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP") ;
		for( var i=0; i<XmlHttpVersions.length && !xmlHttp; i++ )
		{
			try
			{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]) ;
			}
			catch (e)
			{

			}
		}
	}
	if(!xmlHttp)
		alert("Error creating the XMLHttpRequest object.") ;
	else
		return xmlHttp ;
}

function display($message)
{
	myDiv = document.getElementById("topDivElement") ;
	myDiv.innerHTML = $message + "" ;
}

function displayError($message)
{
	display("Error retrieving the news message! Will retry in " + errorRetryInterval + " seconds." + (debugMode ? "<br />" + $message : "")) ;
	setTimeout("enjoy_menu_io();", errorRetryInterval * 1000) ;
}

function enjoy_menu_io(store_type_sn, channel_id)
{
	if(xmlHttp_enjoy)
	{
		try
		{
			var serverAddress = "../top_enjoy_curl.asp?sub_store=" + store_type_sn + "&channelId=" + channel_id + "&ieVersion=" + IEversion ;
			display("<img src='../images/loading.gif'>") ;
			xmlHttp_enjoy.open("GET", serverAddress, true) ;
			xmlHttp_enjoy.onreadystatechange = displayMenu ;
			xmlHttp_enjoy.send(null) ;
		}
		catch (e)
		{
			displayError(e.toString) ;
		}
	}
}

function displayMenu()
{
	if(xmlHttp_enjoy.readyState == 4)
	{
		if(xmlHttp_enjoy.status == 200)
		{
			try
			{
				getNews();
			}
			catch (e)
			{
				displayError(e.toString()) ;
			}
		}
		else
		{
			displayError(xmlHttp_enjoy.statusText) ;
		}
	}
}

function getNews()
{
	var response = xmlHttp_enjoy.responseText ;
	
	if(response.indexOf("ERRNO:") >= 0 || response.indexOf("errno:") >= 0 || response.length == 0){
		throw(response.length == 0 ? "Server error." : response) ;
	}else{
		display(response) ;
		display_png_fix() ;

		if(document.getElementById("memlogin") && window.member_login_url && window.member_login_node){
			document.getElementById("memlogin").href = member_login_url ;
			document.getElementById("memlogin").childNodes[0].nodeValue = member_login_node ;
		}	
	}
	//setTimeout("enjoy_menu_io();", updateInterval * 1000) ;
}

function update_top_enjoy()
{
	if(document.getElementById("div-header-frame")){
		display_png_fix() ;

		if(document.getElementById("memlogin") && window.member_login_url && window.member_login_node){
			document.getElementById("memlogin").href = member_login_url ;
			document.getElementById("memlogin").childNodes[0].nodeValue = member_login_node ;
		}	
	}
}
/*
 
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.

Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->

*/

function display_png_fix()
{
	if ((IEversion >= 5.5 && IEversion < 7) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
		  var img = document.images[i] ;
		  var imgName = img.src.toUpperCase() ;
		  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		  {
			 var imgID = (img.id) ? "id='" + img.id + "' " : "" ;
			 var imgClass = (img.className) ? "class='" + img.className + "' " : "" ;
			 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " ;
			 var imgStyle = "display:inline-block;" + img.style.cssText ;
			 if (img.align == "left") imgStyle = "float:left;" + imgStyle ;
			 if (img.align == "right") imgStyle = "float:right;" + imgStyle ;
			 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle ;
			 var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" ;
			 img.outerHTML = strNewHTML ;
			 i = i-1 ;
		  }
	   }
	}
}