var selectResult;
var emptyString = /^\s*$/;
var global_admin = 'xsoft@btconnect.com';
var global_developer = 'xsoft@btconnect.com';
var global_xmlLog;
var global_priv = '';
var global_location = '';
var global_database = '';
var global_con = '';
var global_sql;
var global_sqlcols;
var glb_vfld;      // retain vfld for timer thread
var grid_overdues;
var grid_onloan;
var grid_run;
var grid_issues;
var grid_orders;
var grid_quick;
var checkThese = new Array("library","address","contact","email","login","password");
var checkTheseName = new Array("Library","Address","Contact","Email","Login","Password");
var saveThese = new Array("library","address","contact","telephone","email","code","login","password");
var SQL_ONLOAN = "select borrower_,surname_,forename_,barcode_,title_,DATE_FORMAT(return_,'%d/%m/%Y') as return_,price_  from catalogue  where status_ = 'LOA' order by borrower_";  
var SQL_ONLOAN_COLS = "borrower_,surname_,forename_,barcode_,title_,return_,price_";
var SQL_COPYFROM = "select isbn_,class_,authors_,editors_,title_,edition_,pubyear_,pubcountry_,subjects_,publisher_,media_,description_,series_,price_,keywords_,synopsis_,order_,notes_,category_,site_,ceiling_,finedelay_,shelf_ from catalogue,copies where catalogue.id_ = copies.catalogue_ and $param = '$param_value'";
var isdemo = true;
var contact_ = '';
var institution_  = ''; 
var address_ = '';
var telephone_ = ''; 
var myemail_ = ''; 
var institutionhome_ = '';
var domain_ = '';
var libraryweb_ = '';
var emailcontact_ = '';
var telephonecontact_ = '';
var logo_ = '';
var items_ = ''; 
var members_ = ''; 
var login_ = ''; 
var password_ = ''; 
var i1_ = ''; 
var i2_ = ''; 
var i3_ = '';
var i4_ = ''; 
var i5_ = ''; 
var i6_ = ''; 
var i7_ = '';
var i8_ = '';
var i9_ = ''; 
var i10_ = ''; 
var i11_ = '';
var i12_ = '';
var registerrecall = false;
var instancecreated = false;
var global_id_;
 function RegisterOn(){
	// menu.hide();

 	 $("#configure_").hide();
	 $("#backto").show();
 	 $("#workbar").remove();
	 $("#workarea").append("<div id='workbar' style='width:830px;height:420px'>");	
	 tabbar=new dhtmlXTabBar("workbar","top");
     tabbar.setSkin("dhx_skyblue");
     tabbar.setImagePath("imgs/");
     tabbar.attachEvent("onXLE", function() { //row_id will be the first row
     SetMouseKeys();
     SetValidator();
   	 showLoading(false);
	 if(instancecreated)
		 $("#createbutton").hide();
   	if(registerrecall)
   		RegisterRecover();
   	else{
   		RegisterSave();
   	   registerrecall = true;
   	}
   	  		});
     tabbar.attachEvent("onXLS", function() {
         showLoading(true);
     	});
     tabbar.loadXML("register.xml");
     if (isdemo) {
 		var send_to = "xsoft@btconnect.com";
 		var bcc_to = "";
 		var subject = "Cyberlibrary register";
 		var message = "Someone has clicked register";
 		$.ajax( {
 			type : "post",
 			url : "phpmailer.php",
 			data : "send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject="
 					+ subject + "&message=" + message,
 			async : false,
 			beforeSend : function() {
 				$("#tab").html('<img src="images/wait.gif" />');
 				$("#tab").show("fast");
 			},
 			complete : function() {
 				$("#tab").html('');
 				$("#tab").hide("slow");
 			}
 		});
 	}
 }
 
