var FirstTime = 1;
var CookiesExpiration = getExpiration(2099,11,31);
var ArrEvents = new Array();
var ArrPeople = new Array();
var ArrInfo = new Array("Driving Directions,on","Park Hours,on","Nearby Parks,on","Park Map,on","Special Offers,on");
var ArrName = new Array("Make your Fun Plan,0");

function getExpiration(y,m,d){//get expiration time for cookie
	var today = new Date();
	var expires = new Date(y,m,d);
	var one_day = 1000 * 60 * 60 * 24;
	return (Math.ceil((expires.getTime() - today.getTime())/ one_day));
}
function loadCookies(){//get data from cookie into arrays
	var gotit = 0;
	var test4cookie;
	test4cookie = eatCookie("funname");
	if(test4cookie){
		ArrName = test4cookie.split("|");
		ArrName.splice(ArrEvents.length-1,1)
	}
	else{
		bakeCookie("funname", ArrName, CookiesExpiration);
	}
	test4cookie = eatCookie("funmusts");
	if(test4cookie){
		gotit = 1;
		ArrEvents = test4cookie.split("|");
		ArrEvents.splice(ArrEvents.length-1,1)
	}
	test4cookie = eatCookie("funmember");
	if(test4cookie){
		gotit = 1;
		ArrPeople = test4cookie.split("|");
		ArrPeople.splice(ArrPeople.length-1,1)
	}
	test4cookie = eatCookie("funfiles");
	if(test4cookie){
		gotit = 1;
		ArrInfo = test4cookie.split("|");
		ArrInfo.splice(ArrInfo.length-1,1)
	}
	else{
		bakeCookie("funfiles", ArrInfo, CookiesExpiration);
	}
	if(gotit){
		populateCookies();
	}
}
function populateCookies(){//get data from arrays into funplanner
	getObj('pd0_un_text').innerHTML = getObj('pd0_un_entry_fld').value = unescape(ArrName[0].split(",")[0]);//get funplanner name
	for(var i = 0; i<ArrEvents.length; i++) 
		AddEvent(ArrEvents[i].split(",")[0], unescape(ArrEvents[i].split(",")[1]), unescape(ArrEvents[i].split(",")[2]),2);//get events (funmusts) (column 1)
	for(i = 0; i<ArrPeople.length; i++){//get people (column 2)
		var name = unescape(ArrPeople[i].split(",")[0]);
		var height = ArrPeople[i].split(",")[1];
		var newE = document.createElement("DIV");
		var rand_ID = "p_";
		getObj('people_container').appendChild(newE);
		for(var j=0; j<10; j++) rand_ID += Math.floor(Math.random()*10);
		newE.id = rand_ID;
		newE.innerHTML = "<div id=" + rand_ID + "_n class=\"pd_added_person\" style=\"cursor:pointer;\" onclick=\"EditPerson(\'" + rand_ID + "\')\">" + name + "</div>" + "<div class=\"pd_added_person_r\" onclick=\"RemovePerson(\'" + rand_ID + "\')\"><img src=\"/funplanner/img/event_remove_dot.gif\" width=\"9\" height=\"9\" title=\"Remove\"></div><div id=\"" + rand_ID + "_h\" class=\"pd_added_person\" style=\"float:right;\" onclick=\"EditPerson(\'" + rand_ID + "\')\">" + height + "\"</div>";
		newE.className = "pd_added_person";
	}
	for(i = 0; i<ArrInfo.length; i++)//get info (column 3)
		getChildNodes(getChildNodes(getChildNodes(getObj('pd0_cell3'))[1])[i])[0].checked = (ArrInfo[i].split(",")[1] == "on");
}
function isEventName(arg){//is event in the funplanner
	for(var i = 0; i<ArrEvents.length; i++) if(ArrEvents[i].split(",")[1] == arg) return true;
	return false;
}
function getObj(name){
  if(document.getElementById) this.obj = document.getElementById(name);
  else if(document.all) this.obj = document.all[name];
  return this.obj;
}
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

if(BrowserDetect.browser == "Explorer") document.write("<link REL='stylesheet' HREF='/funplanner/css/pulldown.css' TYPE='text/css'>");
else document.write("<link REL='stylesheet' HREF='/funplanner/css/pulldown_ff.css' TYPE='text/css'>");

function getChildNodes(thisObj) {
	var elementsArray = new Array();
	for(var loop = 0; loop < thisObj.childNodes.length; loop++)
		if (thisObj.childNodes[loop].nodeType == 1)	elementsArray[elementsArray.length++] = thisObj.childNodes[loop];
	return elementsArray;
}
function getTruePageWidth(){
	var docWidth = -20;
	if(typeof document.width != 'undefined') docWidth += document.width;
	else if(document.compatMode && document.compatMode != 'BackCompat') docWidth += document.documentElement.scrollWidth;
	else if(document.body && typeof document.body.scrollWidth != 'undefined') docWidth += document.body.scrollWidth;
	return (document.body.offsetWidth < docWidth)? docWidth : document.body.offsetWidth;
}
function getTruePageHeight(){
	var docHeight;
	if(typeof document.height != 'undefined') docHeight = document.height;
	else if (document.compatMode && document.compatMode != 'BackCompat') docHeight = document.documentElement.scrollHeight;
	else if (document.body && typeof document.body.scrollHeight != 'undefined') docHeight = document.body.scrollHeight;
	return (document.body.offsetHeight < docHeight)? docHeight : document.body.offsetHeight;
}
function resetOverlay(){
	try {
		if(client.engine == "gecko") ff = 20;
		getObj('pd_transOverlay').style.width = getTruePageWidth() + ff;
		getObj('pd_transOverlay').style.height = getTruePageHeight();
	} catch (e) {} // IE ...
}
function bakeCookie(name, value_arr, days){//writes cookie args:(given name, array of entries, expiration days)
	if(days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	var temp = "";
	for(var i = 0; i<value_arr.length; i++)	temp += value_arr[i] + "|";
	document.cookie = name+"="+temp+expires+"; path=/";
	//alert(document.cookie);
}
function eatCookie(name){//reads cookie (given name)
	var ArrCookies = document.cookie.split(';');
	for(var i = 0; i<ArrCookies.length; i++){
		if(ArrCookies[i].indexOf(name) != -1){
			ArrCookies[i] = leftTrim(ArrCookies[i]);
			return ArrCookies[i].substring(name.length+1, ArrCookies[i].length);
		}
	}
	return null;
}
function trashCookie(name){//deletes cookie (given name)
	bakeCookie(name,"",-1);
}
function leftTrim(sString){
	while (sString.substring(0,1) == ' ') sString = sString.substring(1, sString.length);
	return sString;
}
function stripSpecial(str) {
     re = /\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$|\./g;
     return str.replace(re, "");
}
function getElementsByClass(val){ 
	var all = document.all || document.getElementsByTagName('*');
	var arr = [];
	for(var k = 0; k < all.length; k++)
		if(all[k].className == val) arr[arr.length] = all[k];
	return arr;
}