// JavaScript Document
// -- Coded by Alex 2007.10.8




//全局函数
var CurrentNum; //当前显示的页
var TotalFrames;
var ActiveStyle = "normal"; //导航按钮激活时的样式
var IsIE;
var xml = "qjhkt/interview.xml";


// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
   // prototying the XMLDocument
   XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
   {
      if( !xNode ) { xNode = this; } 
      var oNSResolver = this.createNSResolver(this.documentElement)
      var aItems = this.evaluate(cXPathString, xNode, oNSResolver, 
                   XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
      var aResult = [];
      for( var i = 0; i < aItems.snapshotLength; i++)
      {
         aResult[i] =  aItems.snapshotItem(i);
      }
      return aResult;
   }

   // prototying the Element
   Element.prototype.selectNodes = function(cXPathString)
   {
      if(this.ownerDocument.selectNodes)
      {
         return this.ownerDocument.selectNodes(cXPathString, this);
      }
      else{throw "For XML Elements Only";}
   }
}


// check for XPath implementation
if( document.implementation.hasFeature("XPath", "3.0") )
{
   // prototying the XMLDocument
   XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
   {
	  if( !xNode ) { xNode = this; } 
      var xItems = this.selectNodes(cXPathString, xNode);
      if( xItems.length > 0 )
      {
         return xItems[0];
      }
      else
      {
         return null;
      }
   }
   
   // prototying the Element
   Element.prototype.selectSingleNode = function(cXPathString)
   {    
      if(this.ownerDocument.selectSingleNode)
      {
         return this.ownerDocument.selectSingleNode(cXPathString, this);
      }
      else{throw "For XML Elements Only";}
   }
}


