// Copyright 1995-2009 (C) Otto de Voogd - http://www.7is7.com/
// 
// See: http://www.7is7.com/otto/countdcopy.html for details.
// 

//
// Javascript library for countdown clock pages.
//

var lt=unescape('%3C');
var gt=unescape('%3E');
var nbsp=unescape('%A0');
var smallWindow=false;

// Variables

var now;
var target;
var targetminusmonths;
var targetminusyears;
var month_correction=0;
var timezoneoffset=0;
var msDiff=0;
var sDiff=0;
var mDiff=0;
var hDiff=0;
var dDiff=0;
var WDiff=0;
var MDiff=0;
var YDiff=0;
var timeoutID=0;

var title=-1;

var tz;
var ts=24;
var year = 0;
var mon = 0;
var dat = 0;
var hrs = 0;
var min = 0;
var sec = 0;

msPerSecond = 1000;
msPerMinute = 60*1000;
msPerHour = 60*msPerMinute;
msPerDay = 24*msPerHour;
msPerWeek = 7*msPerDay;

var cdir="down";

// Defaults (-1 = no replacement yet)
var lang=-1;
var numerals=-1;
var yrslabel=-1;
var yrslabels=-1;
var yrslabel_smpl=-1;
var yrslabel_sing=-1;
var yrslabel_ones=-1;
var monlabel=-1;
var monlabels=-1;
var monlabel_smpl=-1;
var monlabel_sing=-1;
var monlabel_ones=-1;
var weeklabel=-1;
var weeklabels=-1;
var weeklabel_smpl=-1;
var weeklabel_sing=-1;
var weeklabel_ones=-1;
var dayslabel=-1;
var dayslabels=-1;
var dayslabel_smpl=-1;
var dayslabel_sing=-1;
var dayslabel_ones=-1;
var hrslabel=-1;
var hrslabels=-1;
var hrslabel_smpl=-1;
var hrslabel_sing=-1;
var hrslabel_ones=-1;
var minlabel=-1;
var minlabels=-1;
var minlabel_smpl=-1;
var minlabel_sing=-1;
var minlabel_ones=-1;
var seclabel=-1;
var seclabels=-1;
var seclabel_smpl=-1;
var seclabel_sing=-1;
var seclabel_ones=-1;
var installlinktext=-1;
var installlinktext2=-1;
var installlinktitle=-1;
var loaded_lang_js=0;

// Next Event
var next=-1;

// var datestyle="us";
var datestyle="#WD, #MO #DA, #YR";
var dayNames=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');	
var monNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December');	

// Determine Language
lang = getQsVal("lang");
if (-1==lang) lang=getCookieVal("lang");

// Load language file if not English.
if ((-1!=lang) && ("en"!=lang) && (lang.length>1) && (lang.length<4)) {
	var langfile = document.createElement("script");
	langfile.src = 'countdown/lang-'+lang+'.js';
	langfile.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(langfile);
} else {
	yrslabel='years';
	yrslabel_sing='year';
	monlabel='months';
	monlabel_sing='month';
	weeklabel='weeks';
	weeklabel_sing='week';
	dayslabel='days';
	dayslabel_sing='day';
	hrslabel='hours';
	hrslabel_sing='hour';
	minlabel='minutes';
	minlabel_sing='minute';
	seclabel='seconds';
	seclabel_sing='second';
	loaded_lang_js = 1;
}

// Next Event requested?
next=getQsVal("next");
if (-1==next) next=getCookieVal("next");

// Load Next Event file
if ((-1!=next) && (""!=next)) {
	document.write(lt+'script type="text/javascript" src="countdown/next-'+next+'.js"'+gt+lt+'/script'+gt);
}

// Verify page - check for mandatory elements
function verifyPage() {
	if (document.getElementById('InstallLink')) {
		return 1;
	} else {
		return 1;
	}
}

// Setup content
function setupContent() {
	// Set background (more than just color)
	var bgcolor=getBgcolorVal();
	document.getElementById('bodyID').style.background="transparent";
	// Set foreground color
	var fgcolor=getFgcolorVal();
	document.getElementById('bodyID').style.color=fgcolor;

}

