var fbReqUrl = "/assets/scripts/getfancy.x";
if ((pub == 'courier') || (pub == 'queens') || (pub == 'bronx')) fbReqUrl = "/assets/scripts/gettreehouse.x";
var fbResultId = "theFancyMapBox";
var fbButtonsId = "theFancyMapButtons";
var fbReq;

var fbSplashes = {};

var cal_months;
var cal_today;

var fbSearchId = "fbLiveSearch";
/*var fbSearchButtonId = "fbLiveSearchButton";*/
var fbStartDelay = 200;
var fbTimer = null; 
var fbShowDelay = 200;

function fbStart() {
	if (fbTimer) { window.clearTimeout(fbTimer); }
	fbTimer = window.setTimeout("fbDoSearch()",fbStartDelay);
}

function fbDoSearch() {
	var s = escape(document.getElementById(fbSearchId).value);
	var type = escape(document.getElementById(fbSearchId).ltype);
	if (s == "")
		return false;
		
	var fbUrl = fbReqUrl + "?listings_type=" + type + "&search_query[]=" + s;
	//alert(lsUrl);

	fbGetXML(fbUrl);
}

function fbSelect (button, type) {
	var change = false;
	if (type == 'venues') type = 'vhub';
	var ltype = type;
	if (type == 'events') type = 'maps';
	
	if (type == 'blotter') type = 'maps';
	if (type == 'bites') type = 'maps';
	if (type == 'classifieds') type = 'maps';
	//swfobject.removeSWF('thefbPlayer');
	
	if (button.className == 'fbUnsel') {
		//switch which box we're looking at!
		var bs = getElementsByClassName('fbSel'); 
		if (bs) {
			for(var i=0,j=bs.length; i<j; i++) bs[i].className = 'fbUnsel';
		}
		button.className = 'fbSel';
		change = true;
		
		document.getElementById("theFancyBoxWrapper").className = 'withSelection';
	}
	
	if (button.className == 'aFancyTeaserUnsel') {
		
		var bs = getElementsByClassName('aFancyTeaserSel'); 
		for(var i=0,j=bs.length; i<j; i++) bs[i].className = 'aFancyTeaserUnsel';
		button.className = 'aFancyTeaserSel';
		
		var bs = getElementsByClassName('aFancyStorySel'); 
		for(var i=0,j=bs.length; i<j; i++) bs[i].className = 'aFancyStoryUnsel';
		
		var newst = document.getElementById('theFancyStory__'+button.value);
		newst.className = 'aFancyStorySel';
		
		return true;
	}
	var fbHeight = 285;
	var fbWidth = 380;
	var fbDispht = 305;
	var fbStretch = 'none';
	
	if (button.className == 'aFancyVideoTeaserUnsel') {
		
		var bs = getElementsByClassName('aFancyVideoTeaserSel'); 
		for(var i=0,j=bs.length; i<j; i++) bs[i].className = 'aFancyVideoTeaserUnsel';
		button.className = 'aFancyVideoTeaserSel';
		
		loadJWVideo(button.value, 'thefbPlayer', fbSplashes[button.id], fbHeight, fbWidth, fbDispht, fbStretch);
		
		return true;
	}
	var hub = document.getElementById('theFancyHub');
	var stb = document.getElementById('theFancyStory');
	var vib = document.getElementById('theFancyVideo');
	var mpb = document.getElementById('theFancyMaps');
	var mgb = document.getElementById('theFancyMags');
	var gab = document.getElementById('theFancyGals');
	var settings = '';
	
	if (hub) {
		if (type != 'hub') {
			//if (hub.style.display == 'block') lsSwitchSearch();
			hub.style.display = 'none';
		} else {
			hub.style.display = 'block';
			fbResultId = "theFancyHub";
		}
	}
	if (stb) {
		if (type != 'story') stb.style.display = 'none';
		else stb.style.display = 'block';
	}
	if (vib) {
		if (type != 'video') vib.style.display = 'none';
		else {
			vib.style.display = 'block';
			b = document.getElementById('theFancyVideoTeaser__0');
			loadJWVideo(b.value, 'thefbPlayer', fbSplashes[b.id], fbHeight, fbWidth, fbDispht, fbStretch);	
		}
	}
	if (mpb) {
		if (type == 'vhub') {
			mpb.style.display = 'block';
			fbResultId = "theFancyMapBox";
		} else if (type != 'maps') {
			mpb.style.display = 'none';
		} else {
			mpb.style.display = 'block';
		}
	}
	if (mgb) {
		if (type != 'magazines') mgb.style.display = 'none';
		else {
			mgb.style.display = 'block';
			fbResultId = "theFancyMagBox";
			settings = '&v='+bpv+'&i='+bpi;
		}
	}
	if (gab) {
		if (type != 'galleries') gab.style.display = 'none';
		else gab.style.display = 'block';
	}
	
	if ((type == 'story') || (type == 'galleries') || (type == 'video')) {
		return true;
	}
	//alert(mpb.style.display);

	change = true;
	
	if (type == 'maps') {
		fbResultId = "theFancyMapBox";
		fbButtonsId = "theFancyMapButtons";
		
		
		
		var un = 'fbOptUnsel_'+ltype;
		var sel = 'fbOptSel_'+ltype;
		
		var un2 = 'fbOpt2Unsel_'+ltype;
		var sel2 = 'fbOpt2Sel_'+ltype;
		
		if ((button.className == sel) || (button.className == sel2)) change = false;
		
		if (button.className == un) {
			//change which option is selected on this map!
			var bs = getElementsByClassName(sel); 
			for(var i=0,j=bs.length; i<j; i++) bs[i].className = un;
			button.className = sel;
			change = true;
		}
		
		if (button.value == 'territory[]=Brooklyn') {
			megaCenter = brooklynCenter;
			megaZoomLevel = 11;
		} else if (button.value == 'territory[]=Bronx') {
			megaCenter = bronxCenter; 
			megaZoomLevel = 12;
		} else if (button.value == 'territory[]=Queens') {
			megaCenter = queensCenter;
			megaZoomLevel = 11;
		} else if (button.value == 'territory[]=Long+Island') {
			megaCenter = liCenter;
			megaZoomLevel = 9;
		} else if (button.value == 'territory[]=Staten+Island') {
			megaCenter = siCenter;
			megaZoomLevel = 11;
		}
		
		
		if (button.className == un2) {
			//change which option is selected on this map!
			var bs = getElementsByClassName(sel2); 
			for(var i=0,j=bs.length; i<j; i++) bs[i].className = un2;
			button.className = sel2;
			change = true;
		}
		
		//find out what settings are going to go with this map!
		var bs = getElementsByClassName(sel); 
		for(var i=0,j=bs.length; i<j; i++) {
			if (bs[i].value != '') settings = settings + '&' + bs[i].value;
		}
		
		var bs = getElementsByClassName(sel2); 
		for(var i=0,j=bs.length; i<j; i++) {
			if (bs[i].value != '') settings = settings + '&' + bs[i].value;
		}
		
		if (settings == '') settings = '&default=1';
	}

	if (change) {
		//we need to load data!
		var fbUrl = fbReqUrl + "?listings_type=" + ltype + settings;
		
		
		fbGetXML(fbUrl);
		//alert(fbUrl);
	}

	return true;
}

