var isMinNS4 = (document.layers) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = ( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)&&document.all) ? 1 : 0;
var isNS6 = ( _proxy_jslib_handle(document, 'getElementById', '', 0, 0)&&!document.all) ? 1 : 0;
var resultsArrayofHash = [];
var agreePrivacy = 1;
var fromWelcomeLocator = false;
var myHash = { "Alaska" : "AK,US",
		"Alabama" : "AL,US",
		"Arizona" : "AZ,US",
		"California" : "CA,US",
		"Colorado" : "CO,US",
		"Connecticut" : "CT,US",
		"Georgia" : "GA,US",
		"Iowa" : "IA,US",
		"Idaho" : "ID,US",
		"Illinois" : "IL,US",
		"Indiana" : "IN,US",
		"Massachusetts" : "MA,US",
		"Maryland" : "MD,US",
		"Maine" : "ME,US",
		"Michigan" : "MI,US",
		"Minnesota" : "MN,US",
		"Missouri" : "MO,US",
		"Montana" : "MT,US",
		"North Carolina" : "NC,US",
		"North Dakota" : "ND,US",
		"New Hampshire" : "NH,US",
		"New Jersey" : "NJ,US",
		"New Mexico" : "NM,US",
		"Nevada" : "NV,US",
		"New York" : "NY,US",
		"Ohio" : "OH,US",
		"Oregon" : "OR,US",
		"Pennsylvania" : "PA,US",
		"Rhode Island" : "RI,US",
		"South Dakota" : "SD,US",
		"Tennessee" : "TN,US",
		"Utah" : "UT,US",
		"Virginia" : "VA,US",
		"Vermont" : "VT,US",
		"Washington" : "WA,US",
		"Wisconsin" : "WI,US",
		"West Virginia" : "WV,US",
		"Wyoming" : "WY,US",
		
		"Andorra" : " ,AN",
		"Austria" : " ,AU",
		"Argentina" : " ,AR" ,
		"Australia" : " ,AS", 
		"Canada" : " ,CA",
		"Mexico" : " ,MX",
		"Chile" : " ,CI", 
		"France" : " ,FR", 
		"Germany" : " ,GM", 
		"Italy" : " ,IT" ,		
		"Liechtenstein" : " ,LS" ,
		"New Zealand" : " ,NZ",
		"Norway" : " ,NO",
		"Sweden" : " ,SW",
		"Spain" : " ,SP",
		"Switzerland" : " ,SZ"

 };
var cdd = [
	[""],	
	[	"Select",
		"Canada",
		"Mexico",
		"-----------",
		"Alaska",
		"Alabama",
		"Arizona",
		"California",
		"Colorado",
		"Connecticut",
		"Georgia",
		"Iowa",
		"Idaho",
		"Illinois",
		"Indiana",
		"Massachusetts",
		"Maryland",
		"Maine",
		"Michigan",
		"Minnesota",
		"Missouri",
		"Montana",
		"North Carolina",
		"North Dakota",
		"New Hampshire",
		"New Jersey",
		"New Mexico",
		"Nevada",
		"New York",
		"Ohio",
		"Oregon",
		"Pennsylvania",
		"Rhode Island",
		"South Dakota",
		"Tennessee",
		"Utah",
		"Virginia",
		"Vermont",
		"Washington",
		"Wisconsin",
		"West Virginia",
		"Wyoming"

 ],
	["Select a Country",
		"Andorra",
		"Austria",
		"France",
		"Germany",
		"Italy",
		"Liechtenstein",
		"Norway",
		"Sweden",
		"Spain",
		"Switzerland"

 

 ],
	["Select a Country",
		"Argentina",		
		"Australia",		
		"Chile",		
		"New Zealand"

 ]



];
function updateDD() {
	var o = document.resorts.continent.selectedIndex;
	// empty out the selector first
	for (a=document.resorts.state.options.length-1;a>0;a--){
		 _proxy_jslib_assign('', document.resorts.state.options, (a), '=', (null));
	}

	// fill in the selector with the values in the 2D array where the
	// key of the 1st D is the value of the checked radio button
	var mapCounter = 0;
	for (var a=0;a< _proxy_jslib_handle(cdd, (o), 0, 0).length;a++){
		 _proxy_jslib_assign('', document.resorts.state.options, (a), '=', (new (Option)( _proxy_jslib_handle( _proxy_jslib_handle(cdd, (o), 0, 0), (a), 0, 0), _proxy_jslib_handle(myHash, ( _proxy_jslib_handle( _proxy_jslib_handle(cdd, (o), 0, 0), (a), 0, 0)), 0, 0))));
		mapCounter++;
	}
}

