function changeLocale(sLocale)
{
	var url ;
	url = location.href ;
	url = clearURLPara(url, 'S_LOCALE') ;
	
	if( url.indexOf('?')>0 )
		location.href = url  + 'S_LOCALE='+sLocale ;
	else
		location.href = url  + '?S_LOCALE='+sLocale ;
}

function checkAllExt()
{
	var EXTAll = $('EXTAll') ;
	var aExtEl = document.getElementsByTagName('input') ;
	for(var i = 0; i< aExtEl.length ; i++)
	{
		if(aExtEl[i].name!= 'EXT')
			continue ;
		aExtEl[i].checked = EXTAll.checked ;
	}
}

function unCheckAllExt(isChecked)
{
	var EXTAll = $('EXTAll') ;
	if(!isChecked) EXTAll.checked=isChecked;
}

function checkAllDB()
{
	var aExtEl = document.getElementsByTagName('input') ;
	for(var i = 0; i< aExtEl.length ; i++)
	{
		if(aExtEl[i].name!= 'DB')
			continue ;
		aExtEl[i].checked = true ;
	}
}

function unCheckAllDB()
{
	var aExtEl = document.getElementsByTagName('input') ;
	for(var i = 0; i< aExtEl.length ; i++)
	{
		if(aExtEl[i].name!= 'DB')
			continue ;
		aExtEl[i].checked = false ;
	}
}

