// Global Variables
// Check browser version

var isNav4 = false, isNav5 = false, isIE4 = false;
var FieldUpdated = false ;
var OpenBox = '';
var ActiveMenu='';
var md = 250;
var ti = -1;
var h_color='';
var h_disabled = false;
var helpdiv;
var dragapproved=false;
var dragobject=null;
var z,x,y;
var search=0;
var id=0;
var tabs=new Array();
var imagewin=null;

if (STATIC != null){self.location=STATIC;}

if (document.images){
	var isCSS = (document.body && document.body.style) ? true : false;
	var isW3C = (isCSS && document.getElementById) ? true :  false;
	var isIE4 = (isCSS && document.all) ? true : false;
	var isNN4 = (document.layers) ? true : false;
	var isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >=0) ? true : false;
	var isOpera = (navigator.userAgent.indexOf('Opera') != -1);

	if (isOpera){addEvent(window,'dblclick',dclick);}
}

var IE = (navigator.appName.indexOf("Microsoft")!=-1);
var NS = (navigator.appName.indexOf("Netscape") != -1);
var NS4= (NS && navigator.appVersion.indexOf("5") == -1);
var NS6= (NS && navigator.appVersion.indexOf("5") != -1);
var NS6X = 0;
var NS6Y = 0;

var messages = new Array();
var wcount=0;
var resumewspeed=1;
var wspeed=1;

function cs(evt,url){
	evt = (evt) ? evt : ((window.event) ? event : null);
	var elem = (evt.target) ? evt.target : evt.srcElement;
	if (elem.tagName=='TD' && parseInt(elem.id)>0){
		c(evt,url + '&ifrom=' + parseInt(elem.id));
	}
	return;
}
function remainder(evt){
	evt = (evt) ? evt : ((window.event) ? event : null);
	var elem = (evt.target) ? evt.target : evt.srcElement;
	var str = elem.value;
	var obj = document.getElementById('ta_' + elem.id);
	obj.innerHTML = str.length;
}

function hlf(o,mode){
	var c=o.cellIndex;
	var p=document.getElementById("vshort");
	for (var i=1; i<p.rows.length; i++){
		var ft=document.getElementById("facs" + i);
		ft.rows[0].cells[c].style.backgroundColor=(mode==true ? "Yellow" : "");
	}
}
function showloading(){
		var x= document.getElementById('loadingdiv');
		x.style.left = screen.availWidth/2 + 'px';
		x.style.top = screen.availHeight/2 + 'px';
		x.style.visibility = 'visible';
}

function c(evt,url,elem){
	evt = (evt) ? evt : ((window.event) ? event : null);

	if (typeof elem !='object'){
		var elem = (evt.target !=null && evt.target) ? evt.target : evt.srcElement;
	}

	if (FieldUpdated && !confirm("You have made changes and not yet saved them.\n\nTo save these changes, click CANCEL and then SAVE CHANGES\n\notherwise click OK to continue and discard the changes")){
		return cancel_event(evt,true,elem);
	}

	if (h_disabled==true || elem.disabled==true){
		return cancel_event(evt,true,elem);
	}

	if (!isOpera){
		elem.disabled=true;
		h_disabled=true;
	}
	document.body.style.cursor='wait';

	if (typeof url =='string' && (url !='')){
		self.location.href=url;
		return cancel_event(evt,true,elem);
	}

	return true;
}

function cancel_event(evt,dontenable,elem){
	evt = (evt) ? evt : ((window.event) ? event : null);
	if (typeof(elem) != 'object'){
		var elem = (evt.target) ? evt.target : evt.srcElement;
	}
	if (dontenable != true){
		h_disabled=false;
		elem.disabled=false;
	}

	if (evt.preventDefault){
		evt.preventDefault();
		evt.stopPropagation();
	}

	evt.cancelBubble = true;
	evt.returnValue=false
	return false;
}

function fhelp(stext){
	var o = document.getElementById('formhelp');
	var auto = document.getElementById('autohelp');
	if (auto && auto.checked){return;}
	if (o){o.innerHTML = stext;}
}

function addEvent(obj,event,action){
	if (typeof obj.addEventListener != "undefined"){
		obj.addEventListener(event, action, true);
	}
	else if (typeof obj.attachEvent != "undefined"){
		obj.attachEvent('on'+event, action);
	}
	else {
		eval ("obj.on" + event + "=" + action);
	}

}

function delEvent(obj,event,action){
	if (typeof obj.removeEventListener != "undefined"){
		obj.removeEventListener(event, action, false);
	}
	else if (typeof obj.detachEvent != "undefined"){
		obj.detachEvent('on'+event, action);
	}
	else {
		eval ("obj.on" + event + "=null;");
	}

}

function dclick(event){
	event = (event) ? event : ((window.event) ? event : null);
	if (event.preventDefault || event.stopPropagation){
		if (event.preventDefault){event.preventDefault();}
		if (event.stopPropagation){event.stopPropagation();}
		event.cancelBubble=true;
	}
	else {
		event.cancelBubble=true;
		event.returnValue=false;
	}
	alert('Please only click once - Double clicking may lead to unexpected results');
	return false;
}

function calc_net(source,rate){
	source = document.getElementById(source);
	rate = parseFloat(rate);
	var gross = parseFloat(source.value);
	if (isNaN(gross)){return;}
	var net = (gross*(rate/(100+rate)));
	var newnet=formatNumber((gross - net),2);
	if (confirm('Computed net amount ('+rate+'% of '+gross+') = ' + newnet + "\nClick OK to accept")){
		source.value = newnet;
	}

}

function formatNumber(num, decplaces){
	num = parseFloat(num);

	if (!isNaN(num)){
		var str = "" + Math.round(eval(num) * Math.pow(10,decplaces));
		if (str.indexOf("E") !=-1){	return '';}
		while (str.length <= decplaces){ str = "0" + str;}
		var decpoint = str.length - decplaces;
		return str.substring(0,decpoint) + "." + str.substr(decpoint,str.length);
	}
	return '';
}

function smartdiv(con,id,tabset,checkupdates,usewhite){
	var conobj = document.getElementById(con);
	if (conobj){
		if (checkupdates==true && FieldUpdated){
			if (confirm("You have made changes to this page and have not yet saved them.\n\nTo save these changes, click OK and then SAVE CHANGES\n\notherwise click CANCEL to continue and possibly lose the changes")){return false;}
			FieldUpdated=false;
		}
		if (typeof tabset =='string'){
				var pe = document.getElementById(tabset);
				if (pe.cells.length){
					for (var i=0; i<pe.cells.length; i++){
						if (pe.cells[i].id==('tab'+id)){pe.cells[i].className='taba' + (usewhite==true ? 'white' : '');}
						else if (pe.cells[i].className=='taba'+(usewhite==true ? 'white' : '')){pe.cells[i].className='tab';}
					}
				}
		}
		for (var i=0; i<conobj.childNodes.length; i++){
			if (conobj.childNodes[i].tagName=='DIV'){
				if (id==conobj.childNodes[i].id){conobj.childNodes[i].style.display='block';}
				else {conobj.childNodes[i].style.display='none';}
			}
		}
	}
}
function show_vtab(id){
	var t = new Array('main','rooms','equip','pack','cat','con','beds','sign','manage','ad','pol');
	var obj=null;
	var link=null;
	if (document.getElementById(id) || document.getElementById('v'+id)){
		for (var loop=0; loop<t.length; loop++){
			obj = document.getElementById('v'+t[loop]);
			link = document.getElementById('a'+t[loop]);
			if (obj && link){
				if (t[loop]==id){
					obj.style.display = 'block';
					link.style.color = '#ffffff';
				}
				else {
					obj.style.display = 'none';
					link.style.color = '';
				}
			}
		}
	}
}

