/**
 *	This Javascript File is tested under IE 5 on Windows, IE 6 on Windows,
 *	Netscape Communicator 4.5 on Windows, Netscape 6 on Windows and IE 5 on Apple Mac
 */

var isNetscape = false;
var isIE = false;
var isWhoKnows = false;
var isMac = false;

var agt=navigator.userAgent.toLowerCase()
if ((agt.indexOf("mac")!=-1) ) isMac = true;


//This determines which browser the user is using
if (parseInt(navigator.appVersion) >= 4) {
  if (navigator.appName == "Netscape") {
    isNetscape = true;
  } else if (navigator.appName == "Microsoft Internet Explorer") {
    isIE = true;
  } else {
    isWhoKnows = true;
  }
}

//This captures the events of the user for Netscape
if(isNetscape) {
	document.captureEvents(Event.KEYUP);
	document.onkeyup = checkValue
}

function checkValue(evt) {
	if (isNetscape) {
		code = evt.which;
		if (code==13) {
			if(evt.target.name == "Keyword") {
				if (document.searchform.SearchType.value!="Advanced") {
					newSearch('Quick','New');
				}
			}

			if(evt.target.name == "Keyword2"){
				//alert("Keyword2 ENTER! " + netscape_group);
				if (checkKeyword2())
					submitform2(netscape_group);
			}
		}
	}
}

function googleSearch(keyword,lang) {

	resetValues();

	if (isIE) {
		openWindow('../../../../www.google.com/search@q='+ keyword +'&hl=' + lang + '&ie=Big5&oe=Big5');
	} else if (isNetscape) {
		openWindow('../../../../www.google.com/search@ie=Big5&oe=Big5&hl='+lang+ '&q='+ keyword );
	};
	return false;
}

function fakeGet(paraArray) {

	var actionStr = document.searchform.action;

	actionStr += "&";
	if (isIE) {
		for (var i=0; i<paraArray.length; i++) {

			if (paraArray[i]=="advLanguage")
				paraArray[i]="Language";

			if (eval("document.searchform."+paraArray[i]) !=null) {
				actionStr += paraArray[i]+ "=" + eval("document.searchform."+paraArray[i]+".value").replace(' ','+');
				if (i!=(paraArray.length-1))
					actionStr +="&";
			}
		}
	} else if (isNetscape) {
		for (var i=0; i<paraArray.length; i++) {
			if (eval("document.searchform."+paraArray[i]) !=null  || paraArray[i]=="advLanguage") {

				if (paraArray[i]=="advLanguage") {
					actionStr += "Language=" + eval("document.searchform.Language[document.searchform.Language.selectedIndex].value").replace(' ','+');
				} else {
					actionStr += paraArray[i]+ "=" + eval("document.searchform."+paraArray[i]+".value").replace(' ','+');
				}

				if (i!=(paraArray.length-1))
					actionStr +="&";
			}
		}
	}
	//document.searchform.action = actionStr ;
	document.searchform.action = actionStr + "&searchscope=" + document.searchform.SubPortalTopic.value.replace("(","").replace(")","");
}
function debugAlert() {
	alert( 	"action:\t" 	+ 	document.searchform.action + "\n" +
		"new search:\t"	+	document.searchform.NewSearch.value + "\n" +
		"pageno\t"	+	document.searchform.PageNo.value + "\n" +
		"search type\t"	+	document.searchform.SearchType.value + "\n" +
		"lang\t"	+	document.searchform.Language.value + "\n" +
		"isstart\t"	+	document.searchform.ISRecordStart.value + "\n" +
		"recordstart\t"	+	document.searchform.RecordStart.value + "\n" +
		"group\t"	+	document.searchform.Group.value + "\n" +
		"returnNum\t"	+	document.searchform.ReturnNumRecord.value + "\n" +
		"currIfLang\t"	+	document.searchform.CurrLangInterface.value + "\n" +
		"subtopic\t"	+	document.searchform.SubPortalTopic.value + "\n" +
		"matching\t"	+	document.searchform.Matching.value + "\n" +
		"currentCat\t"	+	document.searchform.CurrentCategory.value + "\n" +
		"isSpecial\t"	+	document.searchform.IsSpecial.value + "\n" +
		"lastupdate\t"	+	document.searchform.LastUpdate.value + "\n" +
		"showTab\t"	+	document.searchform.showTab.value + "\n" +
		"rootNode\t"	+	document.searchform.RootNode.value + "\n" +
		"catId\t"	+	document.searchform.CatID.value + "\n" +
		"keyword\t"	+	document.searchform.Keyword.value + "\n" +
		"keywordList\t"	+	document.searchform.KeywordList.value + "\n"
	);
};


// for filtering special char
function filterEachSpecialChar(orgText, theChar) {
	var resultStr = orgText
	while(resultStr.indexOf(theChar)!= -1 ) {
		resultStr = resultStr.replace(theChar, " ")
	}
	return resultStr
}

