// HBD2 JS Code	
var currentDate,currentDay,selectedDate,currentMonth,selectedMonth,currentYear,selectedYear,monthChange=false,dateChange=false,isLeapYear=false,currentTZOffset;

window.onload=function()
{
	todayIs();
	setCopyright();
	populateYearsSelect();
	isLeapYear=iLY(document.getElementById('year').value);
	preload_image = new Image(128,15); 
  preload_image.src="images/progress.gif"; 
}

function getData()
{
	if (monthChange && dateChange)
	{
		var disp=document.getElementById('answer');
		disp.innerHTML="Getting some data.... <br /><br />Just a moment, please... <img src='images/progress.gif' />";
		
		var data=[];
		data['sD']=selectedDate;
		data['sM']=selectedMonth;
		data['sY']=selectedYear;
		data['cD']=currentDate;
		data['cM']=currentMonth;
		data['cY']=currentYear;
		data['cZ']=currentTZOffset;

		var d="d="+array2json(data);
		d=encodeURI(d);

		var oPSD=getHTTPObject();
		oPSD.open("POST","lib/bd_data.php",false);
		oPSD.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		oPSD.setRequestHeader("Content-length", d.length);
		oPSD.setRequestHeader("Connection", "close");
		oPSD.send(d);
		
		var resp=eval('('+oPSD.responseText+')');
		
		document.getElementById('answer').innerHTML=resp.msg;
	}
}

