﻿var MSIE = (window.navigator.appName.indexOf( "Explorer" )>-1);
//去掉左右两边的空格
function trimString(str) { 
	var i,j; 
	if (str == "") 
	    return ""; 
	for (i = 0; i < str.length; i++) 
		if (str.charAt(i) != ' ') 
		    break; 
	if (i >= str.length) 
	    return ""; 
	for(j=str.length-1;j>=0;j--) 
		if(str.charAt(j) != ' ') 
		    break; 
	return str.substring(i,j+1); 
}

//将字符串的换行符删除及删除首尾空格（主要是判断多行文本区是否为空用）
function trimBlankNewline(str) {
    str = str.replace(/\r\n/g, "");
    str = trimString(str);
    return str;
}


//获得表单内字符的长度，中文一个字符为2，英文一个字符为1
function getLen(str) {
    return str.replace(/[^\x00-\xff]/g,"**").length;
}

//判断是否全是数字
function isNumber(str) {
    return !str.match(/[^0-9]/); 
}

//searchresult script
function FilterPeriodChanged( oSelect )
{
	var url=document.location.href;
	var query="";
	if(url.indexOf("?")>-1)
	{
		query=url.substring(url.indexOf("?"),url.length);
		url=url.substring(0,url.indexOf("?"));
	}
	url=FormatUrl(url,query,"page",0);
	query=url.substring(url.indexOf("?"),url.length);
	url=url.substring(0,url.indexOf("?"));
	document.location.href=FormatUrl(url,query,"period",oSelect.value);
}

function FilterDateChanged( oSelect )
{
	var url=document.location.href;
	var query="";
	if(url.indexOf("?")>-1)
	{
		query=url.substring(url.indexOf("?"),url.length);
		url=url.substring(0,url.indexOf("?"));
	}
	url=FormatUrl(url,query,"page",0);
	query=url.substring(url.indexOf("?"),url.length);
	url=url.substring(0,url.indexOf("?"));
	document.location.href=FormatUrl(url,query,"date",oSelect.value);
}

function FilterChannelChanged( oSelect )
{
	var url=document.location.href;
	var query="";
	if(url.indexOf("?")>-1)
	{
		query=url.substring(url.indexOf("?"),url.length);
		url=url.substring(0,url.indexOf("?"));
	}
	url=FormatUrl(url,query,"page",0);
	query=url.substring(url.indexOf("?"),url.length);
	url=url.substring(0,url.indexOf("?"));
	document.location.href=FormatUrl(url,query,"channel",oSelect.value);
}
function FilterOverdueChanged( cb )
{
	var url=document.location.href;
	var query="";
	if(url.indexOf("?")>-1)
	{
		query=url.substring(url.indexOf("?"),url.length);
		url=url.substring(0,url.indexOf("?"));
	}
	url=FormatUrl(url,query,"page",0);
	query=url.substring(url.indexOf("?"),url.length);
	url=url.substring(0,url.indexOf("?"));
	document.location.href=FormatUrl(url,query,"overdue",cb.checked?"1":"");
}

function AjaxSearchResultFinish(arg,context)
{
	var split=arg.substring(0,4);
	var cmd=arg.split(split);
	document.getElementById(tdResultLength).innerHTML=cmd[1];
	document.getElementById(divSearchResult).innerHTML=cmd[2];
}

function AjaxSearchResultFinishErr(arg,context)
{
}

//SearchCtl script
function SearchTypeChanged(obj)
{
	var d=null;
	for(var i=0;i<4;i++)
	{
		d=document.getElementById("type"+i);
		if(d!=null)
			d.style.display="none";
	}
	d=document.getElementById("type"+obj.value);
	if(d!=null)
		d.style.display="";
}
function Search()   //SearchResult.aspx?key=xxx&date=xxx&p=xxx&c=xxx
{
	var type=document.getElementById("searchType").value;
	var strUrl="/SearchResult.aspx";
	if(type==1)
	{
		strUrl+="?date="+document.getElementById(seDate).value+"&period="+document.getElementById(sePeriod).value+"&overdue=1";
	}
	else if(type==2)
	{
		strUrl+="?category="+escape(document.getElementById(seCategory).value);
	}
	else if(type==3)
	{
        strUrl=document.getElementById(seProgram).value;
	}
	else
	{
	    if( document.getElementById("inputKeyword").value==null || document.getElementById("inputKeyword").value=="" )
	    {
		    alert("搜索关键词不能为空");
		    document.getElementById("inputKeyword").focus();
		    return;
	    }
		strUrl+="?key="+escape(document.getElementById("inputKeyword").value);
	}
	if(document.location.href.toLowerCase().indexOf("/channel/") > 0)
	    window.open(strUrl);
    else
	    document.location.href=strUrl;
}

