<!---START OF SEARCH SCRIPTS -->
<!--
String.prototype.trim = new Function("return this.replace(/^\\s+|\\s+$/g,'')");
function changeRange(range) {
	frmObject = document.srchForm;
	if ( range == -1 ) {
		frmObject.toDate.value = '';
		frmObject.fromDate.value = '';
	} else if (range > 0 ) {
		var today = new Date();
		var fromday = new Date();
		fromday.setMonth(today.getMonth()-range);
		frmObject.toDate.value = today.getYear() + '-' + ((today.getMonth()+1)<10?'0':'')+ (today.getMonth()+1) + '-' + (today.getDate()<10?'0':'')+ today.getDate();
		frmObject.fromDate.value = fromday.getYear() + '-' + ((fromday.getMonth()+1)<10?'0':'')+ (fromday.getMonth()+1) + '-' + (fromday.getDate()<10?'0':'')+ fromday.getDate();
	} else if (range == 0 ) {
		frmObject.fromDate.focus();
	}
}

function chooseItem(itemIndex) {
	var frmObject = document.login;
	
	
	if ( itemIndex !='其他') 
	{

		frmObject.newItem.value = frmObject.itemSelect.options[frmObject.itemSelect.selectedIndex].value.trim();
		
	}
	if ( itemIndex == 0 ) 
	{

		frmObject.newItem.value = '無意見';
	}
	
}

