function adjustDates(val){
	if(val=="on"){
		//	document.frmAdvanceSearch.date.readonly = false;
		document.frmAdvanceSearch.date2.style.borderColor = "#aaaaaa";
		document.frmAdvanceSearch.date2.style.backgroundColor = "#cccccc";
		document.frmAdvanceSearch.date2.style.color = "#cccccc";
		document.frmAdvanceSearch.date2.onclick = function() {document.frmAdvanceSearch.date.focus()};
		document.frmAdvanceSearch.date2.onfocus = function() {document.frmAdvanceSearch.date.focus()};
	}else if(val=="since"){
		//	document.frmAdvanceSearch.date.readonly = false;
		document.frmAdvanceSearch.date2.readonly = true;		
		document.frmAdvanceSearch.date2.style.borderColor = "#aaaaaa";
		document.frmAdvanceSearch.date2.style.backgroundColor = "#cccccc";
		document.frmAdvanceSearch.date2.style.color = "#cccccc";
		document.frmAdvanceSearch.date2.onclick = function() {document.frmAdvanceSearch.date.focus()};	
		document.frmAdvanceSearch.date2.onfocus = function() {document.frmAdvanceSearch.date.focus()};	
	}else if(val=="before"){
		//	document.frmAdvanceSearch.date.readonly = false;
		document.frmAdvanceSearch.date2.style.borderColor = "#aaaaaa";
		document.frmAdvanceSearch.date2.readonly = true;		
		document.frmAdvanceSearch.date2.style.backgroundColor = "#cccccc";
		document.frmAdvanceSearch.date2.style.color = "#cccccc";
		document.frmAdvanceSearch.date2.onclick = function() {document.frmAdvanceSearch.date.focus()};	
		document.frmAdvanceSearch.date2.onfocus = function() {document.frmAdvanceSearch.date.focus()};	
	}else{
		//	document.frmAdvanceSearch.date.readonly = false;
		//document.frmAdvanceSearch.date2.readonly = false;
		document.frmAdvanceSearch.date2.style.borderColor = "#aaaaaa";
		document.frmAdvanceSearch.date2.style.backgroundColor = "#ffffff";
		document.frmAdvanceSearch.date2.style.color = "";
		document.frmAdvanceSearch.date2.onclick = function() {};
		document.frmAdvanceSearch.date2.onfocus = function() {setDateAsToday(this)};
		assessInput(document.frmAdvanceSearch.date2,"")
	}
}

function radioBtnSet(val){
	if(val == 'lastNoDays'){
		setCheckedValue(document.frmSimpleSearch.dateType, 'lastNoDays');	
		document.frmSimpleSearch.range.value = "";
		document.frmSimpleSearch.date.value = "";
		document.frmSimpleSearch.date2.value = ""; 
		document.frmSimpleSearch.date2.style.borderColor = "#aaaaaa";
		document.frmSimpleSearch.date2.style.backgroundColor = "#ffffff";
		document.frmSimpleSearch.date2.style.color = "#636363";
		debugMsg("range val: '" +document.frmSimpleSearch.range.value+"'")
	}else if(val == 'between'){
		setCheckedValue(document.frmSimpleSearch.dateType, 'between');
		document.frmSimpleSearch.range.value="between";
		debugMsg("range val: '" +document.frmSimpleSearch.range.value+"'")
		document.frmSimpleSearch.since.value = "";
	}
	
}
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}
function setOldestFirst(){
	if(document.getElementById('chkOldestFirst').checked==true){
		val = "on";	
	}else{
		val = "";	
	}
	document.frmSimpleSearch.orderdate.value = val;
	document.frmAdvanceSearch.orderdate.value = val;
	setCurrentOrderByText()
}


function setimagesonly(){
	document.frmSimpleSearch.imagesonly.value = document.getElementById('chkimagesonly').value;
	document.frmAdvanceSearch.imagesonly.value = document.getElementById('chkimagesonly').value;	
}


function setOrderBy(){
	document.frmSimpleSearch.order.value = document.getElementById('sltOrderby').value;
	document.frmAdvanceSearch.order.value = document.getElementById('sltOrderby').value;
	setCurrentOrderByText();
}

function setCurrentOrderByText(){
	/* Not yet needed from Abaca
	currentSettings = "("
	currentSettings =  currentSettings + document.getElementById('sltOrderby').value + " date";
	if(document.getElementById('chkOldestFirst').checked==true){
		currentSettings = currentSettings + ", oldest first"
	}
	currentSettings = currentSettings + ")"
	document.getElementById('currentOrderBySettings').innerHTML = currentSettings;
	document.getElementById('popupOrderby').style.width = (document.getElementById('currentOrderBySettings').offsetWidth + 55) + "px"

	if(document.getElementById("opu_popupOrderby").style.visibilty=='visible'){
		document.getElementById("opu_popupOrderby").style.width = (obj.offsetWidth - 2) + "px";
	}
	*/

}
function setHiddenVar(hiddenField, val){
	eval("document.frmSimpleSearch."+hiddenField+".value = val");
	eval("document.frmAdvanceSearch."+hiddenField+".value = val");	
}
function clearvalue (obj, dotest) {
	// clears text field
	if(obj) { 
		if(dotest) {
			if(obj.value.indexOf('Enter your search')!=-1 || obj.value=='DD/MM/YYYY' || obj.value == " -- enter name --") {
				obj.value = ""; 
			}
		} else {
			obj.value = "";	
		}
	}
}

