// JavaScript Document
function browserCheck()
{
	var browserName=navigator.appName;
	if (browserName != "Microsoft Internet Explorer")
	{
		//document.body.innerHTML = "<h2>This browser does not support some of the JavaScript used on this page. You must use Internet Explorer to use the Administrative Pages.</h2>";
	}
}

function popup(mylink, windowname, width, height)
{
	if (!window.focus)return true;
		var href;
	if (typeof(mylink) == 'string')
		href=mylink;
	else
		href=mylink.href;
		window.open(href, windowname, 'width='+width+',height='+height+',top=40,left=200,scrollbars=yes,toolbar=no,menubar=no,resizable=yes');
		//return false;
}

function newsPreview(id, width, height)
{
	var f1 = document.forms['frmNewsEdit' + id];
	var newstitle,newscontent,newsdatetime;
	newstitle = f1.txtnewstitle.value;
	newscontent = f1.txtnewscontent.value;
	newsdatetime = f1.hidnewsdatetime.value;
	newWindow = window.open('preview.php','NewsPreview', 'width='+width+',height='+height+',top=40,left=200,scrollbars=yes,toolbar=no,menubar=no');
	newWindow.focus();
	newWindow.document.getElementById("newstitle").innerHTML = ":." + newstitle;
	newWindow.document.getElementById("newsdatetime").innerHTML = "--" + newsdatetime.substr(5,2) + "/" + newsdatetime.substr(8,2) + "/" + newsdatetime.substr(0,4);
	newWindow.document.getElementById("newscontent").innerHTML = nl2br(newscontent);
}

function pageRedirect(url){
	window.href=url;
}

function MakeArray(n) {
    this.length = n;
    return this;
}

function todaysDateString(returnDay) {
	todaysDate = new Date(); // Today's date
	
	var monthNames = new MakeArray(12);	// Holds the numerical values for the months
	monthNames[1] = "01";
	monthNames[2] = "02";
	monthNames[3] = "03";
	monthNames[4] = "04";
	monthNames[5] = "05";
	monthNames[6] = "06";
	monthNames[7] = "07";
	monthNames[8] = "08";
	monthNames[9] = "09";
	monthNames[10] = "10";
	monthNames[11] = "11";
	monthNames[12] = "12";
	var dayNames = new MakeArray(7);	// Holds the days of the week
	dayNames[1] = "Sunday";
	dayNames[2] = "Monday";
	dayNames[3] = "Tuesday";
	dayNames[4] = "Wednesday";
	dayNames[5] = "Thursday";
	dayNames[6] = "Friday";
	dayNames[7] = "Saturday";
	var theDay = dayNames[todaysDate.getDay() + 1];	// The day
	
	var theMonth = monthNames[todaysDate.getMonth() + 1];	// The month
	msie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ));

	// If browser is Internet Explorer 4+
	if (msie4) {
		var theYear = todaysDate.getYear(); // The year
	}
	else {	// If any other browser
		var theYear = todaysDate.getYear() + 1900; // The year
	}
	

	// If the function is to return the day of the week in the string
	if (returnDay == true) {
		// If numeric value of the month is less than 10, add a 0 in front of the month
		if (todaysDate.getDate() < 10) {
			return theDay + ", " + theMonth + "/" + "0" + todaysDate.getDate() + "/" + theYear;
		}
		else {	// Numeric value of the month is greater than or equal to 10, leave the month alone
			return theDay + ", " + theMonth + "/" + todaysDate.getDate() + "/" + theYear;
		}
	}
	else {	// Returns the date without the day
		// If numeric value of the month is less than 10, add a 0 in front of the month
		if (todaysDate.getDate() < 10) {
			return theMonth + "/" + "0" + todaysDate.getDate() + "/" + theYear;
		}
		else {	// Numeric value of the month is greater than or equal to 10, leave the month alone
			return theMonth + "/" + todaysDate.getDate() + "/" + theYear;
		}
	}
}

function nl2br (str, is_xhtml)
{
    var breakTag = '';
 
    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }
 
    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}

function allDayEvent(eventid)
{

	var evntAllDay = document.getElementById("cballday" + eventid);
	var evntHour = document.getElementById("lsteventhour" + eventid);
	var evntMinute = document.getElementById("lsteventminute" + eventid);
	
	var valEvntHour = document.getElementById("hideventhour" + eventid);
	var valEvntMinute = document.getElementById("hideventminute" + eventid);

	if (evntAllDay.checked == true)
	{
		evntHour.disabled = true;
		evntMinute.disabled = true;
		evntHour.value = "00";
		evntMinute.value = "00";
	}
	else
	{
		evntHour.disabled = false;
		evntMinute.disabled = false;
		evntHour.value = valEvntHour.value;
		evntMinute.value = valEvntMinute.value;
	}
}