//popup
var CurrentTip,lastTip ;
var g_bHide;
var tipX,tipY,tip,NoPopup=false;
function ToPopup(obj,prefix,sid,fromTD,bgcolor)
{
	if(obj.getAttribute("_init")!=null)
		return;
	obj.setAttribute("_init",1);
	if(bgcolor==null)
	{
		obj.onmouseenter=Function("CallShowTip(this,'"+prefix+"_"+sid+"',"+(fromTD?"true":"false")+",MSIE?event:null);");
		obj.onmousemove=Function("ChangePosition(this,'"+prefix+"_"+sid+"',"+(fromTD?"true":"false")+",MSIE?event:null);");
		obj.onmouseleave=Function("MM_HideLayers('"+prefix+"_"+sid+"');");
	}
	else
	{
		obj.onmouseenter=Function("this.setAttribute('old',this.style.backgroundColor);this.style.backgroundColor='"+bgcolor+"';CallShowTip(this,'"+prefix+"_"+sid+"',"+(fromTD?"true":"false")+",event);");
		obj.onmousemove=Function("ChangePosition(this,'"+prefix+"_"+sid+"',"+(fromTD?"true":"false")+",event);");
		obj.onmouseleave=Function("MM_HideLayers('"+prefix+"_"+sid+"');");
		obj.setAttribute("_hl",1);
	}
	if(obj.id==null)obj.id=("btn_"+Math.random()).replace(".","");
}
function CallShowTip(obj,eventTarget,fromTD,evt)
{
	if(MSIE&&event.ctrlKey)NoPopup=!NoPopup;
	if(NoPopup)return;
	var  x,y,str;
	var result = GetElementPosition( obj ) ;
	x = result.x + (MSIE?event.offsetX:0);
	y = result.y + result.height - 5 ;
	CurrentTip = eventTarget;
	if(obj.getAttribute("_hl")!=null)
	{
		var a=obj.getElementsByTagName("a")[0];
		obj.setAttribute("a_color",a.style.color);
		a.style.color="#000000";
	}
	
	var popup = document.getElementById(eventTarget);
	popup.style.top="0px";
	popup.style.left="0px";
	popup.style.visibility="hidden";
	popup.style.display="";
	if( popup.getAttribute("shown")!="1" )
	{
		var imgs = popup.getElementsByTagName("img");
		for( var i=0;i<imgs.length;i++ )
		{
			var src = imgs[i].getAttribute("_src") ;
			if( src!=null )
				imgs[i].src = src;
		}
		popup.setAttribute("shown","1" );
	}
	if(popup.getAttribute("f")==null)
	{
		var s=popup.innerHTML.split(" ");
		if( s.length<10 )return ;
		var h="<table border=0 cellspacing=0 cellpadding=2 class=t width=100%>"
+ "<tr><td height=16 class=popuptitle><a href='{12}' target =_blank style='color:black;font-size:10pt;line-height:110%'>{0}{1}</a></td></tr>"
+ "<tr><td height=16 style='font-size:10pt;line-height:110%'>{2} {3} {4}&nbsp;&nbsp;{9}</td></tr>"
+ "<tr><td valign=top style='height:40px;padding-left:10px;'><div style='word-break:break-all;height:36px;width:98%; font-size:10pt;line-height:110%'>{5}</div></td></tr>"
+ "<tr><td height=16 align='right' style='padding-right:15px'>" + String.fromCharCode(256) + "</td></tr>"
+ "</table>";
		
		var des=s[5];while(des.indexOf("&nbsp;")>-1)des=des.replace("&nbsp;","");
		if(des=="")s[5]="<a href='{12}' target =_blank style=color:black>暂无节目简介信息。</a>";
		
		var ct="<a href='http://cmt.ifeng.com/viewcmts.do?docId={6}&docName={10}&docUrl=http%3a%2f%2fjiemu.ifeng.com%2fp%2f{6}.htm&chId=-8888' class=ico target =_blank style='color:black; font-size:10pt;line-height:110%'><b>评论</b></a>　";

		for(var i=0;i<s.length;i++)
		{
			while(h.indexOf("{"+i+"}")>-1)h=h.replace("{"+i+"}",s[i]);
			while(ct.indexOf("{"+i+"}")>-1)ct=ct.replace("{"+i+"}",s[i]);
		}
		
		h=h.replace(String.fromCharCode(256),ct);
		popup.innerHTML=h+"<iframe style='z-index: -1; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0); left: 0px; visibility: inherit; width: 300px; position: absolute; top: 0px; height: 200px' src='javascript:false'></iframe>";popup.setAttribute("f",1);
		var div=popup.getElementsByTagName("div")[0];
		if(div.clientHeight>58||div.clientWidth>280){div.style.width=280+"px";div.style.overflow="hidden";div.parentNode.innerHTML+=""}
	}
	if( popup.getAttribute( "pid" )==null )
		popup.setAttribute( "pid",obj.id ) ;
	if( document.documentElement.offsetWidth - (MSIE?event.clientX:0)-20<popup.offsetWidth )
		tipX = x - popup.clientWidth ;
	else
		tipX = x;
		
	if( tipX<0 ) tipX=x;

	if( document.documentElement.offsetHeight - (MSIE?event.clientY:0)-160<popup.offsetHeight )
		tipY = y-popup.offsetHeight-result.height+10 ;
	else
		tipY = y;

	if( tipY<0 ) tipY = y ;
	
	if( tip!=document.getElementById(eventTarget) )
	{
		str = "MM_ShowLayers('"+eventTarget+"')"; 
		tip = document.getElementById(eventTarget) ;
		window.setTimeout(str,1500);
	}
}
function ChangePosition(obj,eventTarget,fromTD,evt)
{
	if( tip==null )
		return ;
	var popup = document.getElementById(eventTarget);
	if( tip==popup && (tip.style.display=="none" || tip.style.visibility=="hidden") )
	{
		var  x;
		var  y;
		var	 str; 	

		var result = GetElementPosition( obj ) ;
		x = result.x + (MSIE?event.offsetX:0);
		y = result.y + result.height - 5;

		if( fromTD!=true )
		{
			var source = MSIE?event.srcElement:evt.target ;
			if( source.tagName.toLowerCase()=="img" )
				return ;

			if( source.tagName.toLowerCase()=="td" )
			{
				for( var i=0;i<source.cellIndex;i++ )
					x += source.parentNode.cells[i].offsetWidth ;
			}
		}
		popup.style.top="0px";
		popup.style.left="0px";
		popup.style.visibility = "hidden" ;
		popup.style.display = "" ;

		if( document.documentElement.offsetWidth - (MSIE?event.clientX:0) - 20<popup.offsetWidth )
			tipX = x-popup.clientWidth ;
		else
			tipX = x;
			
		if( tipX<0 ) tipX = x ;

		if( document.documentElement.offsetHeight - (MSIE?event.clientY:0)-160<popup.offsetHeight )
			tipY = y-popup.offsetHeight-result.height+10 ;
		else
			tipY = y;

		if( tipY<0 ) tipY = y ;
	}
}