// Get Background
function getBgcolorVal() {
	var bgcolor=getQsVal("bgcolor");
	if (-1==bgcolor || bgcolor.length < 2) bgcolor=getCookieVal("bgcolor");
	if (-1==bgcolor || bgcolor.length < 2) bgcolor='#CFF';
	return bgcolor;
}

// Get fgcolor value
function getFgcolorVal() {
	var fgcolor=getQsVal("fgcolor");
	if (-1==fgcolor || fgcolor.length<2) fgcolor=getCookieVal("fgcolor");
	if (-1==fgcolor || fgcolor.length<2) fgcolor='#000';
	return fgcolor;
}

// Get show value - time units to show
function getShowVal() {
	// var show=getQsVal("show");
	var show = "Ydhms";
	if (-1==show) { show=getCookieVal("show"); }
	if (-1==show || show.length<1) { show='Ydhms'; } // Default setting
	return show;
}

// getFull year returns the proper year
// old browsers use getYear implemented here to work until 2070.
function retYear(datetime) {
	var year = 2000;
	if (datetime.getFullYear) {
		year = datetime.getFullYear();
	} else if (datetime.getYear) { 
		year = datetime.getYear() % 100;
		year += (year<70) ? 2000 : 1900;
	}
	return year;
}

// We *try* to check if number is a number
function isNumber(number) {
	if (isFinite) {
		if (!isFinite(number)) return 0;
	} else if (isNaN) {
		if (!isNaN(number)) return 0;
	}
	return 1;
}

// Prefix a number to use another number range
// Such as %u0660 for Arabic
function prefixNumber(num) {
	var out='';
	num=num+''; // Force a string
	if (-1!=numerals) {
		for (i=0;i<num.length;i++) {
			j=num.charAt(i)*1;
			out+=numerals[j];
		}
	} else {
		out=num;
	}
	return out;
}

// Function to replace text
function replaceTextById(id,str) {
	if (
		document.getElementById(id) &&
		document.getElementById(id).firstChild
	) {
		document.getElementById(id).firstChild.nodeValue=unescape(str);
	}
}

// Replace attribute
function replaceAttrById(id,attr,val) {
	if (
		document.getElementById(id) &&
		document.getElementById(id).getAttribute(attr)
	) {
		document.getElementById(id).setAttribute(attr,val);
	}
}

// Function to change display of certain elements
function setDisplay(id,setting) {
	if (
		document.getElementById(id) &&
		document.getElementById(id).style
	) document.getElementById(id).style.display=setting;
}

function dispTimeUnits(units) {
		setDisplay(units,'inline');
		setDisplay(units+'Lbl','inline');
}

// Trim leading and trailing whitespace
function trimWhitespace(str) {
	return str.replace(/^\s+|\s+$/,'');
}

// We are trying to match the entire name.
// Which means preceded by the start of the string or a seperator (pre)
// and followed by "=".
function getObjVal(obj,pre,sep,name) {
	name = name + "=";
	var start = obj.indexOf (name,0);
	if (start == -1) return start;
	if (start != 0) {
		name = pre + name;
		var start = obj.indexOf (name,0)
		if (start == -1) return start;
	}
	start += name.length;
	var end = obj.indexOf (sep,start);
	if (end == -1) end = obj.length;
	return trimWhitespace(unescape(obj.substring (start,end)));
}

// Use getObjVal to extract a value from the Query String.
function getQsVal(name) {
	return getObjVal(location.search.substring(1),"&","&",name);
}

// Use getObjVal to extract a cookie value.
// If cookie is found set it again to lengthen expiration date
function getCookieVal(name) {
	var value=getObjVal(document.cookie,"; ",";",name);
	if (-1!=value) { setCookie(name,value); }
	return value;
}

// Set cookie (expires in 2 years)
function setCookie(name,value) {
	var expdate = new Date ();
	expdate.setTime (expdate.getTime() + (msPerDay * 366 * 2));
	document.cookie = name + "=" + escape (value) + "; expires=" + expdate.toGMTString();
}

// Set Values
function setYear(value) {
	if (value != "next" && !isNumber(value)) {
		value = retYear(now)+1;
		if (document.clock.year) document.clock.year.value=value;
	}
	year=value
	setCookie('year',value)
	set_target(now);
}

