// $Id: advsearch.js,v 1.2 2009/02/18 04:07:10 huangyi Exp $

//left trim
function ltrim( s ){return s.replace( /^\s*/, "" );}

//right trim
function rtrim( s ){return s.replace( /\s*$/, "" );}

//trim left & right
function trim( s ){return rtrim(ltrim(s));}

//is null or not
function isNull( s ){return (trim(s).length<1);}

//check advsearch form is valid or not
function checkAdvForm(obj)
{
	if (isNull(obj.q.value) && isNull(obj.oq.value) && isNull(obj.eq.value))
	{
		alert("请至少输入一个关键词!");
		obj.q.focus();
		return false;
	}
	else if (obj.area.value=="2" && obj.appid.value=="" )
	{
		alert("请选择网站群名称!");
		obj.appid.focus();
		return false;
	}
	else if (obj.area.value=="3" && obj.webid.value=="" )
	{
		alert("请依次序选择网站群、网站名称!");
		obj.webid.focus();
		return false;
	}
	else if (obj.area.value=="4" && obj.col.value=="")
	{
		alert("请依次序选择网站群、网站、栏目名称!");
		obj.col.focus();
		return false;
	}
	else if ( obj.date.value=="720" && ( isNull(obj.df.value) || isNull(obj.dt.value)) )
	{
		alert("请选择一个日期段!");
		return false;
	}
	else if ( !(isNull(obj.df.value) && isNull(obj.dt.value)) )
	{
		if(!checkDateEarlier(obj.df.value,obj.dt.value))
		{
			alert("起始日期不能比结束日期还迟!");
			return false;
		}
	}
}

/**
*校验两个日期的先后
*返回值：
*如果其中有一个日期为空，校验通过,         返回true
*如果起始日期早于等于终止日期，校验通过，   返回true
*如果起始日期晚于终止日期，               返回false    参考提示信息： 起始日期不能晚于结束日期。
*/
function checkDateEarlier(strStart,strEnd)
{
    //如果有一个输入为空，则通过检验
    if (( strStart == "" ) || ( strEnd == "" ))
        return true;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
    var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
    if(arr1[1].length == 1)
        arr1[1] = "0" + arr1[1];
    if(arr1[2].length == 1)
        arr1[2] = "0" + arr1[2];
    if(arr2[1].length == 1)
        arr2[1] = "0" + arr2[1];
    if(arr2[2].length == 1)
        arr2[2]="0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    if(parseInt(d1,10) > parseInt(d2,10))
       return false;
    else
       return true;
}

//change advsearch area
function chgArea(obj)
{
	var val = parseInt(obj.value);
	obj.form.appid.value = '';
	obj.form.webid.value = '';
	obj.form.col.value = '';
	obj.form.webid.innerHTML = '';
	obj.form.col.innerHTML = '';

	switch (val)
	{
		case 1:
			document.getElementById("appDiv").style.display = "none";
			document.getElementById("webDiv").style.display = "none";
			document.getElementById("colDiv").style.display = "none";
			obj.form.appid.disabled = true;
			obj.form.webid.disabled = true;
			obj.form.col.disabled = true;
			break;
		case 2:
			document.getElementById("appDiv").style.display = "";
			document.getElementById("webDiv").style.display = "none";
			document.getElementById("colDiv").style.display = "none";
			obj.form.appid.disabled = false;
			obj.form.webid.disabled = true;
			obj.form.col.disabled = true;
			break;
		case 3:
			document.getElementById("appDiv").style.display = "";
			document.getElementById("webDiv").style.display = "";
			document.getElementById("colDiv").style.display = "none";
			obj.form.appid.disabled = false;
			obj.form.webid.disabled = false;
			obj.form.col.disabled = true;
			break;
		case 4:
			document.getElementById("appDiv").style.display = "";
			document.getElementById("webDiv").style.display = "";
			document.getElementById("colDiv").style.display = "";
			obj.form.appid.disabled = false;
			obj.form.webid.disabled = false;
			obj.form.col.disabled = false;
			break;	
	}
}

//load app
function loadApp()
{
	var sUri = "search-xmlhttp.jsp?func=loadapp";
	var xmlHttp = XmlHttp.create();
	var async = false;
	xmlHttp.open("GET", sUri, async);
	xmlHttp.send(null);
	document.write(xmlHttp.responseText); // responseText : String
}

//change app
function chgAppid(obj)
{
	if (!document.forms[0].webid.disabled)
	{
		if (obj.value.length>0)
		{
			var sUri = "search-xmlhttp.jsp?func=loadweb&appid=" + obj.value;
			var xmlHttp = XmlHttp.create();
			var async = false;
			xmlHttp.open("GET", sUri, async);
			xmlHttp.send(null);
			loadWeb(xmlHttp.responseText); // responseText : String
		}
		else
		{
			document.forms[0].webid.value = '';
			document.forms[0].webid.innerHTML = '';
		}
		document.forms[0].col.value = '';
		document.forms[0].col.innerHTML = '';
	}
}

//load web
function loadWeb(s)
{
	//alert(s)
	document.getElementById("webDiv").innerHTML = s;
}

//change web
function chgWebid(obj)
{
	if (!document.forms[0].col.disabled)
	{
		if (obj.value.length>0)
		{
			var sUri = "search-xmlhttp.jsp?func=loadcol&appid=" + document.forms[0].appid.value + "&webid=" + obj.value;
			var xmlHttp = XmlHttp.create();
			var async = false;
			xmlHttp.open("GET", sUri, async);
			xmlHttp.send(null);
			loadCol(xmlHttp.responseText); // responseText : String
		}
		else
		{
			document.forms[0].col.value = '';
			document.forms[0].col.innerHTML = '';
		}
	}
}

//load col
function loadCol(s)
{
	//alert(s)
	document.getElementById("colDiv").innerHTML = s;
}

//change advsearch date
function chgDate(obj)
{
	if (obj.value == "720")
	{
		document.getElementById("dateDiv").style.display = "";
		obj.form.df.disabled = false;
		obj.form.dt.disabled = false;
		obj.form.clickfrom.disabled = false;
		obj.form.clickto.disabled = false;
	}
	else
	{
		document.getElementById("dateDiv").style.display = "none";
		obj.form.df.disabled = true;
		obj.form.dt.disabled = true;
		obj.form.clickfrom.disabled = true;
		obj.form.clickto.disabled = true;
	}
}

//show help
function showHelp()
{
	var theURL = "./help.html";

	if(window.screen){
		var aw = screen.availWidth*3/4;
		var ah = screen.availHeight;
		window.moveTo(1,1);
		window.resizeTo(aw,ah);
		
		var w = screen.availWidth*1/4;
		var features="toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=" + w + ",height=" + ah + ",left=" + aw + ",top=1";
		var p = window.open(theURL,'help',features);
		p.focus();
	}
	else
	{
		window.open(theURL,'help','');
	}
}