﻿function GetUrl()
{
	url = window.location.href;
	var regex = /.*\:\/\/([^\/]*).*/;
	var match = url.match(regex);
	if(typeof match != "undefined" && null != match) host = "http://" + match[1] + "/";
	return host;			
}

//定义内容块缓存
var contentCache = new Object();

var tempref;
var timeOut = 250;
var waitInterval;
//var Iswszt;
//var myUrl = "http://192.168.0.14:88/";
var myUrl = GetUrl();//"http://192.168.99.14:66/";
//var myUrl = "http://www.minevip.net.cn/";
/**
 * 根据id获取Element
 * @id
 * return 返回Element节点对象
 */
function getElement(id) {
	return (document.getElementById) ? document.getElementById(id): document.all[id];
}

/**
 * 创建http请求
 */
function getXmlhttp(){
	var http_request;
	
	/*if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	}else {
		if (window.ActiveXObject){
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}catch(e){}
			}
		}
	} */
	if(window.ActiveXObject)
	{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.ActiveXObject)
	{
		http_request = new ActiveXObject("Msxml2.XMLHTTP.4.0");
	}
	else if(window.ActiveXObject)
	{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	else if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
	}	
	if (!http_request) {
		window.alert("can't create XMLHttpRequest object.");
		return null;
	}
	
	return http_request;
}
/**
 * 根据url获取内容并填充到id为contentId的div中
 * @url 需要获取内容的url
 * @contentId 需要填充内容的div id
 */
function loadContentFromId(url,contentId) {
	var ocontent = document.getElementById(contentId);
	ocontent.innerHTML = "Loading......";
	/*var i = 0;
    switch(url)
    {
    case "bszn_type_a.html":
		document.getElementById("bszn_type").value = "a";
		i = 1;
        break;
    case "bszn_type_b.html":
		document.getElementById("bszn_type").value = "b";
		i = 1;
        break;
    case "bszn_class_01.html":
		document.getElementById("bszn_class").value = "1";
		i = 1;
        break;
    case "bszn_class_02.html":
 		document.getElementById("bszn_class").value = "2";
		i = 1;
       break;
    case "bszn_class_03.html":
		document.getElementById("bszn_class").value = "3";
		i = 1;
        break;
    case "bszn_class_04.html":
		document.getElementById("bszn_class").value = "4";
		i = 1;
        break;
    default:
        break;
    }
    if( i == 1)
    {
		var bszn_type = document.getElementById("bszn_type").value;
		var bszn_class = document.getElementById("bszn_class").value;
		
		url = "/html/tem2.html?type=" + bszn_type + "&class=" + bszn_class;
    }*/
	if (contentCache[url] == null) {
		var xhttp=getXmlhttp();
			xhttp.onreadystatechange=function() {
			//alert(xhttp.responseText);
				if (xhttp.readyState == 4 && (xhttp.status == 200 || window.location.href.indexOf("http")==-1)) {
					ocontent.innerHTML=xhttp.responseText;
					contentCache[url]=ocontent.innerHTML;
				}
				else
				{
					//加载时显示的提示信息
					ocontent.innerHTML="<div style='WIDTH:100%;Height:100%;BACKGROUND: center center url(/Images/Default/loading.gif) no-repeat;'></div>";
				}
			}
		var getUrl = '';
		if( url.indexOf('?') >= 0)
		{
			getUrl = myUrl + url + "&timeStamp=" + new Date().getTime();
		}
		else
		{
			getUrl = myUrl + url + "?timeStamp=" + new Date().getTime();
		}
		xhttp.open("GET",getUrl,true);
		xhttp.send(null);
	}else{
		ocontent.innerHTML=contentCache[url];
	}
}

/**
 * 根据传入的css classname获取替换后的css classname
 * 本方法需与css文件配合使用
 * 如原classname为activeW1，则替换后为normalW1
 * @str 当前的css classname
 * @sta 将其中某部分内容替换的目的字符串
 */