function verifyForm(obj)
{
	frm = obj;
	
	var isOK;
	var pw1;
	var pw2;
	
	isOK = true;
	pw1 = frm.hidpassword1.value;
	pw2 = frm.hidpassword2.value;
	
	if(pw1 != pw2)
	{
		isOK = false;
		alert("Passwords do not match!");
	}
	
	return isOK;
}


var hexcase=0;
function hex_md5(a)
{
	return rstr2hex(rstr_md5(str2rstr_utf8(a)))
}

function hex_hmac_md5(a,b)
{
	return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))
}

function md5_vm_test()
{
	return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"
}

function rstr_md5(a)
{
	return binl2rstr(binl_md5(rstr2binl(a),a.length*8))
}

function rstr_hmac_md5(c,f)
{
	var e=rstr2binl(c);
	
	if(e.length>16)
	{
		e=binl_md5(e,c.length*8)
	}
	
	var a=Array(16),d=Array(16);
	
	for(var b=0;b<16;b++)
	{
		a[b]=e[b]^909522486;
		d[b]=e[b]^1549556828
	}
	
	var g=binl_md5(a.concat(rstr2binl(f)),512+f.length*8);
	return binl2rstr(binl_md5(d.concat(g),512+128))
}

function rstr2hex(c)
{
	try
	{
		hexcase
	}
	catch(g)
	{
		hexcase=0
	}
	
	var f=hexcase?"0123456789ABCDEF":"0123456789abcdef";
	var b="";
	var a;
	
	for(var d=0;d<c.length;d++)
	{
		a=c.charCodeAt(d);
		b+=f.charAt((a>>>4)&15)+f.charAt(a&15)
	}
	
	return b
}

function str2rstr_utf8(c)
{
	var b="";
	var d=-1;
	var a,e;
	
	while(++d<c.length)
	{
		a=c.charCodeAt(d);
		e=d+1<c.length?c.charCodeAt(d+1):0;
		
		if(55296<=a&&a<=56319&&56320<=e&&e<=57343)
		{
			a=65536+((a&1023)<<10)+(e&1023);
			d++
		}
		
		if(a<=127)
		{
			b+=String.fromCharCode(a)
		}
		else
		{
			if(a<=2047)
			{
				b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))
			}
			else
			{
				if(a<=65535)
				{
					b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))
				}
				else
				{
					if(a<=2097151)
					{
						b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))
					}
				}
			}
		}
	}
	
	return b
}

function rstr2binl(b)
{
	var a=Array(b.length>>2);
	
	for(var c=0;c<a.length;c++)
	{
		a[c]=0
	}
	
	for(var c=0;c<b.length*8;c+=8)
	{
		a[c>>5]|=(b.charCodeAt(c/8)&255)<<(c%32)
	}
	
	return a
}

function binl2rstr(b)
{
	var a="";
	
	for(var c=0;c<b.length*32;c+=8)
	{
		a+=String.fromCharCode((b[c>>5]>>>(c%32))&255)
	}
	
	return a
}

