﻿function createXMLHttpRequest() {
var xmlHttp;
  if (window.ActiveXObject) {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
     else if (window.XMLHttpRequest) {
         xmlHttp = new XMLHttpRequest();
     }
     return xmlHttp;
 }

/**
 * 根据传入的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;
}

function setInfo(url,infoContent){
var xmlHttp=createXMLHttpRequest();
xmlHttp.open("GET",url,true);
infoContent.innerHTML="<p style='text-align:center'><img src='images/ajaxLoad.gif'><span style='font-size:12px'>正在加载新闻...</span></p>";

xmlHttp.onreadystatechange=function(){
 if (xmlHttp.readyState==4)
 {
   infoContent.innerHTML=xmlHttp.responseText;
   
   if(document.getElementById("defaultJS"))eval(document.getElementById("defaultJS").innerHTML);
      
   delete xmlHttp ; 
   xmlHttp=null;
   CollectGarbage();
 }
}
xmlHttp.send("");
}

var timeOut=200,waitInterval;
/**
 * 根据contentId初始化div
 * 对名为contentId的div下的所有li元素进行初始化
 * 包括设置其活动状态，读取其内容以及实现其onmouseover以及onmouseout事件
 * @contentId 需要初始化的div内容块的id
 * @defaultNewsUrl 需要作为初始内容出现在内容块中的url
 *
 */
function initContent(contentId,defaultNewsUrl) {
	var obj = document.getElementById(contentId);
	var lists = obj.getElementsByTagName("li");
	
	var Content=document.getElementById(contentId+"Ajax");
	var urltemp=defaultNewsUrl.substr(0,defaultNewsUrl.indexOf("?"));
	for (var i=0; i<lists.length; i++) {
		var list = lists[i];
		
		if (list.id=="")continue;		
		//设置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方法:根据rel读取内容填充进入rev元素
		list.loadTabContent=function() {
			if (this.parentNode.activetab!=undefined){
				this.parentNode.activetab.setActive(false);
			}
			this.parentNode.activetab=this;
			this.setActive(true);
			
			setInfo(this.id,Content);
		}
		
		//onmouseover事件实现
		list.onmouseover=function() {
			if (this.status == "active") {
				return;
			}else {
				tempref = this;
				clearTimeout(waitInterval);
				waitInterval = window.setTimeout("tempref.loadTabContent()",timeOut);
			}
		}

		//onmouseout事件实现
		list.onmouseout=function() {
			clearTimeout(waitInterval);
		}
		
		//当该li为初始内容时，则从其url中读取内容填充进入div
		if (defaultNewsUrl.indexOf(list.id)>-1) {
			list.setActive(true);
			obj.activetab=list;
			isInit = true;
			setInfo(defaultNewsUrl,Content);

		}else {
			list.setActive(false);
		}
		
	}
}