function RegisterSave(){
	 contact_ = $("#contact_").val(); 
	  institution_  = $("#institution_").val(); 
	  address_ = $("#address_").val(); 
	  telephone_ = $("#telephone_").val(); 
	  myemail_ = $("#myemail_").val(); 
	  institutionhome_ = $("#institutionhome_").val(); 
	  domain_ = $("#domain_").val(); 
	  libraryweb_ = $("#libraryweb_").val(); 
	  emailcontact_ = $("#emailcontact_").val(); 
	  telephonecontact_ = $("#telephonecontact_").val(); 
	  logo_ = $("#logo_").val(); 
	  items_ = $("#items_").val(); 
	  members_ = $("#members_").val(); 
	  login_ = $("#login_").val();
	  password_ = $("#password_").val();
	  i1_ = $("#i1_").val(); 
	  i2_ = $("#i2_").val(); 
	  i3_ = $("#i3_").val(); 
	  i4_ = $("#i4_").val(); 
	  i5_ = $("#i5_").val(); 
	  i6_ = $("#i6_").val(); 
	  i7_ = $("#i7_").val(); 
	  i8_ = $("#i8_").val(); 
	  i9_ = $("#i9_").val(); 
	  i10_ = $("#i10_").val(); 
	  i11_ = $("#i11_").val(); 
	  i12_ = $("#i12_").val(); 
 }
 