//显示专家列表,rowsperframe表示每页显示数量
function iShow(rowsperframe,website){
	 var RealRows=0;
	 var loaded;

	 var xmlDoc;// = new ActiveXObject("Microsoft.XMLDOM");
	  // IE 浏览器
        if (window.ActiveXObject)  
        {  
			IsIE=true;
            xmlDoc      = new ActiveXObject("Microsoft.XMLDOM");  
            xmlDoc.async= false;  
			xmlDoc.load(xml);
			loaded=(xmlDoc.parseError.errorCode == 0)
			 if(loaded==false)
			{
				document.write('无法读取xml文件!');
				return;
			}
        }// Mozilla, Firefox, Opera浏览器
        else if(document.implementation &&document.implementation.createDocument)  
        {  
			IsIE=false;
            //xmlDoc = document.implementation.createDocument("","doc",null);  
			xmlDoc = document.implementation.createDocument("","",null);
			xmlDoc.async=false;
			loaded = xmlDoc.load(xml); 
			if(loaded==false)
			{
				document.write('Can not read xml file !');
			}
        }
        else  
        {  
			IsIE=false;
            document.write("你的浏览器不支持Javascript,无法加载数据");
			return;
        }
		
		var FrameStr="";
		var GuideStr="";
		

        if(loaded==false)
        {
			exShowEmpty();
	        return;
        }
        else
        {
			xmlDoc.setProperty('SelectionLanguage','XPath');
			var EX = xmlDoc.documentElement;
			var current=EX.attributes.getNamedItem("current").value;
			var xpath;
			if(website.toLowerCase()=='all')
				xpath='issue';
			else
				xpath='issue[@website="all"]|issue[contains(@website,"'+website.toLowerCase()+'")]';
				
			var data = EX.selectNodes(xpath);

            if(data == null){exShowEmpty();return;}
			if(IsIE)
				RealRows = data.length;
			else
				RealRows = Math.floor(data.length/2);

			var totalrows = RealRows;
			if(rowsperframe>RealRows)rowsperframe=RealRows;

			TotalFrames = Math.floor(((totalrows-1)/rowsperframe) + 1);
			for(j=0;j<TotalFrames;j++)
		    {
				var style = "style='display:none;'";
				FrameStr += "<div class='expert_review ' id='frame"+(j+1)+"' "+style+">";
				//alert("建立第"+j+"个frame");
				for(i=1;i<=rowsperframe;i++)
				{
					var index = j*rowsperframe+i-1;
					if(index>=totalrows)break;
					var name,type,title,company,article,imgLarge,imgSmall,synopsis,issue;
					if(IsIE)
					{
							var m = data[index];
							issue=m.attributes.getNamedItem("no").value;
							name=m.selectSingleNode("name").text;
							type=m.selectSingleNode('type').text;
							title=m.selectSingleNode("title").text;
							company=m.selectSingleNode("company").text;
							article=m.selectSingleNode("article").text;
							articleLink=m.selectSingleNode("link").text;
							imgLarge=m.selectSingleNode("imgLarge").text;
							imgSmall=m.selectSingleNode("imgSmall").text;
							synopsis=m.selectSingleNode("synopsis").childNodes[0].text;
					}
					else
					{
							var m = data[index];
							issue=m.attributes.getNamedItem("no").value;
							name=m.selectSingleNode("name").childNodes[0].nodeValue;
							type=m.selectSingleNode('type').childNodes[0].nodeValue;
							title=m.selectSingleNode("title").childNodes[0].nodeValue;
							company=m.selectSingleNode("company").childNodes[0].nodeValue;
							article=m.selectSingleNode("article").childNodes[0].nodeValue;
							articleLink=m.selectSingleNode("link").childNodes[0].nodeValue;
							imgLarge=m.selectSingleNode("imgLarge").childNodes[0].nodeValue;
							imgSmall=m.selectSingleNode("imgSmall").childNodes[0].nodeValue;
							synopsis=m.selectSingleNode("synopsis").childNodes[0].childNodes[0].nodeValue;
					}
					//if(synopsis.length>70)synopsis=synopsis.substr(0,82)+"...";
					FrameStr += "<div class='expert_outline b m_r l' id='issue"+issue+"'>";
					FrameStr += '<div class="expert_review_photo l"><img src="'+imgSmall+'" width="115" height="150" alt="'+title+'"/></div>';
					FrameStr += '<div class="expert_review_content l">';
					FrameStr += '<div class="expert_review_name"><span class="expert_review_name2">'+name+'</span> - '+title+'</div>';
					//FrameStr += '<div >'+article+'</div>';
					FrameStr += '<div class="expert_review_major_text"><a href="'+articleLink+'" target="_blank">'+synopsis+'</a> </div>';
					FrameStr += '</div></div>';
				}

				FrameStr += '</div>';
			}

			GuideStr += '<div class="pageNum">';
			GuideStr += '<div class="num">';
			GuideStr += '<A  title="上一页" href="javascript:iShowPreviousFrame()">上一页</A>';
			if(TotalFrames>1)
			{
				for(k=1;k<=TotalFrames;k++){
					GuideStr += '<A id="page'+k+'" title=第'+k+'页 href="javascript:iShowFrame('+k+')">'+k+'</A>';
				}				
			}
			GuideStr += '<A  title="下一页" href="javascript:iShowNextFrame()">下一页</A>';
			GuideStr += "</div></div>";

			document.write(GuideStr);
			document.write(FrameStr);
			iShowFrame(1);
	

        }
}