function blockIt(){
	return false;
}

function check_email(evt){
	evt = (evt) ? evt : ((window.event) ? event : null);
	var email = document.getElementById('semail');
	var phone = document.getElementById('sphone');
	var text = document.getElementById('stext');

	if (email.value==''){alert('Please enter your email address'); return cancel_event(evt);}
	if (!VEmail(email)){return cancel_event(evt);}
	if (phone.value == ''){alert('Please enter your contact telephone number'); return cancel_event(evt);}
	if (text.value == ''){alert('Please enter your requirements'); cancel_event(evt);}
	return true;
}

function ShowTip(fArg)
{
	var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
	if (tooltipOBJ != null) {
		if (tooltipOBJ.style.display=='block'){tooltipOBJ.style.display='none'; return;}
		var tooltipLft = (document.body.offsetWidth?document.body.offsetWidth:document.body.style.pixelWidth) - (tooltipOBJ.offsetWidth?tooltipOBJ.offsetWidth:(tooltipOBJ.style.pixelWidth?tooltipOBJ.style.pixelWidth:380)) - 30;
		var tooltipLft = 10;
		var tooltipTop = 10;
		if (navigator.appName == 'Netscape') {
			tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
 			tooltipOBJ.style.top = tooltipTop+"px";
			tooltipOBJ.style.left = tooltipLft+"px";
		}
		else {
			tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
			tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
			if ((event.clientX > tooltipLft) && (event.clientY < (tooltipOBJ.scrollHeight?tooltipOBJ.scrollHeight:tooltipOBJ.style.pixelHeight) + 10)) {
				//tooltipTop = (document.body.scrollTop?document.body.scrollTop:document.body.offsetTop) + event.clientY + 20;
			}
			tooltipOBJ.style.left = tooltipLft;
			tooltipOBJ.style.top = tooltipTop;
		}
		tooltipOBJ.style.display = "block";
	}
}
function HideTip(fArg)
{
	var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
	if (tooltipOBJ != null) {
		tooltipOBJ.style.display = "none";
	}
}
function clear_select(obj){
	if (obj.tagName=='SELECT'){while (obj.options.length>0){obj.remove(0);}}
}
function MoveSelect(from,to,store){
    if (from.selectedIndex !=-1){
       var oOption = document.createElement("OPTION");
       var MoveText = from.options[from.selectedIndex].text;
       var MoveValue = from.options[from.selectedIndex].value;
       oOption.text = MoveText;
       oOption.value = MoveValue;
       to.add(oOption);
       from.remove(from.selectedIndex);
       ok = false;
       for (var i=0; i < store.options.length; i++){
          if (store.options[i].value == MoveValue){
               store.options[i].selected = (store.options[i].selected ) ? false : true ;
				ok = true;
          }
       }

	   	if (ok==false){
	      var oOption = document.createElement("OPTION");
       		oOption.text = MoveText;
       		oOption.value = MoveValue;
       		store.add(oOption);
			store.options[(store.options.length-1)].selected = (store.options[i].selected ) ? false : true ;
		}
    }

 FieldUpdated=true;
}

function startw(){

	if (document.all){iemarqueew(wslider);}
	else if (document.getElementById){
		ns6marqueew(document.getElementById('wslider'));
	}
	else if(document.layers){
		ns4marqueew(document.wslider1.document.wslider2);
	}
}

function iemarqueew(whichdiv){
	iedivw=eval(whichdiv);
	iedivw.style.pixelTop = wheight;
	iedivw.innerHTML='<nobr>' + messages[wcount]+'</nobr>';
	sizeupw=iedivw.offsetTop;
	ieslidew();
}
function ieslidew(){
	if (iedivw.style.pixelTop>=1){
		iedivw.style.pixelTop-=wspeed;
		setTimeout("ieslidew()",100);
	}
	else{
		if (messages.length>1){
			wcount=wcount+1;
			if (wcount >= (messages.length)){wcount=0;}
			setTimeout("startw()",5000);
		}
	}
}
function ns4marqueew(whichlayer){
	ns4layerw=eval(whichlayer);
	//ns4layerw.left=wwidth;
	ns4layerw.top=wheight;
	ns4layerw.document.write('<nobr>'+messages[wcount]+'</nobr>');
	ns4layerw.document.close();
	//sizeupw=ns4layerw.document.width;
	sizeupw=ns4layerw.document.height;
	ns4slidew();
}
function ns4slidew(){
	if (ns4layerw.top>=1){
		ns4layerw.top-=wspeed;
		setTimeour("ns4slidew()",100);
	//if (ns4layerw.left>=sizeupw*(-1)){
	//	ns4layerw.left-=wspeed;
	//	setTimeout("ns4slidew()",50);
	}
	else{
		if (messages.length>1){
			wcount=wcount+1;
			if (wcount >= (messages.length)){wcount=0;}
			setTimeout("startw()",5000);
		}

	}
}
function ns6marqueew(whichdiv){
	ns6divw=eval(whichdiv);
	//ns6divw.style.left=wwidth;
	ns6divw.style.top=wheight;
	ns6divw.innerHTML='<nobr>'+messages[wcount]+'</nobr>';
	//sizeupw=ns6divw.offsetWidth;
	sizeupw=ns6divw.offsetTop;
	ns6slidew();
}
function ns6slidew(){
	if (parseInt(ns6divw.style.top)>=1){
		ns6divw.style.top=parseInt(ns6divw.style.top)-wspeed;
		setTimeout("ns6slidew()",100);
	//if (parseInt(ns6divw.style.left)>=sizeupw*(-1)){
	//	ns6divw.style.left=parseInt(ns6divw.style.left)-wspeed;
	//	setTimeout("ns6slidew()",50);
	}
	else{
		if (messages.length>1){
			wcount=wcount+1;
			if (wcount >= (messages.length)){wcount=0;}
			setTimeout("startw()",5000);
		}

	}
}

function topfind(href,sel,find){
	if (sel.options[sel.selectedIndex].value ==''){alert('Please select a Blue zone');return;}
	if (sel.options[sel.selectedIndex].id == ''){alert('Please select a Blue Zone');return;}
	if (find.value == ''){alert('Please enter text to search for');return;}
	self.location = href + '&p=' + sel.options[sel.selectedIndex].value + '&t=r&iclass=' + sel.options[sel.selectedIndex].id + '&searchid=-1&swords=' + find.value;
}

function actmenu(obj){
	clearTimeout(ti);
	ob = document.getElementById(obj);
	ob.attachEvent('onmouseover', CheckMenu);
}

function showmenu(parent,menuid){

	clearTimeout(ti);

	if (ActiveMenu != ''){hidemenu(ActiveMenu);}

	obj = document.getElementById(menuid);

	el = parent;
	for (var ly=0,lx=el.offsetWidth;el != null;){
		ly+=el.offsetTop,lx+=el.offsetLeft,el=el.offsetParent;
	}

	obj.style.left = lx + 1;
	obj.style.top = ly;
	obj.style.display='block';
	ActiveMenu = menuid;

}

function hidemenu(menuid){
	obj = document.getElementById(menuid);
	obj.style.display='none';
	ActiveMenu = '';
}

function CheckMenu(){
	if (ActiveMenu !=''){hidemenu(ActiveMenu);}
	if (event){
		ob = event.srcElement;
		ob.detachEvent('onmouseover', CheckMenu);
	}
}

function showremain(obj,count){
	text = new String(obj.value);
	size = ((count - text.length)-1);
	xobj = document.getElementById(obj.name + '_size');
	xobj.innerHTML = size;
}

function tabtitle(text){
	obj = document.getElementById('tabtitle');
	obj.innerHTML = text;
}