function changeMonth(m)
{
	selectedYear=document.getElementById('year').value;
	selectedMonth=m;
	if (!monthChange) 
	{
		document.getElementById('month').remove(0);
		monthChange=true;
	}
	updateDaysSelect(daysInMonth(m));
	document.getElementById('date').disabled=false;
	getData();
}
function changeDate(d)
{
	selectedYear=document.getElementById('year').value;
	selectedDate=d;
	if (!dateChange)
	{
		dateChange=true;
		document.getElementById('date').remove(0);
	}
	document.getElementById('year').disabled=false;
	getData();
}
function changeYear(y)
{
	selectedYear=y;
	isLeapYear=iLY(y);
	correctForLeapYear();
	getData();
}
function correctForLeapYear()
{
	if (selectedMonth==2) 
	{
		var d=document.getElementById('date')
		if (!isLeapYear)
		{
			if (selectedDate==29)
			{
				selectedDate=28;
			}
			updateDaysSelect(28);
		} else
		{
			updateDaysSelect(29);
		}
	}
}
function updateDaysSelect(d)
{
	var dS=document.getElementById('date'),sel=false;
	dS.innerHTML='';
	dS.options[0]=new Option("- Date -","",false);
	if (selectedDate>d) {selectedDate=d;}
	for (var dC=1;dC<=d;dC++)
	{
		dC==selectedDate ? sel=true : sel=false;
		dS.options[dC]=new Option(dC,dC,false,sel);
	}
	if (dateChange) {dS.remove(0);}
}
function populateYearsSelect()
{
	var yS=document.getElementById('year'),sel=false,yi=0;
	yS.innerHTML='';
	yi=0;
	for (var y=1943;y<=2037;y++)
	{
		y==currentYear-10 ? sel=true : sel=false;
		yS.options[yi]=new Option(y,y,false,sel);
		yi++;
	}
	yS.disabled=false;
}
function daysInMonth(m) 
{
	var days=0;
	if (m==2) 
	{
		if (isLeapYear) {days=29;} else {days=28;}
	} else if (m==4 || m==6 || m==9 || m==11) 
	{
		days=30;
	} else 
	{
		days=31;
	}
	return days;
}
function iLY(y) {return ((y%4 === 0) && (y%100 !== 0 || y%400 === 0));}
function todayIs()
{
	var today=new Date();
	currentTZOffset=today.getTimezoneOffset()*60;
	currentDate=today.getDate();
	currentDay=today.getDay();
	currentMonth=today.getMonth();
	currentYear=today.getFullYear();
	var days=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	var months=new Array('January','February','March','April','May','June','July','August','September','October','November','December') 
	document.getElementById('tdisp').innerHTML=days[currentDay]+", "+currentDate+" "+months[currentMonth]+" "+currentYear;
	setTimeout("todayIs()",60000);
}
function getHTTPObject()
{
try
  {// Firefox, Opera 8.0+, Safari, IE7
   return new XMLHttpRequest();
  }
catch(e)
  {// Old IE
  try
    {
    return new ActiveXObject("Microsoft.XMLHTTP");
    }
  catch(e)
    {
    alert ("Your browser does not support XMLHTTP.  EventCalc depends on this ability to operate.  Please consider upgrading to the current versions of Internet Explorer or (better yet) Firefox.  It's free and will make your web experience much nicer.");
    return;  
    }
  }
}
function md5(string) {
 
	function RotateLeft(lValue, iShiftBits) {
		return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
	}
 
	function AddUnsigned(lX,lY) {
		var lX4,lY4,lX8,lY8,lResult;
		lX8 = (lX & 0x80000000);
		lY8 = (lY & 0x80000000);
		lX4 = (lX & 0x40000000);
		lY4 = (lY & 0x40000000);
		lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
		if (lX4 & lY4) {
			return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
		}
		if (lX4 | lY4) {
			if (lResult & 0x40000000) {
				return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
			} else {
				return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
			}
		} else {
			return (lResult ^ lX8 ^ lY8);
		}
 	}
 
 	function F(x,y,z) { return (x & y) | ((~x) & z); }
 	function G(x,y,z) { return (x & z) | (y & (~z)); }
 	function H(x,y,z) { return (x ^ y ^ z); }
	function I(x,y,z) { return (y ^ (x | (~z))); }
 
	function FF(a,b,c,d,x,s,ac) 
	{
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	}
	 
	function GG(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	}
 
	function HH(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	}
 
	function II(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	}
 
	function ConvertToWordArray(string) {
		var lWordCount;
		var lMessageLength = string.length;
		var lNumberOfWords_temp1=lMessageLength + 8;
		var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
		var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
		var lWordArray=Array(lNumberOfWords-1);
		var lBytePosition = 0;
		var lByteCount = 0;
		while ( lByteCount < lMessageLength ) {
			lWordCount = (lByteCount-(lByteCount % 4))/4;
			lBytePosition = (lByteCount % 4)*8;
			lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
			lByteCount++;
		}
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
		lWordArray[lNumberOfWords-2] = lMessageLength<<3;
		lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
		return lWordArray;
	}
 
	function WordToHex(lValue) {
		var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
		for (lCount = 0;lCount<=3;lCount++) {
			lByte = (lValue>>>(lCount*8)) & 255;
			WordToHexValue_temp = "0" + lByte.toString(16);
			WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
		}
		return WordToHexValue;
	}
 
	function Utf8Encode(string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	}
 
	var x=Array();
	var k,AA,BB,CC,DD,a,b,c,d;
	var S11=7, S12=12, S13=17, S14=22;
	var S21=5, S22=9 , S23=14, S24=20;
	var S31=4, S32=11, S33=16, S34=23;
	var S41=6, S42=10, S43=15, S44=21;
 
	string = Utf8Encode(string);
 
	x = ConvertToWordArray(string);
 
	a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
 
	for (k=0;k<x.length;k+=16) {
		AA=a; BB=b; CC=c; DD=d;
		a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
		d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
		c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
		b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
		a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
		d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
		c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
		b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
		a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
		d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
		c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
		b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
		a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
		d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
		c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
		b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
		a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
		d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
		c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
		b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
		a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
		d=GG(d,a,b,c,x[k+10],S22,0x2441453);
		c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
		b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
		a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
		d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
		c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
		b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
		a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
		d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
		c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
		b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
		a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
		d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
		c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
		b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
		a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
		d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
		c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
		b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
		a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
		d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
		c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
		b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
		a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
		d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);

		c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
		b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
		a=II(a,b,c,d,x[k+0], S41,0xF4292244);
		d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
		c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
		b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
		a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
		d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
		c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
		b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
		a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
		d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
		c=II(c,d,a,b,x[k+6], S43,0xA3014314);
		b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
		a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
		d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
		c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
		b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
		a=AddUnsigned(a,AA);
		b=AddUnsigned(b,BB);
		c=AddUnsigned(c,CC);
		d=AddUnsigned(d,DD);
	}
 
	var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
 
	return temp.toLowerCase();
}
function array2json(arr) 
{
	var parts=[];
	for(var key in arr) {
		var value=arr[key];
			if(typeof value=="object") 
			{
					parts.push('"'+key+'":'+array2json(value));
			} else 
			{
					var str='"'+key+'":';
					if(typeof value == "number") {str+=value;} 
					else if(value === false) {str+='false';} 
					else if(value === true) {str+='true';}
					else {str+='"'+value+'"';} 
					parts.push(str);
			}
	}
	var json=parts.join(",");
	return '{'+json+'}';
}

function resetPage() {window.location.reload();}
function setCopyright() {document.getElementById('cry').innerHTML="2007-"+currentYear;}
	