var oldData = "";
function checkData(){
	var searchTerm = document.frmSimpleSearch.search_0.value
	if(searchTerm == ""){
		alert("Please enter a search term")	
		return false;
	}else{
		if(searchTerm == "Enter your search."){
			alert("Please enter a search term")	
			return false;
		}else{
			if(searchTerm.length < 3){
				alert("Please enter a search term longer than 2 characters")
				return false;
			}else{
				return true;	
			}
			
		}
	}
}

function clearUrns(){
	if (oldData != ""){
		objFrm = eval("document."+activeForm);
		objFrm.search_0.value = oldData;
		objFrm.urn.value = "";
		oldData = ""
	}
}


var newdata;
function modPaste(){
	if (document.all){
		//this is only going to work in IE
		//Firefox users should change there config file, to about:config -> editor.singleLine.pasteNewlines -> modify (right click) -> value = 2;
		var data = window.clipboardData.getData('Text');
		var re = new RegExp(/\r|\n|\r\n/g);
		if (data.match(re)) {
			newdata = data.replace(/\r|\n|\r\n/g," ");
			//set timeout so it complete the paste first
			setTimeout("repaste()",500);
			return false;
		}else{
			return true;
		}
	}
}

function repaste(){
	document.getElementById('txtRef').value = newdata;
}

function force_category() {
	if ((document.frmAdvanceSearch.A.checked == false) && (document.frmAdvanceSearch.E.checked == false) && (document.frmAdvanceSearch.S.checked == false)) {
		document.frmAdvanceSearch.A.checked = true;
		document.frmAdvanceSearch.E.checked = true;
		document.frmAdvanceSearch.S.checked = true;
	}
}

function force_border() {
	if ((document.frmAdvanceSearch.green_border.checked == false) && (document.frmAdvanceSearch.amber_border.checked == false) && (document.frmAdvanceSearch.red_border.checked == false)) {
		document.frmAdvanceSearch.green_border.checked = true;
		document.frmAdvanceSearch.amber_border.checked = true;
		document.frmAdvanceSearch.red_border.checked = true;
	}
}
function force_mediaType(){
	if ((document.frmAdvanceSearch.photos.checked == false) && (document.frmAdvanceSearch.videos.checked == false)){
		document.frmAdvanceSearch.photos.checked = true;
		document.frmAdvanceSearch.videos.checked = true;
		
	}
}

function resetForm(){

	document.frmAdvanceSearch.reset();
	document.frmSimpleSearch.reset();

	document.getElementById('saveSearch').value = " -- enter name --";
	return false;
}	
function updateHiddenField(chkBox){
	if (chkBox.checked){
		name=chkBox.name

		val = chkBox.value;

		eval("document.frmAdvanceSearch.hdn"+chkBox.name+".value=val")
	}else{
		eval("document.frmAdvanceSearch.hdn"+chkBox.name+".value=''")
	}
}
function switchPeopleOnly(){
	if(document.frmSimpleSearch.peopleOnly.checked){
		document.frmSimpleSearch.in_0.value = "name";
	}else{
		document.frmSimpleSearch.in_0.value = "all";
	}
}
function blankSearchForm(frm){
	//Blank the search form.
	if(frm == 'advanced'){
		frmName = "frmAdvanceSearch"	
	}else{
		frmName = "frmSimpleSearch"
	}
	
	var frmElements = eval("document."+frmName+".elements")
	
	for (i=0;i<frmElements.length;i++){
		//Note: selectbox and radio buttons do not need blanking, because, Select box may not have a void option and radio button by definition always require a value
		var type = frmElements[i].getAttribute("type");
		
		switch (type)
		{
			case 'text':
				frmElements[i].value = "";
				break;
			case 'radio':
				//radio button have to be set to something therefore do not blank in case of js error
				break;
			case 'checkbox':
				frmElements[i].checked=false;
				break;
			default:
			
				break;
		}
	}
	
	document.getElementById('saveSearch').value = " -- enter name --";
	return true;
}


function setDateAsToday(obj){

	if (removeSpaces(obj.value).length == 0){
		
		var curDateVar = new Date();
		if ( curDateVar.getDate() <= 9){
			todayDay = "0" + curDateVar.getDate()
		}else{
			todayDay = curDateVar.getDate()
		}
		
		if((curDateVar.getMonth()+ 1) <= 9){
			todayMonth = "0" + 	(curDateVar.getMonth()+ 1);
		}else{
			todayMonth = (curDateVar.getMonth()+ 1);
		}
		
		var curDate= todayMonth  + "/" + todayDay+"/" +curDateVar.getFullYear();
		obj.value = curDate;
		try{
			obj.select();	
		}catch(e){}
	}
}