function filterSpecialChar(orgText) {
	// List of Special Character Handled
	// ! @ # % ^ ( ) _ = ` : ;  ' ?  { } [ ] ~ \ |
	var resultStr = orgText

	resultStr = filterEachSpecialChar( resultStr, "~")
	resultStr = filterEachSpecialChar( resultStr, "!")
	resultStr = filterEachSpecialChar( resultStr, "@")
	resultStr = filterEachSpecialChar( resultStr, "#")
	resultStr = filterEachSpecialChar( resultStr, "^")
	resultStr = filterEachSpecialChar( resultStr, "%")
	resultStr = filterEachSpecialChar( resultStr, "(")
	resultStr = filterEachSpecialChar( resultStr, ")")
	resultStr = filterEachSpecialChar( resultStr, "_")
	resultStr = filterEachSpecialChar( resultStr, "=")
	resultStr = filterEachSpecialChar( resultStr, "`")
	resultStr = filterEachSpecialChar( resultStr, ":")
	resultStr = filterEachSpecialChar( resultStr, ";")
	resultStr = filterEachSpecialChar( resultStr, "'")
	resultStr = filterEachSpecialChar( resultStr, "?")
	resultStr = filterEachSpecialChar( resultStr, "{")
	resultStr = filterEachSpecialChar( resultStr, "}")
	resultStr = filterEachSpecialChar( resultStr, "[")
	resultStr = filterEachSpecialChar( resultStr, "]")
	resultStr = filterEachSpecialChar( resultStr, "~")
	resultStr = filterEachSpecialChar( resultStr, "\\")
	//resultStr = filterEachSpecialChar( resultStr, "|")

	resultStr = filterEachSpecialChar( resultStr, ".")
	resultStr = filterEachSpecialChar( resultStr, ",")
	resultStr = filterEachSpecialChar( resultStr, "<")
	resultStr = filterEachSpecialChar( resultStr, ">")

	return resultStr
}

function focusFirst() {
/*	var elType;
	for (i = 0; i < document.forms.length; i++) {
		for (j = 0; j < document.forms[i].elements.length; j++) {
			elType = document.forms[i].elements[j].type;
			if (elType == "text" || elType == "textarea" || elType == "password") {
				document.forms[i].elements[j].focus();
				return;
			}
		}
	}
*/
}

function enterToSubmitForm(searchType, group ) {

   resetValues();

   if (isIE) {
	var code = window.event.keyCode;

	if (code == 13) // keycode for a return
	{
	     if (newSearch(searchType, group)) {
	    	return true;
	    }
	}
   }
   return false;
}

function enterToSubmitForm2(group) {

   resetValues();
   if (isIE) {
	var code = window.event.keyCode;

	if (code == 13) // keycode for a return
	{
	    submitform2(group);
	    return true;
	}
    }
    return false;
}

function openWindow(url) {
	window.open(url, "google", "resizable=no, scrollbars=yes,width=600,height=400,left=0, top=10,");
}

function checkKeyword2() {
	resetValues();
	keyword=document.searchform.Keyword2.value;

	if (keyword=="") {

		if (document.searchform.CurrLangInterface.value=="Eng") {
			alert("Please enter keyword for search");
		} else {
			alert("???????");
		}
		return false;

	} else if (!checkChineseGen(keyword) ) {

		return false;

	} else {

		if (document.searchform.searchTarget!=null && document.searchform.searchTarget[1]!=null) {
			if (document.searchform.searchTarget[0].checked) {
				searchType = document.searchform.searchTarget[0].value;
			} else {
				searchType = document.searchform.searchTarget[1].value;
			}
		} else {
			searchType = "Quick";
		}

		if (searchType!="Refinement") {
			var ok = false;
			var charNo = 0;

			while (!ok && (charNo<keyword.length) ) {
				if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
				{
					document.searchform.Language.value="en";
					document.searchform.PromLinkLang.value="en";
					ok = true;
				} else if (keyword.charCodeAt(charNo)>126) {
					document.searchform.Language.value="zt";
					document.searchform.PromLinkLang.value="zt";
					document.searchform.CurrLangInterface.value="Chi";

					ok = true;
				} else {
					ok = false;
				}
				charNo++;
			}

			    if (!ok) {
				if (document.searchform.CurrLangInterface.value=="Eng") {
					alert("Please enter keyword for search");
				} else {
					alert("???????");
				}

				return false;
			    }

			document.searchform.KeywordList.value = '';
		} else {
			previousKeyword=document.searchform.PreviousKeyword.value;
			lang = document.searchform.Language.value;
				if (lang == "all" ) {
					var ok = false;
					var charNo = 0;

					while (!ok && (charNo<keyword.length) ) {
						if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
						{
							document.searchform.Language.value="en";
							document.searchform.PromLinkLang.value="en";
							ok = true;
						} else if (previousKeyword.charCodeAt(charNo)>126) {
							document.searchform.Language.value="zt";
							document.searchform.PromLinkLang.value="zt";
							document.searchform.CurrLangInterface.value="Chi";

							ok = true;
						} else {
							ok = false;
						}
						charNo++;
					}

					    if (!ok) {
						if (document.searchform.CurrLangInterface.value=="Eng") {
							alert("Please enter keyword for search");
						} else {
							alert("???????");
						}

						return false;
					    }

				} else {
					// Default, nothing need to change
				}
		}

/*
		document.searchform.Language.value="zt";
		document.searchform.PromLinkLang.value="zt";
*/

		document.searchform.Keyword2.value = filterSpecialChar(keyword)
	}
	return true;
}