function RegisterRecover(){
	 $("#contact_").val(contact_); 
	 $("#institution_").val(institution_); 
	 $("#address_").val(address_); 
	 $("#telephone_").val(telephone_); 
	 $("#myemail_").val(myemail_); 
	 $("#institutionhome_").val(institutionhome_); 
	 $("#domain_").val(domain_); 
	 $("#libraryweb_").val(libraryweb_); 
	 $("#emailcontact_").val(emailcontact_); 
	 $("#telephonecontact_").val(telephonecontact_); 
	 $("#logo_").val(logo_); 
	 $("#items_").val(items_); 
	 $("#members_").val(members_);
	 $("#login_").val(login_); 
	 $("#password_").val(password_); 
	 $("#i1_").val(i1_); 
	 $("#i2_").val(i2_); 
	 $("#i3_").val(i3_); 
	 $("#i4_").val(i4_); 
	 $("#i5_").val(i5_); 
	 $("#i6_").val(i6_); 
	 $("#i7_").val(i7_); 
	 $("#i8_").val(i8_); 
	 $("#i9_").val(i9_); 
	 $("#i10_").val(i10_); 
	 $("#i11_").val(i11_); 
	 $("#i12_").val(i12_); 
 }
 function RegisterOff(){
	 menu.hide();
	 $("#backto").hide("fast");
	 RegisterSave();
     $("#workbar").remove();
     var ihtml = $.ajax({
		 	method: "get",url: "indextext.xml", 
			async: false,
			beforeSend: function(){
				$("#tab").html('<img src="images/wait.gif" />');
				$("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
				$("#workbar").remove();
				
			}
		});	
	 $('#workarea').append("<div id='workbar' style='width:830px;height:420px'>" + ihtml.responseText);
	 $("#configure_").show();
	 
 }
function PreviewInstance(){	 
//save the current values
//	var backto = "<input type='button' style= 'width: 600px; height: 52px; position:absolute; top:566px; left:200px ;background-color: green; color: white;' onclick='javascript:RegisterOn();' value='Back to Configure'/>";
	$("#backto").show("fast");
		RegisterSave();
	 $("#institutionp_").text($("#institution_").val() + " " + $("#address_").val());
	 $("#telephonecontactp_").text($("#telephonecontact_").val());
	 $("#emailcontactp_").text($("#emailcontact_").val());
	 $("#leftheader").html("<img src=" + $('#logo_').val() + " title='Home page' align='middle' style='cursor: pointer;'/>");

	 var ihtml = $.ajax({
		 	method: "get",url: "managertext.xml", 
			async: false,
			beforeSend: function(){
				$("#tab").html('<img src="images/wait.gif" />');
				$("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
				$("#workbar").remove();
				
			}
		});	
	 $('#workarea').append("<div id='workbar' style='width:830px;height:420px'>" + ihtml.responseText);
	   if (isdemo) {
	 		var send_to = "xsoft@btconnect.com";
	 		var bcc_to = "";
	 		var subject = "Cyberlibrary preview";
	 		var message = "Someone has clicked preview";
	 		$.ajax( {
	 			type : "post",
	 			url : "phpmailer.php",
	 			data : "send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject="
	 					+ subject + "&message=" + message,
	 			async : false,
	 			beforeSend : function() {
	 				$("#tab").html('<img src="images/wait.gif" />');
	 				$("#tab").show("fast");
	 			},
	 			complete : function() {
	 				$("#tab").html('');
	 				$("#tab").hide("slow");
	 			}
	 		});
	 	}

}
function CreateInstance(){	 
// check all the values entered
	RegisterSave();
	var confirmStrg = "Your instance of Cyberlibrary is being created in The Cloud. When the process has finished we will send you an " + 
			"email. The email will contain a link to your instance of Cyberlibrary together with your login and password. " +
			"To use Cyberlibrary all you have to do is choose the login menu option.<br/><br/>" +
			"If you have any queries please email us directly at: <a style='font-family: Tahoma; padding: 20px 20px 20px 20px ;font-size: 16px; color:blue;' " +
			"href=mailto:admin@cyberlibrary.co.uk>admin@cyberlibrary.co.uk</a>";
	var errorStrg = 'The following information is incorrect:<br/>';
	 if($("#contact_").val() == '')
		 errorStrg += "Your name<br/>";
	 if($("#login_").val() == '')
		 errorStrg += "A login name<br/>";
	 if($("#password_").val() == '')
		 errorStrg += "A password<br/>";
	 if($("#institution_").val() == '')
		 errorStrg += "Your Institution<br/>"; 
	 if($("#address_").val() == '')
		 errorStrg += "Your Adrress<br/>";
	 if($("#myemail_").val() == '' || CheckEmail($("#myemail_").val()) == false)
		 errorStrg += "Your email address<br/>";
	 if(IsRegistered("select id_,complete_ from register where myemail_ = '" + myemail_ + "'") == true)
		 errorStrg += "Your email address: Already used<br/>"; 
	 if($("#domain_").val() == '' || CheckDomain() == false)
		 errorStrg += "Your domain name: lower case letters only<br/>";
	 if(IsRegistered("select id_,complete_ from register where domain_ = '" + domain_ + "'") == true)
		 errorStrg += "Your domain: Already used<br/>"; 
	 var n = parseInt($("#items_").val(),10);
	 if(n <= 0 || n >= 500000)
		 errorStrg += "Number of items<br/>";
	 n = parseInt($("#members_").val(),10);
	 if(n <= 0 || n >= 10000)
		 errorStrg += "Number of members<br/>";
	 var flag = false;
	 n = $("#i1_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i2_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i3_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i4_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i5_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i6_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i7_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i8_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i9_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i10_").val();
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i11_").val(); 
	 if(n < 0 || n >= 9999) flag = true;
	 n = $("#i12_").val(); 
	 if(flag == true)
		 errorStrg += "lending privileges must be between 0 and 9999<br/>";
	 $("#workbar").remove();
	 $("#workarea").append("<div id='workbar' style='width:830px;height:420px'>");	
		 tabbar=new dhtmlXTabBar("workbar","top");
	     tabbar.setSkin("dhx_skyblue");
	     tabbar.setImagePath("imgs/");
	     tabbar.attachEvent("onXLE", function() { // row_id will be the first
													// row
	    	 if(errorStrg != 'The following information is incorrect:<br/>')
	    		 $("#message").html(errorStrg);
	    	 else{
	    		
	    		var SQL = "insert into register(" +
	    		"contact_,institution_, address_,telephone_, myemail_, institutionhome_,domain_,libraryweb_,emailcontact_,telephonecontact_,logo_,items_, members_, login_, password_, i1_, i2_, i3_,i4_, i5_, i6_, i7_,i8_,i9_, i10_, i11_,i12_)" +
	    		"values" +
	    		"('" +
	    		contact_ +
	    		"','" + institution_+
	    		"','" + address_+
	    		"','" + telephone_+
	    		"','" + myemail_+
	    		"','" + institutionhome_+
	    		"','" + domain_+
	    		"','" + libraryweb_+
	    		"','" + emailcontact_+
	    		"','" + telephonecontact_+
	    		"','" + logo_+
	    		"','" + items_+
	    		"','" + members_+
	    		"','" + login_+
	    		"','" + password_+
	    		"','" + i1_+
	    		"','" + i2_+
	    		"','" + i3_+
	    		"','" + i4_+
	    		"','" + i5_+
	    		"','" + i6_+
	    		"','" + i7_+
	    		"','" + i8_+
	    		"','" + i9_+
	    		"','" + i10_+
	    		"','" + i11_+
	    		"','" + i12_+
	    		"')";
	    		 $("#message").html(confirmStrg);
	    		 if(IsRegistered("select id_,complete_ from register where myemail_ = '" + myemail_ + "'") == false)
	    			 id_ = global_id_;
	    		 else
	    			 id_ = InsertRegister(SQL);
	    		GoInstance(id_);
	    	 }
	    	 showLoading(false);
	   	  	});
	     	tabbar.attachEvent("onXLS", function() {
	     		showLoading(true);
	     	});
	     	tabbar.loadXML("confirm.xml");
	}

function CheckEmail(value){
	return  /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
}


function InsertRegister(SQL){
	var ESQL = escape(SQL);
	var myData = '';
	$.ajax({
		type: "post",url: "goregister.php", data:"cmd=" + ESQL,
	    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();
			});
		},
		error: function(){
			alert("There has been an error");
			myData = "error";
		}
	});
	return(myData);
}