function binl_md5(p,k)
{
	p[k>>5]|=128<<((k)%32);
	p[(((k+64)>>>9)<<4)+14]=k;
	var o=1732584193;
	var n=-271733879;
	var m=-1732584194;
	var l=271733878;
	
	for(var g=0;g<p.length;g+=16)
	{
		var j=o;
		var h=n;
		var f=m;
		var e=l;
		o=md5_ff(o,n,m,l,p[g+0],7,-680876936);
		l=md5_ff(l,o,n,m,p[g+1],12,-389564586);
		m=md5_ff(m,l,o,n,p[g+2],17,606105819);
		n=md5_ff(n,m,l,o,p[g+3],22,-1044525330);
		o=md5_ff(o,n,m,l,p[g+4],7,-176418897);
		l=md5_ff(l,o,n,m,p[g+5],12,1200080426);
		m=md5_ff(m,l,o,n,p[g+6],17,-1473231341);
		n=md5_ff(n,m,l,o,p[g+7],22,-45705983);
		o=md5_ff(o,n,m,l,p[g+8],7,1770035416);
		l=md5_ff(l,o,n,m,p[g+9],12,-1958414417);
		m=md5_ff(m,l,o,n,p[g+10],17,-42063);
		n=md5_ff(n,m,l,o,p[g+11],22,-1990404162);
		o=md5_ff(o,n,m,l,p[g+12],7,1804603682);
		l=md5_ff(l,o,n,m,p[g+13],12,-40341101);
		m=md5_ff(m,l,o,n,p[g+14],17,-1502002290);
		n=md5_ff(n,m,l,o,p[g+15],22,1236535329);
		o=md5_gg(o,n,m,l,p[g+1],5,-165796510);
		l=md5_gg(l,o,n,m,p[g+6],9,-1069501632);
		m=md5_gg(m,l,o,n,p[g+11],14,643717713);
		n=md5_gg(n,m,l,o,p[g+0],20,-373897302);
		o=md5_gg(o,n,m,l,p[g+5],5,-701558691);
		l=md5_gg(l,o,n,m,p[g+10],9,38016083);
		m=md5_gg(m,l,o,n,p[g+15],14,-660478335);
		n=md5_gg(n,m,l,o,p[g+4],20,-405537848);
		o=md5_gg(o,n,m,l,p[g+9],5,568446438);
		l=md5_gg(l,o,n,m,p[g+14],9,-1019803690);
		m=md5_gg(m,l,o,n,p[g+3],14,-187363961);
		n=md5_gg(n,m,l,o,p[g+8],20,1163531501);
		o=md5_gg(o,n,m,l,p[g+13],5,-1444681467);
		l=md5_gg(l,o,n,m,p[g+2],9,-51403784);
		m=md5_gg(m,l,o,n,p[g+7],14,1735328473);
		n=md5_gg(n,m,l,o,p[g+12],20,-1926607734);
		o=md5_hh(o,n,m,l,p[g+5],4,-378558);
		l=md5_hh(l,o,n,m,p[g+8],11,-2022574463);
		m=md5_hh(m,l,o,n,p[g+11],16,1839030562);
		n=md5_hh(n,m,l,o,p[g+14],23,-35309556);
		o=md5_hh(o,n,m,l,p[g+1],4,-1530992060);
		l=md5_hh(l,o,n,m,p[g+4],11,1272893353);
		m=md5_hh(m,l,o,n,p[g+7],16,-155497632);
		n=md5_hh(n,m,l,o,p[g+10],23,-1094730640);
		o=md5_hh(o,n,m,l,p[g+13],4,681279174);
		l=md5_hh(l,o,n,m,p[g+0],11,-358537222);
		m=md5_hh(m,l,o,n,p[g+3],16,-722521979);
		n=md5_hh(n,m,l,o,p[g+6],23,76029189);
		o=md5_hh(o,n,m,l,p[g+9],4,-640364487);
		l=md5_hh(l,o,n,m,p[g+12],11,-421815835);
		m=md5_hh(m,l,o,n,p[g+15],16,530742520);
		n=md5_hh(n,m,l,o,p[g+2],23,-995338651);
		o=md5_ii(o,n,m,l,p[g+0],6,-198630844);
		l=md5_ii(l,o,n,m,p[g+7],10,1126891415);
		m=md5_ii(m,l,o,n,p[g+14],15,-1416354905);
		n=md5_ii(n,m,l,o,p[g+5],21,-57434055);
		o=md5_ii(o,n,m,l,p[g+12],6,1700485571);
		l=md5_ii(l,o,n,m,p[g+3],10,-1894986606);
		m=md5_ii(m,l,o,n,p[g+10],15,-1051523);
		n=md5_ii(n,m,l,o,p[g+1],21,-2054922799);
		o=md5_ii(o,n,m,l,p[g+8],6,1873313359);
		l=md5_ii(l,o,n,m,p[g+15],10,-30611744);
		m=md5_ii(m,l,o,n,p[g+6],15,-1560198380);
		n=md5_ii(n,m,l,o,p[g+13],21,1309151649);
		o=md5_ii(o,n,m,l,p[g+4],6,-145523070);
		l=md5_ii(l,o,n,m,p[g+11],10,-1120210379);
		m=md5_ii(m,l,o,n,p[g+2],15,718787259);
		n=md5_ii(n,m,l,o,p[g+9],21,-343485551);
		o=safe_add(o,j);
		n=safe_add(n,h);
		m=safe_add(m,f);
		l=safe_add(l,e)
	}
	
	return Array(o,n,m,l)
}

function md5_cmn(h,e,d,c,g,f)
{
	return safe_add(bit_rol(safe_add(safe_add(e,h),safe_add(c,f)),g),d)
}

function md5_ff(g,f,k,j,e,i,h)
{
	return md5_cmn((f&k)|((~f)&j),g,f,e,i,h)
}

function md5_gg(g,f,k,j,e,i,h)
{
	return md5_cmn((f&j)|(k&(~j)),g,f,e,i,h)
}

function md5_hh(g,f,k,j,e,i,h)
{
	return md5_cmn(f^k^j,g,f,e,i,h)
}

function md5_ii(g,f,k,j,e,i,h)
{
	return md5_cmn(k^(f|(~j)),g,f,e,i,h)
}

function safe_add(a,d)
{
	var c=(a&65535)+(d&65535);
	var b=(a>>16)+(d>>16)+(c>>16);
	
	return(b<<16)|(c&65535)
}

function bit_rol(a,b)
{
	return(a<<b)|(a>>>(32-b))
}
