if (document.layers)
  document.captureEvents(Event.KEYDOWN);
  document.onkeydown =
  function (evt) {
    var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
    var eventTarget = evt ? evt.target : event.srcElement;
    var textField = eventTarget.type == 'text' || eventTarget.type == 'password' || eventTarget.type == 'textarea';
    if (keyCode == 13 && textField) {
			var frm = eventTarget.form;
			if (frm.name == "signInFrm") {
				signIn();
			} else if (frm.name == "researchFrm") {
				searchWithinResult(frm);
			} else if (frm.name == "saveSearchFrm") {
				submitSaveSearch('searchFrm');
			} else {
				fireSearch(frm)
			}
      return false;
    }
    else
      return true;
  };
function identifyListValue(obj, p_value) {
	for (var i=0; i< obj.options.length; i++) {
		if (obj.options[i].value == p_value) {
			obj.options[i].selected = true;
			return;
		}
	}
	return; 
}
function valSearchForm(frm) {
var type = frm.pc_searchType.value;
	if (type == 'ADVANCED') {
		frm.pc_title.value = trimc(trim(frm.pc_title.value), '%');
		frm.pc_subject.value = trimc(trim(frm.pc_subject.value), '%');
		frm.pc_identifier.value = trimc(trim(frm.pc_identifier.value), '%');
		frm.pc_creator.value = trimc(trim(frm.pc_creator.value), '%');
		frm.pc_publisher.value = trimc(trim(frm.pc_publisher.value), '%');
		if ((frm.pc_title.value.length < 3) && (frm.pc_subject.value.length < 3) && (frm.pc_identifier.value.length < 3) && (frm.pc_creator.value.length < 3) 
				&& (frm.pc_publisher.value.length < 3) && (frm.pc_fromDate.value.length < 1) && (frm.pc_toDate.value.length < 1)) {
			if (frm.pc_title.value.length < 3) {  
				frm.pc_title.focus();
				return false;
			}
			if (frm.pc_subject.value.length < 3) {  
				frm.pc_subject.focus();
				return false;
			}
			if (frm.pc_identifier.value.length < 3) {
				frm.pc_identifier.focus();
				return false;
			}
			if (frm.pc_creator.value.length < 3) {
				frm.pc_creator.focus();
				return false;
			}
			if (frm.pc_publisher.value.length < 3) {
				frm.pc_publisher.focus();
				return false;
			}
		}
		if ((frm.pc_fromDate.value.length > 0) && (frm.pc_toDate.value.length == 0)) {
			frm.pc_toDate.value = frm.pc_fromDate.value;
		}
		if ((frm.pc_toDate.value.length > 0) && (frm.pc_fromDate.value.length == 0)) {
			frm.pc_fromDate.value = frm.pc_toDate.value;
		}
	} else {
		if (document.domain != 'athenademo.librarynet.com.my') {
      frm.pc_keyword.value = trimc(trim(frm.pc_keyword.value), '%');
      if (frm.pc_keyword.value.length == 0) {
        frm.pc_keyword.focus();
        return false;
      }
    }
	}
	return true;
}
function fireSearch(frm) {
	if (valSearchForm(frm)) {
		var searchUrl = ias_dad_dmcs + 'DMCS_SEARCH2.';
		if (frm.pc_searchType.value == 'BROWSE')
			searchUrl += "BrowseList";
		else
			searchUrl += "SearchList";
		frm.action = searchUrl;
		frm.submit();
	} else {
		//showMsg("msgdesc2", "");
		alert("Sorry, unable to process your request.\nPlease refine your search criteria.");
	}
}

function dateRangePicker() {
	$jq('.dateRange').datepicker({dateFormat: 'yy-M-dd', showOn: 'both', buttonImageOnly: true, 
	prevText: '<img src="'+graphic_path+'prev.gif" style="vertical-align: middle;"/> Prev',
	nextText: 'Next <img src="'+graphic_path+'next.gif" style="vertical-align: middle;"/>',
	buttonImage: ''+graphic_path+'calendar.gif', beforeShow: customRange});
}

// Customize two date pickers to work as a date range
function customRange(input) {
	return {minDate: (input.id == 'toDate' ? $jq('#fromDate').datepicker('getDate') : null),
					maxDate: (input.id == 'fromDate' ? $jq('#toDate').datepicker('getDate') : null)};
}