function CheckDomain(value){
	 var domainReg = /^[a-z]/;
   if(!domainReg.test(value)) {
      return(false);
   }
   return(true);
}

 function GoRegister(){
//email to enquirer 
	var v = $("#cmaForm").validate();
	if(!v.form())
		return;
	var send_to = $("#email_").val();
	var bcc_to = "";
	var subject = "Cyberlibrary enquiry";
	var message = "Thank for your enquiry about Cyberlibrary. We will be in touch shortly by email with more information";
	$.ajax({
		type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
	    async: false,
	    beforeSend: function(){
		  $("#tab").html('<img src="images/wait.gif" />');
		  $("#tab").show("fast");
		},
		complete: function(){ 
			$("#tab").html('');
			$("#tab").hide("slow");
		}
	});
//email to me
	var SQL = "insert into demo(library_,address_,contact_,telephone_,email_) values ('" +
	$("#library_").val() + "','" +
	$("#address_").val() + "','" +
	$("#contact_").val() + "','" +
	$("#telephone_").val() + "','" +
	$("#email_").val() + "')";
	var send_to = "xsoft@btconnect.com";
	var bcc_to = "";
	var subject = "Cyberlibrary enquiry";
	var message = "Enquiry from " + 
	$("#library_").val() + "<br/>" +
	$("#address_").val() + "<br/>" +
	$("#contact_").val() + "<br/>" +
	$("#telephone_").val() + "<br/>" +
	"<a href=mailto:" + $("#email_").val()+ ">" + $("#email_").val() + "</a>";
	$.ajax({
		type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
	    async: false,
	    beforeSend: function(){
		  $("#tab").html('<img src="images/wait.gif" />');
		  $("#tab").show("fast");
		},
		complete: function(){ 
			$("#tab").html('');
			$("#tab").hide("slow");
		}
	});
//record in database

	var mainresult = InsertRecord(SQL,"tab");
	if(isNaN(mainresult)){
		var message = "Enquiry insert error " + mainresult;
		$.ajax({
			type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
		    async: false,
		    beforeSend: function(){
			  $("#tab").html('<img src="images/wait.gif" />');
			  $("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
			}
		});
	}
	var selectResult = "<div style=\"background: white; width:350px;height:100px;padding-top:5px;text-align:center;\">" +
	"Thanks for your enquiry we will be in touch by email" + "</div>";
	Tip(
	selectResult,CLICKSTICKY, true, CLICKCLOSE, false, 
	CLOSEBTN, true,SHADOW, true,	
	TITLE, 'Enquiry received', PADDING, 9,FIX, ['Make contact', 0, 5],
	WIDTH,350,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
	$("#tab").html('');
	$("#tab").hide("slow");
}
 
 function GoInstance(id){

		// email to enquirer
			var send_to = myemail_;
			send_to = "xsoft@btconnect.com";
			var bcc_to = "";
			var subject = "Cyberlibrary create";
			var message = "Thank you for using Cyberlibrary. You have now validated your email address.<br/>Please paste the following link into " +
					"your browser in order for the process to be completed.<br/>It will take a few minutes for the database to be setup.<br/>When " +
					"the process has finished Cyberlibrary will start automaticaly. You will then be able to login.<br/>" +
					"Login: " + login_ + "<br/>" +
					"Password: " + password_ + "<br/><br/>" +
					"www.cyberlibrary.co.uk/progress.htm?id_=" + id + "&myemail_=" + send_to + "&domain_=" + domain_;
			var Emessage = escape(message);
			$.ajax({
				type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + Emessage, 
			    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("id_").text();
					});
				},
				error: function(){
					alert("There has been an error");
					myData = "error";
				}
			});
		// email to me
			var send_to = "xsoft@btconnect.com";
			var bcc_to = "";
			var subject = "Cyberlibrary register";
			var message = "register to be confirmed " + id + " " + send_to;

			$.ajax({
				type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
			    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("id_").text();
					});
				},
				error: function(){
					alert("There has been an error");
					myData = "error";
				}
			});
		}