function setMonth(value) {
	if (value<1 || value>12 || !isNumber(value)) {
		value=1;
		if (document.clock.month) document.clock.month.value=value;
	}
	mon=value
	setCookie('month',value)
	set_target(now);
}

function setDate(value) {
	if (value < 1 || value > 31 || !isNumber(value)) {
		value = 1;
		if (document.clock.date) document.clock.date.value=value;
	}
	dat=value
	setCookie('date',value)
	set_target(now);
}

function setHrs(value) {
	if (value < 0 || value > 23 || !isNumber(value)) {
		value = 1;
		if (document.clock.hrs) document.clock.hrs.value=value;
	}
	hrs=value
	setCookie('hrs',value)
	set_target(now);
}

function setMin(value) {
	if (value < 0 || value > 59 || !isNumber(value)) {
		value = 1;
		if (document.clock.min) document.clock.min.value=value;
	}
	min=value
	setCookie('min',value)
	set_target(now);
}

function setSec(value) {
	if (value < 0 || value > 59 || !isNumber(value)) {
		value = 1;
		if (document.clock.sec) document.clock.sec.value=value;
	}
	sec=value
	setCookie('sec',value)
	set_target(now);
}

// Calculate the timezoneoffset
// Correct the time for UTC setting or given tz value
// else we leave it at the local value (if -1 nothing was entered).
function calc_timezoneoffset() {
	if ( "UTC" == tz ) {
		timezoneoffset = target.getTimezoneOffset() * 60000;
	} else if ( -1 != tz && isNumber(tz) ) {
        // Force tz to be a number by substracting 0.
		timezoneoffset = (target.getTimezoneOffset() + (tz-0)) * 60000;
	} else {
		timezoneoffset = 0;
	}
}

// Correct dat for targetminusmonths value calculation
function monDatCorr(year,mon,dat) {
	mon++;
	var dat_new;
	if ((4==mon||6==mon||9==mon||11==mon) && dat>30) {
		dat_new=30;
	} else if (2==mon && dat>29 && year%4==0 && (year%100!=0||year%400==0)) {
		dat_new=29;
	} else if (2==mon && dat>28) {
		dat_new=28;
	}
	return dat_new;
}

// Set the target date (can vary if year is "next")
// If year is next, it means the next occurence of given date
// hence we determine if it is this year or next year.
// Also set targetminusmonths and targetminusyears
function set_target(now) {
	var now_year=retYear(now);
	var now_mon=now.getMonth();
	var now_dat=now.getDate();
	if ("undefined"!=typeof(next_event)) {
		target=next_event(now);
		// target = new Date(year,mon-1,dat,hrs,min,sec)
		// calc_timezoneoffset();
	} else if (year == "next") {
		// var now_year = retYear(now);
		target = new Date(now_year,mon-1,dat,hrs,min,sec);
		calc_timezoneoffset();
		if (target.getTime()-timezoneoffset-now.getTime() < 0) {
			target = new Date(now_year+1,mon-1,dat,hrs,min,sec)
			calc_timezoneoffset();
		}
	} else {
		target = new Date(year,mon-1,dat,hrs,min,sec)
		calc_timezoneoffset();
	}
	// Determine the target minus all the years.
	// targetminusyears must come before targetminusmonths because
	// targetminusmonths can modify now_year value.
	targetminusyears=new Date(now_year,mon-1,dat,hrs,min,sec);
	if (cdir=='up') {
		if (now.getTime()-targetminusyears.getTime() < 0) {
			targetminusyears=new Date(now_year-1,mon-1,dat,hrs,min,sec);
		}
	} else if (targetminusyears.getTime()-now.getTime() < 0) {
		targetminusyears=new Date(now_year+1,mon-1,dat,hrs,min,sec);
	}
	// Determine the target minus all the months.
	if (cdir!='up') {
		dat_corr=monDatCorr(now_year,now_mon,dat);
		if (dat_corr<dat) { month_correction=1; }
	} else {
		dat_corr=monDatCorr(now_year,mon-1,now_dat);
		if (dat_corr<now_dat) { month_correction=-1; }
	}
	targetminusmonths=new Date(now_year,now_mon,dat,hrs,min,sec);
	// If this time already passed (mode=down) or not yet been reached
	// (mode=up) add/substract a month:
	if (cdir=='up') {
		if (now.getTime()-targetminusmonths.getTime() < 0) {
			now_mon--;
			if (now_mon<0) {now_year--;now_mon=11;}
			targetminusmonths=new Date(now_year,now_mon,dat,hrs,min,sec);
		}
	} else if (targetminusmonths.getTime()-now.getTime() < 0) {
		now_mon++;
		if (now_mon>11) {now_year++;now_mon-=12;}
		targetminusmonths=new Date(now_year,now_mon,dat,hrs,min,sec);
	}
	// If there are no months left:
	if (
		(cdir=='up' && targetminusmonths.getTime()-target.getTime() < 0) ||
		(cdir!='up' && target.getTime()-targetminusmonths.getTime() < 0)
	) {
		targetminusmonths=target;
	}
}