function fbGetXML(fbUrl) {
	if (window.ActiveXObject) {
		fbReq = new ActiveXObject("Microsoft.XMLHTTP");
		if (fbReq) {
			fbReq.onreadystatechange = fbProcReq;
			fbReq.open("GET", fbUrl, true);
			fbReq.send();
		}
	} else if (window.XMLHttpRequest) {
		fbReq = new XMLHttpRequest();
		fbReq.onreadystatechange = fbProcReq;
		
		if (fbReq.length > 150) {
			var parameters = fbReq.substr(fbReqUrl.length + 1);
			fbReq.open('POST', fbReqUrl, true);
			fbReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			fbReq.setRequestHeader("Content-length", parameters.length);
			fbReq.setRequestHeader("Connection", "close");
			fbReq.send(parameters);
		} else {
			fbReq.open("GET", fbUrl, true);
			fbReq.send(null);
		}
	}
}

function fbProcReq() {
	//alert(lsReq.readyState);
	if (fbReq.readyState == 4) {
		//alert('we have 4!');
		if (fbReq.status == 200) {
			var resulter = document.getElementById(fbResultId);
			var buttoner = document.getElementById(fbButtonsId);
			
			// return false; return false;
			
			results = fbReq.responseText;
			
			//console.log("hello world"); 
			var glob = window.jsonParse(results);
			//alert(glob.map);
			
			if (resulter != null) {
				//alert('x');
				
				if (glob.map != '') resulter.innerHTML = glob.map;
			}
			if (buttoner != null) {
				if (glob.buttons != '') buttoner.innerHTML = glob.buttons;
			}
			
			//if (glob.type == 'hub') lsSwitchSearch();
			//alert('y');
			if (glob.type == 'hub') {
				
				cal_months = glob.calmonths;
				cal_today = glob.caltoday;
				//alert(cal_months);
				//alert('s');
				//alert(cal_months[0]);
				toggleMoreFilters("start", "date_code");
	
			}
			if (pub != 'courier') tryMegaMap();
		}
	}
}
