
// on load stuff
var orderedLoadFunctions = [];
var addedEvent = false;

function registerLoadOrderFunction(fn)
{
	orderedLoadFunctions.push(fn);
	
	if(!addedEvent){
		addedEvent=true;
		YAHOO.util.Event.onDOMReady(executeOnLoadScripts);
	}
}

function executeOnLoadScripts()
{
	for(var i = 0; i < orderedLoadFunctions.length; i++)
	{
		orderedLoadFunctions[i]();
	}
}

// yui constants
if (YAHOO) {
	var DOM = YAHOO.util.Dom;
	var CON = YAHOO.util.Connect;
	var ANIM = YAHOO.util.Anim;
	var EVENT = YAHOO.util.Event;
}


//debug
var LOG;

function logit(msg) {
	if(!LOG) {
		LOG = document.getElementById('log');
	}
	
	if (LOG) {
		LOG.innerHTML += msg+"<BR>";
	}
	else if (console)
		console.log(msg);
}



var Cookies = {
	// setcookie
	setCookie : function(name, data, days, domain){
		var expiry = ""
		if(days){
			var exdate = new Date();
			exdate.setTime(exdate.getTime()+1000*60*60*24*days);
			expiry = "expires="+exdate.toGMTString()+"; ";
		}
		document.cookie = name+"="+escape(data)+"; "+expiry+"path=/; domain=."+domain;
	},
	
	// erase cookie
	eraseCookie : function(name, domain){
		Cookies.setCookie(name, "", -1, domain);
	},
	
	// getcookie
	getCookie : function(name){
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
}
/*function setCookie(name, data, days, domain){
	var expiry = ""
	if(days){
		var exdate = new Date();
		exdate.setTime(exdate.getTime()+1000*60*60*24*days);
		expiry = "expires="+exdate.toGMTString()+"; ";
	}
	document.cookie = name+"="+escape(data)+"; "+expiry+"path=/; domain=."+domain;
}

// erase cookie
function eraseCookie(name, domain){
	setCookie(name, "", -1, domain);
}

// getcookie
function getCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}*/

// inArray prototype
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};


// date constants
var date_constants_days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
var date_constants_months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];  

// returns the current year based on a date
function getRealYear(theDate)
{
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

// adds a leading zero to a number (ex leadingZero(5) returns "05")
function leadingZero(nr)
{
	if (nr < 10) nr = "0" + nr;
	return nr;
}

// gets the month name based on a month integer
function getMonthName(monthIndex, n)
{
	var monthName = date_constants_months[monthIndex];
	if (n > 0)
	{
		monthName = monthName.substring(0,n);
	}
	return monthName;
}