function checkKeyword() {

	//resetValues();
	keyword=document.searchform.Keyword.value;

	if (keyword=="") {
		if (document.searchform.CurrLangInterface.value=="Eng") {
			alert("Please enter keyword for search");
		} else {
			alert("???????");
		}
		return false;
	} else if (!checkChineseGen(keyword) ) {
		return false;
	} else {
		var ok = false;
		var charNo = 0;

		while (!ok && (charNo<keyword.length) ) {
			if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
			{
				document.searchform.Language.value="en";
				document.searchform.PromLinkLang.value="en";
				ok = true;
			} else if (keyword.charCodeAt(charNo)>126) {
				document.searchform.Language.value="zt";
				document.searchform.PromLinkLang.value="zt";
				document.searchform.CurrLangInterface.value="Chi";

				ok = true;
			} else {
				ok = false;
			}
			charNo++;
		}

		    if (!ok) {
			if (document.searchform.CurrLangInterface.value=="Eng") {
				alert("Please enter keyword for search");
			} else {
				alert("???????");
			}
			return false;
		    }


		document.searchform.Keyword.value = filterSpecialChar(keyword)

	}
	
	if (document.searchform.searchScope.value == 'wholeSite' && document.searchform.searchScope2 == null) {
		//document.searchform.action = "search.aspx@data=All_search_en";
		document.searchform.SubPortalTopic.value = "";
		//document.searchform.Group.value = "All";
		//document.searchform.target = document.searchform.target;

		document.searchform.MCFlag.value="True";
		document.searchform.FSFlag.value="True";
		document.searchform.ISFlag.value="True";
		document.searchform.PLFlag.value="True";
	}
	
	return true;
}