function getPrefixName(str,sta){
	if(str.indexOf("active")!=-1 || str.indexOf("normal")!=-1) str=str.substr(6);
		else if(str.indexOf("over")!=-1) str=str.substr(4);
			else str="";
	return sta+str;
}

/**
 * 根据contentId初始化div
 * 对名为contentId的div下的所有li元素进行初始化
 * 包括设置其活动状态，读取其内容以及实现其onmouseover以及onmouseout事件
 * @contentId 需要初始化的div内容块的id
 * @defaultNewsUrl 需要作为初始内容出现在内容块中的url
 *
 */
function initContent(contentId,defaultNewsUrl,cookieName) {
	var obj = getElement(contentId);
	var lists = obj.getElementsByTagName("li");
	
	var isInit = false;
	var listCount = 0;
	var firstList;
	var firstListUrl = "";
	var firstListTarget = "";
	
	for (var i=0; i<lists.length; i++) {
		var list;
		var listlink;
		var listurl;
		var listtarget;

		list = lists[i];
		
		if (list.parentNode.parentNode != obj){
			continue;
		}
		
		if (list.getElementsByTagName("a").length==0){
			continue;
		}
		
		listCount++;
		
		listlink = list.getElementsByTagName("a")[0];
		//需要读取的url
		listurl = listlink.getAttribute("urn");
		//填充的目标div
		listtarget = listlink.getAttribute("rel");

		if (firstListUrl == "") {
			firstList = lists[i];
			firstListUrl = listlink.getAttribute("urn");
			firstListTarget = listlink.getAttribute("rel");
		}

		//设置li活动状态的方法，通过调用getPrefixName方法改变其样式
		list.setActive=function(a) {
			if (a) {
				this.status="active";
				this.className=getPrefixName(this.className,"active");
			} else {
				this.status="normal";
				this.className=getPrefixName(this.className,"normal");
			}
		}
		
		//li方法:根据urn读取内容填充进入rel元素
		list.loadTabContent=function() {
			if (this.parentNode.parentNode.activetab!=undefined){
				this.parentNode.parentNode.activetab.setActive(false);
			}
			this.parentNode.parentNode.activetab=this;
			this.setActive(true);
			//注：此处需注意，由于listlink值在最后会变化
			//因此该方法只能再次使用getElementsByTagName("a")方法来获取当前li中的a标签信息	
			var ulistlink=this.getElementsByTagName("a")[0];
			loadContentFromId(ulistlink.getAttribute("urn"),ulistlink.getAttribute("rel"));
		}
		
		//onmouseover事件实现
		list.onmouseover=function() {
			//alert(this.status);
			if (this.status == "active") {
				return;
			}else {
				tempref = this;
				clearTimeout(waitInterval);
				waitInterval = window.setTimeout("tempref.loadTabContent()",timeOut);
				//tempref.loadTabContent();
			}
			//setCookie("subscibe_" + this.parentNode.parentNode.id,this.getElementsByTagName("a")[0].getAttribute("urn"));
		}

		//onmouseout事件实现
		list.onmouseout=function() {
			clearTimeout(waitInterval);
			if (this.status == "normal")
				return;
			//this.setActive(false);
		}
		//当该li为初始内容时，则从其url中读取内容填充进入div
		if (listurl.indexOf(defaultNewsUrl) != -1) {
			list.setActive(true);
			obj.activetab=list;
			isInit = true;
			loadContentFromId(listurl,listtarget);    
		}else {
			list.setActive(false);
		}
		
	}
		
	if (isInit == false && listCount>0 && firstListUrl!="") {
		setCookie(cookieName,firstListUrl);
		firstList.loadTabContent();
		//loadContentFromId(firstListUrl,firstListTarget);	
		//initContent(contentId,firstListUrl,cookieName);
	}
}
function initContent2(contentId,defaultNewsUrl,cookieName) {
	var obj = getElement(contentId);
	var lists = obj.getElementsByTagName("li");
	
	var isInit = false;
	var listCount = 0;
	var firstList;
	var firstListUrl = "";
	var firstListTarget = "";
	
	for (var i=0; i<lists.length; i++) {
		var list;
		var listlink;
		var listurl;
		var listtarget;

		list = lists[i];
		
		if (list.parentNode.parentNode != obj){
			continue;
		}
		
		if (list.getElementsByTagName("a").length==0){
			continue;
		}
		
		listCount++;
		
		listlink = list.getElementsByTagName("a")[0];
		//需要读取的url
		listurl = listlink.getAttribute("urn");
		//填充的目标div
		listtarget = listlink.getAttribute("rel");

		if (firstListUrl == "") {
			firstList = lists[i];
			firstListUrl = listlink.getAttribute("urn");
			firstListTarget = listlink.getAttribute("rel");
		}
		//设置li活动状态的方法，通过调用getPrefixName方法改变其样式
		list.setActive=function(a) {
			if (a) {
				this.status="active";
				this.className=getPrefixName(this.className,"active");
			} else {
				this.status="normal";
				this.className=getPrefixName(this.className,"normal");
			}
		}
		
		//li方法:根据urn读取内容填充进入rel元素
		list.loadTabContent=function() {
			if (this.parentNode.parentNode.activetab!=undefined){
				this.parentNode.parentNode.activetab.setActive(false);
			}
			this.parentNode.parentNode.activetab=this;
			this.setActive(true);
			//注：此处需注意，由于listlink值在最后会变化
			//因此该方法只能再次使用getElementsByTagName("a")方法来获取当前li中的a标签信息	
			var ulistlink=this.getElementsByTagName("a")[0];
			loadContentFromId(ulistlink.getAttribute("urn"),ulistlink.getAttribute("rel"));
		}
		
		//onmouseover事件实现
		list.onmouseover=function() {
			var ulistlink=this.getElementsByTagName("a")[0];
			if(ulistlink.getAttribute("urn") == "content/map01.html" || ulistlink.getAttribute("urn") == "content/map02.html" || ulistlink.getAttribute("urn") == "content/map03.html")
			{
				document.all.mapContent.style.display = "block";
				document.all.map2Content.style.display = "none";
				mynormal("map2Nav");
			}
			if(ulistlink.getAttribute("urn") == "content/map04.html" || ulistlink.getAttribute("urn") == "content/map05.html" || ulistlink.getAttribute("urn") == "content/map06.html")
			{
				document.all.mapContent.style.display = "none";
				document.all.map2Content.style.display = "block";
				mynormal("mapNav");
			}
			document.all.sysnone.style.display = "none";

			if (this.status == "active") {
				return;
			}else {
				tempref = this;
				clearTimeout(waitInterval);
				waitInterval = window.setTimeout("tempref.loadTabContent()",timeOut);
				this.status="active";
				this.className=getPrefixName(this.className,"active");
				tempref.loadTabContent();
			}
			//setCookie("subscibe_" + this.parentNode.parentNode.id,this.getElementsByTagName("a")[0].getAttribute("urn"));
		}

		//onmouseout事件实现
		list.onmouseout=function() {
			clearTimeout(waitInterval);
			if (this.status == "normal")
				return;
			//this.setActive(false);
		}
		//当该li为初始内容时，则从其url中读取内容填充进入div
		if (listurl.indexOf(defaultNewsUrl) != -1) {
			list.setActive(true);
			obj.activetab=list;
			isInit = true;
			loadContentFromId(listurl,listtarget);    
		}else {
			list.setActive(false);
		}
		
	}
}
function mynormal(contentId) 
{
	var obj = getElement(contentId);
	var lists = obj.getElementsByTagName("li");

	for (var i=0; i<lists.length; i++)
	{
		var list;

		list = lists[i];
		if (list.parentNode.parentNode != obj){
			continue;
		}
		
		if (list.getElementsByTagName("a").length==0){
			continue;
		}
		list.status="normal";
		list.className=getPrefixName(list.className,"normal");
	}
}
//window.onerror=function(){return true}