var pgDisp=0;
var iDisp=0;
var sid="";
var IE=navigator.appName;
if(IE.substr(0,9)=='Microsoft') IE=true; else IE=false;

document.onmousemove=follow;

function mouseX(evt)
{
if (!evt) evt = window.event; 
if (evt.pageX) 
	{
	return evt.pageX;
	}
else 
	{
	if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;
	}
}

function mouseY(evt) 
{
if (!evt) evt = window.event; 
if (evt.pageY) 
	{
	return evt.pageY;
	}
else
	{
	if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;
	}
}

function follow(evt) 
{
var offX=10;
var offY=10;
if(sid=="") return;
var x=document.getElementById(sid);
if(x==null) return;
x.style.left = (parseInt(mouseX(evt))+offX) + 'px';
x.style.top = (parseInt(mouseY(evt))+offY) + 'px';
}


function domtab(j)
{
if(j==pgDisp) return;
var x='table';
var k=pgDisp;
pgDisp=j;
if(IE) x='block';
document.getElementById('mtab'+k).className='tab';
document.getElementById('mtab'+j).className='tab2';
document.getElementById('mcal'+j).style.display=x;
document.getElementById('mcal'+k).style.display='none';
}

function doItab(j)
{
if(j==iDisp) return;
var x='table';
var k=iDisp;
iDisp=j;
if(IE) x='block';
document.getElementById('itab'+k).className='itab';
document.getElementById('itab'+j).className='itab2';
document.getElementById('info'+j).style.display=x;
document.getElementById('info'+k).style.display='none';
}

function doLookie(j)
{
var z=document.getElementById(j);
if(z==null) return 0;
var x='table';
if(IE) x='block';
if(z.style.display=='none') z.style.display=x; else z.style.display='none';
}

function ev(i)
{
var x=document.getElementById(i)
if(x==null) return;
doMenu(i);
}

function es(i)
{
var s='side'+i;
var x=document.getElementById(s)
if(x==null) return;
x.style.display='block';
sid=s
}

function eh(i)
{
var x=document.getElementById('side'+i)
if(x==null) return;
x.style.display='none';
sid="";
}

function doSubscribe(a)
{
var x=document.getElementById('ipbox').value;
if(x=="") 
	{
	alert("Please enter an email address");
	return;
	}
var y="Unsubscribe";
if(a=="Y") y="Subscribe";
window.location.assign('Subscribe.php?Action='+y+'&email='+escape(x));
}

function delDate(i)
{
var x=document.getElementById('startdate').value;
if(x=="") return;
var sDt=x.split('|');
sDt.sort();
sDt2="";
if(i>=sDt.length) return;
for(var j=0;j<sDt.length;j++)
	{
	if(i!=j)
		{
		if(sDt2!="") sDt2+="|";
		sDt2+=sDt[j];
		}
	}
document.getElementById('startdate').value=sDt2;
doDateDisplay();
}

function doDateDisplay()
{
var sHTML="";
var x=document.getElementById('startdate').value;
if(x!="")
	{
	var sDt=x.split('|');
	sDt.sort();
	sDt2="";
	for(var i=0;i<sDt.length;i++)
		{
		s=sDt[i];
		sy=s.substr(0,4);
		sm=s.substr(4,2);
		sd=s.substr(6,2);
		if(!(isNaN(sy) || isNaN(sm) || isNaN(sd)))
			{
			if(sHTML!="") sHTML+="<br>";
			sHTML+=sd+"/"+sm+"/"+sy+" <input type=button value='Delete' onclick=delDate("+i+")>";
			if(sDt2!="") sDt2+="|";
			sDt2+=sDt[i];
			}
		}
	}
document.getElementById('startdate').value=sDt2;
document.getElementById('dates').innerHTML=sHTML;
}

//Calendar stuff
function doDatePicker()
{
document.getElementById('calDestField').value='startdate';
doMenu("calendarMenu")
}

function UpdateCalendar(dt)
{
//Updates the calendar contol using dt as a date variant.
var d=dt.getDate();
var day=dt.getDay();
var m=dt.getMonth();
var y=dt.getFullYear();
var dtToday=new Date();
document.getElementById('caldd').value=doZero(d);
document.getElementById('calmm').value=doZero(m+1);
document.getElementById('calyy').value=y;
document.getElementById('caltext').innerHTML=GetDateString(dt);
document.getElementById('calmotitle').innerHTML=GetDateString(dt,1);

var bom=new Date();
bom.setFullYear(y,m,1); //get 1st of month.
var r=bom.getDay()-1;
if(r==-1) r=6;
bom.setFullYear(bom.getFullYear(),bom.getMonth(),bom.getDate()-r);
for(var j=1;j<7;j++)
	{
	for(var i=1;i<8;i++)
		{
		elm=document.getElementById('cald'+j+i);
		elm.className='';
		bd=bom.getDate();
		bm=bom.getMonth();
		by=bom.getFullYear();
		elm.className='';
		if(m!=bm) elm.className='calnomth';
		if(dtToday.getDate()==bd && dtToday.getMonth()==bm && dtToday.getFullYear()==by) elm.className='caltoday';
		if(dt.getDate()==bd && dt.getMonth()==bm && dt.getFullYear()==by) elm.className='calseldate';
		elm.setAttribute("jsDate",doZero(bd)+"|"+doZero(bm)+"|"+by);
		elm.innerHTML=bd;
		bom.setFullYear(bom.getFullYear(),bom.getMonth(),bom.getDate()+1);
		}
	}
}