// For Advanced Search, no need to check the keyword's language
function checkKeywordForAdvSearch() {

	resetValues();
	initQuery();

	//document.searchform.PromLinkLang.value = document.searchform.Language.value;
	var keyword = document.searchform.Keyword.value;
	//alert("Here~ " + keyword + " : " + checkChinese(keyword));

	//document.searchform.PromLinkLang.value = document.searchform.Language.value;
	var pLang = "";
	var sLang = document.searchform.Language.value;
	var cLang = document.searchform.CurrLangInterface.value;

	if (isNetscape) {
	    sLang = document.searchform.Language[document.searchform.Language.selectedIndex].value;
	} else {
	    sLang = document.searchform.Language.value;
	}

	if (sLang=="en") pLang = "en";
	if (sLang=="zt") pLang = "zt";

	if (sLang=="all")
	{
		/*
		if (cLang="Eng") pLang = "en";
		if (cLang="Chi") pLang = "zt";
		*/

		var ok = false;
		var charNo = 0;

	        while (!ok && (charNo<keyword.length) )
	        {
			//ok = true;

			if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
			{
				//document.searchform.PromLinkLang.value="en";
				pLang = "en";
				ok = true;

			} else if (keyword.charCodeAt(charNo)>126) {
				//document.searchform.PromLinkLang.value="zt";
				document.searchform.CurrLangInterface.value="Chi";
				pLang = "zt";
				ok = true;
			} else {
				ok = false;
			}
			charNo++;
		}

		if (!ok)
		{
			if (document.searchform.CurrLangInterface.value=="Eng")
			{
				alert("Please enter keyword for search");
			} else {
				alert("???????");
			}
			return false;
		}

	}

	document.searchform.PromLinkLang.value = pLang;

	keyword=document.searchform.Keyword.value;
	if (keyword=="") {
		if (document.searchform.CurrLangInterface.value=="Eng") {
			alert("Please enter keyword for search");
		} else {
			alert("???????");
		}
		return false;

	} else if (!checkChineseAdv(keyword)) {
		return false;

	} else {
	
		/********************************
		 *  Start of Update @ 15/03/04
		 ********************************/

		var ok = false;
		var charNo = 0;

	        while (!ok && (charNo<keyword.length) )
	        {
			ok = true;

			if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
			{
				//document.searchform.PromLinkLang.value="en";
				pLang = "en";
				ok = true;

			} else if (keyword.charCodeAt(charNo)>126) {
				//document.searchform.PromLinkLang.value="zt";
				document.searchform.CurrLangInterface.value="Chi";
				pLang = "zt";
				ok = true;
			} else {
				ok = false;
			}
			charNo++;
		}

		if (!ok)
		{
			if (document.searchform.CurrLangInterface.value=="Eng")
			{
				alert("Please enter keyword for search");
			} else {
				alert("???????");
			}
			return false;
		}

		/********************************
		 *  End of Update @ 15/03/04
		 ********************************/
		 
		document.searchform.Keyword.value = filterSpecialChar(keyword)
	}

	// Validation for Date Range
	if (document.searchform.startDay!=null) {

		startDay	= "";
		startMonth	= "";
		startYear	= "";
		endDay		= "";
		endMonth	= "";
		endYear		= "";

		if (isNetscape) {
			startDay	= document.searchform.startDay[document.searchform.startDay.selectedIndex].value;
			startMonth	= document.searchform.startMonth[document.searchform.startMonth.selectedIndex].value;
			startYear	= document.searchform.startYear[document.searchform.startYear.selectedIndex].value;
			endDay		= document.searchform.endDay[document.searchform.endDay.selectedIndex].value;
			endMonth	= document.searchform.endMonth[document.searchform.endMonth.selectedIndex].value;
			endYear		= document.searchform.endYear[document.searchform.endYear.selectedIndex].value;
		} else {
			startDay	= document.searchform.startDay.value;
			startMonth	= document.searchform.startMonth.value;
			startYear	= document.searchform.startYear.value;
			endDay		= document.searchform.endDay.value;
			endMonth	= document.searchform.endMonth.value;
			endYear		= document.searchform.endYear.value;
		}

		if (((startDay!="Date") && (startMonth!="Month") && (startYear!="Year") && (endDay!="Date") && (endMonth!="Month") && (endYear!="Year") )  ||  ( (startDay=="Date") && (startMonth=="Month") && (startYear=="Year") && (endDay=="Date") && (endMonth=="Month") && (endYear=="Year") )  ) {
			// Nothing
		} else {
			if (document.searchform.CurrLangInterface.value=="Eng") {
				alert("Please (un)select Date Range options!");
			} else {
				alert("????????");
			}
			return false;
		}

		if ( (startDay!="Date") && (startMonth!="Month") && (startYear!="Year") && (endDay!="Date") && (endMonth!="Month") && (endYear!="Year") ) {

			var startDate = new Date(); // startYear, startMonth, startDay ,0 ,0, 0) ;
			var endDate = new Date();   // endYear, endMonth, endDay, 0 ,0, 0) ;

			startDate.setFullYear(startYear);
			startDate.setMonth(startMonth-1);
			startDate.setDate(startDay);

			endDate.setFullYear(endYear);
			endDate.setMonth(endMonth-1);
			endDate.setDate(endDay);

			if (startDate.getTime() > endDate.getTime() ) {
				alert("Date Range Invalid!");
				return false;
			}

			if (startDate.getMonth()!=startMonth-1) {
				alert("Start Date Invalid!");
				return false;
			}

			if (endDate.getMonth()!= endMonth-1) {
				alert("End Date Invalid!");
				return false;
			}
		}
	}
	
	if (document.searchform.Group.value == 'Videos') {
		document.searchform.Group.value = 'All';
		document.searchform.SubPortalTopic.value = '(WebcastInConcept)';
		document.searchform.searchScope.value = 'Webcast';
	}

	fakeGet(new Array("SearchType", "advLanguage", "Keyword", "Group"));

	return true;
}

/*
function searchRedirect(url, pageNo, recNo, searchType, group) {
	document.searchform.action = "searchRedirect.asp";
	document.searchform.target = "_blank";
	document.searchform.RedirURL.value = url;
	document.searchform.PageNo.value = pageNo;
	document.searchform.RecordNo.value = recNo;
	document.searchform.SearchType.value = searchType;
	document.searchform.Group.value = group;
	document.searchform.submit();
}
*/