function ShowPopup( eventTarget )
{
	var obj=document.getElementById(eventTarget) ;
	
	obj.style.top = tipY + "px";
	obj.style.left = tipX + "px";
	obj.style.display="";
	obj.style.visibility="visible";
	
	if( obj.getAttribute("pid")!=null && obj.getAttribute("pid")!="" )
	{
		var btn = document.getElementById( obj.getAttribute("pid") ) ;
		if( btn!=null && btn.getAttribute("_hl")!=null )
		{
			btn.style.backgroundColor = "#cccccc";//background color
			var a=btn.getElementsByTagName("a")[0];
			a.style.color="#000000";
		}
	}
	window.clearTimeout(lastTimeoutAHL);
}
var lastTimeoutAHL ;
function MM_ShowLayers(eventTarget)
{
	if ( CurrentTip==null )
		return;
	if (document.getElementById(eventTarget)!=null && tip!=null)
	{
		if( lastTip!=null)lastTip.style.display="none";
		lastTip=tip;
		tip.style.visibility="visible";
		tip.style.display="";
		tip.style.position="absolute" ;
		tip.style.top=tipY+"px";
		tip.style.left=tipX+"px" ;
	}
}

function MM_HideLayers(eventTarget)
{
	tip = null ;
	CurrentTip = null ;
	var obj=document.getElementById(eventTarget) ;

	if (obj!=null)
	{
		if( obj.getAttribute("pid")!=null && obj.getAttribute("pid")!="" )
		{
			var btn;
			if(document.all)
				btn=document.all(obj.getAttribute("pid"));
			else
				btn=document.getElementById(obj.getAttribute("pid"));
			if(btn!=null)
			{
				if(btn.length!=null)
				{
					for(var i=0;i<btn.length;i++)
					{
						if(btn[i].getAttribute("_hl")==null)continue;
						btn[i].style.backgroundColor=btn[i].getAttribute("old");
						var a=btn[i].getElementsByTagName("a")[0];
						if(a!=null)a.style.color=btn[i].getAttribute("a_color");
					}
				}
				else if(btn.getAttribute("_hl")!=null)
				{
					btn.style.backgroundColor = btn.getAttribute("old");
					var a=btn.getElementsByTagName("a")[0];
					a.style.color=btn.getAttribute("a_color");
				}
			}
		}
	}
	lastTimeoutAHL=window.setTimeout("AsyncHideLayers('"+eventTarget+"')",500);
}
function AsyncHideLayers(eventTarget)
{
	var obj=document.getElementById(eventTarget) ;
	if (obj!=null)
		obj.style.display="none"; 
}