// Calculate msDiff
function calcDiffs(now) {
	// Ignore months in remainder mode if we are showing months or years.
	// calc msDiff using targetminusmonths
	if (-1!=mode && 0<mode.length && 0<=mode.indexOf('r')) {
		if (0<=show.indexOf('M')) {
			msDiff=targetminusmonths.getTime()-timezoneoffset-now.getTime();
		} else if (0<=show.indexOf('Y')) {
			msDiff=targetminusyears.getTime()-timezoneoffset-now.getTime();
		} else {
			msDiff=target.getTime()-timezoneoffset-now.getTime();
		}
	} else {
		msDiff=target.getTime()-timezoneoffset-now.getTime();
	}
	if (0<=show.indexOf('M')||0<=show.indexOf('Y')) {
		MDiff=target.getMonth()-targetminusmonths.getMonth()+12*(retYear(target)-retYear(targetminusmonths))+month_correction;
	}
}

// Update the clock every 1000 milliseconds
function updateDom() {
	now = new Date();
	calcDiffs(now);
	if ("up"==cdir) {
		msDiff=-msDiff;
		MDiff=-MDiff;
	} else {
		// Add one to the lowest unit to compensate for Math.floor
		// in countdown mode
		if (0<=show.indexOf('s')) {
			msDiff+=1000;
		} else if (0<=show.indexOf('m')) {
			msDiff+=60000;
		} else if (0<=show.indexOf('h')) {
			msDiff+=3600000;
		} else if (0<=show.indexOf('d')) {
			msDiff+=86400000;
		} else if (0<=show.indexOf('W')) {
			msDiff+=604800000;
		}
		if (msDiff<0) {
			set_target(now);
			//msDiff = target.getTime()-timezoneoffset-now.getTime();
			calcDiffs(now);
			modify_clock(now);
		}
	}
	// If less than zero? Set to zero.
	if (msDiff<0) { msDiff=0; }

	if (document.getElementById('oSec')) {
		if (-1!=mode && 0<mode.length && 0<=mode.indexOf('r')) {
			msRem=msDiff;
			MRem=MDiff;
			if (0<=show.indexOf('Y')) {
				YDiff=Math.floor(MRem/12);
				MRem=MRem%12;
			}
			if (0<=show.indexOf('M')) {
				MDiff=MRem;
			}
			if (0<=show.indexOf('W')) {
				WDiff=Math.floor(msRem/msPerWeek);
				msRem=msRem%msPerWeek;
			}
			if (0<=show.indexOf('d')) {
				dDiff=Math.floor(msRem/msPerDay);
				msRem=msRem%msPerDay;
			}
			if (0<=show.indexOf('h')) {
				hDiff=Math.floor(msRem/msPerHour);
				msRem=msRem%msPerHour;
			}
			if (0<=show.indexOf('m')) {
				mDiff=Math.floor(msRem/msPerMinute);
				msRem=msRem%msPerMinute;
			}
			if (0<=show.indexOf('s')) {
				sDiff=Math.floor(msRem/msPerSecond);
				// msRem=msRem%msPerSecond;
			}

		} else {
			sDiff=Math.floor(msDiff/msPerSecond);
			mDiff=Math.floor(msDiff/msPerMinute);
			hDiff=Math.floor(msDiff/msPerHour);
			dDiff=Math.floor(msDiff/msPerDay);
			WDiff=Math.floor(msDiff/msPerWeek);
			MDiff=MDiff;
			YDiff=Math.floor(MDiff/12);
		}
		
		// we need to ensure that we have a leading 0
		if (prefixNumber(sDiff) < 10) {
			mysec = '0'+prefixNumber(sDiff);
		}
		else {
		mysec = prefixNumber(sDiff);	
		}
		
		if (prefixNumber(mDiff) < 10) {
			mymin = '0'+prefixNumber(mDiff);
		}
		else {
		mymin = prefixNumber(mDiff);	
		}
		
		if (prefixNumber(hDiff) < 10) {
			myhour = '0'+prefixNumber(hDiff);
		}
		else {
		myhour = prefixNumber(hDiff);	
		}
		
		if (prefixNumber(dDiff) < 100) {
			myday = '0'+prefixNumber(dDiff);
		}
		if (prefixNumber(dDiff) < 10) {
			myday = '00'+prefixNumber(dDiff);
		}
		if (prefixNumber(dDiff) > 100) {
			myday = prefixNumber(dDiff);	
		}
		
		if (prefixNumber(YDiff) < 10) {
			myyear = '0'+prefixNumber(YDiff);
		}
		else {
		myyear = prefixNumber(YDiff);	
		}
		
		replaceTextById('oSec',mysec);
		replaceTextById('oMin',mymin);
		replaceTextById('oHrs',myhour);
		replaceTextById('oDays',myday);
		//replaceTextById('oWeek',prefixNumber(WDiff));
		//replaceTextById('oMon',prefixNumber(MDiff));
		replaceTextById('oYrs',myyear);

		// Singular/Plural check, and automatic language modification.
		/* update_timeunit_label('oYrsLbl',YDiff,yrslabel,yrslabel_smpl,yrslabel_ones,yrslabel_sing,yrslabels);
		update_timeunit_label('oMonLbl',MDiff,monlabel,monlabel_smpl,monlabel_ones,monlabel_sing,monlabels);
		update_timeunit_label('oWeekLbl',WDiff,weeklabel,weeklabel_smpl,weeklabel_ones,weeklabel_sing,weeklabels);
		update_timeunit_label('oDaysLbl',dDiff,dayslabel,dayslabel_smpl,dayslabel_ones,dayslabel_sing,dayslabels);
		update_timeunit_label('oHrsLbl',hDiff,hrslabel,hrslabel_smpl,hrslabel_ones,hrslabel_sing,hrslabels);
		update_timeunit_label('oMinLbl',mDiff,minlabel,minlabel_smpl,minlabel_ones,minlabel_sing,minlabels);
		update_timeunit_label('oSecLbl',sDiff,seclabel,seclabel_smpl,seclabel_ones,seclabel_sing,seclabels); */

		timeoutID=setTimeout('updateDom()',1010 - now%1000)
	}
}



