/*
// $RCSfile: ajax.js,v $
// $Source: /cvs/eei2web/js/ajax.js,v $, $Revision: 1.3 $, $Date: 2009/06/04 17:32:59 $, $State: Exp $ 
*/

function ajaxFunction(url,pars) {
	
	var ajaxRequest = new Ajax.Request(url, {
		method: 'get',
		parameters:pars,
		onComplete: responseHandle
	});
}

function responseHandle(requestObject) {
	
	var xmlDoc = requestObject.responseText;	
}

/*
* addtovf
* adds item to virtual folder table
* @param id profile key
* @param ext name of extension of file: pdf/doc/xls/ppt/mp3/flv
*/
function addtovf(id,ext){
	
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		ajaxFunction('js/ajax.php','addtovf=Y&userid=' + userid + '&profileid=' + id + '&ext=' + ext + '&timestamp=' + new Date().getTime());		
		alert2("<h3>Alert</h3><p>Document added to your Virtual Folder</p><ul><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return true;
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;
	}
}

function bpMediaCentre(){
	
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		return true;  // follow link
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;	// DONT follow link
	}
}


function addtodoc(id,ext){
	
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		ajaxFunction('js/ajax.php','addtodoc=Y&userid=' + userid + '&profileid=' + id + '&ext=' + ext + '&timestamp=' + new Date().getTime());		
		alert2("<h3>Alert</h3><p>Document added to your Virtual Folder</p><ul><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return true;
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;
	}
}

function addsectortovf(id) {
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		ajaxFunction('js/ajax.php','addsectortovf=Y&userid=' + userid + '&sectorid=' + id + '&timestamp=' + new Date().getTime());		
		alert2("<h3>Alert</h3><p>Page added to your Virtual Folder</p><ul><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return true;
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;
	}
}

function addservicetovf(id) {
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		ajaxFunction('js/ajax.php','addservicetovf=Y&userid=' + userid + '&serviceid=' + id + '&timestamp=' + new Date().getTime());		
		alert2("<h3>Alert</h3><p>Page added to your Virtual Folder</p><ul><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return true;
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;
	}
}