function signOut() {
location.replace(ias_dad_dmcs + "APP_FRAMEWORK.signOut?vc_from=OPAC");
}
function signIn() {
var frm = document.signInFrm;
	frm.signinBtn.value = "Sign In ...";
	frm.signinBtn.disabled = true;
	var params = {"vc_username": frm.pc_username.value, "vc_password": frm.pc_password.value, "vc_loc": frm.pc_location.value, "vc_sid": Math.random()};
	$jq.ajax({
		url: ias_dad_dmcs + "dmcs_logon.valSignIn",
		data: params,
		type: "POST",
		dataType: "plain",
		success: function (data) {
			data = data.replace(/\n/g, '').replace(/ /g, '');
			if (data != "1") {
				//showMsg("msgdesc12");
				alert("Sign In failed, please try again.");
				frm.signinBtn.value = "Sign In";
				frm.signinBtn.disabled = false;
				frm.pc_username.focus();
				return false;
			} else {
				location.reload();
			}
		},
		error:  function(xhr) {
		  if (xhr.responseText){
		    throw new Error("Sign In failed. Malformed WS resonse.");
				frm.signinBtn.value = "Sign In";
				frm.signinBtn.disabled = false;
		  }
		  return;
		}
	});
}

function signInForm() {
	if ($jq("#signinwin_handle").html().length == 0) {
		//var clsBtn = $jq('<a href="#" id="close" onmouseout="javascript:clsBtn.src=\'/graphics/framework/athenaxp/close_out.png\';" onmouseover="javascript:clsBtn.src =\'/graphics/framework/athenaxp/close_over.png\';"><img title="Close" alt="Close" name="clsBtn" src="/graphics/framework/athenaxp/close_out.png" style="cursor: pointer;border:0px"/></a>');
		var clsBtn = $jq('<a href="#" id="close">[ x ]</a>');
		clsBtn.click(function() {
			$jq("#signinwin").hide();
			return false;
		});
		$jq("#signinwin_handle").append(clsBtn);
		$jq("#signinwin_handle").append("Sign In");
	
		$jq.ajax({
			url: ias_dad_dmcs + "DMCS_SEARCH2.signInForm",
			data: "",
			type: "POST",
			dataType: "plain",
			success: function (data) {
				$jq("#signinwin_content").html(data);
				$jq('#signinwin').show();
				document.signInFrm.pc_username.focus();
			},
			error:  function(xhr) {
			  if (xhr.responseText){
			    throw new Error("SignIn Form failed. Malformed WS response.");
			  }
			  return;
			}
		});
	} else {
		$jq('#signinwin').show();
		document.signInFrm.pc_username.focus();
	}
	return false;
}

function viewMediaFile(id, type, mime, fileid) {
var h = screen.height - 90;
var w = screen.width - 12;
var params = "";
var accessObj = "";
	if (fileid != undefined) {
		params += "pn_fileid=" + fileid;
		accessObj = document.getElementById("access"+fileid);
	}	else {
		params += "pn_id=" + id;
		accessObj = document.getElementById("access"+id);
	}
	if (accessObj.value == "Y") {
		var winObj = window.open(ias_dad_dmcs + "DMCS_FILE_BROWSER2.fileBrowser?"+params+"&pc_type="+type+"&pc_mime="+mime, "resourceBrowser","toolbar=0,location=0,directory=0,status=1,menubar=0,scrollbars=1,resizable=1,copyhistory=0,top=0,left=0,width =" + w + ",height=" + h);
		winObj.focus();
	} else {
		//showMsg("msgdesc15");
		alert('Sorry, you are unable to access this resource currently due to the following reasons:\n'+
					'- your session has expired\n- you are not signed in\n'+
					'- you do not have the priviledge to access this resource');
	}
} 

function searchType() {
var frm;
var tabObj = $jq('div.searchtab > ul');
	if (tabObj.data('selected.tabs') != 0) {
		tabObj.tabs('select', 0);
	}

	if ($jq("#general_search").css("display") == "block") {
		frm = document.advancedSearchFrm;
		frm.pc_searchType.value = "ADVANCED";
		$jq("span.advanced").html('General&nbsp;Search');
		$jq("#general_search").hide();
		$jq("#advanced_search").show();
		frm.pc_title.focus();
	} else {
		frm = document.searchFrm;
		frm.pc_searchType.value = "SEARCH";
		$jq("span.advanced").html('Advanced&nbsp;Search');
		$jq("#advanced_search").hide();
		$jq("#general_search").show();
		frm.pc_keyword.focus();
	}
}
function fullRecord(id) {
var h = screen.height - 168;
var w = screen.width - 274;
var intX = (screen.width - w)/2;
var intY = (screen.height - h)/4;
var url = ias_dad_dmcs + "DMCS_SEARCH2.";
	if (id > 0) url += "getFullRecord?pn_dcId=" + id;
	else url += "searchTips";
	winObj = window.open(url, "fullRecordWindow","toolbar=0,location=0,directory=0,status=1,menubar=1,scrollbars=1,resizable=1,copyhistory=0,top=0,left=0,width=" + w + ",height=" + h + ",left="+intX+",top="+intY);//",screenX="+intX+",screenY="+intY);
	winObj.focus();
}