function syncForms(newFrm){
	if (newFrm == "frmSimpleSearch"){
		document.frmSimpleSearch.reset();
		document.frmSimpleSearch.search_0.value = document.frmAdvanceSearch.search_0.value
		if(document.frmAdvanceSearch.range.value=="between"){
			
			if(document.frmAdvanceSearch.date.value != ""){
				if(document.frmAdvanceSearch.date2.value != ""){
					document.frmSimpleSearch.date.value = document.frmAdvanceSearch.date.value;
					document.frmSimpleSearch.date2.value = document.frmAdvanceSearch.date2.value;
					document.frmSimpleSearch.range.value = "between"
					setCheckedValue(document.frmSimpleSearch.dateType,'between')
				}else{
					document.frmSimpleSearch.date.value = "";
					document.frmSimpleSearch.date2.value = "";
				}
			}else{
				document.frmSimpleSearch.date.value = "";
				document.frmSimpleSearch.date2.value = ""
			}
		}else if(document.frmAdvanceSearch.range.value=="since"){
			
			
		}
		
	}else{
		document.frmAdvanceSearch.reset();
		document.frmAdvanceSearch.search_0.value = document.frmSimpleSearch.search_0.value
		if(document.frmSimpleSearch.range.value=="between"){
		
			if(document.frmSimpleSearch.date.value != ""){
				if(document.frmSimpleSearch.date2.value != ""){
					document.frmAdvanceSearch.date.value = document.frmSimpleSearch.date.value;
					document.frmAdvanceSearch.date2.value = document.frmSimpleSearch.date2.value;
					
					for(i=0;i<document.frmAdvanceSearch.range.length;i++)
					{
						if(document.frmAdvanceSearch.range.options[i].value=="between")
						{
							document.frmAdvanceSearch.range.selectedIndex=i
						}
					}
					adjustDates("between");
				}else{
					document.frmAdvanceSearch.date.value = "";
					document.frmAdvanceSearch.date2.value = "";
					adjustDates("on");
				}
			}else{
				document.frmAdvanceSearch.date.value = "";
				document.frmAdvanceSearch.date2.value = "";
				adjustDates("on");
			}
		}else if(document.frmSimpleSearch.range.value=="since"){
			adjustDates("since");
			
		}else if(document.frmSimpleSearch.range.value==""){
			adjustDates("on");
		}
	}
}

Date.prototype.subtractDays = function(days) {
	this.setDate(this.getDate()-days);
} 

function switchForm(){

	if(arguments.length==0){
		if (document.getElementById("simpleSearch").style.display == 'block'){
				document.getElementById("simpleSearch").style.display = 'none'	
				document.getElementById("advancedSearch").style.display = 'block'	
				
				document.getElementById("showSimpleSearch").style.display = 'inline'
				document.getElementById("showAdvancedSearch").style.display = 'none'
				activeForm = "frmAdvanceSearch";
			
				//tell the server about a change of preference
				var randomnumber=Math.floor(Math.random()*1000000)
				callbackObj.loadInto('/cgi/user_prefs/?state=update_form_type&formType=advanced&rdnNoCache=' +randomnumber, 'javascript:prefChange');
				syncForms("frmAdvanceSearch")
				
		}else{
				document.getElementById("simpleSearch").style.display = 'block'	
				document.getElementById("advancedSearch").style.display = 'none'
				
				document.getElementById("showSimpleSearch").style.display = 'none'
				document.getElementById("showAdvancedSearch").style.display = 'inline'					
				
				activeForm = "frmSimpleSearch";			
				
				//tell the server about a change of preference
				var randomnumber=Math.floor(Math.random()*1000000)
				callbackObj.loadInto('/cgi/user_prefs/?state=update_form_type&formType=simple&rdnNoCache='+randomnumber, 'javascript:prefChange');		
				syncForms("frmSimpleSearch")
		}
	}else{
		if (arguments[0]=='advanced'){
				document.getElementById("simpleSearch").style.display = 'none'	
				document.getElementById("advancedSearch").style.display = 'block'	
				
				document.getElementById("showSimpleSearch").style.display = 'inline'
				document.getElementById("showAdvancedSearch").style.display = 'none'				
				
				activeForm = "frmAdvanceSearch";
				
				//tell the server about a change of preference
				var randomnumber=Math.floor(Math.random()*1000000)
				callbackObj.loadInto('/cgi/user_prefs/?state=update_form_type&formType=advanced&rdnNoCache='+randomnumber, 'javascript:prefChange');	
				syncForms("frmAdvanceSearch")
		}else{
				document.getElementById("simpleSearch").style.display = 'block'	
				document.getElementById("advancedSearch").style.display = 'none'
				document.getElementById("showSimpleSearch").style.display = 'none'
				document.getElementById("showAdvancedSearch").style.display = 'inline'				
				activeForm = "frmSimpleSearch";			
				
				//tell the server about a change of preference
				var randomnumber=Math.floor(Math.random()*1000000)
				callbackObj.loadInto('/cgi/user_prefs/?state=update_form_type&formType=simple&rdnNoCache='+randomnumber, 'javascript:prefChange');		
				syncForms("frmSimpleSearch")
		}
	}
	
	resizePanes();
	return false;
}