// check parameters
// advance search
function checkASPara(bGov)
{
	var bActive ;
	var i ;
	var aInput = document.getElementsByTagName('input') ;
	
	// file type
	bActive = false ;
	for(i = 0 ; i< aInput.length ; i++)
	{
		if(aInput[i].id == 'EXT' && aInput[i].checked)
		{
			bActive = true ;
			break ;
		}
	}
	if(!bActive)
	{
		alert($('AM3').childNodes[0].nodeValue) ;
		return ;
	}
	
	// index DB
	bActive = false ;
	for(i = 0 ; i< aInput.length ; i++)
	{
		if(aInput[i].id == 'DB' && aInput[i].checked)
		{
			bActive = true ;
			break ;
		}
	}
	if(!bActive)
	{
		alert($('AM4').childNodes[0].nodeValue) ;
		return ;
	}
	
	// query string
	bActive = false ;
	var SRNOTE1, SRNOTE2, SRNOTE3, SRNOTE4, SRNOTE5, SRNOTE6, SRNOTE7
	var KW, TTL, FN, AU, FP ;
	SRNOTE1 = $('SRNOTE1') ;
	SRNOTE2 = $('SRNOTE2') ;
	SRNOTE3 = $('SRNOTE3') ;
	SRNOTE4 = $('SRNOTE4') ;
	SRNOTE5 = $('SRNOTE5') ;
	SRNOTE6 = $('SRNOTE6') ;
	SRNOTE7 = $('SRNOTE7') ;

	KW = $('search') ;
	TTL = $('title') ;
	FN = $('fileName') ;
	AU = $('author') ;
	FP = $('path') ;
	
	//government dc field
	var DCNOTE1, DCNOTE2, DCNOTE3, DCNOTE4, DCNOTE5, DCNOTE6, DCNOTE7, DCNOTE8, DCNOTE9, DCNOTE11, DCNOTE13, DCNOTE14, DCNOTE15;
	var DC1, DC2, DC3, DC4, DC5, DC6, DC7, DC8, DC9, DC11, DC13, DC14, DC15;
	DCNOTE1 = $('DCNOTE1') ;
	DCNOTE2 = $('DCNOTE2') ;
	DCNOTE3 = $('DCNOTE3') ;
	DCNOTE4 = $('DCNOTE4') ;
	DCNOTE5 = $('DCNOTE5') ;
	DCNOTE6 = $('DCNOTE6') ;
	DCNOTE7 = $('DCNOTE7') ;
	DCNOTE8 = $('DCNOTE8') ;
	DCNOTE9 = $('DCNOTE9') ;
	DCNOTE11 = $('DCNOTE11') ;
	DCNOTE13 = $('DCNOTE13') ;
	DCNOTE14 = $('DCNOTE14') ;
	DCNOTE15 = $('DCNOTE15') ;

	DC1 = $('DC1');
	DC2 = $('DC2');
	DC3 = $('DC3');
	DC4 = $('DC4');
	DC5 = $('DC5');
	DC6 = $('DC6');
	DC7 = $('DC7');
	DC8 = $('DC8');
	DC9 = $('DC9');
	DC11 = $('DC11');
	DC13 = $('DC13');
	DC14 = $('DC14');
	DC15 = $('DC15');
	
	if( (Trim(KW.value).length == 0 || KW.value==SRNOTE1.childNodes[0].nodeValue) &&
		(Trim(TTL.value).length == 0 || TTL.value==SRNOTE2.childNodes[0].nodeValue) &&
		(Trim(FN.value).length == 0 || FN.value==SRNOTE3.childNodes[0].nodeValue) &&
		(Trim(AU.value).length == 0 || AU.value==SRNOTE4.childNodes[0].nodeValue) &&
		(Trim(FP.value).length == 0 || FP.value==SRNOTE5.childNodes[0].nodeValue) )
	{
		if(bGov) {
			if( (Trim(DC1.value).length == 0 || DC1.value==DCNOTE1.childNodes[0].nodeValue) &&
				(Trim(DC2.value).length == 0 || DC2.value==DCNOTE2.childNodes[0].nodeValue) &&
				(Trim(DC3.value).length == 0 || DC3.value==DCNOTE3.childNodes[0].nodeValue) &&
				(Trim(DC4.value).length == 0 || DC4.value==DCNOTE4.childNodes[0].nodeValue) &&
				(Trim(DC5.value).length == 0 || DC5.value==DCNOTE5.childNodes[0].nodeValue) &&
				(Trim(DC6.value).length == 0 || DC6.value==DCNOTE6.childNodes[0].nodeValue) &&
				(Trim(DC7.value).length == 0 || DC7.value==DCNOTE7.childNodes[0].nodeValue) &&
				(Trim(DC8.value).length == 0 || DC8.value==DCNOTE8.childNodes[0].nodeValue) &&
				(Trim(DC9.value).length == 0 || DC9.value==DCNOTE9.childNodes[0].nodeValue) &&
				(Trim(DC11.value).length == 0 || DC11.value==DCNOTE11.childNodes[0].nodeValue) &&
				(Trim(DC13.value).length == 0 || DC13.value==DCNOTE13.childNodes[0].nodeValue) &&
				(Trim(DC14.value).length == 0 || DC14.value==DCNOTE14.childNodes[0].nodeValue) &&
				(Trim(DC15.value).length == 0 || DC15.value==DCNOTE15.childNodes[0].nodeValue)) {
				alert($('AM2').childNodes[0].nodeValue) ;
				return ;
			}
		} else {
			alert($('AM2').childNodes[0].nodeValue) ;
			return ;
		}
	}
	
	if(KW.value==SRNOTE1.childNodes[0].nodeValue)
		KW.value = '' ;
	if(TTL.value==SRNOTE2.childNodes[0].nodeValue)
		TTL.value = '' ;
	if(FN.value==SRNOTE3.childNodes[0].nodeValue)
		FN.value = '' ;
	if(AU.value==SRNOTE4.childNodes[0].nodeValue)
		AU.value = '' ;
	if(FP.value==SRNOTE5.childNodes[0].nodeValue)
		FP.value = '' ;
		
	var DT2 = $('datefield2') ;
	var DT1 = $('datefield1') ;
	
	if(DT1.value==SRNOTE6.childNodes[0].nodeValue)
		DT1.value = '' ;
	if(DT2.value==SRNOTE7.childNodes[0].nodeValue)
		DT2.value = '' ;
	
	//government dc field
	if(bGov) {
		if(DC1.value==DCNOTE1.childNodes[0].nodeValue) DC1.value = '' ;
		if(DC2.value==DCNOTE2.childNodes[0].nodeValue) DC2.value = '' ;
		if(DC3.value==DCNOTE3.childNodes[0].nodeValue) DC3.value = '' ;
		if(DC4.value==DCNOTE4.childNodes[0].nodeValue) DC4.value = '' ;
		if(DC5.value==DCNOTE5.childNodes[0].nodeValue) DC5.value = '' ;
		if(DC6.value==DCNOTE6.childNodes[0].nodeValue) DC6.value = '' ;
		if(DC7.value==DCNOTE7.childNodes[0].nodeValue) DC7.value = '' ;
		if(DC8.value==DCNOTE8.childNodes[0].nodeValue) DC8.value = '' ;
		if(DC9.value==DCNOTE9.childNodes[0].nodeValue) DC9.value = '' ;
		if(DC11.value==DCNOTE11.childNodes[0].nodeValue) DC11.value = '' ;
		if(DC13.value==DCNOTE13.childNodes[0].nodeValue) DC13.value = '' ;
		if(DC14.value==DCNOTE14.childNodes[0].nodeValue) DC14.value = '' ;
		if(DC15.value==DCNOTE15.childNodes[0].nodeValue) DC15.value = '' ;
			
		var D3 = $('datefield3') ;
		var D4 = $('datefield4') ;
		var D5 = $('datefield5') ;
		var D6 = $('datefield6') ;
		var D7 = $('datefield7') ;
		var D8 = $('datefield8') ;
		
		if(D3.value==SRNOTE6.childNodes[0].nodeValue) D3.value = '' ;
		if(D4.value==SRNOTE7.childNodes[0].nodeValue) D4.value = '' ;
		if(D5.value==SRNOTE6.childNodes[0].nodeValue) D5.value = '' ;
		if(D6.value==SRNOTE7.childNodes[0].nodeValue) D6.value = '' ;
		if(D7.value==SRNOTE6.childNodes[0].nodeValue) D7.value = '' ;
		if(D8.value==SRNOTE7.childNodes[0].nodeValue) D8.value = '' ;
	}
	
	document.forms[0].submit();
	document.all.advSearchButton.disabled = true;
}