//显示推荐人物
//website:current,cs,ls.....
function iShowCurrent(website){
	 var loaded;
	 
	 var xmlDoc;// = new ActiveXObject("Microsoft.XMLDOM");
	  // IE 浏览器
        if (window.ActiveXObject)  
        {  
			IsIE=true;
            xmlDoc      = new ActiveXObject("Microsoft.XMLDOM");  
            xmlDoc.async= false;  
			xmlDoc.load(xml);
			loaded=(xmlDoc.parseError.errorCode == 0)
			 if(loaded==false)
			{
				document.write('无法读取xml文件!');
				return;
			}
        }// Mozilla, Firefox, Opera浏览器
        else if(document.implementation &&document.implementation.createDocument)  
        {  
			IsIE=false;
            //xmlDoc = document.implementation.createDocument("","doc",null);  
			xmlDoc = document.implementation.createDocument("","",null);
			xmlDoc.async=false;
			loaded = xmlDoc.load(xml); 
			if(loaded==false)
			{
				document.write('Can not read xml file !');
			}
        }
        else  
        {  
			IsIE=false;
            document.write("你的浏览器不支持Javascript,无法加载数据");
			return;
        }
	
		var FrameStr="";
        if(loaded==false)
        {
			exShowEmpty();
	        return;
        }
        else
        {
			var EX = xmlDoc.documentElement;
			var currents=EX.attributes.getNamedItem(website).value.split(",");

            if(currents == null){exShowEmpty();return;}
			var name,type,title,company,article,imgLarge,imgSmall,synopsis,articleLink;
			for(i=0;i<currents.length;i++)
			{
					var current = currents[i];
					if(IsIE)
					{
							var m = EX.selectSingleNode("issue[@no='"+current+"']");
							name=m.selectSingleNode("name").text;
							type=m.selectSingleNode('type').text;
							title=m.selectSingleNode("title").text;
							company=m.selectSingleNode("company").text;
							article=m.selectSingleNode("article").text;
							articleLink=m.selectSingleNode("link").text;
							imgLarge=m.selectSingleNode("imgLarge").text;
							imgSmall=m.selectSingleNode("imgSmall").text;
							synopsis=m.selectSingleNode("synopsis").childNodes[0].text;
					}
					else
					{
							var m = EX.selectSingleNode("issue[@no='"+current+"']");
							name=m.selectSingleNode("name").childNodes[0].nodeValue;
							type=m.selectSingleNode('type').childNodes[0].nodeValue;
							title=m.selectSingleNode("title").childNodes[0].nodeValue;
							company=m.selectSingleNode("company").childNodes[0].nodeValue;
							article=m.selectSingleNode("article").childNodes[0].nodeValue;
							articleLink=m.selectSingleNode("link").childNodes[0].nodeValue;
							imgLarge=m.selectSingleNode("imgLarge").childNodes[0].nodeValue;
							imgSmall=m.selectSingleNode("imgSmall").childNodes[0].nodeValue;
							synopsis=m.selectSingleNode("synopsis").childNodes[0].childNodes[0].nodeValue;
					}
					//if(synopsis.length>70)synopsis=synopsis.substr(0,82)+"...";
					FrameStr += "<div class='new_expert'>";
					FrameStr += '<div class="new_expert_photo l"><a href="'+articleLink+'">';
					FrameStr += '<img src="'+imgLarge+'" width="200" height="250" border="0" alt="'+article+'" /></a></div>';
					FrameStr += '<div class="new_expert_con l">';
			        FrameStr += '<div class="new_expert_name">';
	      			FrameStr += '<div class="qianjia_talk_t l"><img src="bkimages/qianjia_talk_t.gif" width="99" height="23" /></div>';
				    FrameStr += '<div class="new_expert_name_con l"><span class="new_expert_name1">'+name+'</span></div>';
	   				FrameStr += '</div>';
					FrameStr += '<div class="new_expert_name">';
			     	FrameStr += '<span class="new_expert_title_con l">--'+title+'</span></div>';
				    FrameStr += '<div class="expert_talk_title "><a href="'+articleLink+'" target="_blank">'+article+'</a></div>';
				    FrameStr += '<div class="expert_talk_major">'+synopsis+'</div>';
					FrameStr += '</div></div>';
					
			}
			document.write(FrameStr);
        }
}


//建立空白页
function exShowEmpty()
{
}