function addwebpagetovf(id) {
	var userid = document.getElementById('userid').innerHTML;
	if(userid){
		ajaxFunction('js/ajax.php','addwebpagetovf=Y&userid=' + userid + '&pageid=' + id + '&timestamp=' + new Date().getTime());		
		alert2("<h3>Alert</h3><p>Page added to your Virtual Folder</p><ul><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return true;
	}
	else{
		alert2("<h3>Alert</h3><p>Please sign in to use this feature.</p><ul><li><a href=\"register.php\">Register</a></li><li><a href=\"javascript:void(0)\" onclick=\"closealert2();\">Close</a></li></ul>");
		return false;
	}
}

/*
* deletefromvf
* function to delete item from virtual folder
*/
function deletefromvf(id,ext){
	if(id){
		ajaxFunction('js/ajax.php','deletefromvf=Y&id=' + id + '&ext=' + ext + '&timestamp=' + new Date().getTime());		
	}
}

/*
* deletefromud
* function to delete item from user documents
*/
function deletefromud(id,ext){
	if(id){
		ajaxFunction('js/ajax.php','deletefromud=Y&id=' + id + '&ext=' + ext + '&timestamp=' + new Date().getTime());		
	}
}

function bpTick(elt) {
	var vfid = elt.name;
	var tick = elt.checked ? 'Y':'N';
	
	ajaxFunction('js/ajax.php', 'vftick=Y&tick='+tick+'&vfid='+vfid+'&timestamp='+ new Date().getTime());
}

/*
* bpResultPage
* change search results page
*/
function bpResultPage(form,start,results,ungroup) {
	var oForm = $(form);
    var oFormError;
    if(oForm){
        if(!oForm.keywords.value){
            alert('Please enter a Keyword(s)');
            oFormError = 1;
        }
    }else{
        oFormError = 1;
    }
	if(oFormError!=1) {
		oForm.start.value = start;
		// get Attributes even in IE
		var action = oForm.attributes['action'].value;
		var method = oForm.attributes['method'].value;
		if(ungroup) {
			action = action + '?ungroup=y';
			bpAllGrouped();
		}
		var params = oForm.serialize();
//alert(action);
        /* Set Loader */
        if($('searchbutton')){
            $('searchbutton').src = 'images/searchbutton2-loader.gif';
        }
        if($('searchbutton1')){
            $('searchbutton1').src = 'images/searchbutton-loader.gif';
        }
		new Ajax.Updater(results, action,
						 {method: method,
						 parameters: params,
						 evalScripts: true,
						 onComplete: function(){
                            setTimeout("loadedScroll()",1000);                        
                         }});
	}
	
	return false; // do NOT submit the form
}

function bpSearchOnly(dt) {
	var oForm = document.forms['advsearch'];
	
	if(oForm) {
		$('docgroup').checked = false;
		$('wasgrouped').value = 'Y';
		
		var i=1;
		var oCheck = null;
//alert(dt);
		for(; oCheck=$('check'+i); i++) {
//alert('check'+i+' '+oCheck);			
			if(oCheck) {
//alert('check'+i+' '+oCheck.value);
				if(oCheck.value==dt) {
					oCheck.checked = true;
				} else {
					oCheck.checked = false;
				}
			}
		}
		
		oForm.onsubmit();
	}
}

function bpAllGrouped() {
	var oForm = document.forms['advsearch'];
	
	if(oForm) {
		$('docgroup').checked = true;
		$('wasgrouped').value = '';
		
		var i=1;
		var oCheck = null;
		for(; oCheck=$('check'+i); i++) {		
			if(oCheck) {
				oCheck.checked = false;
			}
		}
	}
}

function bpNewsPage(start,sector,page) {
	//alert(sector);
	new Ajax.Updater('newscontent', 'news.php',
					 {method: 'get', parameters: 'ajax=Y&start='+start+'&sector='+sector+'&page='+page});
}

function loadedScroll(){
    if($('searchbutton')){
        $('searchbutton').src = 'images/searchbutton3.gif';
    }
    if($('searchbutton1')){
        $('searchbutton1').src = 'images/searchbutton.gif';
    }
    new Effect.ScrollTo('pagecontent', {offset: -24});
}

/*
* bpDocuments
* add documents to myeei (virtualfolder)
*/
function bpDocuments() {
	var oForm = document.forms['frmDocuments'];
	if(oForm) {
		var i = 0, oDoc=oForm.elements, oElt;
		for (var j=0; j<oDoc.length; j++) {
			oElt = oDoc.item(j);
			if(oElt.checked) {
				if(oElt.name=='sector') {
					if(!addsectortovf(oElt.value)) {
						break;
					}
				} else if(oElt.name=='service') {
					if(!addservicetovf(oElt.value)) {
						break;
					}
				} else if(oElt.name=='webpage' || oElt.name=='page') {
					if(!addwebpagetovf(oElt.value)) {
						break;
					}
				} else {
					/* element NAME is extension */
					if(oElt.name=='flv' || oElt.name=='mp3') { // MULTIMEDIA
						if(!addtodoc(oElt.value, oElt.name)) {
							break;
						}
					} else {
						if(!addtovf(oElt.value, oElt.name)) {
							break;
						}
					}
				}
				i++;
			}
		}
	}
	
	return false; // do NOT submit the form
}

function bpSubmitForm(form, func, async) {
	var action = form.attributes['action'].value;
	var method = form.attributes['method'].value;
	var params = form.serialize();
//alert(action);		
	var req = new Ajax.Request(action,
						 {asynchronous: async, method: method, parameters: params, onComplete: func});
//alert('sync: '+async+' '+req);
	if(async) {
		return true;
	} else {
//alert(req.response);
		return req.transport.responseText;
	}
}

function addpdftovf(filename) {
	if(filename) {
		var userid = document.getElementById('userid').innerHTML;
		var url = 'ajax.php';
		//if(document.all) {
			url = 'js/ajax.php';
		//}
		new Ajax.Request(url, {asynchronous: false, method: 'get', parameters: 'doctovf=Y&filename=' + filename + '&userid='+userid+'&ext=pdf&timestamp=' + new Date().getTime()} );
		bpClearUpload();
		bpAddtoKC(filename);
		bpVirtFolder('');		// vf
	}
}

function bpClearUpload() {
		var iframe = $('upload');
		if(iframe) {
//alert(iframe.document.window.location);		
			iframe.src = iframe.src; // reload
			$('uploaddoc').hide();
		}
}

function addppttodoc(filename) {
	if(filename) {
		var userid = document.getElementById('userid').innerHTML;
		var url = 'ajax.php';
		//if(document.all) { // IE
			url = 'js/ajax.php';
		//}
		new Ajax.Request(url, {asynchronous: false, method: 'get', parameters: 'doctodoc=Y&filename=' + filename + '&userid='+userid + '&ext=ppt&timestamp=' + new Date().getTime()} );
		
		bpClearUpload();
		bpAddtoKC(filename);
//		if(document.all) { // IE
			bpTreeItems('');		// docs
//		} else {
//			bpTreeItems1('');
//		}
	}
}

function bpAddtoKC(filename)  {
    alert2('<p>Do you wish to have this document added to the Knowledge Centre?</p><p class="alertoptions"><span onclick="yesAddDoc(\'' + filename + '\');">Yes</span> | <span onclick="closealert2();">No</span></p>');
}

function yesAddDoc(filename){
    var url = '../ajax.php';
    if(document.all) { // IE
        url = 'js/ajax.php';
    }
    var userid = document.getElementById('userid').innerHTML;
    new Ajax.Request(url, {asynchronous: false,
                            method: 'post',
                            parameters: 'addtokc=Y&filename=' + filename + '&userid='+userid +
                                        '&timestamp=' + new Date().getTime()} );
    closealert2();
}

function bpTreeItems(client) {
	TREE_ITEMS = null;
	//$('tree').innerHTML = '';
	
	var req = new Ajax.Request('js/tree_items.js.php', {asynchronous: false, method: 'get', parameters: 'client='+client});
	var ans = req.transport.responseText;
	eval(ans.substr(4)); // string starts 'var TREE_ITEMS = '; don't want 'var '
	if(TREE_ITEMS) {
		window.TREE_ITEMS = TREE_ITEMS		
		new treeajax(window.TREE_ITEMS, window.TREE_TPL, $('tree'));
	}
}

function bpTreeItems1(client) {
	TREE_ITEMS = null;
	
//	var req = new Ajax.Request('../tree_items.js.php', {asynchronous: false, method: 'get', parameters: 'client='+client});
	var req = new Ajax.Request('js/tree_items.js.php', {asynchronous: false, method: 'get', parameters: 'client='+client});
	var ans = req.transport.responseText;
	eval(ans.substr(4)); // string starts 'var TREE_ITEMS = '; don't want 'var '
	if(TREE_ITEMS) {
		window.TREE_ITEMS = TREE_ITEMS		
		new treeajax(window.TREE_ITEMS, window.TREE_TPL, $('tree'));
	}
}

function bpClientList() {
	new Ajax.Updater('clientlist', 'documents.php', {method: 'post', parameters: 'clientlist=y&ajax=Y'});
}

/*function bpClientList1() {
	new Ajax.Updater('clientlist', '../../documents.php', {parameters: 'clientlist=y&ajax=Y'});
}*/

function bpEditFolder() {
	var form = document.forms['frmFolder'];
	//var form = $('frmFolder');
	var title = form.title.value;
	
	if(title.length) {
		bpSubmitForm(form, null, false);
		form.reset();
		
		$('editterm').className='hide';
		$('editfolder').className='hide';
		
		bpClientList();
		bpTreeItems('');
		
	} else {
		alert('Contact cannot be blank!');
	}
	return false; // do NOT submit the form
}

function bpEditDocument() {
	var form = document.forms['frmDocument'];
	//var form = $('frmFolder');
	var title = form.title.value;
	
	if(title.length) {
		bpSubmitForm(form, null, false);
		form.reset();
		
		$('editterm').className='hide';
		$('editfolder').className='hide';
		
		bpClientList();
		bpTreeItems('');
		
	} else {
		alert('Contact cannot be blank!');
	}
	return false; // do NOT submit the form
}

function bpCloseEdit() { 
	var form = document.forms['frmFolder'];
	
	form.reset();
	$('editterm').className='hide';
	$('editfolder').className='hide';
}

function bpCloseDoc() {
	var form = document.forms['frmDocument'];
	
	form.reset();
	$('docterm').className='hide';
	$('editdoc').className='hide';
}

function bpEditDocument() {
	var form = document.forms['frmDocument'];
	//var form = $('frmFolder');
	var title = form.title.value;
	
	if(title.length) {
		bpSubmitForm(form, null, false);
		form.reset();
		
		$('docterm').className='hide';
		$('editdoc').className='hide';
		
		bpClientList();
		bpTreeItems('');
		
	} else {
		alert('Contact cannot be blank!');
	}
	return false; // do NOT submit the form
}

function bpAddClient() {
	var form = document.forms['frmClient'];
	//var form = $('frmClient');
	var title = form.client.value;
	
	if(title.length) {
		bpSubmitForm(form, null, false);
		form.reset();
		bpClientList();
		bpTreeItems();
		
		 new Effect.toggle($('addclient'),'slide');
		
	} else {
		alert('Client cannot be blank!');
	}
	return false; // do NOT submit the form
}

function bpAddContact() {
	var form = document.forms['frmContact'];
	//var form = $('frmContact');
	var title = form.contact.value;
	
	if(title.length) {
		var vf = bpSubmitForm(form, null, false); // returns folder ID
		form.reset();
		bpTreeItems(vf);
		
		 new Effect.toggle($('addcontact'),'slide');
		
	} else {
		alert('Contact cannot be blank!');
	}
	return false; // do NOT submit the form
}

function bpDeleteContact(deleteid) {

	if(bpCanDeleteContact(deleteid)=='Y') {
		if(confirm("Are you sure?")){
			new Ajax.Request('documents.php', {asynchronous: false, method: 'post', parameters: 'deleteid='+deleteid+'&ajax=Y'});
			bpClientList();
			bpTreeItems();
		}
	} else {
		alert('Please delete items inside this folder first!');
	}
	return false; // do NOT follow link
}

function bpCanDeleteContact(deleteid) {

    var req = new Ajax.Request('documents.php', {asynchronous: false, method: 'post',
							   					parameters: 'candeleteid='+deleteid+'&ajax=Y'});
//alert(req.transport.responseText);	
	return req.transport.responseText;
}

function bpDeleteDocument(deleteid) {

    if(confirm("Are you sure?")){
        new Ajax.Request('documents.php', {asynchronous: false, method: 'post', parameters: 'deletedoc='+deleteid+'&ajax=Y'});
        bpClientList();
        bpTreeItems();
    }
    return false; // do NOT follow link
}

function bpEditContact(folderedit,name) {
	var form = document.forms['frmFolder'];
	form.folderedit.value = folderedit;
	form.title.value = name;
	
	$('editterm').className='';
	$('editfolder').className='';
	
	return false;
}

function bpEditDoc(docedit,name) {
	var form = document.forms['frmDocument'];
	form.docedit.value = docedit;
	name = name.replace(/<br \/>/g,'\n');
//alert(name);	
	form.title.value = name;
	
	$('docterm').className='';
	$('editdoc').className='';
	
	return false;
}

function bpVirtFolder(folderid) {
	var url = '../../documents.php';
	if(document.all) { // IE
		url = 'documents.php';
	}
	destroyVF();
	new Ajax.Updater('rightSide2', url,  {method: 'post', parameters: 'showvf=Y'+folderid+'&ajax=Y', onComplete: bpSetupVF});
	
	//setupVF();
}

function bpShowvf(folderid) {
	destroyVF();
	new Ajax.Updater('rightSide2', 'documents.php',  {method: 'post', parameters: 'vfid='+folderid+'&ajax=Y', onComplete: bpSetupVF});
	//setupVF();
	
	$('uploadterm').className = '';
	//$('uploaddoc').className = '';	
}

function bpReloadvf() {
	destroyVF();
	new Ajax.Updater('rightSide2', 'documents.php',  {method: 'post', parameters: 'showvf=y', onComplete: bpSetupVF});
}

function bpSetupVF() {
	setupVF();
	if($('prepare')) {
		//var url = '../../documents.php';
		//if(document.all) { // IE
			url = 'documents.php';
		//}
		new Ajax.Updater('prepare', url,  {method: 'post', parameters: 'contactname=Y&ajax=Y'});
	}
	if(myLightbox) {
		myLightbox.end();
	}
	initLightbox();
	
	return false; // do NOT follow link
}

function bpUploadtovf() {
}

function addKeywords() {
	var oPDF = $('formFilenamepdf');
	if(oPDF) {
		var filename = oPDF.value;
		if(filename.length>0) {
			var url;
			//if(document.all) { // rel to script
			//	url = 'js/ajax.php';
			//} else {			// rel to page
				url = '../../../js/ajax.php';
			//}
			new Ajax.Request(url, {method: 'get', parameters: 'keywords=y&filename='+filename, onComplete: setKeywords});
			
		} else {
			alert('First, upload a PDF!');
		}
	}
}

function bpSendemail(form) {
	var ans = bpSubmitForm(form,null,false);
	
	if(ans.length>0) { // stuff for containing element
		form.parentElement.innerHTML = ans;
	}
	
	return false;
}

function bpSendfolder(form) {
	var ans = bpSubmitForm(form,null,false);
	
	return false;
}

function setKeywords(requestObject) {
	
	var xmlDoc = requestObject.responseText;
	
	$('formKeywords').value = xmlDoc;
}

/* global variable */
var ajax_counter = 0;

function showLoader(req, obj) {
	var div = $('ajaxloader');
	ajax_counter++;
	if(div) {
		div.innerHTML='<img src="images/ajax-loader2.gif" border="0" />';
	}
}

function hideLoader(req, obj) {
	var div = $('ajaxloader');
	ajax_counter--;
	if(div) {
		if(ajax_counter>0) {
			//div.innerHTML='<p style="color: red;">working&hellip;</p>';
		} else {
			div.innerHTML='';
		}
	}
}

function showFailure(req, obj) {
	var div = $('ajaxstatus');
	ajax_counter--;
	if(div) {
		div.innerHTML='<p class="error">failure! '+obj+'</p>';
	}
}

function showError(req, obj) {
	var div = $('ajaxstatus');
	var msg = '';
	ajax_counter--;
	if(div) {
		for(i in obj) {
			msg = msg + '<strong>'+i+'=</strong>'+obj[i] + '<br />';
		}
		for(i in window.error) {
			msg = msg + '<strong>'+i+'=</strong>'+window.error[i] + '<br />';
		}
		/*for(i in req) {
			msg = msg + '<strong>'+i+'=</strong>'+req[i] + '<br />';
		}*/
//alert(msg);
		div.innerHTML='<p class="error">error!: '+msg+'</p>';
	}
}

function showException(req, obj) {
	var div = $('ajaxstatus');
	var msg = '';
	ajax_counter--;
	if(div)  {
		for(i in obj) {
			msg = msg + '<strong>'+i+'=</strong>'+obj[i] + '<br />';
		}
		for(i in window.error) {
			msg = msg + '<strong>'+i+'=</strong>'+window.error[i] + '<br />';
		}
		/*for(i in req) {
			msg = msg + '<strong>'+i+'=</strong>'+req[i] + '<br />';
		}*/
//alert(msg);
		div.innerHTML='<p class="error">exception!: '+msg+'</p>';
//alert(obj);
	}
}

// event-register.php : Invoice & Reserve
function eventsDoInvoice(params) {
	new	Ajax.Request("js/ajax.php", {
			asynchronous: true,
			method: 'post',
			parameters: params,
			onSuccess: function(transport) {
				$arrResponseTextParts = transport.responseText.split("~");
				if ($arrResponseTextParts[0] != "free") {
					$("eventInvoiceAjaxResponse").innerHTML = "<p class=\"otherPaymentOptions\"><strong>Invoice - Thank you</strong>. Invoice ref. " + 
						$arrResponseTextParts[1] + 
						" has been sent to " + 
						$arrResponseTextParts[2] + 
						".<br />You can also find this invoice on the <a href=\"myevents.php\">Events tab</a> within <a href=\"dashboard.php\">My EEI</a>.</p>";
				} else {
					$("eventInvoiceAjaxResponse").innerHTML = "<h3 class=\"nofeethankyou\">Thank you. Your booking has been completed.</h3>";
				}
				$('placesLeft').innerHTML = parseInt($('placesLeft').innerHTML) - parseInt($('attendeesNum').value);
				
			},
			onFailure: function(transport) {
				alert("Sorry, an error has occurred. Please call EEI regarding your booking for this event.");
			}
		});
}

function CMSeventsDoInvoice(params) {
	new	Ajax.Request("../../../js/ajax.php", {
			asynchronous: true,
			method: 'post',
			parameters: params,
			onSuccess: function(transport) {
                //alert(transport.responseText);
				$arrResponseTextParts = transport.responseText.split("~");
				if ($arrResponseTextParts[0] != "free") {
					$("add_attendees").innerHTML = "<p class=\"otherPaymentOptions\"><strong>Invoice - Thank you</strong>. Invoice ref. " + 
						$arrResponseTextParts[1] + 
						" has been sent to " + 
						$arrResponseTextParts[2] + 
						".<br />You can also find this invoice on the <a href=\"myevents.php\">Events tab</a> within <a href=\"dashboard.php\">My EEI</a>.</p>";
				} else {
					$("add_attendees").innerHTML = "<h3 class=\"nofeethankyou\">Thank you. Your booking has been completed.</h3>";
				}
				$('placesLeft').innerHTML = parseInt($('placesLeft').innerHTML) - parseInt($('attendeesNum').value);
				
			},
			onFailure: function(transport) {
				alert("Sorry, an error has occurred. Please call EEI regarding your booking for this event.");
			}
		});
}

function eventsDoHSBC(params){
	new	Ajax.Request("js/ajax.php", {
			asynchronous: true,
			method: 'post',
			parameters: params,
			onSuccess: function(transport) {
				$arrResponseTextParts = transport.responseText.split("~");
//alert($arrResponseTextParts[0] + ' '+ $arrResponseTextParts[1]);
				if ($arrResponseTextParts[0] != "free") {
					/*$("eventInvoiceAjaxResponse").innerHTML = "<p><strong>Invoice - Thank you</strong>. Invoice ref. " + 
						arrResponseTextParts[1] + 
						" has been sent to " + 
						arrResponseTextParts[2] + 
						".<br />You can also find this invoice on the <a href=\"myevents.php\">Events tab</a> within <a href=\"dashboard.php\">My EEI</a>.</p>";*/
//alert($arrResponseTextParts[1]);
					new Ajax.Updater('cpiform',
						"js/ajax.php", {
						method: 'get',
						evalScripts: true,
						parameters: {
							'cpiform': 'y',
							'refno': $arrResponseTextParts[1]
						}
					});
				} else { // should NOT get here!
					$("eventInvoiceAjaxResponse").innerHTML = "<p>Your booking has been completed</p>";
				}
				$('placesLeft').innerHTML = parseInt($('placesLeft').innerHTML) - parseInt($('attendeesNum').value);
				
			},
			onFailure: function(transport) {
				alert("Sorry, an error has occurred. Please call EEI regarding your booking for this event.");
			}
		});
}

// event-register.php : Add Attendee possible?
function eventsPlacesCheck(eid) {
	var intAvailable = 0;
	new	Ajax.Request("js/ajax.php", {
			asynchronous: false,
			method: 'get',
			parameters: 'eventplacescheck=Y&eid=' + eid,
			onSuccess: function(transport) {
				intAvailable = parseInt(transport.responseText);
			},
			onFailure: function(transport) {
				alert("Sorry, an error has occurred. Please call EEI regarding your booking for this event.");
			}
		});
	return intAvailable;
}

// cms/events/admin-attendees.php : Change event attendee status
function eventsSetAttendeeStatus(eventId, userId, id, currentStatusForUnbooking, relativeRoot) {
	
	if (id.slice(0,9) == 'newstatus') {
		theSelect = $(id);
		mode = theSelect.options[theSelect.selectedIndex].value;
	} else {
		//mode = 'U';
		mode = 'UD';  // its from the delete button so status change is UD
	}
	
	new	Ajax.Request(relativeRoot + "js/ajax.php", {
			asynchronous: true,
			method: 'get',
			parameters: 'eventssetattendeestatus=Y&eid=' + eventId + 
				'&userid=' + userId + 
				'&mode=' + mode + 
				'&cs=' + currentStatusForUnbooking,
			onComplete: function(transport) {
				//alert(mode.substr(-1,1))
				var colour = '';
				var resp = transport.responseText;
				var status = resp.substr(0,1); // the new STATUS
				//alert(status);
				/***
				//
				// NB if you change colours here, change in admin-attendees.php to match
				//
				switch(status) {
				case 'R': colour = '#f2d14c'; break;
				case 'C': colour = '#999900'; break;
				case 'U': colour = '#c74a5c'; break;
				case 'A': colour = '#86BF83'; break;
				case 'N': colour = '#FF6F6F'; break;
				}
				//alert(colour);
				if(colour.length>0) {
					var oID = $(id);
					//alert(oID.parentNode);
					// Change colour of parent element i.e. td
					oID.parentNode.style.backgroundColor = colour;
				}
				
				// Reload the page
				//window.location.href = window.location.href;
				// !!! Not much point in ajax if we re-load the page anyway!!!
				 ***/
				if (status.length) {
					// changed: reload HTML
					bpCmsAttendees(eventId);
				}
			}
		});
}

function bpCmsAttendees(key){
	new	Ajax.Updater('cmsattendees', '../../../js/ajax.php', {
			asynchronous: true,
			method: 'get',
			parameters: { cmsattendees: 'y', id: key }
		});
}


function bpCmsSearchUsers(searchText, eventID, sendInvoice){
//alert(searchText);
	new	Ajax.Updater('add_attendees', '../../../js/ajax.php', {
			asynchronous: true,
			method: 'get',
			//parameters: { cmsSearchUsers: 'y', id: key }
			parameters: { cmsSearchUsers: 'Y', searchText: searchText, eventID: eventID , sendInvoice: sendInvoice }
		});
}

Ajax.Responders.register({
	onCreate: showLoader,
	onComplete: hideLoader/*,
	onError: showError,
	onFailure: showFailure,
	onException: showException*/});

Event.observe(window, 'load', function() {
									   
	// SAM - do something here to call deletefromvf(id) with id from virtual folder to delete item

	var oForm = document.forms['advsearch'];
	if(oForm) { // advanced search
		// set ACTION attribute even in IE
		oForm.attributes['action'].value = 'search.php';
	}
	
	/* MYDOCUMENTS */
	var oForm = document.forms['frmFolder'];
	if(oForm) {
		oForm.ajax.value='Y';
	}
	
	var oForm = document.forms['frmClient'];
	if(oForm) {
		oForm.ajax.value='Y';
	}
	
	var oForm = document.forms['frmContact'];
	if(oForm) {
		oForm.ajax.value='Y';
	}
} );
