var SQL_OVERDUE_COLS = "borrower_,surname_,forename_,barcode_,title_,return_,price_,fine_";
var SQL_OVERDUE = "select borrower_,surname_,forename_,copies.barcode_,catalogue.title_,DATE_FORMAT(return_,'%d/%m/%Y') as return_,price_,fine_  from copies,members,catalogue  where copies.status_ = 'LOA' and members.category_ like '$borrowercategory' and copies.category_ like '$itemcategory' and overdue_ = '$overdue' and return_ >= '$startreturn' and return_ <= '$endreturn' and members.barcode_ = copies.borrower_ and copies.catalogue_ = catalogue.id_ order by borrower_"; 
//var SQL_OVERDUE_COLS = "id_,isbn_,authors_,title_";
//var SQL_OVERDUE = "select id_,isbn_,authors_,title_ from catalogue"; 

function m122(count){
	menu.hide();
	OverdueParameters(count);
}
function m129(period){
	menu.hide();
	StatisticsParameters(period);
}
function m1296(group){
	menu.hide();
	HistoryParameters(group);
}
function m130(){
	menu.hide();
	StockParameters();
}
function m131(){
	menu.hide();
	ScanParameters();
}
function m140(group){
	menu.hide();
	ListParameters(group);
}


function GoExpire(){
	var msg = "Are you sure you want to remove these expired members"
	var where = window.confirm(msg);
	if (where){
	}
//		var SQL = "select barcode_ from copies where status_ = 'SHE' and catalogue_=" +  global_item_catalogue;
	//	var SQLCOLS = "barcode_";
		//AjaxSql("item_box",SQL,SQLCOLS,result);		//results in result[i] etc
	//	if(result[0] != '0'){
		//	alert("Not reserved. Copy " + result[1] + " is on the shelf");
		//	return(false);
	//	}
}
	
function m132(){
	menu.hide();
	var SQL = "select barcode_,title_,site_,location_,shelf_,category_,class_,price_,trap_ " +
		"from copies,catalogue where copies.catalogue_ = catalogue.id_ and status_ = 'MIS'";
	var SQLCOLS = "barcode_,title_,site_,location_,shelf_,category_,class_,price_,trap_";
	GridDiv("Missing Items");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Barcode,Title,Site,Location,Shelf,Category,Class,Price,Trap"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,215,70,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,'missing');
}
function m1125(){
	menu.hide();
	var SQL = "select id_,renew_,issn_,title_,class_,publisher_,media_,holding_,catalogued_,subprice_,startsub_ from catalogue where media_ = 'Journal' and renew_ < now() order by title_ asc"; 
	var SQLCOLS = "id_,renew_,issn_,title_,class_,publisher_,media_,holding_,catalogued_,subprice_,startsub_";
	GridDiv("Journal subscription Renewals");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Id,Renew,Issn,Title,Class,Publisher,Media,Holding,Catalogued,Subprice,Startsub"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,70,60,200,90,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector");
	mygrid.loadXML("connector.php?cmd="+SQL+"&cols="+SQLCOLS+"&");
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,1);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,'journals');
}
function m1126(){
	var SQL = "select barcode_,title_,receipt_,journalyear_,journalissue_,site_,location_,shelf_ from copies,catalogue where copies.catalogue_ = catalogue.id_ and media_ = 'Journal'";
	menu.hide();
	var SQLCOLS = "barcode_,title_,receipt_,journalyear_,journalissue_,site_,location_,shelf_";
	GridDiv("Missing Journal issues");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Barcode,Title,Receipt,Year,Issue,Site,Location,Shelf"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,215,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"fines");
}


function m1298(){
	menu.hide();
	var SQL = "select borrower_,name_,barcode_,title_,tdate_,fine_,transact_  from fines";
	var SQLCOLS = "borrower_,name_,barcode_,title_,tdate_,fine_,transact_";
	GridDiv("Fines History");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Name,Barcode,Title,Date,Fine,Transaction"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,70,215,70,70,120"); 
	mygrid.setColAlign("left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"history");
}
function m1210(){
	var SQL= "select borrower_,CONCAT_WS(' ',surname_,forename_) as name_,members.category_,copies.barcode_,catalogue.title_,DATE_FORMAT(issue_,'%d/%m/%Y') as issue_,DATE_FORMAT(return_,'%d/%m/%Y') as return_,price_,finerate_,ceiling_,fineperiod_,fine_ from copies,catalogue,members where copies.catalogue_=catalogue.id_ and members.barcode_=copies.borrower_ and copies.status_ = 'LOA'" ;
	var SQLCOLS = "borrower_,name_,category,barcode_,title_,issue_,return_,price_,finerate_,ceiling_,fineperiod_,fine_";
	menu.hide();
	GridDiv("Current loans");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Name,Category,Barcode,Title,Issue,Return,Price,Rate,Ceiling,Period,Fine"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,70,70,215,70,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"current");
}