//切换到指定页
function iShowFrame(num)
{
	if(num<1)num=1;
	if(num>TotalFrames)num=TotalFrames;
	if(num==CurrentNum)return;
	var LastNum = CurrentNum;
	CurrentNum = num;	
	
	//处理显示页
	var activeFrame = document.getElementById("frame"+CurrentNum);
	if(LastNum!=null)var lastFrame = document.getElementById("frame"+LastNum);

	activeFrame.style.display="";
	if(LastNum!=null)lastFrame.style.display="none";

	//处理分页按钮
	var activePage = document.getElementById("page"+ CurrentNum);
	if(LastNum!=null)var lastPage = document.getElementById("page"+ LastNum);

	var newActivePage = document.createElement('<span id="page'+CurrentNum+'" title=第'+CurrentNum+'页 class="normal"></span>');
	if(LastNum!=null)var newLastPage = document.createElement('<A id="page'+LastNum+'" title=第'+LastNum+'页 href="javascript:iShowFrame('+LastNum+')"></A>');
	
	newActivePage.innerHTML = CurrentNum;
	if(LastNum!=null)newLastPage.innerHTML = LastNum;

	if(activePage!=null){
	var pageParent = activePage.parentElement;
	pageParent.replaceChild(newActivePage,activePage);
	}
	if(LastNum!=null)pageParent.replaceChild(newLastPage,lastPage);
	
	
}

function iShowNextFrame()
{
	iShowFrame(CurrentNum+1);
}

function iShowPreviousFrame()
{
	iShowFrame(CurrentNum-1);
}


//-----------------------------------------------list