function processTypeAhead() {	
	fromWelcomeLocator = true;
	var s =  _proxy_jslib_handle(document.enhancedlocationSearch.where, 'value', '', 0, 0);
	if (s.length < lengthLimit || s.substr(0,1).match(/^\d/)) {
		noResults();
		 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("full_resorts_wrapper").style.display = "none";
		return false;
	} else if (s.length > lengthLimit) {
		gotJSONSearch();
		return false;
	} else {
		getJSONSearch(s);
		return false;
	}

}


function getResorts() {
	//var rURL = 'http://joe.it.weather.com/cgi-bin/ski_lookup.pl?l='+document.resorts.state.value;
	var rURL = 'http://www.weather.com/outlook/recreation/ski/skistatecountryresorthelper?cd='+ _proxy_jslib_handle(document.resorts.state, 'value', '', 0, 0);
//	alert("getting resorts for "+document.resorts.state.value);
	var head =  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)('head').item(0);
	var last =  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('resortSearchData');
	if (last) head.removeChild(last);
	
	var script = document.createElement('script');
	 _proxy_jslib_assign('', script, 'src', '=', ( rURL));
	script.type = 'text/javascript';
	script.id = 'resortSearchData';
	void(head.appendChild(script));  
}
function gotResorts() {
//	alert("got resorts");
	var str = "";
	for (var i=0; i<resortObj.results.length; i++) {
	
		str += "<nobr><a href=\"javascript:clickMe('" +  _proxy_jslib_handle(resortObj.results, (i), 0, 0)[0] + "','" +  _proxy_jslib_handle( _proxy_jslib_handle( _proxy_jslib_handle(resortObj.results, (i), 0, 0)[1], 'replace', '', 1, 0)(/&#39;/g,"==apos=="), 'replace', '', 1, 0)(/&apos;/g,"==apos==") + "')\">" +  _proxy_jslib_handle( _proxy_jslib_handle( _proxy_jslib_handle(resortObj.results, (i), 0, 0)[1], 'replace', '', 1, 0)(/&#39;/g,"'"), 'replace', '', 1, 0)(/&apos;/g,"'") + "</a></nobr><br/>\n";
	}
	 _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("full_resorts"), 'innerHTML', '=', ( str));
}
var searchObj = {};
var lastSearch = "";
var lengthLimit = 2;
var myLocid = "";
var resultsVisible = 0;
var resultsCounter = -1;
var resultsTotal = 0;
function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent("on" + evType, fn);
		return r;
	} else {
		 _proxy_jslib_assign('', elm, ('on' + evType), '=', ( fn));
	}
}
function getTarget(e) {
	var target;
	if (window.event) {
		target = window.event.srcElement;
	} else if (e) {
		target = e.target;
	} else {
		target = null;
	}
	return target;
}
function getKeyCode(e) {
	var key;
	if (window.event) {
		key = window.event.keyCode;
	} else if (e) {
		key = e.keyCode;
	} else {
		key = null;
	}
	return key;
}
function searchMe() {
		var o =  _proxy_jslib_handle(document.skiwhatwhere.skiwhere, 'value', '', 0, 0);
		resultsCounter = -1;
		if (o.length < lengthLimit || o.substr(0,1).match(/^\d/)) {
			noResults();
		} else if (o.length > lengthLimit) {
			gotJSONSearch();
		} else {
			getJSONSearch(o);
		}
}