function m1211(){
	var SQL= "select borrower_,CONCAT_WS(' ',surname_,forename_) as name_,members.category_,copies.barcode_,catalogue.title_,issue_,return_,price_,finerate_,ceiling_,fineperiod_,fine_ from copies,catalogue,members where copies.catalogue_=catalogue.id_ and members.barcode_=copies.borrower_ and fine_>0" ;
	var SQLCOLS = "borrower_,name_,category,barcode_,title_,issue_,return_,price_,finerate_,ceiling_,fineperiod_,fine_";
	menu.hide();
	GridDiv("Outstanding fines");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Name,Category,Barcode,Title,Issue,Return,Price,Rate,Ceiling,Period,Fine"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,70,70,215,70,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"fines");
}
function m1212(){
	var SQL= "select barcode_,CONCAT_WS(' ',surname_,forename_) as name_,category_,tutor_,joined_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,charge_,reason_,trap_ from members where charge_ >0" ;
	var SQLCOLS = "barcode_,name_,category_,tutor_,joined_,expires_,charge_,reason_,trap_";
	menu.hide();
	GridDiv("Outstanding charges");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Barcode,Name,Category,Tutor,Joined,Expires,Charge,Reason,Trap"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,100,70,70,70,70,70,70,150"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"charges");
}
function m1213(){
	var SQL = "select id_,category_,loans_,renews_,reserves_,ceiling_,trap_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,period_,DATE_FORMAT(return_,'%d/%m/%Y') as return_,trap_ from item_category";
	var SQLCOLS = "id_,category_,loans_,renews_,reserves_,ceiling_,expires_,period_,return_,trap_";
	menu.hide();
	GridDiv("Lending Privileges for stock items");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Id,Category,Loans,Renews,Reserves,Ceiling,Expires,Period,Return,Trap"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,100,70,70,70,70,70,70,70,150"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"privileges");
}

function GoShelfGrid(){

	var site_ = $("#site_").val();
	var location_ = $("#location_").val();
	var shelf_ = $("#shelf_").val();
	var class_ = $("#class_").val();
	var media_ = $("#media_").val();
	var SQL = "select barcode_,title_,site_,location_,shelf_,category_,class_,price_,trap_ " +
	 		"from copies,catalogue where copies.catalogue_ = catalogue.id_ and " +
	 		"site_ like '" + site_ + "' and " +
	 		"location_ like '" + location_ +  "' and " +
	 		"shelf_ like '" + shelf_ + "' and " +
	 		"class_ like '" + class_ + "' and " +
	 		"media_ like '" + media_ + "' and " +
	 		"status_ = 'SHE'";
	var SQLCOLS = "barcode_,title_,site_,location_,shelf_,category_,class_,price_,trap_";
	GridDiv("Expected Stock");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Barcode,Title,Site,Location,Shelf,Category,Class,Price,Trap"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,215,70,70,70,70,70,70,150"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"expected");
}

function GridDiv(msg){

$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\">" +
			"<div align=\"center\"  id = \"headholder\" ></div>" +
		"<div id=\"gridholder\" style=\"width:100%;height:260px;margin-top:5px;margin-bottom:10px;\"></div>" +
	"<div style=\"background-color: #EFF2FF;\" id=\"pagingarea\"></div>" +
	"<div  style=\"background-color: #EFF2FF;\" id=\"infoarea\"></div>" +
	"<div style=\"background-color: #EFF2FF;\" id=\"groupholder\"></div></div>");
	$("#workarea").css("background", "url(images/header_bg.gif) repeat 0px 0px"); 

	
}
function GridStyle(width,height){
	var elem = document.getElementById("gridholder");
 	elem.style.width = width;
 	elem.style.height = height;
}