function searchRedirect(url, pageNo, recNo, searchType, groupname, docId, source, title) {

	var oldAction 	= document.searchform.action;
	var oldTarget 	= document.searchform.target;
	var oldUrl 	= document.searchform.RedirURL.value;
	var oldPageNo	= document.searchform.PageNo.value;
	var oldRecordNo	= document.searchform.RecordNo.value;
	var oldSearchType = document.searchform.SearchType.value;
	var oldGroup 	= document.searchform.Group.value;
	var oldDocId	= document.searchform.DocId.value;
	var oldSource	= document.searchform.Source.value;

	var oldPreviousVQL	= document.searchform.PreviousVQL.value;
	var oldPreviousMCVQL 	= document.searchform.PreviousMCVQL.value;
	var oldPreviousPLVQL 	= document.searchform.PreviousPLVQL.value;
	var oldPreviousGroupVQL = document.searchform.PreviousGroupVQL.value;

	document.searchform.action = "searchRedirect.asp";
	document.searchform.target = "_blank";
	document.searchform.RedirURL.value = url;
	document.searchform.PageNo.value = pageNo;
	document.searchform.RecordNo.value = recNo;
	document.searchform.SearchType.value = searchType;
	document.searchform.Group.value = groupname;
	document.searchform.DocId.value = docId;
	document.searchform.Source.value = source;
	document.searchform.Title.value = title;

	if (isIE) {
		document.searchform.PreviousVQL.value	= "";
		document.searchform.PreviousMCVQL.value = "";
		document.searchform.PreviousPLVQL.value	= "";
		document.searchform.PreviousGroupVQL.value= "";
	}

	fakeGet(new Array("PageNo","DocId","RecordNo","SearchType","Language","Keyword","Group","RedirURL","Title"));

	document.searchform.submit();

	if (isIE && !isMac ) {
		document.searchform.action 		= oldAction;
		document.searchform.target		= oldTarget;
		document.searchform.RedirURL.value	= oldUrl;
		document.searchform.PageNo.value 	= oldPageNo;
		document.searchform.RecordNo.value 	= oldRecordNo;
		document.searchform.SearchType.value 	= oldSearchType;
		document.searchform.Group.value 	= oldGroup;
		document.searchform.DocId.value 	= oldDocId;
		document.searchform.Source.value 	= oldSource;

		document.searchform.PreviousVQL.value 	= oldPreviousVQL;
		document.searchform.PreviousMCVQL.value = oldPreviousMCVQL;
		document.searchform.PreviousPLVQL.value = oldPreviousPLVQL;
		document.searchform.PreviousGroupVQL.value = oldPreviousGroupVQL;
	}
}

function resetValues() {
	//if (document.searchform.action != "search.aspx@data=CEPA_search_en&iniQuery=1")
	//document.searchform.action = "search.aspx@data=CEPA_search_en";
	document.searchform.target = "_self";
}

/*function resetValues() {
	if (document.searchform.action != "../common/search.asp@iniQuery=1")
		document.searchform.action 		= "../common/search.asp";
	document.searchform.target		= "_self";
}*/

function catRedirect(url, pageNo, recNo, catID, catPath, source, title) {

	var oldAction	= document.searchform.action;
	var oldTarget	= document.searchform.target;
	var oldUrl	= document.searchform.RedirURL.value;
	var oldPageNo	= document.searchform.PageNo.value;
	var oldRecordNo	= document.searchform.RecordNo.value;
	var oldCatID	= document.searchform.CatID.value;
	var oldSource	= document.searchform.Source.value;

	document.searchform.action = "categoryRedirect.asp";
	document.searchform.target = "_blank";
	document.searchform.RedirURL.value = url;
	document.searchform.PageNo.value = pageNo;
	document.searchform.RecordNo.value = recNo;
	document.searchform.CatID.value = catID;
	document.searchform.Source.value = source;
	//document.searchform.CatPath.value = catPath;
	document.searchform.Title.value = title;

	fakeGet(new Array("PageNo","RecordNo","Language","CatID","CatPath","RedirURL", "Source","Title"));

	document.searchform.submit();

	if (isIE && !isMac ) {
		document.searchform.action = oldAction;
		document.searchform.target = oldTarget;
		document.searchform.RedirURL.value = oldUrl;
		document.searchform.PageNo.value = oldPageNo;
		document.searchform.RecordNo.value = oldRecordNo;
		document.searchform.CatID.value = oldCatID;
		document.searchform.Source.value = oldSource;
	}
}

function promRedirect(url, catID, catPath, group, promID, description) {

	var oldAction	= document.searchform.action;
	var oldTarget	= document.searchform.target;
	var oldRedirURL	= document.searchform.RedirURL.value;
	var oldCatID	= document.searchform.CatID.value;
	var oldGroup	= document.searchform.Group.value;
	var oldPromID	= document.searchform.PromLinkID.value;


	document.searchform.action = "promLinkRedirect.asp";
	document.searchform.target = "_blank";
	document.searchform.RedirURL.value = url;
	document.searchform.CatID.value = catID;
	document.searchform.Group.value = group;
	document.searchform.PromLinkID.value = promID;
	document.searchform.Description.value = description;

	fakeGet(new Array("Language","Keyword","CatID","CatPath","PromLinkID","Group","RedirURL","Description"));

	document.searchform.submit();


	if (isIE && !isMac ) {
		document.searchform.action = oldAction;
		document.searchform.target = oldTarget;
		document.searchform.RedirURL.value = oldRedirURL;
		document.searchform.CatID.value = oldCatID;
		document.searchform.Group.value = oldGroup;
		document.searchform.PromLinkID.value = oldPromID;
	}
}

function catList(rootNode, MCMatching, pageNo) {
	document.searchform.NewSearch.value = 'true';
	//document.searchform.PreviousVQL.value = 'true';
	//document.searchform.NewSearch.value = 'false';
	document.searchform.action = "categoryList.asp";
	document.searchform.target = "_self";
	document.searchform.SearchType.value = "CatList";
	document.searchform.RootNode.value = rootNode;
	document.searchform.MCMatching.value = MCMatching;
	//document.searchform.Level.value = level;
	document.searchform.PageNo.value = pageNo;
	document.searchform.RecordStart.value = 1;
	document.searchform.ReturnNumRecord.value = 15;
	document.searchform.KeywordList.value = '';

	fakeGet(new Array("Language","Keyword"));

	document.searchform.submit();
}