function GetElementPosition(element) {
	var result = new Object();
	result.x = 0;
	result.y = 0;
	result.width = 0;
	result.height = 0;
	if (element.offsetParent) {
		result.x = element.offsetLeft;
		result.y = element.offsetTop;
		var parent = element.offsetParent;
		while (parent) {
			result.x += parent.offsetLeft;
			result.y += parent.offsetTop;
			var parentTagName = parent.tagName.toLowerCase();
			if (parentTagName != "table" &&
				parentTagName != "body" && 
				parentTagName != "html" && 
				parentTagName != "div" && 
				parent.clientTop && 
				parent.clientLeft) {
				result.x += parent.clientLeft;
				result.y += parent.clientTop;
			}
			else if( parentTagName == "div" )
			{
				result.x -= parent.scrollLeft;
				result.y -= parent.scrollTop;
			}
			parent = parent.offsetParent;
		}
	}
	else if (element.left && element.top) {
		result.x = element.left;
		result.y = element.top;
	}
	else {
		if (element.x) {
			result.x = element.x;
		}
		if (element.y) {
			result.y = element.y;
		}
	}
	if (element.offsetWidth && element.offsetHeight) {
		result.width = element.offsetWidth;
		result.height = element.offsetHeight;
	}
	else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
		result.width = element.style.pixelWidth;
		result.height = element.style.pixelHeight;
	}
	return result;
}
function FormatUrl( path,query,name,value )
{
	var url = "" ;
	var done = false ;
	if( query!="?" && query!="" )
	{
		query = query.substr(1);
		var namevalue = query.split( "&" );
		for( var i=0;i<namevalue.length;i++ )
		{
			var nv = namevalue[i].split( "=" );
			if( nv[0].toLowerCase()==name.toLowerCase() )
			{
				url += (name + "=" + escape(value) + "&");
				done = true ;
			}
			else
				url += (nv[0] + "=" + nv[1] + "&") ;
		}
	}
	if( !done )
		url += (name + "=" + escape(value) + "&");
	
	if( url.length>0 )
		url = url.substring( 0,url.length-1 ) ;
	
	return path + "?" + url ;
}