function classShowList(instance,type,website,length,rowsperframe)
{
	
	this.CurrentNum; //当前显示的页
	this.TotalFrames;
	this.name = instance;
	this.type=type;//type-类别:专家,高层,媒体
	this.website=website;//website-所调用的频道
	this.length=length;//length-显示宽度
	this.rowsperframe=rowsperframe;//rowsperframe-每页条数

	//显示指定类别的人物列表
	this.iShowList = function iShowList()
	{
		 var RealRows=0;
		 var loaded;
	
		 var xmlDoc;// = new ActiveXObject("Microsoft.XMLDOM");
		  // IE 浏览器
			if (window.ActiveXObject)  
			{  
				IsIE=true;
				xmlDoc      = new ActiveXObject("Microsoft.XMLDOM");  
				xmlDoc.async= false;  
				xmlDoc.load(xml);
				loaded=(xmlDoc.parseError.errorCode == 0)
				 if(loaded==false)
				{
					document.write('无法读取xml文件!');
					return;
				}
			}// Mozilla, Firefox, Opera浏览器
			else if(document.implementation &&document.implementation.createDocument)  
			{  
				IsIE=false;
				//xmlDoc = document.implementation.createDocument("","doc",null);  
				xmlDoc = document.implementation.createDocument("","",null);
				xmlDoc.async=false;
				loaded = xmlDoc.load(xml); 
				if(loaded==false)
				{
					document.write('Can not read xml file !');
				}
			}
			else  
			{  
				IsIE=false;
				document.write("你的浏览器不支持Javascript,无法加载数据");
				return;
			}
			
	
			if(loaded==false)
			{
				exShowEmpty();
				return;
			}
			else
			{
				var type = this.type;
				var website = this.website;
				var length = this.length;
				var rowsperframe = this.rowsperframe;
				var TotalFrames;
				
				xmlDoc.setProperty('SelectionLanguage','XPath');
				var EX = xmlDoc.documentElement;
				var current=EX.attributes.getNamedItem("current").value;
				var xpath;
				if(website.toLowerCase()=='all')
					xpath='issue[type="'+type+'"]';
				else
					xpath='issue[type="'+type+'" and @website="all"]|issue[type="'+type+'" and contains(@website,"'+website.toLowerCase()+'")]';
					
				var data = EX.selectNodes(xpath);
	
				if(data == null){exShowEmpty();return;}
				if(IsIE)
					RealRows = data.length;
				else
					RealRows = Math.floor(data.length/2);
	
				var totalrows = RealRows;
				if(rowsperframe>RealRows)rowsperframe=RealRows;
				TotalFrames = Math.floor(((totalrows-1)/rowsperframe) + 1);
				this.TotalFrames = TotalFrames;
				
				
				var FrameStr="";				
				for(j=0;j<TotalFrames;j++)
				{
					var style = "style='display:none;'";
					FrameStr += "<div class='expert_list' id='"+this.name+"listframe"+(j+1)+"' "+style+">";
					//alert("建立第"+j+"个frame");
				
					for(i=1;i<=rowsperframe;i++)
					{
						var index = j*rowsperframe+i-1;
						if(index>=totalrows){FrameStr+="<br/>";continue;}
	
						var name,type,title,company,article,imgLarge,imgSmall,synopsis,issue;
						issue="";
						if(IsIE)
						{
								var m = data[index];
								issue=m.attributes.getNamedItem("no").value;
								name=m.selectSingleNode("name").text;
								type=m.selectSingleNode('type').text;
								title=m.selectSingleNode("title").text;
								company=m.selectSingleNode("company").text;
								article=m.selectSingleNode("article").text;
								articleLink=m.selectSingleNode("link").text;
								imgLarge=m.selectSingleNode("imgLarge").text;
								imgSmall=m.selectSingleNode("imgSmall").text;
								synopsis=m.selectSingleNode("synopsis").childNodes[0].text;
						}
						else
						{
								var m = data[index];
								issue=m.attributes.getNamedItem("no").value;
								name=m.selectSingleNode("name").childNodes[0].nodeValue;
								type=m.selectSingleNode('type').childNodes[0].nodeValue;
								title=m.selectSingleNode("title").childNodes[0].nodeValue;
								company=m.selectSingleNode("company").childNodes[0].nodeValue;
								article=m.selectSingleNode("article").childNodes[0].nodeValue;
								articleLink=m.selectSingleNode("link").childNodes[0].nodeValue;
								imgLarge=m.selectSingleNode("imgLarge").childNodes[0].nodeValue;
								imgSmall=m.selectSingleNode("imgSmall").childNodes[0].nodeValue;
								synopsis=m.selectSingleNode("synopsis").childNodes[0].childNodes[0].nodeValue;
						}
						var content,clen;
						switch(type)
						{
							case "专家":
								content="<font color='orange'>"+name+"</font> "+title;
								clen = length + 30;
								break;
							case "高层":
								content="<font color='red'>"+name+"</font> "+title;
								clen = length + 27;
								break;
							case "传媒":
								content="<font color='green'>"+name+"</font> "+title;
								clen = length + 29;
								break;
							default:
								content="<font color='blue'>"+name+"</font> "+title;
								clen = length + 28;
						}
						if(content.length>clen)content = content.substr(0,clen-1)+"...";
						FrameStr += "第"+issue+"期: <a href='"+articleLink+"' title='"+title+"' target='_blank' onmouseover='"+this.name+".onMouseOver(\""+issue+"\",event)' onmouseleave='"+this.name+".onMouseLeave()'>"+content+"</a><br/> ";
	
					}//for i
					FrameStr += "</div>";
				} //for j
				

	
				document.write(FrameStr);
				this.iShowGuide();
				this.iShowListFrame(1);
			}
	}
	
	this.iShowGuide=function iShowGuide()
	{
		var GuideStr="";
		GuideStr += '<div class="pageListNum">';
		GuideStr += '<div class="listNum">';
		if(this.TotalFrames>1)
		{
			GuideStr += '<A  title="上一页" href="javascript:'+this.name+'.iShowListPreviousFrame()"><<</A>';
			for(k=1;k<=this.TotalFrames;k++){
					GuideStr += '<A id="'+this.name+'page'+k+'" title=第'+k+'页 href="javascript:'+this.name+'.iShowListFrame('+k+')">'+k+'</A>';
			}	
			GuideStr += '<A  title="下一页" href="javascript:'+this.name+'.iShowListNextFrame()">>></A>';
		}
		GuideStr += "</div></div>";	
		document.write(GuideStr);
	}
	
	this.iShowBox=function iShowBox(msg,x,y)
	{
		var box = document.getElementById(this.name+"box");
		if(box==null)
		{
			box = document.createElement("<div id='"+this.name+"box'></div>");
			box.className="expert_outline b";
			box.style.position = "absolute";
			box.style.backgroundColor="white";
			box.innerHTML=msg;
			document.body.appendChild(box);
		}
		else
		{
			box.innerHTML=msg;
			box.style.display="block";
		}
		box.style.pixelTop=y;
		box.style.pixelLeft=x;
	}
	
	this.iHideBox=function iHideBox()
	{
		var box = document.getElementById(this.name+"box");
		if(box!=null)box.style.display="none";
	}


	//切换到指定列表页
	this.iShowListFrame=function iShowListFrame(num)
	{
		if(num<1)num=1;
		if(num>this.TotalFrames)num=this.TotalFrames;
		
		if(num==this.CurrentNum)return;
		var LastNum = this.CurrentNum;
		this.CurrentNum = num;	
		
		//处理显示页
		var activeFrame = document.getElementById(this.name+"listframe"+this.CurrentNum);
		if(LastNum!=null)var lastFrame = document.getElementById(this.name+"listframe"+LastNum);
	
		activeFrame.style.display="";
		if(LastNum!=null)lastFrame.style.display="none";
		
		//处理分页按钮
		var activePage = document.getElementById(this.name+"page"+ this.CurrentNum);
		if(LastNum!=null)var lastPage = document.getElementById(this.name+"page"+ LastNum);
		
		var newActivePage = document.createElement('<span id="'+this.name+'page'+this.CurrentNum+'" title=第'+this.CurrentNum+'页 class="normal"></span>');
		if(LastNum!=null)var newLastPage = document.createElement('<A id="'+this.name+'page'+LastNum+'" title=第'+LastNum+'页 href="javascript:'+this.name+'.iShowListFrame('+LastNum+')"></A>');

		newActivePage.innerHTML = this.CurrentNum;
		if(LastNum!=null)newLastPage.innerHTML = LastNum;

		if(activePage!=null){
		var pageParent = activePage.parentElement;		
		pageParent.replaceChild(newActivePage,activePage);
		}
		if(LastNum!=null)pageParent.replaceChild(newLastPage,lastPage);
	}
	
	this.iShowListNextFrame=function iShowListNextFrame()
	{
		this.iShowListFrame(this.CurrentNum+1);
	}
	
	this.iShowListPreviousFrame=function iShowListPreviousFrame()
	{
		this.iShowListFrame(this.CurrentNum-1);
	}
	
	this.onMouseOver = function onMouseOver(issue,e)
	{
		var content = document.getElementById("issue"+issue);
		if(content==null)return;
		var x,y;
		x=e.x; 
		y=e.y+scrollTop();
		this.iShowBox(content.innerHTML,x,y);
	}
	
	this.onMouseLeave = function onMouseLeave()
	{
		this.iHideBox();
	}

}


function pageWidth()
{
    return window.innerWidth != null? window.innerWidth: document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body != null? document.body.clientWidth:null;
}

function pageHeight()
{
    return window.innerHeight != null? window.innerHeight: document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body != null? document.body.clientHeight:null;
}

function scrollLeft()
{
    return window.pageXOffset != null? window.pageXOffset: document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body != null? document.body.scrollLeft:null;
}

function scrollTop()
{
    return window.pageYOffset != null? window.pageYOffset: document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body != null? document.body.scrollTop:null;
}