// We modify the clock

function modify_clock(now) {

	// if the user has set the title replace our original title.
	//if (-1!=title) {
	//	replaceTextById('oTitle',title);
	//	if (document.title) { document.title=title; }
	//}

	// if the user has fixed the date through the querystring show it
	if (location.search && (
			// (-1 != getQsVal("year")) ||
			(-1 != "2017") ||
			(-1 != getQsVal("datestr")) ||
			(-1 != getQsVal("next"))
		) && document.getElementById('oToDate')
	) {
		// dispyear is different from var year as year can contain "next"
		//dispyear=target.getFullYear();
		dispyear=retYear(target);
		mon=target.getMonth()+1;
		dat=target.getDate();
		hrs=target.getHours();
		min=target.getMinutes();
		sec=target.getSeconds();

		var dayName = "";
		if (target.getDay) dayName = dayNames[target.getDay()];

		var monName = monNames[mon-1];

		// Set the date according to style
		var txtDate;
		// if ("eu"==datestyle) { datestyle="#WD #DA #MO #YR"; }
		// else if (4>datestyle.length) { datestyle="#WD, #MO #DA, #YR"; }
		txtDate=datestyle;
		txtDate=txtDate.replace(/#WD/,unescape(dayName));
		txtDate=txtDate.replace(/#DA/,prefixNumber(dat));
		txtDate=txtDate.replace(/#MO/,unescape(monName));
		txtDate=txtDate.replace(/#MN/,prefixNumber(mon));
		txtDate=txtDate.replace(/#YR/,prefixNumber(dispyear));
		txtDate=unescape(txtDate);

		var txtTime=" ";
		var dhrs=hrs;
		if (12==ts) {
			dhrs=hrs%12;
			if (dhrs==0) { dhrs=12; }
		}
		if (0!=hrs || 0!=min || 0!=sec) {
			txtTime+=((ts!=12&&dhrs<10)?"0":"")+dhrs+":"+((min<10)?"0":"")+min;
			if (0!=sec) { txtTime+=":"+((sec<10)?"0":"")+sec; }
			if (12==ts) { txtTime+=nbsp+((hrs>11)?"pm":"am"); }
		}

		var txtTZ=nbsp;
		if ( "UTC" == tz ) {
			txtTZ += "UTC";
		} else if ( -1!=tz && isNumber(tz) ) {
			var off_sign = ((tz<0)?"-":"+");
			tz = ((tz<0)?-tz:tz);
			var off_hrs = Math.floor(tz/60);
			var off_min = tz-Math.floor(tz/60)*60;
			txtTZ += "[" + off_sign + ((off_hrs<10)?"0":"") + off_hrs + ":" + ((off_min<10)?"0":"") + off_min + "]";
		} else {
			txtTZ = "";
		}

		if (document.getElementById('oToDate').firstChild) {
			document.getElementById('oToDate').removeChild(document.getElementById('oToDate').firstChild);
		}
		var txtNode = document.createTextNode(txtDate + txtTime + txtTZ);
		if (document.getElementById('oToDate')) {
			document.getElementById('oToDate').appendChild(txtNode);
		}
		// Turn off date form 
		setDisplay('oUntilTxt','none');
		setDisplay('oUntilForm','none');
	} else {
		// Turn on date form to allow visitor to enter a date.
		setDisplay('oUntilTxt','block');
		setDisplay('oUntilForm','block');
	}

	// Modify the labels according to language
	

	// Show time units that are wanted
	if (0<=show.indexOf('Y')) { dispTimeUnits('oYrs'); }
	if (0<=show.indexOf('M')) { dispTimeUnits('oMon'); }
	if (0<=show.indexOf('W')) { dispTimeUnits('oWeek'); }
	if (0<=show.indexOf('d')) { dispTimeUnits('oDays'); }
	if (0<=show.indexOf('h')) { dispTimeUnits('oHrs'); }
	if (0<=show.indexOf('m')) { dispTimeUnits('oMin'); }
	if (0<=show.indexOf('s')) { dispTimeUnits('oSec'); }

	// If the clock was the result of a search plugin search pass the
	// query string on so that user can generate the appropriate code
	// for his settings quickly.
	

}

// If location.search exists and the year is set we assume that the date
// needs to be set from the querystring. Otherwise we check the cookies.
function helloGo() {
	now=new Date();

	// In IE the link doesn't inherit changed color value of parent div.
	// So we need to set it again. Thanks Bill!
	var fgcolor=getFgcolorVal();
	if (document.getElementById('InstallLink') &&
		document.getElementById('InstallLink').style
	) document.getElementById('InstallLink').style.color=fgcolor;

	// Determine the date to countdown to
	if (location.search && (-1!=getQsVal("datestr"))) {
		var datestr=getQsVal("datestr");
		datestr=datestr.replace(/\+/g," ");
		target=new Date(Date.parse(datestr));
		//year=target.getFullYear();
		year=retYear(target);
		mon=target.getMonth()+1;
		dat=target.getDate();
		hrs=target.getHours();
		min=target.getMinutes();
		sec=target.getSeconds();
		tz=getQsVal("tz");
		ts=getQsVal("ts");
		if (!isNumber(target.getTime())) alert (datestr+" is not a valid date!");
	} else if 
		// ((-1!=getQsVal("year"))||(-1!=getQsVal("next")))
		((-1!="2017")||(-1!=getQsVal("next"))
	) {
		// year=getQsVal("year");
		year="2017";
		mon="3";
		dat="16";
		hrs="0";
		min="0";
		sec="0";
		tz="local";
		ts="24";
		/* year=2017&month=3&date=16&hrs=0&ts=24&min=0&sec=0&tz=local&lang=en&show=Ydhms&mode=r&cdir=down&bgcolor=%23CCFFFF&fgcolor=%23000000&title=Countdown To
		year="2017";
		mon="3";
		date="16";
		hrs="0";
		min="0";
		sec="0";
		tz="local";
		ts="24"; */
	} else {
		year=getCookieVal("year");
		mon=getCookieVal("month");
		dat=getCookieVal("date");
		hrs=getCookieVal("hrs");
		min=getCookieVal("min");
		sec=getCookieVal("sec");
		// Theoretical - no way to set these cookies
		tz=getCookieVal("tz");
		ts=getCookieVal("ts");
	}

	// title - title to display
	//title=getQsVal("title");
	//if (-1==title ) title=getCookieVal("title");

	// show - time units to show
	show=getShowVal();

	// cdir - count direction (up or down)
	cdir=getQsVal("cdir");
	if (-1==cdir) cdir=getCookieVal("cdir");

	// mode - countdown mode: total (t) or remainder (r).
	// mode=getQsVal("mode");
	mode="r";
	if (-1==mode) mode=getCookieVal("mode");

	// Default values
	if (year==-1 || year.length<1 || (year != "next" && !isNumber(year))) year=retYear(now)+1;
	if (mon==-1 || mon.length<1 || !isNumber(mon)) mon=1;
	if (dat==-1 || dat.length<1 || !isNumber(dat)) dat=1;
	if (hrs==-1 || hrs.length<1 || !isNumber(hrs)) hrs=0;
	if (min==-1 || min.length<1 || !isNumber(min)) min=0;
	if (sec==-1 || sec.length<1 || !isNumber(sec)) sec=0;

	if (document.clock) {
		if (document.clock.year) document.clock.year.value=year;
		if (document.clock.month) document.clock.month.value=mon;
		if (document.clock.date) document.clock.date.value=dat;
		if (document.clock.hrs) document.clock.hrs.value=hrs;
		if (document.clock.min) document.clock.min.value=min;
		if (document.clock.sec) document.clock.sec.value=sec;
		if (-1!=title && document.clock.title)
			document.clock.title.value=title;
	}

	// Set the target time to countdown to.
	set_target(now);
	modify_clock(now);
	updateDom();
}

// If browser is not DOM compliant ask to send user to Firefox download page.
function helloDom() {
	
			setupContent();
			helloGo();
}

// Bye - clear timeout
function bye () {
	clearTimeout(timeoutID);
}

// Onload & onunload

window.onload=helloDom;
//window.onresize=setFontSize;
window.onunload=bye;

// Set status vars

var loaded_countdown_js = 1;
var version="2.0.1.1-5";

// That's All Folks!
	
    $(document).ready(function() {
        if(document.getElementById("ctl00_MainContentPlaceholder_lblEditMode").innerHTML == "")
        {
	        $("#rotator1").cycle({ fx: 'fade', speed: 2000, timeout: 5000 });
	        document.getElementById("rotator1").style.overflow = "hidden";
	        document.getElementById("copy1").style.position = "relative";
	        document.getElementById("copy2").style.position = "relative";
	        document.getElementById("copy3").style.position = "relative";
	        document.getElementById("copy4").style.position = "relative";
	        document.getElementById("copy5").style.position = "relative";
	        document.getElementById("copy6").style.position = "relative";
	        document.getElementById("copy7").style.position = "relative";
	        document.getElementById("copy8").style.position = "relative";
	    }
	    else
	    {
	        document.getElementById("rotator1").style.overflow = "scroll";
	        document.getElementById("copy1").style.position = "static";
	        document.getElementById("copy2").style.position = "static";
	        document.getElementById("copy3").style.position = "static";
	        document.getElementById("copy4").style.position = "static";
	        document.getElementById("copy5").style.position = "static";
	        document.getElementById("copy6").style.position = "static";
	        document.getElementById("copy7").style.position = "static";
	        document.getElementById("copy8").style.position = "static";
	    }

    });