function catList2(rootNode, level, pageNo) {
	document.searchform.NewSearch.value = 'true';
	//document.searchform.NewSearch.value = 'false';
	document.searchform.action = "categoryList.asp";
	document.searchform.target = "_self";
	document.searchform.SearchType.value = "CatList";
	document.searchform.RootNode.value = rootNode;
	document.searchform.PageNo.value = pageNo;
	maxRec = document.searchform.ReturnNumRecord.value;
	document.searchform.RecordStart.value = ((pageNo-1)*maxRec) + 1;;
	//document.searchform.ReturnNumRecord.value = 15;

	fakeGet(new Array("Language","Keyword"));

	document.searchform.submit();
}
/*
function catBrowse(catID, pageNo) {
	document.searchform.NewSearch.value = 'true';
	document.searchform.action = "categoryBrowse.asp";
	document.searchform.target = "_self";
	document.searchform.SearchType.value = "CatBrowse";
	document.searchform.CatID.value = catID;
	document.searchform.PageNo.value = pageNo;
	document.searchform.ReturnNumRecord.value = 15;
	maxRec = document.searchform.ReturnNumRecord.value;
	document.searchform.RecordStart.value = ((pageNo-1)*maxRec) + 1;;
	document.searchform.submit();
}
*/

function catBrowse(catID, pageNo, currentCategory, IsSpecial) {
	document.searchform.KeywordList.value = '';
	document.searchform.NewSearch.value = 'true';
	document.searchform.action = "categoryBrowse.asp";
	document.searchform.target = "_self";
	document.searchform.SearchType.value = "CatBrowse";
	document.searchform.CatID.value = catID;
	document.searchform.PageNo.value = pageNo;
	document.searchform.ReturnNumRecord.value = 15;
	maxRec = document.searchform.ReturnNumRecord.value;
	document.searchform.RecordStart.value = ((pageNo-1)*maxRec) + 1;;
	if (document.searchform.PreviousVQL!=null)
		document.searchform.PreviousVQL.value="";
	if (document.searchform.PreviousGroupVQL!=null)
		document.searchform.PreviousGroupVQL.value="";
	if (document.searchform.PreviousMCVQL!=null)
		document.searchform.PreviousMCVQL.value="";
	if (document.searchform.PreviousPLVQL!=null)
		document.searchform.PreviousPLVQL.value="";
	//if (document.searchform.CurrentCategory!=null)
	document.searchform.CurrentCategory.value=currentCategory;
	document.searchform.PLFlag.value = 'true';
	document.searchform.IsSpecial.value=IsSpecial;

	fakeGet(new Array("Language","CatID", "CatPath"));

	document.searchform.submit();
}


function checkISFlag(pageNo, totalFS, totalIS) {
	/*
	maxRec = document.searchform.ReturnNumRecord.value;
	if (((pageNo-1) * maxRec) - totalFS - totalIS < 0) {
		return "True";
	} else {
		return "False";
	}*/
	return "False";
}

function newSearch(searchType, group) {

	resetValues();

	if (group=="New") {
		document.searchform.NewSearch.value = 'true';
		if (document.searchform.searchScope2.value.toLowerCase() == 'wte')
			group = 'TE';
		else
			group = 'All';
		document.searchform.KeywordList.value = '';
		document.searchform.RecordStart.value='1';
		//document.searchform.RecordStart.value='1';
		document.searchform.PreviousMCVQL.value="";
		document.searchform.PreviousPLVQL.value="";
		initQuery();
	} else {
		document.searchform.NewSearch.value = 'false';
		if (document.searchform.searchScope.value == 'Webcast' && group != 'Videos') {
			document.searchform.searchScope.value = 'wholeSite';
			document.searchform.searchScope2.value = 'wholeSite';
			//document.searchform.SubPortalTopic.value == '';
		}
		else if (group == 'Videos') {
			group = 'All';
			document.searchform.searchScope.value = 'Webcast';
			document.searchform.searchScope2.value = 'Webcast';
			document.searchform.SubPortalTopic.value = '(WebcastInConcept)';
		}
	}

	if (searchType=="Refinement") {
		document.searchform.PreviousVQL.value = document.searchform.PreviousGroupVQL.value;
		if (document.searchform.searchScope.value != 'Webcast') 
			document.searchform.PreviousVQL.value = document.searchform.PreviousVQL.value.replace('<AND> (WebcastInConcept)','');
	}

	if (checkKeyword())
		submitform(searchType, group, 1, 0, 0);
}