function onChangeMe() {
	var o =  _proxy_jslib_handle(document.skiwhatwhere.skiwhere, 'value', '', 0, 0);
	resultsCounter = -1;
	getJSONSearch(o);
}
function noResults() {
	resultsVisible = 0;
	resultsCounter = -1;
	 _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('full_resorts'), 'innerHTML', '=', ( ""));
	return;
}
function gotJSONSearch() {
	var results = null;
	if (fromWelcomeLocator == false)
	{
		results = buildResults();
	}
	else
	{
		results = buildLocatorResults();
	}
	
	if (results == "") {
		noResults();
	} else {
		 _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('full_resorts'), 'innerHTML', '=', ( results));
		resultsVisible = 1;
	}
}
function getJSONSearch(txt) {
	lastSearch = txt;
	var rURL = 'http://fcgi.weather.com/fcgi-bin/type_ahead/type_ahead_search_js.fcgi?search_loc_type=11&dataobj=searchObj&callback=gotJSONSearch&trunc=100&search='+txt;
	
	var head =  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)('head').item(0);
	var last =  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('JSONSearchData');
	if (last) head.removeChild(last);
	
	var script = document.createElement('script');
	 _proxy_jslib_assign('', script, 'src', '=', ( rURL));
	script.type = 'text/javascript';
	script.id = 'JSONSearchData';
	void(head.appendChild(script));  
}
function buildResults() {
	var txt = "";
	var o =  _proxy_jslib_handle(document.skiwhatwhere.skiwhere, 'value', '', 0, 0);
	var cntr = 0;
	for (var i=0; i<searchObj.results.length; i++) {
//		var presName = (searchObj.results[i][3]=="US")?searchObj.results[i][1] + ", " + searchObj.results[i][2]:searchObj.results[i][1] + ", " + searchObj.results[i][3];
//		if (o.length <=lengthLimit || presName.substr(0,o.length).toLowerCase() == o.toLowerCase()) {
			txt += "<nobr><a href=\"javascript:clickMe('" +  _proxy_jslib_handle(searchObj.results, (i), 0, 0)[0] + "','" +  _proxy_jslib_handle( _proxy_jslib_handle(searchObj.results, (i), 0, 0)[1], 'replace', '', 1, 0)(/&#39;/g,"==apos==") + "')\">" +  _proxy_jslib_handle(searchObj.results, (i), 0, 0)[1] + "</a></nobr><br/>\n";
			myLocid =  _proxy_jslib_handle(searchObj.results, (i), 0, 0)[0];
			cntr++;
//		}
	}
	if (cntr != 1) myLocid = "";
	resultsTotal = cntr;
	return txt;
}

function buildLocatorResults() {
	var txt = "";
	var cntr = 0;

	if (searchObj.results.length == 0)
	{		
		 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('full_resorts_wrapper').style.display = "none";
		return txt;	
	}
	for (var i=0; i<searchObj.results.length; i++) {
			txt += "<nobr><a href='/outlook/recreation/ski/snowreport/" +  _proxy_jslib_handle(searchObj.results, (i), 0, 0)[0] + tracking + "'>" +  _proxy_jslib_handle(searchObj.results, (i), 0, 0)[1] + "</a></nobr><br/>\n";
	}
	 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("full_resorts_wrapper").style.display = "block";
	return txt;
}

function doSearch() {
	return false;
}
function debugme(str) {
	 _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("debug"), 'innerHTML', '+=', ( str + "<br>\n"));
}
function clearMe() {
	 _proxy_jslib_assign('', document.skiwhatwhere.skiwhere, 'value', '=', (""));
}
function clickMe(lid,pn) {

	if (SkiFlookie.ready() )
 	{
		//alert ("exists " +SkiFlookie.exists());
		//alert ("exists " +resultsArrayofHash.length);
		if ( SkiFlookie.exists()==false )//&& resultsArrayofHash.length<0)
		{
			//alert ("CLICK ME, Pop privacy" +resultsArrayofHash);
			locid = lid;
			presentationname = pn;
			showOptinMsg();
		}
		else	
		{
			var found = 0;
			if (resultsArrayofHash.length == 10) {
				// make message visible over the full resorts list
				// make the delete function hide the message
				moveDiv("alertbox","full_resorts",0,0);
//				document.getElementById("alertbox").style.visibility = "visible";
			} else {
				//alert("Click me else" + resultsArrayofHash);
				if (resultsArrayofHash == 'null')
				{ 
					resultsArrayofHash=[];
				}
				for (var i=0; i<resultsArrayofHash.length; i++) {
					if ( _proxy_jslib_handle(resultsArrayofHash, (i), 0, 0)[0] == lid) found++;
				}
				if (found == 0 && resultsArrayofHash.length < 10) {
					resultsArrayofHash.push([lid,pn]);
					updateChosen();				
					SkiFlookie.set('locations', resultsArrayofHash);
					 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('step3').style.display = "block";
					 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('step3label').style.display = "block";
					 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('deleteAllLabel').style.display = "block";
					 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('error').style.display = "none";
				}
			}
		}
	}
	else
	{
		//alert ("CLICK ME, not set");
		var listenerObj = new (Object)();
		listenerObj.lid = lid;
		listenerObj.pn = pn;
		listenerObj.ready = function() {
			resultsArrayofHash = SkiFlookie.get('locations');				
			clickMe(lid,pn);
		}
		Flookie.addListener(listenerObj);	
	}	
}

