var MEMSQL;
var MEMSQLCOLS;
function m23(type){
	menu.hide();
	if(type == 'list'){
		var SQL = "select '1',id_,barcode_,title_,forename_,surname_,category_,status_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,DATE_FORMAT(joined_,'%d/%m/%Y') as joined_,DATE_FORMAT(dob_,'%d/%m/%Y') as dob_,email_,charge_,reason_,trap_ from members";
		var SQLCOLS = "id_,barcode_,title_,forename_,surname_,category_,status_,expires_,joined_,dob_,email_,charge_,reason_,trap_";
		GridDiv("Full membership list");
		MEMSQL = SQL;
		MEMSQLCOLS = SQLCOLS;
	}
	else if(type == 'expired'){
		var SQL = "SELECT DISTINCT  '1',members.id_,members.barcode_,title_,forename_,surname_,category_,status_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,DATE_FORMAT(joined_,'%d/%m/%Y') as joined_,DATE_FORMAT(dob_,'%d/%m/%Y')as dob_,email_,charge_,reason_,trap_ FROM members" +
		" WHERE NOT EXISTS (SELECT * FROM copies WHERE copies.borrower_ = members.barcode_ and copies.status_ = 'LOA')  and expires_ <= '" + SetDate(GetDate()) + "'";
		var SQLCOLS = "id_,barcode_,title_,forename_,surname_,category_,status_,expires_,joined_,dob_,email_,charge_,reason_,trap_";
		GridDiv("Expired members without loans");
		MEMSQL = SQL;
		MEMSQLCOLS = SQLCOLS;
	}
	else if(type == 'loans'){
		var SQL = "SELECT DISTINCT  '1',members.id_,members.barcode_,title_,forename_,surname_,category_,status_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,DATE_FORMAT(joined_,'%d/%m/%Y') as joined_,DATE_FORMAT(dob_,'%d/%m/%Y') as dob_,email_,charge_,reason_,trap_ FROM members" +
		" WHERE EXISTS (SELECT * FROM copies WHERE copies.borrower_ = members.barcode_ and copies.status_ = 'LOA')  and (expires_ <= '" + SetDate(GetDate()) + "' or expires_ is null)";
		var SQLCOLS = "id_,barcode_,title_,forename_,surname_,category_,status_,expires_,joined_,dob_,email_,charge_,reason_,trap_";
		GridDiv("Expired members with loans");
		MEMSQL = SQL;
		MEMSQLCOLS = SQLCOLS;
	}
	else if(type == 'active'){
		var SQL = "SELECT DISTINCT  '1',members.id_,members.barcode_,title_,forename_,surname_,category_,status_,DATE_FORMAT(expires_,'%d/%m/%Y') as expires_,DATE_FORMAT(joined_,'%d/%m/%Y') as joined_,DATE_FORMAT(dob_,'%d/%m/%Y') as dob_,email_,charge_,reason_,trap_ FROM members" +
		" WHERE EXISTS (SELECT * FROM copies WHERE copies.borrower_ = members.barcode_ and copies.status_ = 'LOA')";
		var SQLCOLS = "id_,barcode_,title_,forename_,surname_,category_,status_,expires_,joined_,dob_,email_,charge_,reason_,trap_";
		GridDiv("Members with loans");
		MEMSQL = SQL;
		MEMSQLCOLS = SQLCOLS;
	}

	var	membermenu = new dhtmlXMenuObject();
	membermenu.setImagePath("codebase/imgs/");
	membermenu.setIconsPath("imgs/");
	membermenu.renderAsContextMenu();
	membermenu.loadXML("_contextm.xml");
	GridStyle('800px','260px');
	var mygrid;
	mygrid = new dhtmlXGridObject('gridholder');
	mygrid.attachEvent("onXLE", function() {
		showLoading(false);
	});
    mygrid.attachEvent("onXLS", function() {
        showLoading(true);
    });
 	mygrid.setHeader("&nbsp;,Id,Barcode,Title,Forename,Surname,Category,Status,Expires,Joined,Dob,Email,Charge,Reason,Trap"); 
	mygrid.setColTypes("sub_row_grid,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
	mygrid.setInitWidths("30,80,80,80,80,80,80,80,80,80,80,80,80,80,80"); 
	mygrid.setColAlign("left,left,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,connector,connector");
	SQLCOLS = "1," + SQLCOLS;
	mygrid.enableContextMenu(membermenu);
	GridInit(mygrid,SQL,SQLCOLS);
	global_mygrid = mygrid;
	AddPrintButton(mygrid);
	AddExportButton(SQL,SQLCOLS,'orders');
	AddNewButton(mygrid,'members',"m211.xml",SQLCOLS,"barcode_",600,550,SQL);
//add the address sub grid
	mygrid.attachEvent("onSubGridCreated",function(subgrid,row_id,ind,value){
		var	addressmenu = new dhtmlXMenuObject();
		addressmenu.setImagePath("codebase/imgs/");
		addressmenu.setIconsPath("imgs/");
		addressmenu.renderAsContextMenu();
		addressmenu.loadXML("_contextm1.xml");
		subgrid.setHeader("Id,Barcode,Address,,,,,Post Code,Use"); 
		subgrid.setColAlign("left,left,left,left,left,left,left,left,left"); 
        subgrid.setInitWidths("60,60,80,80,80,80,80,80,80"); 
        subgrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro"); 
        subgrid.setSkin("blue"); 
        subgrid.enableContextMenu(addressmenu);
        subgrid.init();
    	global_mysubgrid = subgrid;
        var myId = mygrid.cellById(row_id, 2).getValue();
        GetAddressLines(myId,subgrid);
        addressmenu.attachEvent("onClick", function(menuitemId, type){
        	var SQLCOLS = "id_,barcode_,adr1_,adr2_,adr3_,adr4_,adr5_,pcode_,use_";
        	var data = global_mysubgrid.contextID.split("_");
    	    var line ='';
            var a = new Array();
        	a = SQLCOLS.split(',');
        	ClearRecord();
        	for(var i=0;i<a.length;i++){
        		var myField = global_mysubgrid.cellById(data[0], i).getValue();
        		line += myField + ",";
        	}
            eval(menuitemId);
    	    return true;
      	});
     });

	membermenu.attachEvent("onClick", function(menuitemId, type){
	    var data = global_mygrid.contextID.split("_");
	    var line ='';
        var a = new Array();
    	a = SQLCOLS.split(',');
    	ClearRecord();
    	for(var i=0;i<a.length;i++){
    		var myField = global_mygrid.cellById(data[0], i).getValue();
    		line += myField + ",";
    	}
        eval(menuitemId);
	    return true;
  	});
}

function GetAddressLines(id,subgrid){		//order id
    var SQL = "select id_,barcode_,adr1_,adr2_,adr3_,adr4_,adr5_,pcode_,use_ from address where barcode_ = '" + id + "'";
	var SQLCOLS = "id_,barcode_,adr1_,adr2_,adr3_,adr4_,adr5_,pcode_,use_";
	var result = new Array();
	AjaxSql("tab",SQL,SQLCOLS,result);
	var cnt = result[0];
	var v = SQLCOLS.split(',');
	var SIZE = v.length;
	if(cnt > 0){
		for(var j=0;j<cnt;j++){
			var pos = (j*SIZE)+1;
			var dlist = '';
			for(i=0;i<SIZE;i++){
				var x = result[pos+i];
				if( x == "0000-00-00")
					x = GetDate();
				dlist += x + ',';
			}
			subgrid.addRow(j,dlist);
			subgrid.setRowTextStyle(j, "color: green; ");
		}	
	}

}
function m23cm1(line){
	currentline_ = 1;
	InitOrderLines();
	order_lines[0] = 0;
	var dhxWins,w1,	tabbar;
	dhxWins = new dhtmlXWindows();
    dhxWins.enableAutoViewport(true);
    dhxWins.setImagePath("imgs/");
    w1 = dhxWins.createWindow("w1", 100, 100, 700, 450);
    dhxWins.attachEvent("onClose", function(win){
    	global_mygrid.clearAll();
    	var SQLCOLS = "1," + MEMSQLCOLS;
    	global_mygrid.loadXML("connector.php?cmd="+MEMSQL+"&cols="+SQLCOLS+"&");
    	return true; 
    });
  
    w1.setText("Enter Records");
    tabbar = w1.attachTabbar();
    tabbar.setSkin("dhx_skyblue");
    tabbar.setImagePath("imgs/");
    tabbar.attachEvent("onXLE", function() { //row_id will be the first row
    	showLoading(false);
        SetMouseKeys();
    	SetValidator();
    	GoClearAll("isbn_");
    	MakeDisableOnNew();
    	ClearRecord();
    	$("#barcode_").val(line.split(',')[2]);
    	GoToField("#adr1_");
    });
    tabbar.attachEvent("onXLS", function() {
        showLoading(true);
    });
    tabbar.loadXML("m212.xml");
} 

function m23cm2(line){
	var dhxWins,w1,	tabbar;
	dhxWins = new dhtmlXWindows();
    dhxWins.enableAutoViewport(true);
    dhxWins.setImagePath("imgs/");
    w1 = dhxWins.createWindow("w1", 100, 100, 600, 550);
    dhxWins.attachEvent("onClose", function(win){
    	global_mygrid.clearAll();
    	var SQLCOLS = "1," + MEMSQLCOLS;
    	global_mygrid.loadXML("connector.php?cmd="+MEMSQL+"&cols="+SQLCOLS+"&");
    	return true; 
    });
    w1.setText("Enter Records");
    tabbar = w1.attachTabbar();
    tabbar.setSkin("dhx_skyblue");
    tabbar.setImagePath("imgs/");
    tabbar.attachEvent("onXLE", function() { //row_id will be the first row
        showLoading(false);
        var a = new Array();
    	a = MEMSQLCOLS.split(',');
    	ClearRecord();
    	for(var i=0;i<a.length;i++){
    		var myField = line.split(',')[i+1];
    		$("#" + a[i]).val(myField);
    	}
    	SetMouseKeys();
    	SetValidator();
    	MakeDisable();
    	GoToField("#title_");
	});
    tabbar.attachEvent("onXLS", function() {
        showLoading(true);
    });
    tabbar.loadXML("m211.xml");

} 
function m23cm3(line){
	var dhxWins,w1,	tabbar;
	dhxWins = new dhtmlXWindows();
    dhxWins.enableAutoViewport(true);
    dhxWins.setImagePath("imgs/");
    w1 = dhxWins.createWindow("w1", 100, 100, 600, 450);
    dhxWins.attachEvent("onClose", function(win){
    	global_mygrid.clearAll();
    	var SQLCOLS = "1," + MEMSQLCOLS;
    	global_mygrid.loadXML("connector.php?cmd="+MEMSQL+"&cols="+SQLCOLS+"&");
    	return true; 
    });
    w1.setText("Enter Records");
    tabbar = w1.attachTabbar();
    tabbar.setSkin("dhx_skyblue");
    tabbar.setImagePath("imgs/");
    tabbar.attachEvent("onXLE", function() { //row_id will be the first row
    	var SQLCOLS = "id_,barcode_,adr1_,adr2_,adr3_,adr4_,adr5_,pcode_,use_";
    	showLoading(false);
        var a = new Array();
    	a = SQLCOLS.split(',');
    	ClearRecord();
    	for(var i=0;i<a.length;i++){
    		var myField = line.split(',')[i];
    		$("#" + a[i]).val(myField);
    	}
    	SetMouseKeys();
    	SetValidator();
    	MakeDisable();
    	GoToField("#adr1_");
	});
    tabbar.attachEvent("onXLS", function() {
        showLoading(true);
    });
    tabbar.loadXML("m212.xml");

} 


function GoMember(){
	var myValue = $("#borrower_box").val();
	if(myValue != ''){
		var copyfrom = $("#copyfrom").val(); 
		Populate("gophptable.php",copyfrom,"barcode_",myValue);
		var myDate = $("#joined_").val();
		myDate = UnSetDate(myDate);
		$("#joined_").val(myDate);
		var myDate = $("#expires_").val();
		myDate = UnSetDate(myDate);
		$("#expires_").val(myDate);
		var myDate = $("#dob_").val();
		myDate = UnSetDate(myDate);
		$("#dob_").val(myDate);

	   	setTimeout( function() { 
			$("#title_").focus(); 
			} , 500);
	}
}

function GoMemberCharge(){
	var myValue = $("#borrower_box").val();
	if(myValue != ''){
		var copyfrom = $("#copyfrom").val(); 
		Populate("gophptable.php",copyfrom,"barcode_",myValue);
		setTimeout( function() { 
			$("#charge_").focus(); 
			} , 500);
	}
}
function GoNextMember(){
   	$.ajax({
     	   	method: "get",url: "nextmemberbarcode.php",
       	   	async: false,
       	   	beforeSend: function(){
       			$('#load_barcode_').html('<img src="/images/wait.gif" />');
       	      	$("#load_barcode_").show("fast");
       	   	},
       	    complete: function(){ 
       			$('#load_barcode_').html('');
       	   		$("#load_barcode_").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){
	        	   	var myData = $(this).find("barcode").text();
	        		$("#barcode_").val(myData);
	        	});
       	   	},
       	   	error: function(){
       	   		alert('here');
       	   	}
        });
   	setTimeout( function() { 
		$("#title_").focus(); 
		} , 500);
}