function checkDate(el, seperator, d1 , d2)
{
	var SRNOTE6 = $('SRNOTE6') ;
	var SRNOTE7 = $('SRNOTE7') ;
	var AM9 = $('AM9') ;
	var AM10 = $('AM10') ;
	var AM12 = $('AM12') ;
	var DT1, DT2 ;
	var aDT1, aDT2 ;
	DT2 = $(d2) ;
	DT1 = $(d1) ;	
	aDT1 = DT1.value.split(seperator) ;
	aDT2 = DT2.value.split(seperator) ;
	
	// default dates preparation
	var sDate1, sDate2
	var currentTime = new Date() ;
	var month = currentTime.getMonth() + 1 ;
	if (month<10)
	{
		month = '0'+month ;
	}
	var day = currentTime.getDate() ;
	if (day<10)
	{
		day = '0'+day ;
	}
	var year = currentTime.getFullYear() ;
	sDate1 = year + seperator + month + seperator + day ;
	sDate2 = year + seperator + month + seperator + day ;
	
	// ===== case1: no dates speicified, its ok
	if((DT1.value.length==0||DT1.value== SRNOTE6.childNodes[0].nodeValue) && (DT2.value.length==0||DT2.value== SRNOTE7.childNodes[0].nodeValue))
		return ;

	// ===== case2: only one date specified, alert message "it wont work"
	if(el.value.length == 0)
	{
		if(el == DT1)
		{
			alert(AM12.childNodes[0].nodeValue) ;
			return ;
		}
		else if(el == DT2)
		{
			alert(AM12.childNodes[0].nodeValue) ;
			return ;
		}
	}
	
	// ===== case3: some date has been specified
	// ===== 3.1 format check
	var aDT = el.value.split(seperator) ;
	if(aDT.length !=3)
	{
		alert(AM9.childNodes[0].nodeValue+" yyyy"+seperator+"mm"+seperator+"dd") ;
		if(el == DT1)
		{
			el.value = sDate1 ;
		}
		else
		{
			el.value = sDate2 ;
		}		
		return ;
	}

	// ===== 3.2 range check
	var sModifyDate
	if(el == DT1)
		sModifyDate = sDate1 ;
	else
		sModifyDate = sDate2 ;
	var nY, nM, nD
	nY = parseInt(aDT[0], 10) ;
	nM = parseInt(aDT[1], 10) ;
	nD = parseInt(aDT[2], 10) ;
	if(nY<1 || nY>10000 )
	{
		alert(AM10.childNodes[0].nodeValue) ;
		el.value = sModifyDate ;
		return ;
	}
	if(nM<1 || nM>12 )
	{
		alert(AM10.childNodes[0].nodeValue) ;
		el.value = sModifyDate ;
		return ;
	}
	if(nD<1 || nD>31)
	{
		alert(AM10.childNodes[0].nodeValue) ;
		el.value = sModifyDate ;
		return ;
	}
	if(aDT[0].length!= 4||aDT[1].length!= 2||aDT[2].length!= 2)
	{
		el.value = sModifyDate ;
		alert(AM9.childNodes[0].nodeValue+" yyyy"+seperator+"mm"+seperator+"dd") ;
		return ;
	}

	if(aDT1.length == 3 && aDT2.length ==3)
	{
		var sD1, sD2 ;
		sD1 = DT1.value.replace(seperator, '') ;
		sD2 = DT2.value.replace(seperator, '') ;
		if(sD1> sD2)
		{
			alert(AM10.childNodes[0].nodeValue) ;
			DT2.value = sDate2 ;
			DT1.value = sDate1 ;
			return ;
		}
	}

}

function Ready4Input(el, sChkId)
{
	var para = $(sChkId) ;
	if(el.value.indexOf(para.childNodes[0].nodeValue)>-1)
	{
		el.value = el.value.replace(para.childNodes[0].nodeValue, '') ;
	}

	el.style['color'] = 'black' ;
}

function CheckSingleInput(el, sChkId)
{
	var para = $(sChkId) ;
	if(el.value == para.childNodes[0].nodeValue)
	{
		el.style.color = '#A9A9A9' ;
	}
}

function SubmitIfEnter(e, form, bGov)
{
	var keynum;
	var keychar;
	var numcheck;
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	if (keynum==13 || keynum==10) 
	{
		checkASPara(bGov) ;
	}
	return true;
}

/*
  sURL: url format
  sPara: '&SF='
*/
function clearURLPara(sURL, sPara)
{
	var idx = 0 ;
	idx=sURL.indexOf(sPara, idx) ;
	while( (idx=sURL.indexOf(sPara, idx))>-1 )
	{
		var idxB, idxE ;
		idxB = idx ;
		idxE = sURL.indexOf('&', idxB) ;
		if(idxE < 0) {
			idxE = sURL.length ;
			if(idxB>0) idxB=idxB-1;
		} else {
			idxE = idxE +1;
		}
		var sTmp = sURL.substr(idxB, idxE-idxB) ;
		sURL = sURL.replace(sTmp, '') ;
	}
	return sURL ;
}

function checkFaultTolerantBox(el, sid)
{
	var HGSelector = $(sid) ;
	if(el.checked)
		HGSelector.disabled = false ;
	else
		HGSelector.disabled = true ;
	
}