function clickMeFromNavOptIn(lid,pn,optin) {
	if (optin==true)
	{
		//alert("clickMeFromNavOptIn optin true" + lid + " " + pn)
		SkiFlookie.set('locations', resultsArrayofHash);
		clickMe(lid,pn);
	}
}

function addMeFromNavOptIn(lid,pn,optin) {
	if (optin==true)
	{
		//alert("optin true")
		SkiFlookie.set('locations', resultsArrayofHash);
		addMeFromNav(lid,pn);
	}
}

function addMeFromNav(lid,pn) {
	//alert("clickmefromnav")
	if (SkiFlookie.ready() )
	{
		if ( SkiFlookie.exists())
		{
			var found = 0;
			if (resultsArrayofHash.length == 10) {
				// make message visible over the full resorts list
				// make the delete function hide the message
				//alert("too many Resorts");
				//activate this id...RTOY
				showMsg(2);
//				document.getElementById("toomanyresorts").style.visibility = "visible";
			} else {
				//alert("Click me else");
				if (resultsArrayofHash == 'null')
				{ 
					resultsArrayofHash=[];
				}
				
				for (var i=0; i<resultsArrayofHash.length; i++) {
					if ( _proxy_jslib_handle(resultsArrayofHash, (i), 0, 0)[0] == lid) found++;
				}
				if (found == 0 && resultsArrayofHash.length < 10) {
					//unescape
					pn = unescape(pn);
					resultsArrayofHash.push([lid,pn]);
					SkiFlookie.set('locations', resultsArrayofHash);
					showMsg(1);
//					alert ("Resort added");
					paintNav(resultsArrayofHash);
					hideOptinMsg();
				}
			}
		}
		else
		{
			// privacy dialog, popup agreement
			//alert("Pop up privacy OPT in");
			showOptinMsg();
			//add this id..RTOY
			//document.getElementById("privacypolicy").style.visibility = "visible";
		}		
		
	} else {
		var listenerObj = new (Object)();
		listenerObj.ready = function() {
			resultsArrayofHash = SkiFlookie.get('locations');	
			addMeFromNav(lid,pn);
		}
		Flookie.addListener(listenerObj);

	}
}


function removeMe(idx) {
	 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("alertbox").style.visibility = "hidden";
	resultsArrayofHash.splice(idx,1);
	updateChosen();
	//update flookie and reset it
	SkiFlookie.set('locations', resultsArrayofHash);
	//alert ("removeMe" +resultsArrayofHash.length);
}