function submitform(searchType, group, pageNo, totalFS, totalIS) {
	if (document.searchform.target!="_top")
		document.searchform.target = "_self";
	document.searchform.SearchType.value = searchType;
	document.searchform.Group.value = group;
	document.searchform.PageNo.value = pageNo;

	if (document.searchform.searchScope2.value == 'wholeSite') {
		//document.searchform.action = "search.aspx@data=All_search_en";
		document.searchform.SubPortalTopic.value = "";
		document.searchform.target = "_top";
		//document.searchform.Group.value = "All";
		document.searchform.MCFlag.value="True";
		document.searchform.FSFlag.value="True";
		document.searchform.ISFlag.value="True";
		document.searchform.PLFlag.value="True";
	}

	//alert(searchType +" " + group +" " + pageNo +" " + totalFS+" " + totalIS)

	if (searchType=="Quick") {
		document.searchform.ReturnNumRecord.value=15;
		document.searchform.showTab.value = "true";
		document.searchform.PreviousMCVQL.value="";
		document.searchform.PreviousPLVQL.value="";
		if (document.searchform.PreviousKeyword!=null)
			document.searchform.PreviousKeyword.value='';
	} else if (searchType=="Refinement") {
		// refinement search only: provide previous vql and keyword
		document.searchform.Matching.value = "AND";
	}

	// flag settings, for all types of search

	if (pageNo=="1" || pageNo==1) {
		document.searchform.MCFlag.value = "True";
		
		//if (document.searchform.searchScope2.value == 'wholeSite')
			//document.searchform.ISFlag.value = "True";
		//else
			//document.searchform.ISFlag.value = "False";
		
		document.searchform.PLFlag.value = "True";

		if (searchType!="Refinement" || group!="All") {
			document.searchform.PreviousMCVQL.value="";
			document.searchform.PreviousPLVQL.value="";
		}
		
		//Ivan Added
		document.searchform.RecordStart.value = 1;
		document.searchform.ISRecordStart.value = 1;
		//

		if (group=="All" || group=="PnC") {
			document.searchform.FSFlag.value = "True";
		} else {
			document.searchform.FSFlag.value = "False";
		}
	} else {
		document.searchform.MCFlag.value = "False";
		document.searchform.FSFlag.value = "False";
		
		if (document.searchform.searchScope2.value == 'wholeSite') 
			document.searchform.PLFlag.value = "True";
		else
			document.searchform.PLFlag.value = "False";

		//document.searchform.PreviousMCVQL.value="";
		//document.searchform.PreviousPLVQL.value="";

		isFlag = checkISFlag(pageNo, totalFS, totalIS);
		document.searchform.ISFlag.value = isFlag;

		maxRec = document.searchform.ReturnNumRecord.value;
		if (isFlag=="True") {
			document.searchform.ISRecordStart.value = ((pageNo-1)*maxRec) - totalFS + 1;
			document.searchform.RecordStart.value = 1;
		} else {
			document.searchform.RecordStart.value = ((pageNo-1)*maxRec) - totalFS - totalIS + 1;
		}
	}

	fakeGet(new Array("SearchType", "Language", "Keyword", "Group"));

	document.searchform.submit();
};

// for bottom search box submit
function submitform2(group) {
	if (checkKeyword2()) {
		var showTab = document.searchform.showTab.value;

		document.searchform.NewSearch.value = 'true';
		document.searchform.Keyword.value = filterSpecialChar(document.searchform.Keyword2.value);

		if (document.searchform.searchTarget!=null && document.searchform.searchTarget[1]!=null) {
			if (document.searchform.searchTarget[0].checked) {
				searchType = document.searchform.searchTarget[0].value;
			} else {
				searchType = document.searchform.searchTarget[1].value;
			}
		} else {
			searchType = "Quick";
		}

		if (searchType=="Refinement") {
			document.searchform.RecordStart.value       = "1";
		} else {
			document.searchform.PreviousMCVQL.value = "";
			document.searchform.PreviousPLVQL.value = "";
			document.searchform.PPreviousPLVQL.value = "";
			document.searchform.PreviousGroupVQL.value = "";
			document.searchform.showTab.value       = "true";
		}
		initQuery();

		submitform(searchType, group, 1, 0, 0);
	}
}

// for searching spell check guess
function searchSplChk(groupname, word) {

	resetValues();

	document.searchform.Keyword.value = filterSpecialChar(word);
	if (checkKeyword()) {
		group = 'All';
		document.searchform.KeywordList.value = '';
		document.searchform.RecordStart.value='1';

		document.searchform.NewSearch.value = 'true';
		submitform('Quick', groupname, 1, 0, 0);
	}
}



// for result pages and category browsing pages
function switchLang(searchType, group, pLang, oriLang) {

	resetValues();

	document.searchform.Language.value = pLang;
	if ((pLang=="all")||(pLang=="All")) {
		pLang = oriLang;
	}

	if (searchType=="CatBrowse") {
		document.searchform.action = "categoryBrowse.asp";
	}
	document.searchform.RecordStart.value='1';
	document.searchform.PromLinkLang.value = pLang;
	document.searchform.NewSearch.value = 'false';

	keyword=document.searchform.Keyword.value;

	if (checkChineseGen(keyword))
		submitform(searchType, group, 1, 0, 0);
}