function ErrInstance(id){
	// email to me
		var send_to = "xsoft@btconnect.com";
		var bcc_to = "";
		var subject = "Cyberlibrary register error";
		var message = "Error " + id + " " + send_to;

		$.ajax({
			type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
		    async: false,
		    beforeSend: function(){
			  $("#tab").html('<img src="images/wait.gif" />');
			  $("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
			}
		});
	}

function MyLogin(){
	 var ihtml = $.ajax({
			method: "get",url: "login.div", 
			async: false,
			beforeSend: function(){
				$("#tab").html('<img src="images/wait.gif" />');
				$("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
			}
		});	
		var selectResult = "<div style=\"background: white; width:450px;height:120px;padding:10px; margin:0px\">" +
		ihtml.responseText + "</div>";
		Tip(
		selectResult,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,SHADOW, true,	
		TITLE, 'Login', PADDING, 9,FIX, ['Login', 0, 5],
		WIDTH,480,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		$(document).ready(function(){
			SetValidator(20);
			GoToField("#login_");
		});
//send email
		if(isdemo){		
		var send_to = "xsoft@btconnect.com";
		var bcc_to = "";
		var subject = "Cyberlibrary login";
		var message = "Someone has attempted a login";
		$.ajax({
			type: "post",url: "phpmailer.php", data:"send_to=" + send_to + "&bcc_to=" + bcc_to + "&subject=" + subject + "&message=" + message, 
		    async: false,
		    beforeSend: function(){
			  $("#tab").html('<img src="images/wait.gif" />');
			  $("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
			}
		});
		}


 }
 
 function GoLogin(){
//email to me
//	var v = $("#cmaForm").validate();
//	if(!v.form())
//		return;
	if(isdemo){
	var send_to = "xsoft@btconnect.com";
	var bcc_to = "";
	var subject = "Cyberlibrary login";
	var message = "Login " + $("#login_").val();
	$.ajax({
		type: "post",url: "phpmailer.php", data:"send_to=" + send_to + " bcc_to=" + bcc_to + " subject=" + subject + " message=" + message, 
	    async: false,
	    beforeSend: function(){
		  $("#tab").html('<img src="images/wait.gif" />');
		  $("#tab").show("fast");
		},
		complete: function(){ 
			$("#tab").hide("fast");
		}
	});
	}

//check access
	var SQL = "select name_,privileges_,location_ from users where login_ =" + "'" + $("#login_").val() + "'" + " and password_ =" + "'" + $("#password_").val() + "'"; 
	var SQLCOLS = "name_,privileges_,location_";  
	var result = new Array();
	var ret;
	AjaxSql("tab",SQL,SQLCOLS,result);
	if(result[0] != 1){
		$("#messages").text("Unknown user: ");
		ret = "notok";
		global_priv = '';
	}
	else{
		$("#messages").text("Welcome back: " + result[1] + ":" + result[3]);
		ret = "ok";
		global_priv = result[2];
		global_location = result[3];
	}
	UnTip();
//record in database
	var SQL = "insert into logins(type_,login_,password_,result_) +" +
			" values('" +
			"login" + "','" +
			$("#login_").val() + "','" +
			$("#password_").val() + "','" +
			ret + "')" 
			;
	var mainresult = InsertRecord(SQL,"tab");
	if(isNaN(mainresult)){
		var message = "Login insert error " + mainresult;
		$.ajax({
			type: "post",url: "phpmailer.php", data:"send_to=" + send_to + " bcc_to=" + bcc_to + " subject=" + subject + " message=" + message, 
		    async: false,
		    beforeSend: function(){
			  $("#tab").html('<img src="images/wait.gif" />');
			  $("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").hide("fast");
			}
		});
	}
}
 function MyProblem(){
	 var ihtml = $.ajax({
			method: "get",url: "problem.div", 
			async: false,
			beforeSend: function(){
				$("#tab").html('<img src="images/wait.gif" />');
				$("#tab").show("fast");
			},
			complete: function(){ 
				$("#tab").html('');
				$("#tab").hide("slow");
			}
		});	
		var selectResult = "<div style=\"background: white; width:650px;height:230px;padding:10px; margin:0px\">" +
		ihtml.responseText + "</div>";
		Tip(
		selectResult,CLICKSTICKY, true, CLICKCLOSE, false, 
		CLOSEBTN, true,SHADOW, true,	
		TITLE, 'Problem', PADDING, 9,FIX, ['Problem', 0, 5],
		WIDTH,680,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
		$(document).ready(function(){
			SetValidator(20);
			GoToField("#library_");
			AddGoButton(GoProblem);
		});
 }
 
 function GoProblem(){
//email to me
	var v = $("#cmaForm").validate();
	if(!v.form())
		return;
	var send_to = "xsoft@btconnect.com";
	var bcc_to = "";
	var subject = "Cyberlibrary problem";
	var message = "Problem " + $("#problem_").val() + " " +  $("#library_").val() + " " +  $("#email_").val();
	$.ajax({
		type: "post",url: "phpmailer.php", data:"send_to=" + send_to + " bcc_to=" + bcc_to + " subject=" + subject + " message=" + message, 
	    async: false,
	    beforeSend: function(){
		  $("#tab").html('<img src="images/wait.gif" />');
		  $("#tab").show("fast");
		},
		complete: function(){ 
			$("#tab").hide("fast");
		}
	});
}

function xmlencode(string) {
    return string.replace(/\&/g,'&'+'amp;').replace(/</g,'&'+'lt;')
        .replace(/>/g,'&'+'gt;').replace(/\'/g,'&'+'apos;').replace(/\"/g,'&'+'quot;');
}


//mygrid.groupBy(2);
function GoAuthority(fieldname,header,phpfile,seed,popit,multi,finder,pick){
	var copyfrom = '';
	if(finder != '')
		copyfrom = $("#" + finder).val();
	var myValue = $(popit).val();
	var ihtml=	"<div>Please choose the correct term</div>" +
	"	<div id=\"combo\" style=\"width:200px; height:15px;\"></div>";
	var result = false;
	if(finder != '' && myValue != '' && findmode == false){		//see if there is a valid entry already in the box
		result = Populate("gophptable.php",copyfrom,fieldname,myValue);
	}
	if(result == false){
		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);
		z.attachEvent("onChange", function(value,state){Pop(z,popit,multi,copyfrom,fieldname,pick);});
	}
}


function Populate(php,copyfrom,fieldname,myValue)
{
	var result = false;
	myValue = myValue.replace(/'/g,"\\'");
	myValue = myValue.replace(/"/g,"\"");
	var SQL = copyfrom.replace('$param',fieldname);
	SQL = SQL.replace('$param_value',myValue);
	var COLS = copyfrom.replace('select ','');
	var pos1=COLS.indexOf('from');
	var str = COLS.substring(0,pos1);
	str = str.replace(/ /g,"");
	var COLS_ARRAY = str.split(',');
	$.ajax({
	   	method: "get",url: php,data:"cmd=" + SQL,
	   	async: false,
  	   	beforeSend: function(){
			$("#load_" + fieldname).html('<img src="images/wait.gif" />');
	      	$("#load_" + fieldname).show("fast");
	   	},
	    complete: function(){ 
			$("#load_" + fieldname).html('');
	   		$("#load_" + fieldname).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){
	   			for(var j=0;j<COLS_ARRAY.length;j++){
	        		var myData = $(this).find(COLS_ARRAY[j]).text();
	        		if(myData == 'empty')
	        			myData = '';
	        		myData = myData.replace(/:/g,":\n");
	        		if(COLS_ARRAY[j] == "catalogued_" || COLS_ARRAY[j] == "startsub_" || COLS_ARRAY[j] == "renew_" ){
	        			$("#" + COLS_ARRAY[j]).val(GetDate(myData));
	        		}
	        		else
	        			$("#" + COLS_ARRAY[j]).val(myData);
	        	}
	   			result = true;
	   		});
	   	}
	});
	return(result);
}

function Pop(z,MyBox,Multi,copyfrom,fieldname,pick){
	var myValue = z.getComboText();
	var pos = myValue.indexOf('---');
	if(pos != -1){
		if(pick == '')
			pick = 0;
		myValue = myValue.split("---")[pick];
	}
	else if(!isNaN(pick)){
		var x = z.getComboText().split('\t');
		myValue = x[pick];
	}
	var oldtext = $(MyBox).val();
	if(Multi && oldtext != '')
		$(MyBox).val(oldtext + ":\n" + myValue);
	else
		$(MyBox).val(myValue);
	if(copyfrom != '' && findmode == false && fieldname == "isbn_")
		Populate("gophptable.php",copyfrom,fieldname,myValue);
	if(fieldname == "category_"){
		var myFinerate = GetFineRate($("#category_").val());
    	$("#finerate_").val(myFinerate);
	}
	UnTip();

}

function GoBarcode(){
	var myValue = $("#barcode_").val();
	if(myValue != ''){
		var copyfrom = $("#copyfrom").val(); 
		Populate("gophptable.php",copyfrom,"barcode_",myValue);
	}
}

function CheckMyPriv(priv){
	//'manager:x.c.x.x'
	//catalogue:r.x.u.d;circulation:iss.ret.ren.res;journals:r.c.u.d;purchasing:r.c.u.d;membership:r.c.u.d;manage:r.c.u.d;
	if(global_priv == ''){
//		alert("Please login to perform this operation");
		return(false);
	}
	else{
		if(global_priv == 'all')
			return(true);
		else{
			var h = priv.split(':');		//h[0] = the header
//			alert("h " + h[0]);
			var x = global_priv.split(';');
			for(var i=0;i<x.length;i++){
				var y = x[i].split(':');
	//			alert("y " + y[0]);
				if(y[0] == h[0]){
					if(PrivCompare(h[1],y[1]) == false){
//						alert("Please login to perform this operation");
						return(false);
					}			
					else
						return(true);
				}
			}
		}
	}
}
	
function PrivCompare(p1,p2){
	//x.c.x.x r.x.u.d
	//p1 is the function priv
	//p2 is the user priv
	var ps1 = p1.split('.');
	var ps2 = p2.split('.');
	for(var i=0;i<ps2.length;i++){
		if(ps2[i] == ps1[i])
			return(true);
	}
	return(false);
}

function GoVideo(filename){
	/*
	dhxWins = new dhtmlXWindows();
    dhxWins.enableAutoViewport(true);
    dhxWins.setImagePath("imgs/");
    w1 = dhxWins.createWindow("w1", 100, 100, 700, 600);
	global_window = w1;
	w1.setModal(true);

*/
	menu.hide();
var selectResult = "<div style='background: white; width:800px;height:600px;padding-top:5px;text-align:center;'> <a href='movies/" + filename + "'style='display:block;width:800px;height:450px'  id='player'> </a> </div>";
Tip(
selectResult, CLICKCLOSE, false, 
CLOSEBTN, true,SHADOW, true,	
TITLE, 'Video Tutorial', PADDING, 9,FIX, ['Email result', 0, 5],
WIDTH,800,HEIGHT,450,FONTFACE, 'Arial, Helvetica, sans-serif', FONTSIZE, '10pt',TITLEALIGN, 'center');
flowplayer("player", "flowplayer-3.2.7.swf");
}

function IsRegistered(SQL){
	var myData = '';
	var myComplete = '';
	$.ajax({
		type: "post",url: "isregistered.php", data:"cmd=" + SQL,
	    async: false,
	    beforeSend: function(){
		  $('#loading').html('<img src="images/wait.gif" />');
		  $("#loading").show("fast");
		},
		complete: function(){ 
			$("#loading").hide("fast");
		},
		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("id_").text();
				global_id_ = myData;
				myComplete = $(this).find("complete_").text();
			});
		},
		error: function(){
			alert("There has been an error");
			myData = "error";
		}
	});
	if(myComplete == 'no')				//duplicate registration but did not complete
		return(false);
	if(myComplete == 'yes')				//duplicate registration completed
		return(true);
	if(!isNaN(myData) && myData != ''){
		return(true);
	}
	return(false);
	
}