function validateQ () {
	frmObject = document.login;
	var s = '';
	var submitter = document.submitter;
	submitter.reset();
	if ( frmObject.j_emailaddr.value.trim() == '' &&
		frmObject.username.value.trim() == '' &&
		frmObject.newItem.value.trim() == '' &&
		(typeof frmObject.dob!='undefined' && frmObject.dob.selectedIndex == 0) &&
		(typeof frmObject.education!='undefined' && frmObject.education.selectedIndex == 0) &&
		(typeof frmObject.occupation!='undefined' && frmObject.occupation.selectedIndex == 0) && 
		(typeof frmObject.times!='undefined' && frmObject.times.selectedIndex == 0) &&
		(typeof frmObject.reason!='undefined' && frmObject.reason.selectedIndex == 0) &&
		(typeof frmObject.country!='undefined' && frmObject.country.selectedIndex == 0) ) 
	{
		alert('請輸入最小一項搜尋項目');
		frmObject.j_emailaddr.focus();
		return false;
		void(0);
	}
	
	
	if ( (s=frmObject.j_emailaddr.value.trim()) != '' && isValidEmail(frmObject.j_emailaddr.value) ) 
	{
		submitter.j_emailaddr.value = s;
	}
	else
	{
	 alert('請輸入正確的電郵地址﹗');
	 frmObject.j_emailaddr.focus();
	 return false;
	 
	}

    submitter.username.value = frmObject.username.value.trim();



	if(frmObject.dob.selectedIndex != 0)
	{
     submitter.dob.value = frmObject.dob.options[frmObject.dob.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇年齡');
	 frmObject.j_emailaddr.focus();
	 return false;
	}

	
	if(frmObject.education.selectedIndex != 0)
	{
	  submitter.education.value = frmObject.education.options[frmObject.education.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇教育程度');
	 frmObject.j_emailaddr.focus();
	 return false;
	}
	
    if(frmObject.occupation.selectedIndex != 0)
	{
	  submitter.occupation.value = frmObject.occupation.options[frmObject.occupation.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇職業');
	 frmObject.j_emailaddr.focus();
	 return false;
	}

	if(frmObject.times.selectedIndex != 0)
	{
	  submitter.times.value = frmObject.times.options[frmObject.times.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇使用次數');
 	 frmObject.j_emailaddr.focus();
	 return false;
	}

	if(frmObject.reason.selectedIndex != 0)
	{
	  submitter.reason.value = frmObject.reason.options[frmObject.reason.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇使用原因');
 	 frmObject.j_emailaddr.focus();
	 return false;
	}
	
	if(frmObject.country.selectedIndex != 0)
	{
     submitter.country.value = frmObject.country.options[frmObject.country.selectedIndex].value.trim();
	}
	else
	{
	 alert('請選擇地區');
 	 frmObject.j_emailaddr.focus();
	 return false;
	}

	

	
    submitter.newItem.value = frmObject.newItem.value.trim();

	//displayForm ( submitter );
	submitter.submit();
	return false;
}


function validateInput () {
	frmObject = document.srchForm;
	var s = '';
	var submitter = document.submitter;
	submitter.reset();
	if ( frmObject.srchWord.value.trim() == '' &&
		frmObject.journal.value.trim() == '' &&
		frmObject.author.value.trim() == '' &&
		frmObject.fromDate.value.trim() == '' &&
		frmObject.toDate.value.trim() == '' &&
		(typeof frmObject.source!='undefined' && frmObject.source.selectedIndex == 0) ) 
	{
		alert('請輸入最小一項搜尋項目');
		frmObject.srchWord.focus();
		return false;
		void(0);
	}
	if ( (s=frmObject.srchWord.value.trim()) != '' ) {
		if( compoundOperator(s) ) return false;
		submitter.w.value = s;
	}
	if ( typeof frmObject.fulltext!='undefined' && frmObject.fulltext.checked ) {
		submitter.x.value = 'fulltext';
	}

	if ( typeof frmObject.toct!='undefined' && frmObject.toct.checked ) {
		submitter.lt.value = 'titles/lt';
	}
  else
  {
    submitter.lt.value = 'title';
  }
	/*
	if ( typeof frmObject.toca!='undefined' && frmObject.toca.checked ) {
		submitter.ot.value = 'others/other';
	}
  else
  {
  
    submitter.ot.value = 'creator';
  }
  */
  submitter.ot.value = 'others/other';
	
	if ( typeof frmObject.author!='undefined' )
		submitter.a.value = frmObject.author.value.trim();
	if ( typeof frmObject.journal!='undefined' )
		submitter.j.value = frmObject.journal.value.trim();
	if ( typeof frmObject.source != 'undefined' ) {
		submitter.s.value = frmObject.source.options[frmObject.source.selectedIndex].value.trim();
		s = '';
	}
//
//	Search for categories is disabled for new version
//
//	for ( var i = 0 ; i < frmObject.categories.length ; i++ ) {
//		if ( frmObject.categories[i].checked ) {
//			if ( s != '' ) s += ',';
//			s += frmObject.categories[i].value.trim();
//		}
//	}
//
//	submitter.c.value = s;	

	if ( typeof frmObject.range!='undefined' && frmObject.range.selectedIndex != 0 ) {
		s = frmObject.fromDate.value.trim();
		if ( s!='' && !isValidDate(s) ) {
			alert("日期輸入方式錯誤");
			frmObject.fromDate.focus();
			return false;
		}
		submitter.d1.value = frmObject.fromDate.value.trim();

		s = frmObject.toDate.value.trim();
		if ( s!='' && !isValidDate(s) ) {
			alert("日期輸入方式錯誤");
			frmObject.toDate.focus();
			return false;
		}
		submitter.d2.value = frmObject.toDate.value.trim();
		
		if ( submitter.d1.value.trim()!='' && submitter.d2.value.trim()!='' && submitter.d1.value.trim() > submitter.d2.value.trim() ) {
			alert("日期先後次序錯誤");
			frmObject.fromDate.focus();
			return false;
		}
	} 
	if ( typeof frmObject.sortBy!='undefined' ) {
		submitter.o.value = frmObject.sortBy.options[frmObject.sortBy.selectedIndex].value.trim();
	}
	
  if(isAlphanum((s=frmObject.srchWord.value.trim())))
  {
   submitter.k.value='';
  }
  else
  {
   submitter.k.value='*';
  }

	if((typeof frmObject.author!='undefined'))
	{
   if(isAlphanum((s=frmObject.author.value.trim())))
   {
    submitter.ka.value='';
   }
   else
   {
    submitter.ka.value='*';
   }
  }

  if(typeof frmObject.journal!='undefined')
  {
   if(isAlphanum((s=frmObject.journal.value.trim())))
   {
    submitter.kj.value='';
   }
   else
   {
    submitter.kj.value='*';
   }
  }
	//displayForm ( submitter );
	submitter.submit();
	return false;
}

function displayForm ( frmObject ) {
	var s = '';
	for ( var i = 0 ; i < frmObject.elements.length ; i++ ) {
		s += frmObject.elements[i].name + "\t= "+ frmObject.elements[i].value.trim() + "\n";
	}
	alert ( s );
}

function compoundOperator(s) {
	if( s.indexOf("&") > -1 && s.indexOf(",") > -1 ){
		alert('Combination of operators is not allowed.');
		frmObject.srchWord.focus();
		return true;
	}
}

function tryInputDateRange ( txtField ) {
	frmObject = document.srchForm;
	if ( frmObject.range.selectedIndex != 3 ) {
		frmObject.range.selectedIndex = 3;
		txtField.focus();
	}
}

function chk_input() {
	var earlier_date=new Date(54,0,1);
	var start_date=document.DATE_FORM.sd.value.trim();
	var end_date=document.DATE_FORM.ed.value.trim();
	if (document.TITLE.GROUP_ID.value.trim()=='0') {
		alert("沒有輸入類別。請選擇最少一份類別或 '所有類別'");
		return false;
	}
	if ((start_date.length!=10)||(end_date.length!=10)) {
		alert("日期輸入方式錯誤");
		return false;
	}
	else {
	    var start_year=start_date.substring(0,4);
	    var start_month=start_date.substring(5,7)-1;
	    var start_day=start_date.substring(8,10);
	    var end_year=end_date.substring(0,4);
	    var end_month=end_date.substring(5,7)-1;
	    var end_day=end_date.substring(8,10);
	    start_date=new Date(start_year,start_month,start_day);
	    end_date=new Date(end_year,end_month,end_day);
		if ( (start_date.getMonth()!=start_month)||(end_date.getMonth()!=end_month) ) {
		  alert("日期錯誤");
		  return false;		
		}
	    	if (date_compare(end_year,end_month,end_day,start_year,start_month,start_day)) {
		  <!-- alert("日期先後次序錯誤"); -->
		  return true;
		}
		else if (date_compare(end_year,end_month,end_day,start_year,start_month,start_day)) {
		  <!-- alert("資料庫不包括一九八九年一月一日前之刊物"); -->
		  return true;
		}
		
	    return true;
	}
	
}

/**
 * Forces the user to select at least one of the categories, or select "All"
 */
function handleCategoryClicked ( category ) {
	var categories = document.srchForm.categories;
	if ( category.value.trim() != '' ) {
		checked = false;
		for ( var i = 0 ; i < categories.length ; i++ ) {
			if ( categories[i].checked ) {
				checked = true;
			}
		}
		if ( !checked ) 
			category.checked = true;
		categories[categories.length-1].checked = false;
	} else if ( !category.checked ) {
		category.checked = true;
	} else {
		for ( var i = 0 ; i < categories.length ; i++ ) {
			if ( categories[i].value.trim() != '' )
				categories[i].checked = false;
		}
	}
}

function searchAgain () {
	document.srchForm.reset();
	document.submitter.reset();
}

//borrowed from webpage
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var space = ' ';
 
function isValid(parm,val) {
  if (parm == "") return false;
  for (i=0; i<parm.length; i++) 
  {
    //alert(val.indexOf(parm.charAt(i)));
    if (val.indexOf(parm.charAt(i),0) == -1) 
    {
     return false;
    }
  }
  return true;
}
 
function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb+space);}

function isValidDate(dateStr) {
	var datePat = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})( (\d{1,2})(\:)(\d{1,2})(\:)(\d{1,2}))?$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
		return false;
	}
	year = matchArray[1];
	month = matchArray[3]; // parse date into variables
	day = matchArray[4];
	hour = matchArray[5];
	min = matchArray[7];
	sec = matchArray[9];

	if (month < 1 || month > 12) { // check month range
		return false;
	}
	if (day < 1 || day > 31) {
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
			}
	}

	if(hour!='' && min!='' && sec!=''){
		//  if the "time" part is entered
		if (hour < 0 || hour > 23){
			return false;
		}
		if (min < 0 || min > 59){
			return false;
		}
		if (sec < 0 || sec > 59){
			return false;
		}
	}
	return true;
}

// END OF SEARCH SCRIPTS-->