function GetDateString(dt,x)
{
x=x || 0;
var days=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var d=dt.getDate();
var day=dt.getDay();
var m=dt.getMonth();
var y=dt.getFullYear();
if(x==0) return days[day]+" "+doZero(d)+" "+months[m]+" "+y; else return months[m]+" "+y;
}

function doZero(x)
{
if(x<10) return "0"+x; else return x;
}
function incDate(y,m,d)
{
dt=getCalDate();
var dt2=new Date();
dt2.setFullYear(dt.getFullYear()+y,dt.getMonth()+m,dt.getDate()+d);
UpdateCalendar(dt2);
}

function getCalDate()
{
var d=document.getElementById('caldd').value;
var m=document.getElementById('calmm').value;
var y=document.getElementById('calyy').value;
var caldt=new Date();
caldt.setFullYear(y,m-1,d);
return caldt;
}

function setCalToday()
{
var dt2=new Date();
UpdateCalendar(dt2);
}

function selCalDt(x)
{
var sid=x.getAttribute('jsDate');
var d=sid.substr(0,2);
var m=sid.substr(3,2);
var y=sid.substr(6,4);
var dt2=new Date();
dt2.setFullYear(y,m,d);
UpdateCalendar(dt2);
}

function setCalDt()
{
UpdateCalendar();
}

function doCalOK()
{
//Puts date as dd/mm/yyyy in field defined in input box (hidden) of id='calDestField'
var x=document.getElementById('calDestField').value;
var d=document.getElementById('caldd').value;
var m=document.getElementById('calmm').value;
var y=document.getElementById('calyy').value;
var s=y+m+d;
doMenu("calendarMenu")
var s2=document.getElementById(x).value;
if(s2!="") s="|"+s;
document.getElementById(x).value=s2+s;
doDateDisplay();
}

function grayOut(vis) { 
  var zindex = 50;
  var opacity = 70;
  var opaque = (opacity / 100);
  var bgcolor = '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  if (vis) {
    var pageWidth='100%';
    var pageHeight=document.body.scrollHeight; //'100%';
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;
    dark.style.MozOpacity=opaque;
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;
    dark.style.backgroundColor=bgcolor;
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block';
  } else {
     dark.style.display='none';
  }
}

function doMenu(menuid)
{
var x=document.getElementById(menuid);
if(x.style.display!='inline')
	{
	nW=document.body.offsetWidth;
	nH=document.body.offsetHeight;
	nTw=x.style.width;
	nTh=x.style.height;
	nTw=Number(nTw.substr(0,nTw.length-2));
	nTh=Number(nTh.substr(0,nTh.length-2));
	x.style.left=((nW-nTw)/2)+"px";
	if(nTh==0) x.style.top='200px'; else x.style.top=(nH-nTh)/2+'px';
	x.style.display='inline';
	grayOut(true);
	}
else
	{
	x.style.display='none';
	grayOut(false);
	}
}

function do_validate()
{
if(vmsg(document.eventDets.title,"Please enter a title")==1) return false;
if(vmsg(document.eventDets.otherinfo,"Please enter a description of your event")==1) return false;
if(vmsg(document.eventDets.startdate,"Please enter a start date")==1) return false;
if(vmsg(document.eventDets.duration,"How long is it going to last for?")==1) return false;
if(document.eventDets.email.value=="" && document.eventDets.tel.value=="") 
	{
	alert("We need at least an email address or contact telephone number for queries");
	document.eventDets.email.focus();
	return false;
	}
return true;
}

function vmsg(o, txt)
{
if(o.value=="")
	{
	alert(txt)
	o.focus()
	return 1
	}
return 0
}

function authoriseSelected(x)
{
var str=getSelected();
if(x=="") return 0;
location.assign('DoAuthorise.php?Action='+x+'&IDs='+str);
}

function getSelected()
{
var x=document.getElementsByTagName('input');
var str="";
var chkname="";
for(var i=0;i<x.length;i++)
	{
	z=x[i];
	if(z.type=='checkbox')
		{
		if(z.checked==true)
			{
			if(str!="") str+="|";
			chkname=z.name;
			str+=chkname.substr(3);
			}
		}
	}
return str;
}

function SelAll()
{
var x=document.getElementsByTagName('input');
for(var i=0;i<x.length;i++)
	{
	if(x[i].hasAttribute('name'))
		{
		s=x[i].getAttribute('name');
		if(s.substr(0,3)=='chk') 
			{
			x[i].checked=true
			}
		}
	}
}

function doCancel()
{
location.assign("index.php");
}

function doSub(x)
{
if(x=="") return 0;
var y=getSelected();
location.assign('index.php?Table=Email&Action='+x+'&IDs='+y);
}