function encrypt_element(obj){
	//var obj = document.getElementById(objid);
	var t = new String(obj.value);
	obj.value = hex_md5( MAGIC + t.toUpperCase());
	return true;
}

function set(cvar,obj){
	if (document.getElementById(cvar).value != ''){
		document.getElementById(document.getElementById(cvar).value).className='imgpos';
	}
	document.getElementById(cvar).value = obj.innerText;
	obj.className='imgposx';
}

function olp(title,url){
	var printwin = window.open('','_blank','toolbar=no,menubar=no,status=yes,location=no,left=10,top=10,width=762,height=580,resizable=yes,scrollbars=yes');
	shtml = "<html><head><title>" + title + "</title></head><frameset rows='95,*'><frame src='" + url + "&a=header' frameborder=0><frame src='" + url + "&a=body' frameborder=0></frameset></body></html>";
	printwin.document.writeln(shtml);
	return true;
}

function GotoAccount(account,obj){
	var printwin = window.open('http://' + HOST + '/?p=external&t=venue&v=' + account,'_blank','toolbar=no,menubar=no,status=no,location=no,left=100,top=50,width=750,height=500,resizable=yes,scrollbars=yes');
	h_disabled = false;
	if (obj){obj.disabled=false;}
}

function ShowBrochure(value,room){
	if (IE){
		x = screen.availWidth/2;
		y = screen.availHeight/2;
	}
	else {
		x = 400;
		y = 300;
	}
	if (room==null){room=0;}
	var pdfwin = window.open('http://' + HOST + '/?p=external&t=pdf&a=brochure&v=' + value + '&iroom=' + room,'_blank','toolbar=no,menubar=no,status=no,location=no,left=' + x + ',top=' + y + ',width=10,height=10,resizable=no,scrollbars=no');
	event.returnValue = false;
	return false;
}

function ShowMap(value,usehost){
	if (typeof usehost=='string'){dhost=usehost;}
	else {dhost = HOST;}
	var mapwin = window.open('http://' + dhost + '/?p=external&t=map&v=' + value,'_blank','toolbar=no,menubar=no,status=no,location=no,left=100,top=50,width=700,height=600,resizable=yes,scrollbars=yes');
	event.returnValue = false;
	return false;
}

function reloadparent(){
	self.location.reload();
}

function UploadImage(url,source,usehost){
	if (typeof usehost=='string'){dhost=usehost;}
	else {dhost = HOST;}
	var left = ( window.screenLeft ? window.screenLeft : 0);
	var top = ( window.screenTop ? window.screenTop : 0);
	//if (IE){
		//window.showModalDialog('http://' + dhost + '/'+ url,'','dialogWidth:450px;dialogHeight:310px;center:yes;status:no');
	//}
	//else {
		imagewin = window.open('http://' + dhost + '/'+ url,'_blank','toolbar=no,menubar=no,status=no,location=no,left=' + (left+100) + ',top=' + (top+50) + ',width=450,height=310,resizable=yes,scrollbars=yes');
	//}
	event.returnValue = false;
	return false;
}

function ShowWeb(value,type){
	if (type==null){type='venue';}
	var mapwin = window.open('http://' + HOST + '/?p=external&t=web&a=' + type + '&v=' + value,'_blank','toolbar=yes,menubar=yes,status=yes,location=yes,left=100,top=50,width=650,height=550,resizable=yes,scrollbars=yes');
	event.returnValue = false;
	return false;
}

function ShowHelp(value){
	var helpwin = window.open('http://' + HOST + '/?p=external&t=help&a=main&s=' + value,'_blank','toolbar=no,menubar=no,status=no,location=no,left=100,top=50,width=750,height=500,resizable=yes,scrollbars=yes');

	event.returnValue = false;
	return false;
}

function ShowAccount(account){
	var printwin = window.showModalDialog('/index.php?p=goto&a=account&v=' + account,'','center:yes;status:no');
	event.returnValue = false;
	return false;
}

function ShowAdvert(account){
	var printwin = window.open('/index.php?p=goto&a=advert&v=' + account,'_blank');
	event.returnValue = false;
	return false;
}

function PrintBrochure(obj){
	if (!confirm("Printing Brochures may take sometime depending on the size of the brochure and your Internet Connection speed.\nClick OK if you wish to proceed and a new window will be opened and you will be asked to select a printer, otherwise click CANCEL\n\nThe new window will close automatically when printing has finished !")){return;};
	var printwin = window.open('/index.php?p=goto&a=pb&id='+obj,'_blank','height=50,width=50,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,titlebar=no,toolbar=no');

}