function removeMeFromNav(id) {
	var index;
	var found=false;
	for ( var i=0;i<resultsArrayofHash.length;i++ )
	{
		locid =  _proxy_jslib_handle(resultsArrayofHash, (i), 0, 0)[0];
		if ( locid == id )
		{
			index = i;
			found=true;
			break;
		}		
	}	
	if ( found == true)
	{
		resultsArrayofHash.splice(i,1);
		//alert("resort removed new hash " +resultsArrayofHash)
		//update flookie and reset it
		SkiFlookie.set('locations', resultsArrayofHash);
		paintNav(resultsArrayofHash);
		showDeleteMsg();
	}
	
}

function moveMeUp(idx) {
	var x = resultsArrayofHash.splice(idx,1);
	var y = resultsArrayofHash.splice(Number(idx) - 1,0,x[0]);
	updateChosen();
	//update flookie and reset it
	SkiFlookie.set('locations', resultsArrayofHash);
}
function moveMeDown(idx) {
	var x = resultsArrayofHash.splice(idx,1);
	var y = resultsArrayofHash.splice(Number(idx) + 1,0,x[0]);
	updateChosen();
	//update flookie and reset it	
	SkiFlookie.set('locations', resultsArrayofHash);
	
}

function removeAll() {
	//SkiFlookie.remove('locations');
	resultsArrayofHash =[];
	SkiFlookie.set('locations', resultsArrayofHash);
	 _proxy_jslib_handle(null, 'location', location, 0, 0).reload(forceGet=true);
	
}

function confirmRemoveAll() {
	var x=window.confirm("Are you sure you want to delete all resorts from your Snow Watcher Page?")
	if (x)
		removeAll();	
}

function removeFlookie() {
	if (SkiFlookie.ready() )
	{
		continueRemoveFlookie();
	}
	else
	{
		var listenerObj = new (Object)();
			listenerObj.ready = function() {
				resultsArrayofHash = SkiFlookie.get('locations');					
				continueRemoveFlookie();
			}
			Flookie.addListener(listenerObj);
	}	
		
	
}

function continueRemoveFlookie() {
	if ( SkiFlookie.exists())
	{
		SkiFlookie.destroy();
		resultsArrayofHash =[];
	}
	
}

function updateChosen() {
	var str = "<ol>";
	for (var i=0; i<10; i++) {
		if ( _proxy_jslib_handle(resultsArrayofHash, (i), 0, 0)) {
			var img_down = (i==(resultsArrayofHash.length - 1))?"<img src=\"http://image.weather.com/web/blank.gif\" width="+imgWidth+" height="+imgHeight+" border=0 />":"<a href=\"javascript:moveMeDown('" + i + "')\"><img src=\""+downImage+"\" width="+imgWidth+" height="+imgHeight+" border=0 /></a>";
			var img_up = (i==0)?"<img src=\"http://image.weather.com/web/blank.gif\" width="+imgWidth+" height="+imgHeight+" border=0 />":"<a href=\"javascript:moveMeUp('" + i + "')\"><img src=\""+upImage+"\" width="+imgWidth+" height="+imgHeight+" border=0 /></a>";
			str += "<li><nobr>"+img_up+img_down+" <a href=\"javascript:removeMe('" + i + "')\"><img src=\""+closeImage+"\" width="+imgWidth+" height="+imgHeight+" border=0 /></a> " +  _proxy_jslib_handle( _proxy_jslib_handle(resultsArrayofHash, (i), 0, 0)[1], 'replace', '', 1, 0)(/==apos==/g,"&#39;") + "</nobr></li>\n";
		} else {
			str += "<li>&nbsp;</li>\n";
		}
	}
	str += "</ol>";
	 _proxy_jslib_assign('',  _proxy_jslib_handle(document, 'getElementById', '', 1, 0)("chosen_resorts"), 'innerHTML', '=', ( str));
	if (resultsArrayofHash.length == 0)
	{
		 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('step3').style.display = "none";
		 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('step3label').style.display = "none";
		 _proxy_jslib_handle(document, 'getElementById', '', 1, 0)('deleteAllLabel').style.display = "none";
	}
}

 ;
_proxy_jslib_flush_write_buffers() ;