function submitSaveSearch(frmName) {
var sFrm = document.saveSearchFrm;
var param = "";
	if (sFrm.pc_name.value.length == 0) {
		//showMsg("msgdesc11");
		alert("Please provide a name for your Search in order to save.");
		sFrm.pc_name.focus();
	}	else {
		var frm = eval("document." + frmName);
		var type = frm.pc_searchType.value;
		var saveName = document.saveSearchFrm.pc_name.value;
		var params = {"pc_searchType": type, "pc_name": saveName, "sid": Math.random()};
		if (type == "BROWSE") {
			frm.pc_keyword.value = parent.trim(frm.pc_keyword.value);
			var vKeyword = frm.pc_keyword.value.replace(/"/g, '\"');
			var vBrowse = frm.pc_browse.options[frm.pc_browse.selectedIndex].value;
			if (vKeyword.length > 0) {
				params.pc_keyword = vKeyword;
				params.pc_browse = vBrowse;
				param = "pc_browse=" + encodeURIComponent(vBrowse) + "&pc_keyword=" + encodeURIComponent(vKeyword);
			}
		} else {
			if (type == "SEARCH") {
				frm.pc_keyword.value = trim(frm.pc_keyword.value);
				var vKeyword = frm.pc_keyword.value.replace(/"/g, '\"');
				if (vKeyword.length > 0) {
					params.pc_keyword = vKeyword;
					param = "pc_keyword=" + encodeURIComponent(vKeyword);
				}
			} else {
				frm.pc_title.value = trim(frm.pc_title.value);
				var vTitle = frm.pc_title.value.replace(/"/g, '\"');
				if (vTitle.length > 0) {
					params.pc_title = vTitle;			
					param = param + ((param.length > 0)? "&": "") + "pc_title=" + encodeURIComponent(vTitle);
				}
				frm.pc_subject.value = trim(frm.pc_subject.value);
				var vSubject = frm.pc_subject.value.replace(/"/g, '\"');
				if (vSubject.length > 0) {
					params.pc_subject = vSubject;
					param = param + ((param.length > 0)? "&": "") + "pc_subject=" + encodeURIComponent(vSubject);
				}
				var vLanguage = trim(frm.pc_language.options[frm.pc_language.selectedIndex].value);
				if (vLanguage.length > 0) {
					params.pc_language = vLanguage;
					param = param + ((param.length > 0)? "&": "") + "pc_language=" +  encodeURIComponent(vLanguage);
				}
				frm.pc_identifier.value = trim(frm.pc_identifier.value);
				var vIdentifier = frm.pc_identifier.value.replace(/"/g, '\"');
				if (vIdentifier.length > 0) {
					params.pc_identifier = vIdentifier;
					param = param + ((param.length > 0)? "&": "") + "pc_identifier=" + encodeURIComponent(vIdentifier);
				}
				frm.pc_creator.value = trim(frm.pc_creator.value);
				var vCreator = frm.pc_creator.value.replace(/"/g, '\"');
				if (vCreator.length > 0) {
					params.pc_creator = vCreator;
					param = param + ((param.length > 0)? "&": "") + "pc_creator=" + encodeURIComponent(vCreator);
				}
				frm.pc_publisher.value = trim(frm.pc_publisher.value);
				var vPublisher = frm.pc_publisher.value.replace(/"/g, '\"');
				if (vPublisher.length > 0) {
					params.pc_publisher = vPublisher;
					param = param + ((param.length > 0)? "&": "") + "pc_publisher=" + encodeURIComponent(vPublisher);
				}
			}
			var vCollection = trim(frm.pc_collection.options[frm.pc_collection.selectedIndex].value);
			if (vCollection.length > 0) {
				params.pc_collection = vCollection;
				param = param + ((param.length > 0)? "&": "") + "pc_collection=" + encodeURIComponent(vCollection);
			}
			var vType = trim(frm.pc_type.options[frm.pc_type.selectedIndex].value);
			if (vType.length > 0) {
				params.pc_type = vType;
				param = param + ((param.length > 0)? "&": "") + "pc_type=" + encodeURIComponent(vType);
			}					
		}
		var vResearch = document.researchFrm.pc_research.value.replace(/"/g, '\"');
		if (vResearch.length > 0) {
			params.pc_research = vResearch;
			param = param + ((param.length > 0)? "&": "") + "pc_research=" + encodeURIComponent(vResearch);
		}
		/*params.parr_research = new Array();
		for (i=0; i<searchArr.length; i++) {
			params.parr_research[i] = searchArr[i];
			param = param + ((param.length > 0)? "&": "") + "parr_research=" + encodeURIComponent(searchArr[i]);
		}*/
		$jq('#savesearch').hide();
		params.pc_param = param;
		$jq.ajax({
			url: ias_dad_dmcs + "DMCS_SEARCH2.savedSearch",
			data: params,
			type: "POST",
			dataType: "plain",
			success: function (data) {
				data = data.replace(/\n/g, '').replace(/ /g, '');
				if (data != "1") {
					//showMsg("msgdesc9");
					alert("Sorry, fail to save the record.");
					sFrm.pc_name.focus();
					return false;
				} else {
					$jq('div.searchtab > ul').tabs('select', 3);
					getSavedSearchList('', 'ADD');
					alert("Record has been saved successfully.");
				}
			},
			error:  function(xhr) {
			  if (xhr.responseText){
			    throw new Error("Save Search failed. Malformed WS resonse.");
			  }
			  return;
			}
		});
	}
}
function runSavedSearch(addrURL, type) {
var frm;
var urlParam = addrURL.substring(addrURL.indexOf("?")+1, addrURL.length) ;
var arrParam = urlParam.split("&");
	if (type == "BROWSE") {
		frm = document.browseFrm;
		frm.action = "DMCS_SEARCH2.browseList";
	} else if (type == "SEARCH") {
		frm = document.searchFrm;
		frm.action = "DMCS_SEARCH2.searchList";
	}	else if (type == "ADVANCED") {
		frm = document.advancedSearchFrm;
		frm.action = "DMCS_SEARCH2.searchList";
	}
	for (var i=0; i<arrParam.length; i++) {
		param = arrParam[i].split("=");
		if ((param[0] == "pc_language")||(param[0] == "pc_type") || (param[0] == "pc_collection") || (param[0] == "pc_browse")) {
			eval("identifyListValue(frm." + param[0]+ ", \"" + decodeURIComponent(param[1]) + "\")");
		} else {
			eval("frm." + param[0] + ".value = \"" + decodeURIComponent(param[1]) + "\"");
		}
	}
	frm.submit();
}
function removeSavedSearch(id, width) {
//var frm = document.signOnForm;
//var lstDate = frm.pc_date.options[frm.pc_date.selectedIndex].value;
//var result = "";
//var valCookie = parent.getTxt(ias_dad_dmcs + "LIB_COOKIE.isValCookie", "GET", true);
		/*if (parent.trim(valCookie) != "1") {
			userAccount();
			showMsg("msgdesc17");
			document.signOnForm.pc_username.focus();
		} else {*/
			//if (confirm(document.getElementById("msgdesc14").innerHTML)) {
			if (confirm("Are you sure you want to delete the record?")) {
				params = {"pn_ssId": id};
				$jq.ajax({
					url: ias_dad_dmcs + "DMCS_SEARCH.removeSavedSearch",
					data: params,
					type: "POST",
					dataType: "plain",
					success: function (data) {
						data = data.replace(/\n/g, '').replace(/ /g, '');
						if (data != "1") {
							if (data == 0) {
								//showMsg("msgdesc17", result);
								alert("Session expired. Please sign in to the system.");
								location.reload();
							}	else {
								//showMsg("msgdesc10", result);
								alert("Sorry, fail to remove record.");
							}
							return false;
						} else {
							getSavedSearchList(width, 'DEL');
							//showMsg("msgdesc8");
							alert("Record has been removed successfully.");
						}
					},
					error:  function(xhr) {
					  if (xhr.responseText){
					    throw new Error("Remove Saved Search failed. Malformed WS resonse.");
					  }
					  return;
					}
				});
			}
		//}
}
function getSavedSearchList(width, action) {
var frm = document.saveSearch;
var params = "";
if (typeof(action) == "undefined")
	params = {"pc_date" : frm.pc_date.options[frm.pc_date.selectedIndex].value};
if ((typeof(width) != "undefined") && (width != "")) {
	if (params == "") params = {"pn_width" : width};
	else params.pn_width = width;
}
$jq.ajax({
	url: ias_dad_dmcs + 'DMCS_SEARCH2.getChangeSaveSearchList',
	data: params,
	type: 'POST',
	dataType: "plain",
	success: function (data) {
		if (data != 0) {
			//$jq('#savedSearch').html(data);
			$jq('#savedsearchpane').html(data);
		} else {
			if (typeof(document.searchFrm.pc_from) == "undefined") {
				//showMsg("msgdesc17", result);
				alert("Session expired. Please sign in to the system.");
				location.reload();
			} else {
				location.replace(ias_dad_dmcs+"DMCS_LOCATION.sessionExpired");
			}
		}
	},
	error:  function(xhr) {
	  if (xhr.responseText){
	    throw new Error("Save Search List failed. Malformed WS resonse.");
	  }
	  return;
	}
});
}
	