function PrintDetails(logo,title,obj,ShowGoto,IsDisplay){
	var h=100;
	var w=100;
	if (IsDisplay==true){h=500;w=500;}
	var printwin = window.open('','_blank','height=' + h +',width=' + w +',location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
	if (printwin.document.createStyleSheet){
		var newstyle = printwin.document.createStyleSheet();

		for (i=0; i<document.styleSheets[0].rules.length; i++){
			props = document.styleSheets[0].rules.item(i);
			if (props.style.cssText == ''){continue;}
			newstyle.addRule(props.selectorText,props.style.cssText);
		}
	}

	if (ShowGoto && !SUB){
		var footer = '<br><center><img src="/images/info.gif" width=14 height=14 align="absmiddle" border=0 alt="More Info">' + self.location + '</center>';
	}
	else {
		var footer = '';
	}

	printwin.document.title = title;
	printwin.document.body.innerHTML = (logo !='' ? '<img src=\'' + logo + '\' border=0>' : '')  + obj.innerHTML + footer;
	if (IsDisplay){
	}
	else {
		printwin.print();
		printwin.close();
	}

}
function mhx(obj){
	obj.style.cursor='pointer';
	obj.style.color='#ffffff';
}

function mlx(obj){
	obj.style.cursor='auto';
	obj.style.color='#000086';
}

function mh(obj){
	obj.className='navboxhl';
}
function ml(obj){
	obj.className='navboxll';
}

function h(obj){
	h_color = obj.style.backgroundColor;
	obj.style.backgroundColor = '#FFECB2';
	//obj.style.backgroundColor = '#b3c1c4';
}
function l(obj){
	obj.style.backgroundColor = (h_color != '' ? h_color : '#ffffff');
	h_color = '';
}
function Show(obj){
	var objref = document.getElementById(obj);
	var imgref = document.getElementById(obj + '_img');
	if (objref.style.display == 'block'){
		OpenBox = '';
		objref.style.display = 'none';
		if (imgref){
			imgref.innerHTML = "<a class='link' onclick=\"Show('" + obj + "');\"><img src='/images/open.gif' width=16 height=13 border=0 align='middle' hspace=3 alt='open'><u>Open Form</u></a>";
		}
		return;
	}
	if (OpenBox != ''){
		document.getElementById(OpenBox).style.display = 'none' ;
		var t_imgref = document.getElementById(OpenBox + '_img');
		if (t_imgref){
			t_imgref.innerHTML = "<a class='link' onclick=\"Show('" + OpenBox + "');\"><img src='/images/open.gif' width=16 height=13 border=0 align='middle' hspace=3 alt='Open'><u>Open Form</u></a>";
		}

	}
	objref.style.display = 'block';
	if (imgref){
		imgref.innerHTML = "<a class='link' onclick=\"Show('" + obj + "');\"><img src='/images/folder.gif' width=13 height=13 border=0 align='middle' hspace=3 alt='Close Form'><u>Close Form</u></a>";
	}

	OpenBox = obj;
}



function hidehelp(hide){
		var coll = document.getElementsByTagName('TD');
		if (coll.length >0 ){
		    for (i=0; i<coll.length; i++){if (coll[i].className == 'formnote'){coll[i].style.display = (hide ? 'none' : 'block');}}
		}
		var x = document.getElementById('_togglehelp');
		if (x){
			x.innerHTML = "<a href='#' onclick=\"hidehelp(" + (hide ? false : true ) + ");\">" + (hide ? 'Show' : 'Hide') + " Help <img src='/images/" + (hide ? '' : 'no_') + "help.gif' width=15 height=15 border=0 hspace=3 align='middle' alr='Help'></a>";
		}

}

function redolayout(){
	DoneLayout = false;
	layout();
}

function removeObj(obj){
	if (IE){return obj.removeNode(true);}
	return obj.parentNode.removeChild(obj);
}

function create_option(id,text,disabled,isdefault){
	var eOption = document.createElement('OPTION');
	eOption.text = text;
	eOption.value = id;
	if (disabled){
		eOption.style.color='buttonface';
	}
	else {
		if (isdefault==true){eOption.style.color='blue';}
	}
	return eOption;
}
function toggle_option(obj,disabled){
	obj.style.color=(disabled ? 'buttonface' : '');
}

function layout(){

	//var clientTop = (document.body.clientTop ? document.body.clientTop : 1);
	//
	//var pPos = getObjectPosition(oBody);
	//var mapImage = document.getElementById('mapimage');
	//var mWidth=0;
	//if (mapImage){
		//mapImage.style.left = pPos.left + 'px';
		//mWidth = getObjectWidth(mapImage);
	//}
	var oHead= document.getElementById('layoutHeader'+SYSTEMID);
	var oBody = document.getElementById('layoutBody');
	//oHead.style.left = (pPos.left + mWidth) + 'px';

	var pWidth = getObjectWidth(oHead);
	var wHeight = getInsideWindowHeight();
	var wWidth = getInsideWindowWidth();
	var pHeight = getObjectHeight(oHead) + getObjectHeight(oBody);

	var foot = document.getElementById('layoutFooter');
	var nav = document.getElementById('layoutLeft');
	if (foot && nav){
		var fHeight = getObjectHeight(foot);
		if ((pHeight+fHeight)<wHeight){nav.style.height = (getObjectHeight(nav)+(wHeight-(pHeight))) + 'px';}
	}

	if ((typeof elementtofocus == 'string') && (elementtofocus !='' && document.getElementById(elementtofocus))){
		document.getElementById(elementtofocus).focus();
	}

}

function getRawObject(obj){
	var theObj;
	switch (typeof obj){
		case 'string':
			if (isW3C){
				theObj = document.getElementById(obj);
			}
			else if (isIE4){
				theObj = document.all(obj);
			}
			else if (isNN4){
				theObj = seekLayer(document, obj);
			}
			return theObj;
		default:
			return obj;
	}
}

function getObjectHeight(obj){
	var elem = getRawObject(obj);

	if (elem.offsetHeight){
		return parseInt(elem.offsetHeight);
	}
	else if (elem.clip && elem.clip.height){
		return parseInt(elem.clip.height);
	}
	else if (elem.style && elem.style.pixelHeight){
		return parseInt(elem.style.pixelHeight);
	}
	else if (elem.style && elem.style.height){
		return parseInt(elem.style.height);
	}

	return 0;
}

function getObjectPosition(obj){
	var left=0;
	var top=0;
	while (obj){
		left += obj.offsetLeft;
		top += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return {left:left,top:top};
}

function getObjectWidth(obj){
	var elem = getRawObject(obj);

	if (elem.offsetWidth){
		return parseInt(elem.offsetWidth);
	}
	else if (elem.clip && elem.clip.width){
		return parseInt(elem.clip.width);
	}
	else if (elem.style && elem.style.pixelWidth){
		return parseInt(elem.style.pixelWidth);
	}
	else if (elem.style && elem.style.width){
		return parseInt(elem.style.width);
	}
	return 0;
}

function getInsideWindowHeight(){
	if (window.innerHeight){
		return parseInt(window.innerHeight);
	}
	else if (isIE6CSS){
		return parseInt(document.body.parentElement.clientHeight);
	}
	else if (document.body && document.body.clientHeight){
		return parseInt(document.body.clientHeight);
	}
	return 0;
}

function show_div(evt,obj,div){

	evt = (evt) ? evt : ((window.event) ? event : null);

	elem = evt.srcElement || evt.target;
	if (elem && elem.title !=''){
		window.status = elem.title;
	}
	obj = document.getElementById(obj);
	if (typeof div =='string' && div !=''){
		var odiv = document.getElementById(div);
		sdivHtml = odiv.innerHTML;
		obj.innerHTML = '<div style="color:#000000;">' + sdivHtml + '</div>';
	}
	else {
		obj.innerHTML = '&nbsp;';
	}
	return true;

	switch (odiv.style.display){
		case 'block':
			odiv.style.display='none';
			break;
		default:
			var leftpos = 0;
			var toppos=0;
			var aTag = obj;

			do {
				aTag     = aTag.offsetParent;
				leftpos += aTag.offsetLeft;
				toppos  += aTag.offsetTop;
			} while (aTag.tagName != 'BODY');

			odiv.style.left = obj.offsetWidth + leftpos;
			odiv.style.top = toppos;
			if (!odiv.viewed){odiv.innerHTML = sHtml;}
			odiv.viewed = true;
			odiv.style.display='block';
			break;
	}
}

function CheckChanges(){
	if (FieldUpdated == true){
		h_disabled = false;
		event.returnValue="You have made changes to a form that have not been saved !\n\nIf you CONTINUE these changes will be lost";
	}

}


function Piece(MasterString, FindString, Occurance){
 MasterString = MasterString + FindString ;

 var FL = FindString.length;
 var pos = 0;
 var start = 0;
 var num = 0 ;
 var i = -1;
 var subsS = new Array();
 var subsE = new Array();

 if (MasterString.indexOf(FindString) == -1){return '';}

 while (pos != -1){
      pos = MasterString.indexOf(FindString, i);
      num++;
      i = pos + FL;
      subsS[num] = start;
      subsE[num] = pos;
      start= pos + FL ;
      }

 if ( (Occurance) > num ){ return '';}

 var ReturnString = MasterString.substring(subsS[Occurance],subsE[Occurance]);

 return ReturnString;
 }

function mtime(iTime){
	if (parseInt(iTime)<1){return 0;}
	var vH = '' + Math.floor(parseInt(iTime)/3600);
	var vM = '' + Math.floor(((parseInt(iTime)%3600)/60));
	var vS = '' + ((parseInt(iTime)%3600)%60);
	if (vH.length<2){vH = '0' + vH;}
	if (vM.length<2){vM = '0' + vM;}
	if (parseInt(vS)>0 && vS.length<2){vS = '0' + vS;}
	return vH+':'+vM;
}

function horolog(date){

	if (date=='' || date==null || date==DATEFORMAT){return 0;}
	var D = parseInt(Piece(date,'-',1));
	var M = parseInt(Piece(date,'-',2));
	var YF = parseInt(Piece(date,'-',3));
	var YY = (YF%100);

	var MONTHS =(((YF%4)==0) ? Array(0,31,60,91,121,152,182,213,244,274,305,335) : Array(0,31,59,90,120,151,181,212,243,273,304,334));

	var YEARS = (YF-1841);

	var Hor = (365 * (YEARS)) + Math.floor(YEARS/4);

	Hor += MONTHS[(M-1)];

 	Hor += D;

	/*Apparently year 1900 wasn't a leap year*/
	if (Hor>21609){Hor--;}

	return Hor;
}
function tDelim(iTime){
	 var vDelim = /\D/;

        //Get the delimiter used

        return vDelim.exec(iTime);

}
function thorolog(iTime){

        if (iTime == ''){return 0;}

        var vTime1 = /^((\d|\d\d)(:|.)(\d|\d\d)){1}/;
        var vTime2 = /^((\d|\d\d)(:|.)(\d|\d\d)(:|.)(\d|\d\d)){1}/;

        if (!vTime1.test(iTime) && !vTime2.test(iTime)){
                return 0;
        }

	Delim=tDelim(iTime);

        if (Delim == ''){
                if (window.event){window.event.cancelBubble = true;}
                alert("Cannot find delimiter");
                return false;
        }


        if (vTime1.test(iTime)){ iTime += Delim+'00' ; seconds = false;}
		else {seconds=true;}

		var vH = Piece(iTime,Delim,1);
		var vM = Piece(iTime,Delim,2);
		var vS = Piece(iTime,Delim,3);

		if (vH !='0' && vH !='00'){while (vH.charAt(0) == 0){vH = vH.substring(1,vH.length);}}
		if (vM !='0' && vM !='00'){while (vM.charAt(0) == 0){vM = vM.substring(1,vM.length);}}
		if (vS !='0' && vS !='00'){while (vS.charAt(0) == 0){vS = vS.substring(1,vS.length);}}

        var vH = parseInt(vH);
        var vM = parseInt(vM);
        var vS = parseInt(vS);

        if ((vH > 23) || (vH<0) || (vM > 59) || (vM<0) || (vS > 59) || (vS < 0)){
                return 0;
        }

        return ((vH*3600)+(vM*60)+vS);

}

function VTime(obj,fromtime,totime,orig){


        var vTime1 = /^((\d|\d\d)(:|.)(\d|\d\d)){1}/;
        var vTime2 = /^((\d|\d\d)(:|.)(\d|\d\d)(:|.)(\d|\d\d)){1}/;
        var vMess = "Please enter the time in the following format (24hour Clock):\n\nHH:MM[:SS]";

		switch (obj.tagName){
			case 'SELECT':
				var iTime = obj[obj.selectedIndex].innerText;
				var returnvalue = false;
				break;
			default:
				var iTime = obj.value;
				var returnvalue = true;
				break;
		}

		value = thorolog(iTime);

		if (value<1){
                window.event.cancelBubble = true;
                alert(vMess);
                if (returnvalue){
                	if (orig !=null){obj.value=orig;}
                	obj.select();
                }
                return cancel_event(window.event);
        }


		if (fromtime != null){

			switch (fromtime.tagName){
				case 'SELECT':
					gTimev = fromtime[fromtime.selectedIndex].innertext;
					break;
				default:
					gTimev = fromtime.value;
					break;
			}

			gtime = thorolog(gTimev);
			if (value <= gtime || gtime<1){
                window.event.cancelBubble = true;
                alert(iTime + ' cannot be less than ' + gTimev);
                if (returnvalue){
                	if (orig !=null){obj.value=orig;}
                	obj.select();
                }
                return cancel_event(window.event);
			}
		}


		if (totime != null){

			switch (totime.tagName){
				case 'SELECT':
					var gTimev = totime[totime.selectedIndex].innertext;
					break;
				default:
					var gTimev = totime.value;
					break;
			}

			gtime = thorolog(gTimev);
			if (value <= gtime || gtime<1){
                window.event.cancelBubble = true;
                alert(iTime + ' cannot be greater than ' + gTimev);
                if (returnvalue){
                	if (orig !=null){obj.value=orig;}
                	obj.select();
                }
                return cancel_event(window.event);
			}
		}

		Delim = tDelim(iTime);

		if (returnvalue){
	        if (vTime1.test(iTime)){ iTime = iTime + Delim+'00' ; seconds = false;}
			else {seconds=true;}

			var vH = Piece(iTime,Delim,1);
			var vM = Piece(iTime,Delim,2);
			var vS = Piece(iTime,Delim,3);

			if (vH.length<2){vH = '0' + vH;}
	        if (vM.length<2){vM = '0' + vM;}
	        if (vS.length<2){vS = '0' + vS;}

	        obj.value = (vH + ':' + vM + (seconds ? ':' +vS : ''));
		}

        return true;
}

function VIP(obj){
        var iIP = obj.value + '?';
        if (iIP == '?'){return true;}
        var vIP = /^((\d|\d\d|\d\d\d)\.(\d|\d\d|\d\d\d)\.(\d|\d\d|\d\d\d)\.(\d|\d\d|\d\d\d)\?){1}/;
        if (!vIP.test(iIP)){
                window.event.cancelBubble = true;
                obj.select();
                alert("Must be in format nnn.nnn.nnn.nnn\ne.g. 194.342.234.56");
                return false;
                }
        return true;
}
function VEmail(obj){
        var iEmail = obj.value;
        if (iEmail == ''){return true;}
        if (iEmail.search('@') == -1){
                window.event.cancelBubble = true;
                obj.select();
                alert("Email addresses must contain '@'");
                return false;
                }
        return true;
}
function VInteger(obj){
        var iInteger = obj.value;
        if (iInteger == ''){return true;}
        var vInteger = /\-{0,1}D{1,}/;
        if (vInteger.test(iInteger)){
                window.event.cancelBubble = true;
                obj.select();
                alert("Must be a whole number between 1 & 32676");
                return false;
                }
        return true;
}
function VDate(obj){
        var iDate = obj.value + '?';
        var vMess = "Please enter the date in any of the following formats:\n\n(d)d-(m)m-yy e.g. 2-6-00\n(d)d-(m)m-ccyy e.g. 2-6-2000\n\nPlease Note : \n\na) You can use '-' or '\\' or '/' or '.' as delimiters.\nb) You do not need to specify the leading zero for days or months.\nc) If you leave the century out, then this century is assumed !";
        if (iDate == '?'){return true;}

        var vDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

        var vDate = /^((\d|\d\d)(\.|\/|\\|-)(\d|\d\d|(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))(\.|\/|\\|-)(\d\d|\d\d\d\d)\?){1}/;

        //Check the date is in an acceptable format

        var vDelim = /\D/;
        if (!vDate.test(iDate)){
                if (window.event){window.event.cancelBubble = true;}
                alert(vMess);
                obj.select();
                return cancel_event(window.event);
                }

        //Get the delimiter used

        var Delim = vDelim.exec(iDate);
        if (Delim == ''){
                alert(vMess);
                obj.select();
                return cancel_event(window.event);
                }

        //Get Day, Month & Year

        iDate = Piece(iDate,"?",1);
        var vD = Piece( iDate, Delim, 1);
        var vM = Piece( iDate, Delim, 2);
        var vY = Piece( iDate, Delim, 3);


		//Strip leading zeros

		while (vD.charAt(0) == 0){
				vD = vD.substring(1,vD.length);
		}

		vD = parseInt(vD);

		while (vY.charAt(0) == 0){
				vY = vY.substring(1,vY.length);
		}

		vY = parseInt(vY);

        //Expand 2 digit year

        if (vY < 100){vY = vY + 2000};

        //Increment February Max Days if a leap year

        if ((vY%4)<1){vDays[1] = 29 ;}

        //Get Month Number

        var vMonth = /\d|\d\d/ ;
        if (!vMonth.test(vM)){
                // Month is string
                var vMonths = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" ;
                vM = (vMonths.indexOf(vM) /3)+1 ;
                }
        else {

				while (vM.charAt(0) == 0){
					vM = vM.substring(1,vM.length);
				}

				vM = parseFloat(vM);

	           if ((vM>12) || (vM<1)){
                        if (window.event){window.event.cancelBubble = true;}
                        alert('Invalid Month\n\n' + vMess);
                        obj.select();
                		return cancel_event(window.event);
               }
        }

        //Check Maximum days for the month

        vD = parseFloat(vD);

        if ((vD > vDays[(vM-1)]) || (vD < 1)){
            if (window.event){window.event.cancelBubble = true;}
            alert('Invalid Days - '+ vD + '\n\n' + vMess);
            obj.select();
            return cancel_event(window.event);
        }


        //All Ok, redisplay date and quit

        if (vD<10){vD = '0' + vD;}
        if (vM<10){vM = '0' + vM;}


        obj.value = vD + '-' + vM + '-' + vY;


        return true;
}

function changeColor(obj,wcolour) {
	o = document.getElementById(obj);
	if (IE){
		o.value = '#' + wcolour;
		document.all[("pickcolour_"+obj)].style.backgroundColor = '#' + wcolour;
		document.all[("colorbox_"+obj)].style.display = 'none';
	}
	if (NS4){
		o.value = '#' + wcolour;
		document.layers[("pickcolour_"+obj)].bgColor = '#' + wcolour;
		document.layers[("colorbox_"+obj)].display = 'none';
	}
	if (NS6){
		o.value = '#' + wcolour;
		document.getElementById(("pickcolour_"+obj)).style.backgroundColor = '#' + wcolour;
		document.getElementById(("colorbox_"+obj)).style.display = 'none';
	}

}

function showColor(obj,posX,posY){

	if (IE){
		e = window.event;
		with (document.all[("colorbox_"+obj)]){
			style.left = e.clientX;
			style.top  = e.clientY;
			style.display = 'block';
		}
	}
	if (NS4){
		with(document.layers[("colorbox_"+obj)]){
			top = posY +18;
			left = posX +17;
			visibility = true;
		}
	}
	if (NS6){
		with(document.getElementById(("colorbox_"+obj)).style){
			top = NS6Y;
			left = NS6X;
			display = 'block';
		}
	}

}

function ns6Get(e){
	NS6X = e.layerX;
	NS6Y = e.layerY;
	showColor(null,null);
}



function color_picker_init(o) {
	// init function for NS6
	if (NS6){
	  	cpicker = document.getElementById(("pickcolour_"+o));
	  	cpicker.addEventListener("click", ns6Get, false);
		}

	obj = document.getElementById(o);
	if (obj.value != ''){
		temp = new String(obj.value);
		if (temp.charAt(0)=='#'){temp = temp.substr(1,temp.length);}
		changeColor(o,temp);
	}

				c = new Array();
				c[1] = "FF";
				c[2] = "CC";
				c[3] = "99";
				c[4] = "66";
				c[5] = "33";
				c[6] = "00";
				d = 0;
				for (i=1;i <=6;i++){
					if (i >1){
					document.write( "</tr>\n<tr>\n");
					}
					for (m=1;m <=6;m++){
						for (n=1;n <=6;n++){
							d++;
							colour = c[i] + c[m] + c[n];
							 document.write("<td bgcolor=\"#"+colour+"\" width=7 class=\"text\"><a href=\"#\" onClick=\"changeColor('" +o+ "','" +colour+ "')\"><img src=\"/images/pixel.gif\" width=7 height=7 name=\"a"+d+"\" border=0 alt='pixel'></td>\n");
						}
					}
				}

}

function showtree(o,id){
	var mode='';
	var x = document.getElementById(id);
	x.style.display = (x.style.display==mode ? 'none' : mode);
	if (x.style.display==mode){x.style.offsetheight='0px';}
	o.src = '/images/' + (x.style.display==mode ? 'm' : 'p') + '.gif';
	return true;
}

function tcount(oname){
	var c=0;
	var col = document.getElementsByName(oname);
	for (var i=0; i<col.length; i++){
		if (col[i].checked==true){c++;}
	}
	return c;
}



function tselectall(oname,mode){
	var col = document.getElementsByName(oname);
	for (var i=0; i<col.length; i++){
		col[i].checked = mode;
	}
}
function convert_time(time){
	thour = (100+(time/3600)) + "";
	tmin = (100+((time%3600)/60)) + "";

	return (thour.substr(1,2) + ':' + tmin.substr(1,2));

}

function date_obj(date,day){
	this.date = date;
	this.day = day;
}

function radio_value(obj){
	var value=null;
	for (var i=0; i<obj.length; i++){if (obj[i].checked){value = obj[i].value; break;}}
	return value;
}
function check_search(){
	obj = document.getElementById('frm_search');
	err='';
	nl="\n";
	if (obj.icounty[obj.icounty.selectedIndex].value == 0 && obj.iregion[obj.iregion.selectedIndex].value == 0 && obj.itown[obj.itown.selectedIndex].value == 0 && obj.ilocation[obj.ilocation.selectedIndex].value == 0 && obj.spostcode.value == ''){err = err + '.. tell us which Region, County, Town, Location or Postcode you are looking for' + nl;}
	if (obj.ipeople && parseInt(obj.ipeople.value) < 1){err = err + '.. tell us how many people will be attending' + nl;}

	//if (obj.idur && radio_value(obj.idur)==null){err = err +'.. tell us how long you want the venue for' + nl;}

	//if (obj.sfromdate){
	//	if (obj.sfromdate.value==DATEFORMAT || obj.sfromdate.value==''){obj.sfromdate.value='';obj.stodate.value='';}
	//	else {
	//		if (!VDate(obj.sfromdate)){return false;}
	//		if (!VDate(obj.stodate)){return false;}
	//		if (horolog(obj.sfromdate.value) < HOROLOG){err = err + '.. Date cannot be earlier than today ' + nl;}
	//		if (horolog(obj.stodate.value) < horolog(obj.sfromdate.value)){err = err + '.. To Date cannot be less than from date' + nl;}
	//		if (thorolog(obj.sfromtime[obj.sfromtime.selectedIndex].value)<1){err = err + '.. tell us a from time' + nl;}
	//		if (thorolog(obj.stotime[obj.stotime.selectedIndex].value)<1){err = err + '.. tell us a to time' + nl;}
	//		if (thorolog(obj.stotime[obj.stotime.selectedIndex].value) < thorolog(obj.sfromtime[obj.sfromtime.selectedIndex].value)){err = err + '.. to time must be greater than from time' + nl;}
	//	}
	//}

	if (err != ''){
		alert('Before we can proceed please' + nl + err);
		return false;
	}
	return true;
}

function show_extended(){
	if (document.getElementById('sfromdate').value==document.getElementById('stodate').value){
		document.getElementById('extended_date').style.display='none';
	}
	else {
		document.getElementById('extended_date').style.display='block';
	}
}

function change(obj){

	switch (obj.name){
		case 'iregion':
			document.frm_search.icounty.selectedIndex=0;
			document.frm_search.itown.selectedIndex=0;
			document.frm_search.ilocation.selectedIndex=0;
			document.frm_search.spostcode.value='';
			break;
		case 'icounty':
			document.frm_search.iregion.selectedIndex=0;
			document.frm_search.itown.selectedIndex=0;
			document.frm_search.ilocation.selectedIndex=0;
			document.frm_search.spostcode.value='';
			break;
		case 'itown':
			document.frm_search.icounty.selectedIndex=0;
			document.frm_search.iregion.selectedIndex=0;
			document.frm_search.ilocation.selectedIndex=0;
			document.frm_search.spostcode.value='';
			break;
		case 'ilocation':
			document.frm_search.icounty.selectedIndex=0;
			document.frm_search.iregion.selectedIndex=0;
			document.frm_search.itown.selectedIndex=0;
			document.frm_search.spostcode.value='';
			break;
		case 'spostcode':
			document.frm_search.icounty.selectedIndex=0;
			document.frm_search.iregion.selectedIndex=0;
			document.frm_search.itown.selectedIndex=0;
			document.frm_search.ilocation.selectedIndex=0;
			break;

	}
}


function searching(){
	var x = document.getElementById('search_div');
	var o = '<div align=right style="padding-right:4px; padding-top:2px;"><table cellspacing=0 cellpadding=1 style="border:solid 1px #000000; background-color:#ffffff;"><tr>';
	var title = new String('Searching');
	for (var i=0; i<9; i++){ o += '<td style="' + (i>search ? 'background-color:#ffffff; color:Blue' : 'background-color:Blue; color:#ffffff') + ';font-size:10px;">' + title.charAt(i) + '</td>';}
	o += '</table></div>';
	x.innerHTML = o;
	search++;
	if (search>9){search=0;}
	window.setTimeout(searching,1000);
}

function searchingrfm(){
	var x = document.getElementById('search_div');
	var o = '<center style="padding-top:50px;"><div class=pbt style="padding:30px;text-align:center;">Please wait while we search our database and compile your search results</div><table cellspacing=0 cellpadding=2 style="border-left:solid 3px buttonhighlight;border-top:solid 3px buttonhighlight;border-right:solid 3px buttonshadow;border-bottom:solid 3px buttonshadow;background-color:buttonface;"><tr><td><table width="100%" cellspacing=0 cellpadding=2 style="border:inset 2px #ffffff;"><tr>';
	var title = new String('searching');
	for (var i=0; i<9; i++){ o += '<td style="' + (i>search ? 'background-color:buttonface; color:Blue' : 'background-color:Blue; color:#ffffff') + ';font-size:11px; font-weight:bold;">' + title.charAt(i) + '</td>';}
	o += '</tr></table></td></tr></table></center>';
	x.innerHTML = o;
	search++;
	if (search>9){search=0;}
	window.setTimeout(searchingrfm,1000);
}

function uploading(){
	var x = document.getElementById('uform');
	var o = '<center style="padding-top:50px;"><div class=pbt style="padding:30px;text-align:center;">Please wait while we upload your file</div><table cellspacing=0 cellpadding=2 style="border-left:solid 3px buttonhighlight;border-top:solid 3px buttonhighlight;border-right:solid 3px buttonshadow;border-bottom:solid 3px buttonshadow;background-color:buttonface;"><tr><td><table width="100%" cellspacing=0 cellpadding=2 style="border:inset 2px #ffffff;"><tr>';
	var title = new String('uploading-file');
	for (var i=0; i<9; i++){ o += '<td style="' + (i>search ? 'background-color:buttonface; color:Blue' : 'background-color:Blue; color:#ffffff') + ';font-size:11px; font-weight:bold;">' + title.charAt(i) + '</td>';}
	o += '</tr></table></td></tr></table></center>';
	x.innerHTML = o;
	search++;
	if (search>9){search=0;}
	window.setTimeout(uploading,1000);
}

function drags(event){

	if (dragobject==null){return;}
	elem = dragobject;
	evt = (event) ? event : ((window.event) ? event : null);
	var delem = (evt.target) ? evt.target : evt.srcElement;
	if (delem.className !='dragtd'){return;}

	dragapproved=true;

	if (elem.style.pixelLeft){
		temp1=elem.style.pixelLeft;
		temp2=elem.style.pixelTop;
	}
	else {
		temp1=parseInt(elem.style.left);
		temp2=parseInt(elem.style.top);
	}
	if (evt.pageX){
		x = evt.pageX;
		y = evt.pageY;
	}
	else {
		x=evt.clientX;
		y=evt.clientY;
	}

}
function move(event){
	evt = (event) ? event : ((window.event) ? event : null);

	if (dragapproved){

		if (evt.pageX){
			elem.style.left=(temp1+evt.pageX-x) + 'px';
			elem.style.top=(temp2+evt.pageY-y) + 'px';
			return false;
		}
		else if (evt.clientX || evt.clientY){
			elem.style.left = (temp1+evt.clientX-x) + 'px';
			elem.style.top = (temp2+evt.clientY-y) + 'px';
			return false;
		}

		return false;
	}
}


function ShowCode(code) {
	var win = window.open('','_blank','toolbar=no,menubar=no,status=yes,location=no,left=10,top=10,width=700,height=300,resizable=yes,scrollbars=yes');
	shtml = "<html><head><title>Example Code</title></head><body><strong>Copy and paste the following HTML code into your web-page</strong><br><br><textarea rows=10 cols=70>" + code + "</textarea><p><center><button onclick=self.close()>Close Window</button></center></p></body></html>";
	win.document.writeln(shtml);
	return true;

}
function ShowDiv(evt,sText,url,urltext,title) {
	if (typeof helpdiv != 'object'){
		helpdiv = document.getElementById('helpdiv');
	}

	evt = (evt) ? evt : ((window.event) ? event : null);

	var pos = getPageEventCoords(evt);

	if (typeof sText == 'object'){
		sText = sText.innerHTML;
	}

	helpdiv.innerHTML = '<table width="100%" cellspacing=0 cellpadding=0><tr style="background-color:Darkblue;"><td style="color:#ffffff;font-family:menu;padding:3px;" class=dragtd><b class=dragtd>' + (typeof title=='string' && title !='' ? title : 'Information') + '</b></td><td align=right class=dragtd><img src="/images/close.gif" alt="Close Window" hspace=3 vspace=3 align=right onclick="HideDiv();stopdrag(true);"></td></tr><tr><td colspan=2 style="padding:5px;padding-bottom:10px;color:#000000;" class=helpdivp>' + sText ;

	if (typeof url=='string' && url !=''){
		helpdiv.innerHTML += '<p align=right style="padding:5px;"><a href="#" class=button onclick="c(event,\'' + url + '\');">' + urltext + '</a></p>';
	}
	helpdiv.innerHTML += '</td></tr></table>';

	var x = ((pos.left + 320) > (getInsideWindowWidth()-40) ? pos.left - 360 : pos.left);
	var h = getObjectHeight(helpdiv) || 175;
	var y = ((pos.top + h) > (getInsideWindowHeight() -40) ? getInsideWindowHeight()-(h+40) : pos.top + 5);
	helpdiv.style.left = x + 'px';
	helpdiv.style.top = y + 'px';
	helpdiv.style.display = 'block';
	helpdiv.style.zIndex=999;
	addEvent(document,'mousedown',drags);
	addEvent(document,'mousemove',move);
	addEvent(document,'mouseup',stopdrag);
	dragobject=helpdiv;

}
function stopdrag(cancel){
	dragapproved = false;
	if (typeof cancel != 'undefined' && cancel==true){
		delEvent(document,'mousedown',drags);
		delEvent(document,'mousemove',move);
		delEvent(document,'mouseup',stopdrag);
	}
}

function ajax_form(form){
	var formObject = document.forms[form];
	var sendto;
	var requestType;
	if( (sendto = formObject.getAttribute('action')) == null ) {sendto = new String( window.location );}
	requestType = formObject.getAttribute('method');
	requestType = ( requestType == null ) ? 'get' : requestType;
	YAHOO.util.Connect.setForm(form,true);
  	YAHOO.util.Connect.asyncRequest(requestType.toUpperCase(),sendto,ajax_response);
}

var ajax_response = {
	success: function(o) {
		var rXML = o.responseXML;
		var result = rXML.getElementsByTagName('result')[0].firstChild.data;
		if (parseInt(result)==1){
			var url = rXML.getElementsByTagName('url')[0].firstChild.data;
			var action = rXML.getElementsByTagName('raction')[0].firstChild.data;
			alert(action);
			if (action !=''){
				eval(action);
				alert(action);
			}
			if (url !=''){self.location=url;}
		}
		else {alert(rXML.getElementsByTagName('error')[0].firstChild.data);}
	},
	failure: function(o){alert('Error Communicating with Server - ' + o.statusText);}
}

function HideDiv(){
	helpdiv.style.display = 'none';
	helpdiv.style.zIndex=0;
	dragobj = null;
}

function getInsideWindowWidth(){
	if (window.innerWidth){
		return parseInt(window.innerWidth);
	}
	else if (isIE6CSS){
		return parseInt(document.body.parentElement.clientWidth);
	}
	else if (document.body && document.body.clientWidth){
		return parseInt(document.body.clientWidth);
	}
	return 0;
}

function getInsideWindowHeight(){
	if (window.innerHeight){
		return parseInt(window.innerHeight);
	}
	else if (isIE6CSS){
		return parseInt(document.body.parentElement.clientHeight);
	}
	else if (document.body && document.body.clientHeight){
		return parseInt(document.body.clientHeight);
	}
	return 0;
}

function getPageEventCoords(evt){
	var coords = {left:0, top:0};
	if (evt.pageX){
		coords.left = evt.pageX;
		coords.top = evt.pageY;
	}
	else if (evt.clientX){
		coords.left = evt.clientX + document.body.scrollLeft - document.body.clientLeft;
		coords.top = evt.clientY + document.body.scrollTop - document.body.clientTop;
		if (document.body.parentElement && document.body.parentElement.clientLeft){
			var bodParent = document.body.parentElement;
			coords.left += bodParent.scrollLeft - bodParent.clientLeft;
			coords.top += bodParent.scrollTop - bodParent.clientTop;
		}
	}
	return coords;
}

function check_update(evt){
	evt = (evt) ? evt : ((window.event) ? event : null);
	elem = evt.srcElement || evt.target;
	switch (parseInt(evt.keyCode)){
		case 37:
		case 38:
		case 39:
		case 40:
		case 16:
		case 17:
		case 27:
		case 9:
		case 13:
			return true;
		default:
			FieldUpdated=true;
			return true;
	}
}

function switch_tab(active,updates){
	if (updates==true && FieldUpdated){
		if (!confirm("You have made changes and not yet saved them.\n\nTo save these changes, click CANCEL and then save the changes\n\notherwise click OK to continue and discard the changes")){return false;}
	}
	for (var i=0; i < tabs.length; i++){
		document.getElementById('tab' + i).className='tab';
		document.getElementById('page' + i).style.display='none';
		tabs[i]=0;
	}
	document.getElementById('tab' + active).className='taba';
	document.getElementById('page' + active).style.display='block';
	tabs[active]=1;
	document.getElementById('iactivetab').value=active;
	if (updates==true){FieldUpdated = false;}
}

function balert(ev){
	alert('Im going');
	cancel_event(ev);
}
function check_disabled(obj){
	if (obj.disabled){return true;}
	if (h_disabled){return true;}
	return false;
}

function displayTextDiagonal (text, down, deg, lsp) {

	deg = deg || 45;
  deg = Math.PI / 180 * deg;
  lsp = lsp || 10;
  dy = lsp * Math.tan(deg);
  var html = '';
  html += '<DIV ID="td' + id + '"' + ' style="position: relative;"' + '>';
  if (down) {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + id + r
             + '" STYLE="position: relative;left: '
             + (r * lsp) + 'px; top: ' + (r * dy) + 'px;">';
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  else {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + id + r
              + '" STYLE="position: relative;left: '
              + (r * lsp) + 'px; top: '
              + ((text.length - r) * dy) + 'px;">';
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  html += '<\/DIV>';
  id++;
  document.write(html);
}

function check_number(event,chkDec,nofieldupdate){
	if (event.keyCode){
		if ((event.keyCode>47 && event.keyCode<58) || (event.keyCode>95 && event.keyCode<106)){
			if (nofieldupdate != true){FieldUpdated=true;}
			return true;
		}
		if (chkDec==true && (event.keyCode==190 || event.keyCode==110)){
			var elem = event.srcElement || event.target;
			var x = new String(elem.value);
			if (x.indexOf('.')==-1){
				if (nofieldupdate != true){FieldUpdated=true;}
				return true;
			}
			return cancel_event(event);
		}
		switch (parseInt(event.keyCode)){
			case 8:
			case 37:
			case 38:
			case 39:
			case 40:
			case 46:
			case 16:
			case 17:
			case 27:
			case 9:
			case 13:
				return true;
			default:
				return cancel_event(event);
		}
	}

	return cancel_event(event);
}
function draw_badge(){
	var b = document.getElementById('istat').value;

	var pt,ct,t,l,c,r;

	if (b){
		pt = document.getElementById('l' + b);
		ct = pt.getElementsByTagName('TABLE');
		if (ct.length){
			for (l=0; l<ct.length; l++){
				for (r=0; r<(ct[l].rows.length); r++){
					c = ct[l].rows[r].cells[0];
					c.style.verticalAlignment = (r==0 ? 'top' : (r==1 ? 'middle' : 'bottom'));
					c.style.textAlign = document.getElementById('sa['+(r+1)+']').value;
					c.style.fontSize = document.getElementById('sf['+(r+1)+']').value + 'px';
					c.style.fontWeight = document.getElementById('sw['+(r+1)+']').value;
					c.style.color = document.getElementById('sc['+(r+1)+']').value;
					font = document.getElementById('sff['+(r+1)+']').value;
					c.style.fontFamily = (font=='arial' ? (c.style.fontWeight=='bold' ? 'Arial Black' : 'Arial') : font);
					tobj = document.getElementById('st['+(r+1)+']');
					c.innerHTML = (tobj[tobj.selectedIndex].value != '' ? tobj[tobj.selectedIndex].text : '');
				}
			}
		}
	}
}
function check_badge(){
	var t='';
	for (var loop=1; loop<4; loop++){
		tobj = document.getElementById('st[' + loop + ']');
		t += (tobj[tobj.selectedIndex].value != '' ? tobj[tobj.selectedIndex].text : '');
	}
	if (t==''){return false;}
	return true;
}

function str_replace(source,find,replace){
	var pos=0;
	var len=find.length;
	pos = source.indexOf(find);
	while (pos != -1){
		pre = source.substring(0,pos);
		post = source.substring(pos + len, source.length);
		source = pre + replace + post;
		pos = source.indexOf(find);
	}
	return source;
}

function stop_select(evt){
	evt = (evt) ? evt : ((window.event) ? event : null);
	var elem = (evt.target) ? evt.target : evt.srcElement;
	var eType = elem.tagName.toLowerCase();
	switch (eType){
		case 'input':
		case 'select':
		case 'textarea':
			return true;
		default:
			return cancel_event(evt);
	}
}

function showRoomDetails(room){
	if (intro==null){
		intro = document.getElementById('vintro').innerHTML;
		introWidth = getObjectWidth(document.getElementById('vintro'));
	}
	document.getElementById('vintro').innerHTML='<table class=rvt style="width:' + (introWidth-12) + 'px;" cellspacing=0 cellpadding=0><tr style="background-color:darkblue;"><td style="color:#ffffff;padding:3px;" width="100%"><b>Room Fact Sheet</b></td><td style=" padding:3px;"><img src="/images/close.gif" hspace=0 vspace=0 onclick="hideRoomDetails();"></td></tr><tr><td colspan=2 align=left><a class=linke href="javascript:printRoom('+room+');" title="Print these details"><img src="/images/print.gif" hspace=3 vspace=0 height=16 width=16>Print these details</a></td></tr><tr><td colspan=2 class=pb style="padding:3px;">' + document.getElementById("d"+room).innerHTML + '</td></tr></table>';
}
function hideRoomDetails(){document.getElementById('vintro').innerHTML=intro;}

window.onresize = layout;
document.onbeforeunload=CheckChanges;