function GoMemberAuthority(fieldname,header,phpfile,seed,popit,multi,finder){
	var copyfrom='';
	var ihtml=	"<div>Please choose the correct term</div>" +
	"	<div id=\"combo\" style=\"width:200px; height:15px;\"></div>";
	var myValue = $(popit).val();
	if(myValue != ''){		//see if there is a valid entry already in the box
		GoMember();
	}
	else{
		Tip(
		ihtml,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,	
		TITLE, header + ' Authority', PADDING, 9,FIX, [570, 300],
		WIDTH,400,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		var z = new dhtmlXCombo("combo", "alfa", 400);
		z.enableFilteringMode(true, phpfile, true, true);
		z.setComboText(seed);
		z.setOptionHeight(300);
		if(finder != '')		//see if there is a valid entry already in the box
			copyfrom = $("#copyfrom").val();
		z.attachEvent("onChange", function(value,state){MemberPop(z);});
	}
}


function GoAddressAuthority(fieldname,header,phpfile,seed,popit,multi,finder){
	var copyfrom='';
	var ihtml=	"<div>Please choose the correct term</div>" +
	"	<div id=\"combo\" style=\"width:200px; height:15px;\"></div>";
	var myValue = $(popit).val();
	if(myValue == '')
		myValue = seed;
		Tip(
		ihtml,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,	
		TITLE, header + ' Authority', PADDING, 9,FIX, [570, 300],
		WIDTH,400,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		var z = new dhtmlXCombo("combo", "alfa", 400);
		z.enableFilteringMode(true, phpfile, true, true);
		z.setComboText(myValue);
		z.setOptionHeight(300);
		if(finder != '')		//see if there is a valid entry already in the box
			copyfrom = $("#copyfrom").val();
		z.attachEvent("onChange", function(value,state){AddressPop(z);});
}
function GoMemberChargeAuthority(fieldname,header,phpfile,seed,popit,multi,finder){
	var copyfrom='';
	var ihtml=	"<div>Please choose the correct term</div>" +
	"	<div id=\"combo\" style=\"width:200px; height:15px;\"></div>";
	var myValue = $(popit).val();
	if(myValue == '')
		myValue = seed;
		Tip(
		ihtml,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,	
		TITLE, header + ' Authority', PADDING, 9,FIX, [570, 300],
		WIDTH,400,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		var z = new dhtmlXCombo("combo", "alfa", 400);
		z.enableFilteringMode(true, phpfile, true, true);
		z.setComboText(myValue);
		z.setOptionHeight(300);
		if(finder != '')		//see if there is a valid entry already in the box
			copyfrom = $("#copyfrom").val();
		z.attachEvent("onChange", function(value,state){MemberChargePop(z);});
}

function GoAddress(fieldname,header,phpfile,seed,popit,multi,finder){
	var copyfrom='';
	var ihtml=	"<div>Please choose the correct term</div>" +
	"	<div id=\"combo\" style=\"width:200px; height:15px;\"></div>";
	var myValue = $(popit).val();
	if(myValue == '')
		return;
	Tip(
		ihtml,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,	
		TITLE, header + ' Authority', PADDING, 9,FIX, [570, 300],
		WIDTH,400,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		var z = new dhtmlXCombo("combo", "alfa", 400);
		z.enableFilteringMode(true, phpfile, true, true);
		z.setComboText(myValue);
		z.setOptionHeight(300);
		z.attachEvent("onChange", function(value,state){AddressPop(z);});
}

function MemberPop(z){
	var x = z.getComboText().split('\t');
	$("#borrower_box").val(x[3]);
	UnTip();
}
function AddressPop(z){
	var x = z.getComboText().split('\t');
	$("#id_").val(x[3]);
	UnTip();
	var copyfrom = $("#copyfrom").val(); 
	Populate("gophptable.php",copyfrom,"id_",$("#id_").val());
	GoToField("#adr1_")
}
function MemberChargePop(z){
	var x = z.getComboText().split('\t');
	$("#barcode_").val(x[3]);
	UnTip();
	var copyfrom = $("#copyfrom").val(); 
	Populate("gophptable.php",copyfrom,"barcode_",$("#barcode_").val());
	GoToField("#charge_")
}