// for category listing pages
function switchLang2(rootNode, level, pageNo, pLang, keyword) {

	resetValues();

	document.searchform.Language.value = pLang;
	document.searchform.PromLinkLang.value = pLang;

	catList(rootNode, level, pageNo)
}

function changePage(searchType, group, pageNo, totalFS, totalIS) {

	resetValues();

	if (document.searchform.PreviousGroupVQL != null)
		document.searchform.PreviousVQL.value = document.searchform.PreviousGroupVQL.value;
		
	document.searchform.FSNo.value = totalFS;
	document.searchform.ISNo.value = totalIS;

	if (checkChineseGen(document.searchform.Keyword.value))
		submitform(searchType, group, pageNo, totalFS, totalIS);
}

function checkChineseAdv(keyword) {

	var language = "";
	/*
	if (isNetscape) {
		language = document.searchform.Language[document.searchform.Language.selectedIndex].value ;
	} else {
		language = document.searchform.Language.value;
	}
	*/
	if ( document.searchform.CurrLangInterface.value == "Eng" )
		language = "en";

	msg = 'Please go to the Chinese advanced search page to conduct your search in Chinese. Click OK to proceed, or click Cancel to continue your search in English.';
	chiUrl = "advSearch.asp";

	return checkChinese(keyword, language, msg, chiUrl, "adv") ;
}

function checkChineseGen(keyword) {

	language = document.searchform.Language.value;
	var chiUrl;

	msg = 'Please go to our Chinese page to conduct your search in Chinese. Click OK to proceed, or click Cancel to continue your search in English.';

	if (document.searchform.searchScope.value == "HKEcon")
	   chiUrl="../../../../www.hktdc.com/hkecon/index_c.htm";
	else if (document.searchform.searchScope.value == "CEPA")
	   chiUrl="../../../../www.hktdc.com/CEPA/index_c.htm";
	else if (document.searchform.searchScope.value == "Vertical")
	   chiUrl="../../../../toys.tdctrade.com/index_c.htm";
	else if (document.searchform.searchScope.value == "ChinaTrade")
	   chiUrl="../../../../www.hktdc.com/chinatrademain/index_c.htm";
	else
	   chiUrl="index_c.htm";

	return checkChinese(keyword, language, msg, chiUrl, "gen") ;
}

function checkChinese(keyword, language, msg, chiUrl, thisType) {

	//alert( "> "+ language +":"+ document.searchform.CurrLangInterface.value );

	if (( language=="en") && (document.searchform.CurrLangInterface.value=="Eng" )) {

  	    var ok = false;
	    var charNo = 0;

	    while (!ok && (charNo<keyword.length) ) {
		if ( (keyword.charCodeAt(charNo)>=48 && keyword.charCodeAt(charNo)<=57)  || (keyword.charCodeAt(charNo)>=65 && keyword.charCodeAt(charNo)<=90) || (keyword.charCodeAt(charNo)>=97 && keyword.charCodeAt(charNo)<=122) )
		{
			ok = true;
			document.searchform.Encoding.value="ISO-8859-1";
			document.searchform.CurrLangInterface.value="Eng";
			return true;

		} else if (keyword.charCodeAt(charNo)>126) {

			ok = true;


			if (confirm(msg))
			{
    				document.searchform.method="GET";
    				document.searchform.target="_top";
    				document.searchform.Encoding.value="Big5";
				document.searchform.action=chiUrl;

				if (thisType=="adv") {
    					document.searchform.CurrLangInterface.value="Chi";
    				}

    				return true;
			} else {
				return false;
			}
			/*
			document.searchform.Encoding.value="Big5";
			document.searchform.CurrLangInterface.value="Chi";
			*/

			return true;

		} else {
			ok = false;
		}
		charNo++;
	    }


	    if (!ok) {
		if (document.searchform.CurrLangInterface.value=="Eng") {
			alert("Please enter keyword for search");
		} else {
			alert("???????");
		}

		return false;
	    }


	} else {
		//document.searchform.Encoding.value="Big5";
		//document.searchform.CurrLangInterface.value="Chi";
		return true;
	}
}


function submitAdvSearch() {
	if (checkKeywordForAdvSearch()) {
		document.searchform.submit();
	}
}

function initQuery() {
	if ((document.searchform.action.indexOf("?")!=-1) )
	{
		document.searchform.action = document.searchform.action + "&iniQuery=1";
	} else {
		document.searchform.action = document.searchform.action + "@iniQuery=1";
	}
}

function openWin(i_id, i_type) { 
	if (document.searchform.CurrLangInterface.value=="Chi") 
		lang = 'cn';
	else
		lang = 'en';
	var oE = window.open("../../../../www.hkfilmart.com/talentinfo.asp@lang=" + lang + "&celid=" + i_id + "&type=" + i_type, "win", "width=600,height=400,resizable=no,scrollbars=yes,toolbar=no,directories=no,status=no,menubar=no"); 
	oE.focus(); 
}