
// -----------------------------------------------------------------------------
// Flash Object

var Flash = new Object();
Flash.hasVersion = function (versionRequired) {
	if (navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
		var description = navigator.plugins['Shockwave Flash'].description;
		var version = parseInt (description.charAt (description.indexOf ('.') - 1));
		return version >= versionRequired;
	}
	if (navigator.appVersion.indexOf ('Windows') != -1 && window.execScript) {
		this.hasVersionResult = null;
		execScript ('on error resume next: Flash.hasVersionResult=IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.' + versionRequired + '"))','VBScript');
		return this.hasVersionResult;
	}
	return false;
}

// -----------------------------------------------------------------------------
// Flashtag Class

Flashtag = function (version, movie, width, height) {
	this.version = version;
	this.movie = movie;
	this.width = width;
	this.height = height;
	this.props = new Array();
	this.vars = new Array();
}
Flashtag.prototype.addProperty = function (name, value) {
	this.props[name] = value;
}
Flashtag.prototype.addVariable = function (name, value) {
	this.vars[name] = value;
}
Flashtag.prototype.getTag = function(){
	var fvars = '';
	for (var i in this.vars) fvars += i + '=' + escape (this.vars[i]) + '&'; 
	this.addProperty ('FlashVars', fvars);
	var tag = '<object';
	tag += ' width="' + this.width + '"';
	tag += ' height="' + this.height + '"';
	tag += ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
	tag += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + this.version + ',0,0,0">';
	tag += '<param name="movie" value="' + this.movie + "?" + fvars + '" />';
	for (var i in this.props) tag += '<param name="' + i + '" value="' + this.props[i] + '" />';
	tag += '<embed src="' + this.movie + "?" + fvars + '"';
	tag += ' type="application/x-shockwave-flash"';
	tag += ' pluginspage="http://www.macromedia.com/go/getflashplayer"';
	tag += ' width="' + this.width + '"';
	tag += ' height="' + this.height + '"';
	for (var i in this.props) tag += ' ' + i + '="' + this.props[i] + '"';
	tag += '><\/embed>';
	tag += '<\/object>';
	return tag;
}

// -----------------------------------------------------------------------------
// WindowLauncher Object

var WindowLauncher = new Object();

WindowLauncher.open = function (url, width, height, toolbar, scroll, center) {
	var name = new Date();
	name = name.getTime();
	name = name.toString();
	toolbar = toolbar ? 'yes' : 'no';
	scroll = scroll ? 'yes' : 'no';
	var features = 'toolbar='+toolbar+',menubar='+toolbar+',location='+toolbar+',status='+toolbar+',scrollbars='+scroll+',resizable='+scroll;
	if (width) features += ',width='+width;
	if (height) features += ',height='+height;
	if (center) {
		var x = 0, y = 0;
		if (width && window.screen.availWidth) {
			x = Math.round ((window.screen.availWidth-parseInt (width)) / 2);
			features += ',screenX='+x+',left='+x;
		}
		if (height && window.screen.availheight) {
			y = Math.round ((window.screen.availheight-parseInt (height)) / 2);
			features += ',screenY='+y+',top='+y;
		}
	}
	openWindowReference = window.open (url, name, features);
	if (openWindowReference != null && !openWindowReference.closed) {
		openWindowReference.focus();
	}
}
WindowLauncher.openCenter = function (url, width, height) {
	this.open (url, width, height, false, false, true);
}
WindowLauncher.openCenterChrome = function (url, width, height) {
	this.open (url, width, height, true, false, true);
}
WindowLauncher.openCenterScroll = function (url, width, height) {
	this.open (url, width, height, false, true, true);
}
WindowLauncher.openCenterChromeScroll = function (url, width, height) {
	this.open (url, width, height, true, true, true);
}

// -----------------------------------------------------------------------------
// Request Object

var Request = new Object();

(function(){
	if (location.search.length > 0) {
		var s = location.search.substring(1).split('&');
		for (var i = 0; i < s.length; i++) {
			s[i] = s[i].split ('=');
			Request[s[i][0]] = unescape (s[i][1]);
		}
	}
})();

// -----------------------------------------------------------------------------
//e-mail list script

function validate_elist_59602125()
{
    e = document.getElementById('elist_err59602125');
    e.innerHTML="";
    if (!document.getElementById('elistaddress59602125').value.match(/^[-!#$%&'*+./0-9=?A-Z^_`a-z{|}]+@[-!#$%&*+/0-9=?A-Z^_`a-z{|}~.]+?.+[a-zA-Z]{2,4}$/i)) 
    {
        e.innerHTML += 'Invalid email address';
    }
    if (e.innerHTML != "") return false;
    return true;
}

// -----------------------------------------------------------------------------
//open browser window script

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/***********************************************
* Dynamic Countdown script- © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}

cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}

cdtime.prototype.showresults=function(){
var thisobj=this


var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

//Create your own custom format function to pass into cdtime.displaycountdown()
//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc


function formatresults(){
if (this.timesup==false){//if target date/time not yet met
var displaystring=arguments[0]+" days <br>  "+arguments[1]+" hours : "+arguments[2]+" min :  "+arguments[3]+" secs "
}
else{ //else if target date/time met
var displaystring="What are you doing looking at this clock for? <br> LET SEASON 4 BEGIN!!!"
}
return displaystring
}