function GridInit(mygrid,SQL,SQLCOLS){
	mygrid.attachEvent("onXLE", function() {
		showLoading(false);
	});
    mygrid.attachEvent("onXLS", function() {
        showLoading(true);
    });
 	mygrid.setImagePath("imgs/");
 	mygrid.setSkin("light"); 
	mygrid.init();
	mygrid.enableColumnAutoSize(true);
	mygrid.enablePaging(true,50,10,"pagingarea",true);
	mygrid.setPagingSkin("bricks");
	mygrid.loadXML("connector.php?cmd="+SQL+"&cols="+SQLCOLS+"&");
}

function AddGroupButton(mygrid,groupcol){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","group_click");
	img.src = "images/group.jpg";
	img.border = 0;
	img.title = "Group by borrower";
	addEvent(img, "click",function() {GoGroup(mygrid,groupcol);});		
	z.appendChild(img);
}

function AddPrintButton(mygrid){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","group_click");
	img.src = "images/print.jpg";
	img.border = 0;
	img.title = "Print friendly";
	addEvent(img, "click",function() {	GoPrint(mygrid);});		
	z.appendChild(img);
}

function AddAmendButton(mygrid,table,formname,COLS,fieldname,h,w){
	if($("#amend_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","amend_click");
	img.src = "images/amend.jpg";
	img.border = 0;
	img.title = "Amend checked records";
	addEvent(img, "click",function() {	LoadAmend(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddSubAmendButton(mygrid,table,formname,COLS,fieldname,h,w){
	if($("#amenditem_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","amenditem_click");
	img.src = "images/item.jpg";
	img.border = 0;
	img.title = "Amend subgrid checked records";
	addEvent(img, "click",function() {	LoadSubAmend(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);

}
function AddReceiptButton(mygrid,table,formname,COLS,fieldname,h,w){
	if($("#receipt_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","receipt_click");
	img.src = "images/receipt.jpg";
	img.border = 0;
	img.title = "Receipt journal issue";
	addEvent(img, "click",function() {	GoCopy(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddOrderReceiptButton(mygrid,table,formname,COLS,fieldname,h,w){
	if($("#orderreceipt_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","orderreceipt_click");
	img.src = "images/receipt.jpg";
	img.border = 0;
	img.title = "Receipt purchase order";
	addEvent(img, "click",function() {	GoOrderCopy(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddMemberButton(mygrid,table,formname,COLS,fieldname,h,w){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","member_click");
	img.src = "images/member.jpg";
	img.border = 0;
	img.title = "Add member to route";
	addEvent(img, "click",function() {	GoCopy(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddNewButton(mygrid,table,formname,COLS,fieldname,h,w,SQL){
	if($("#new_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","new_click");
	img.src = "images/new.jpg";
	img.border = 0;
	img.title = "Add new record";
	addEvent(img, "click",function(){GoNew(mygrid,table,formname,COLS,fieldname,h,w,SQL);});		
	z.appendChild(img);
}
function AddHelpButton(context,header){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","new_click");
	img.src = "images/help.jpg";
	img.border = 0;
	img.title = "Help";
	addEvent(img, "click",function(){GoExplain(context,header);})		
	z.appendChild(img);
}
function AddNewOrderLineButton(mygrid,table,formname,COLS,fieldname,h,w){
	if($("#orderline_click").attr('id'))
		return;
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","orderline_click");
	img.src = "images/newitem.jpg";
	img.border = 0;
	img.title = "Add new order line";
	addEvent(img, "click",function() {	GoNew(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddCopyButton(mygrid,table,formname,COLS,fieldname,h,w){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","copy_click");
	img.src = "images/copy.jpg";
	img.border = 0;
	img.title = "Add a new copy to checked record";
	addEvent(img, "click",function() {	GoCopy(mygrid,table,formname,COLS,fieldname,h,w);});		
	z.appendChild(img);
}
function AddRemoveButton(){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","remove_click");
	img.src = "images/remove.jpg";
	img.border = 0;
	img.title = "Remove expired members";
	addEvent(img, "click",function() {GoExpire();});		
	z.appendChild(img);
}

function AddExportButton(SQL,SQLCOLS,FILE){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","export_click");
	img.src = "images/export.jpg";
	img.border = 0;
	img.title = "Export to clipboard";
	addEvent(img, "click",function() {	GoExport(SQL,SQLCOLS,FILE);});		
	z.appendChild(img);
}
function AddReportButton(borrowerCategory,itemCategory,startReturn,endReturn,overdue_count){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","report_click");
	img.src = "images/report.jpg";
	img.border = 0;
	img.title = "Print overdue notices";
	addEvent(img, "click",function() {	GoOverdueReport(borrowerCategory,itemCategory,startReturn,endReturn,overdue_count);});	
	z.appendChild(img);
}
function AddEmailButton(){
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","email_click");
	img.src = "images/email.jpg";
	img.border = 0;
	img.title = "Email overdue notices";
	addEvent(img, "click",function() {	GoEmail();});		
	z.appendChild(img);
}

function AddButtons(mygrid,SQL,SQLCOLS,groupcol){
	var z = document.getElementById("groupholder");
	//add the group button	
		var img = document.createElement("img");
		img.setAttribute("id","group_click");
		img.src = "images/group.jpg";
		img.border = 0;
		img.title = "Group by borrower";
		addEvent(img, "click",function() {GoGroup(mygrid,groupcol);});		
		z.appendChild(img);
	//add the print button	
		var z = document.getElementById("groupholder");
		var img = document.createElement("img");
		img.setAttribute("id","print_click");
		img.src = "images/print.jpg";
		img.border = 0;
		img.title = "Print friendly";
		addEvent(img, "click",function() {	GoPrint(mygrid);});		
		z.appendChild(img);
	//add the export button
		var z = document.getElementById("groupholder");
		var img = document.createElement("img");
		img.setAttribute("id","export_click");
		img.src = "images/export.jpg";
		img.border = 0;
		img.title = "Export to clipboard";
		addEvent(img, "click",function() {	GoExport(mygrid,"connector.php?cmd="+SQL+"&cols="+SQLCOLS+"&");});		
		z.appendChild(img);
//add the report button
//		var z = document.getElementById("groupholder");
//		var img = document.createElement("img");
//		img.setAttribute("id","report_click");
//		img.src = "images/report.jpg";
//		img.border = 0;
//		img.title = "Print overdue notices";
//		addEvent(img, "click",function() {	GoOverdueReport(borrowerCategory,itemCategory,startReturn,endReturn,overdue_count);});	
//		z.appendChild(img);
}

function AddSmallButtons(mygrid,SQL,SQLCOLS,groupcol){
//add the print button	
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","print_click");
	img.src = "images/print.jpg";
	img.border = 0;
	img.title = "Print friendly";
	addEvent(img, "click",function() {	GoPrint(mygrid);});		
	z.appendChild(img);
//add the export button
	var z = document.getElementById("groupholder");
	var img = document.createElement("img");
	img.setAttribute("id","export_click");
	img.src = "images/export.jpg";
	img.border = 0;
	img.title = "Export to clipboard";
	addEvent(img, "click",function() {	GoExport(mygrid,"connector.php?cmd="+SQL+"&cols="+SQLCOLS+"&");});		
	z.appendChild(img);
}

function m125(){
	menu.hide();
	var SQL = "select borrower_,forename_,surname_,title_,reserved_,due_,notes_     from reserves where status_='COU'";
	var SQLCOLS = "borrower_,forename_,surname_,title_,reserved_,due_,notes_";
	GridDiv("Reserves waiting collection");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Surname,Forename,Title,Reserved,Due,Notes"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,90,310,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"reserves");
}

function m126(){
	menu.hide();
	var SQL = "select borrower_,forename_,surname_,title_,reserved_,due_,notes_     from reserves where status_='WAI'";
	var SQLCOLS = "borrower_,forename_,surname_,title_,reserved_,due_,notes_";
	GridDiv("Reserves waiting return");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Surname,Forename,Title,Reserved,Due,Notes"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,90,310,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector")
	mygrid.loadXML("connector.php?cmd="+SQL+"&cols="+SQLCOLS+"&");
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"reserves");
}
function m127(head,filter,exportfile){
	menu.hide();
	var SQL = "select barcode_,isbn_,class_,title_,category_,borrower_,issue_,location_,site_,shelf_  from copies,catalogue where copies.catalogue_ = catalogue.id_ and status_ = '" + filter + "'";
	var SQLCOLS = "barcode_,isbn_,class_,title_,category_,borrower_,issue_,location_,site_,shelf_";
	GridDiv(head);
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Barcode,Isbn,Class,Title,Category,Borrower,Last Issued,Location,Site,Shelf");
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,70,70,150,70,70,70,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,exportfile);
}

function GoStatistics(){
	var SQL = "select host_ from library"; 
	var SQLCOLS = "host_";  
	var result = new Array();
	AjaxSql("tab",SQL,SQLCOLS,result);
	var host = result[1];
	var period = $("#period_").val();
	var startDate = SetDate($("#startdate_").val());
	var endDate = SetDate($("#enddate_").val());
	var params = "startDate=" + startDate + "&" +
	"endDate=" + endDate;
	if(period== 'hour'){
		var printWin = window.open(
				"http://" + host + "/birt-viewer/" +
				"run?__report=statistic_hour.rptdesign&" +
				"__format=pdf&" + params ,
				"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	}
	else if(period == 'day'){
		var printWin = window.open(
			"http://" + host + "/birt-viewer/" +
			"run?__report=statistic_day.rptdesign&" +
			"__format=pdf&" + params ,
			"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	}
	else if(period == 'week'){
		var printWin = window.open(
			"http://" + host + "/birt-viewer/" +
			"run?__report=statistic_week.rptdesign&" +
			"__format=pdf&" + params ,
			"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	}
	else if(period == 'month'){
		var printWin = window.open(
			"http://" + host + "/birt-viewer/" +
			"run?__report=statistic_month.rptdesign&" +
			"__format=pdf&" + params ,
			"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	}
	else if(period == 'year'){
		var printWin = window.open(
			"http://" + host + "/birt-viewer/" +
			"run?__report=statistic_year.rptdesign&" +
			"__format=pdf&" + params ,
			"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	}
}

function StatisticsParameters(period){
	menu.hide();
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","statistics.div");
	SetMouseKeys();
	$(document).ready(function(){
		$("#enddate_").val(GetDate());
		$("#period_").val(period);
	});
	GoToField("#startdate_");
}

function OverdueParameters(overdue){
	menu.hide();
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","overdues.div");
	SetMouseKeys();
	$(document).ready(function(){
		$("#overdue_").val(overdue);
		$("#endreturn_").val(GetDate());
	});
	GoToField("#borrowercategory_");
}

function HistoryParameters(group){
	menu.hide();
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","history.div");
	SetMouseKeys();
	$(document).ready(function(){
		$("#group_").val(group);
		$("#enddate_").val(GetDate());
	});
	GoToField("#" + group);
}
function ListParameters(group){
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","lists.div");
	SetMouseKeys();
	$(document).ready(function(){
		$("#group_").val(group);
		$("#enddate_").val(GetDate());
	});
	GoToField("#" + group);
}

function StockParameters(){
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","stock.div");
	SetMouseKeys();
	SetValidator();
	GoToField("#site_");		
}

function ScanParameters(){
	$("#workbar").remove();
	$("#workarea").append("<div id=\"workbar\"></div>");
	loadTab("#workbar","scanner.div");
	SetMouseKeys();
	SetValidator();
	GoToField("#file_"); 
}
function GetScan(){
	var file_ = $("#file_").val();
	alert("Import file name is " + file_);
}

function GoHistoryGrid(){
	var borrower_ = $("#borrower_").val();
	var barcode_ = $("#barcode_").val();
	var group_ = $("#group_").val();
	var site_ = $("#site_").val();
	var borrowerCategory = $("#borrowercategory_").val();
	var itemCategory = $("#itemcategory_").val();
	var startDate = SetDate($("#startdate_").val());
	var endDate = SetDate($("#enddate_").val());

	GridDiv("Lending History");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	if(group_ == "borrower_"){
		var SQL = "select borrower_,name_,barcode_,title_,transact_,tdate_,ttime_,site_ from loanlog where " + 
		"borrower_ like '" + borrower_ + "' and " +
		"barcode_ like  '" + barcode_ + "' and " +
		"site_ like '" + site_ + "' and " +
		"bcat_ like '" + borrowerCategory + "' and " +
		"kcat_ like '" + itemCategory + "' and " +
		"tdate_ >= '" + startDate + "' and " +
		"tdate_ <= '" + endDate + "'";
		var SQLCOLS = "borrower_,name_,barcode_,title_,transact_,tdate_,ttime_,site_";
		mygrid.setHeader("Borrower,Name,Barcode,Title,Transaction,Date,Time,Site"); 
		mygrid.setInitWidths("70,90,70,215,70,70,70,70"); 
	}
	else{
		var SQL = "select barcode_,title_,borrower_,name_,transact_,tdate_,ttime_,site_" +
		" from loanlog order by borrower_,tdate_";
		var SQLCOLS = "barcode_,title_,borrower_,name_,transact_,tdate_,ttime_,site_";
		mygrid.setHeader("Barcode,Title,Borrower,Name,Transaction,Date,Time,Site"); 
		mygrid.setInitWidths("70,215,70,90,70,70,70,70"); 
	}

	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setColAlign("left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,"history");
}

function GoListGrid(){
	var class_ = $("#class_").val();
	var author_ = $("#author_").val();
	var subject_ = $("#subject_").val();
	var publisher_ = $("#publisher_").val();
	var media_ = $("#media_").val();
	var startDate_ = $("#startdate_").val();
	var endDate_ = $("#enddate_").val();
	var group_ = $("#group_").val();
	GridDiv("Stock Lists");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	var SQL = "select id_,left( class_, instr( concat( class_, ' ' ) , ' ' ) ) as class_,isbn_,title_,subjects_,authors_,editors_,edition_,pubyear_,pubcountry_,publisher_,media_,catalogued_ " +
	"from catalogue " +
	"where class_ like '" + class_ + "' and " +
	"media_ like '" + media_ + "' and " +
	"subjects_ like '" + subject_ + "' and " +
	"authors_ like '" + author_ + "' and " +
	"publisher_ like '" + publisher_ + "' and " +
	"catalogued_ >= '" + SetDate(startDate_) + "' and " +
	"(catalogued_ <= '" + SetDate(endDate_) + "'" + " or catalogued_ = '0000-00-00')";
	if(group_ == "class_"){
		var SQLCOLS = "id_,class_,isbn_,title_,subjects_,authors_,editors_,edition_,pubyear_,pubcountry_,publisher_,media_,catalogued_";
		mygrid.setHeader("Id,Class,Isbn,Title,Subject,Author,Editor,Edition,Year,Country,Publisher,Media,Date"); 
		mygrid.setInitWidths("70,70,70,215,90,90,70,70,70,70,70,70,70"); 
	}
	else if(group_ == "media_"){
		var SQLCOLS = "id_,media_,class_,isbn_,title_,subjects_,authors_,editors_,edition_,pubyear_,pubcountry_,publisher_,catalogued_";
 		mygrid.setHeader("Id,Media,Class,Isbn,Title,Subject,Author,Editor,Edition,Year,Country,Publisher,Date"); 
		mygrid.setInitWidths("70,70,70,90,215,90,70,70,70,70,70,70,70"); 
	}
	else if(group_ == "author_"){
		var SQLCOLS = "id_,authors_,class_,isbn_,title_,subjects_,editors_,edition_,pubyear_,pubcountry_,publisher_,media_,catalogued_";
 		mygrid.setHeader("Id,Author,Class,Isbn,Title,Subject,Editor,Edition,Year,Country,Publisher,Media,Date"); 
		mygrid.setInitWidths("70,70,70,90,215,90,70,70,70,70,70,70,70"); 
	}
	else if(group_ == "subject_"){
		var SQLCOLS = "id_,subjects_,class_,isbn_,title_,authors_,editors_,edition_,pubyear_,pubcountry_,publisher_,media_catalogued_";
 		mygrid.setHeader("Id,Subject,Class,Isbn,Title_,Author,Editor,Edition,Year,Country,Publisher,Media,Date"); 
		mygrid.setInitWidths("70,70,70,90,215,90,70,70,70,70,70,70,70"); 
	}
	else if(group_ == "publisher_"){
		var SQLCOLS = "id_,publisher_,class_,isbn_,title_,subjects_,authors_,editors_,edition_,pubyear_,pubcountry_,media_,catalogued_";
 		mygrid.setHeader("Id,Publisher,Class,Isbn,Title,Subject,Author,Editor,Edition,Year,Country,Media,Date"); 
		mygrid.setInitWidths("70,70,70,90,215,90,70,70,70,70,70,70,70"); 
	}
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setColAlign("left,left,left,left,left,left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQLCOLS);
	AddGroupButton(mygrid,1);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,group_ + " list");
}

function GoOverdueGrid(){
	var overdue_count = $("#overdue_").val();
	var borrowerCategory = $("#borrowercategory_").val();
	var itemCategory = $("#itemcategory_").val();
	var startReturn = SetDate($("#startreturn_").val());
	var endReturn = SetDate($("#endreturn_").val());
	
	var SQL = SQL_OVERDUE.replace("$overdue",overdue_count); 
	var SQL = SQL.replace("$borrowercategory",borrowerCategory); 
	var SQL = SQL.replace("$itemcategory",itemCategory); 
	var SQL = SQL.replace("$startreturn",startReturn); 
	var SQL = SQL.replace("$endreturn",endReturn); 
	GridDiv("Overdues");
	GridStyle('800px','260px');
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.setHeader("Borrower,Surname,Forename,Barcode,Title,Return,Price,Fine"); 
	mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("70,90,90,70,215,70,70,70"); 
	mygrid.setColAlign("left,left,left,left,left,left,left,left"); 
	mygrid.setColSorting("connector,connector,connector,connector,connector,connector,connector,connector")
	GridInit(mygrid,SQL,SQL_OVERDUE_COLS);
	AddGroupButton(mygrid,0);
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQL_OVERDUE_COLS,"overdues");
	AddReportButton(borrowerCategory,itemCategory,startReturn,endReturn,overdue_count);
	AddEmailButton();
}

function GoGroup(mygrid,col){
	mygrid.groupBy(col);
	var z = document.getElementById("group_click");
	z.src = "images/ungroup.jpg";
	z.alt = "Ungroup";
	removeEvent(z, "click",function() {GoGroup(mygrid,col);});		
	addEvent(z, "click",function() {GoUnGroup(mygrid,col);});		
}

function GoUnGroup(mygrid,col){
	mygrid.unGroup();
	var z = document.getElementById("group_click");
	z.src = "images/group.jpg";
	z.alt = "Group";
	removeEvent(z, "click",function() {GoUnGroup(mygrid,col);});		
	addEvent(z, "click",function() {GoGroup(mygrid,col);});	
}

function GoExport(SQL,SQLCOLS,FILE){
	var myData = '';
	$.ajax({
		type: "get",url: "goexport.php", data:"cmd=" + SQL + "&cols=" + SQLCOLS + "&file=" + FILE,
		async: false,
		beforeSend: function(){
			$("#tab").html('<img src="/images/wait.gif" />');
	      	$("#tab").show("fast");
	   	},
	    complete: function(){ 
			$("#tab").html('');
	   		$("#tab").hide("slow");
	   	},
		success: function(data){
			var xml;
			if($.browser.msie){
				if (typeof data == "string") {
					xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = false;
					xml.loadXML(data);
				} 
				else
					xml = data;	
			}
			else 
				xml = data;
			$(xml).find('record').each(function(x){
				myData = $(this).find("pkey").text();
				alert(myData);
			});
		},
		error: function(){
			alert("There has been an error");
			myData = "error";
		}
	});
	return(myData);
}

function GoPrint(mygrid){
	mygrid.printView();
}

function GoOverdueReport(borrowerCategory,itemCategory,returnStart,returnEnd,Overdue){
	var SQL = "select host_ from library"; 
	var SQLCOLS = "host_";  
	var result = new Array();
	AjaxSql("tab",SQL,SQLCOLS,result);
	var host = result[1];
	var params = "borrowerCategory=" + borrowerCategory + "&" +
	"itemCategory=" + itemCategory + "&" +
	"returnStart=" + returnStart + "&" +
	"returnEnd=" + returnEnd + "&" +
	"Overdue=" + Overdue;
	 
	var printWin = window.open(
			"http://" + host + "/birt-viewer/" +
			"run?__report=overdues_first.rptdesign&" +
			"__format=pdf&" + params ,
			"_blank", "width=700, height=300, location=no, menubar=yes, status=yes, toolbar=yes, scrollbars=yes, resizable=yes");
	
}
function GoRefresh(mygrid,cmd){
	mygrid.loadXML(cmd);
}