YAHOO.namespace("FQ"); 

YAHOO.FQ.pageInit = function(){	

	YAHOO.FQ.mask = new YAHOO.widget.Overlay("mask", { fixedcenter:true, visible:true} );
	YAHOO.FQ.mask.render();	
	YAHOO.FQ.mask.makeVisible = function(){
		YAHOO.util.Dom.setStyle('mask', 'display', 'block');
	}
	YAHOO.FQ.mask.makeHidden = function(){
		YAHOO.util.Dom.setStyle('mask', 'display', 'none');
	}
		
	//YAHOO.FQ.mask.showEvent.subscribe(YAHOO.FQ.mask.makeVisible, YAHOO.FQ.mask, true);
	//YAHOO.FQ.mask.hideEvent.subscribe(YAHOO.FQ.mask.makeHidden, YAHOO.FQ.mask, true);
	
	YAHOO.FQ.loaderOverlay = new YAHOO.widget.Overlay("loaderOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.FQ.loaderOverlay.render();
	YAHOO.util.Dom.setStyle("loaderOverlay","display","block");
	
	
	YAHOO.FQ.loaderOverlay.makeVisible = function(){
		YAHOO.util.Dom.setStyle('loaderOverlay', 'display', 'block');
	}
	YAHOO.FQ.loaderOverlay.makeHidden = function(){
		YAHOO.util.Dom.setStyle('loaderOverlay', 'display', 'none');
	}
		
	YAHOO.FQ.loaderOverlay.showEvent.subscribe(YAHOO.FQ.loaderOverlay.makeVisible, YAHOO.FQ.loaderOverlay, true);
	YAHOO.FQ.loaderOverlay.hideEvent.subscribe(YAHOO.FQ.loaderOverlay.makeHidden, YAHOO.FQ.loaderOverlay, true);
	
	
	YAHOO.FQ.preloaderOverlay = new YAHOO.widget.Overlay("preloaderOverlay", { fixedcenter:false,
					visible:true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.FQ.preloaderOverlay.render();
	YAHOO.util.Dom.setStyle("preloaderOverlay","display","block");
	
	
	YAHOO.FQ.selectBuildingsOverlay = new YAHOO.widget.Overlay("selectBuildingsOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
															
	YAHOO.FQ.selectBuildingsOverlay.render();
	YAHOO.util.Dom.setStyle("selectBuildingsOverlay","display","block");
	
	
	YAHOO.FQ.floorplansOverlay = new YAHOO.widget.Overlay("floorplansOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.FQ.floorplansOverlay.render();
	YAHOO.util.Dom.setStyle("floorplansOverlay","display","block");
	
	
	YAHOO.FQ.errorOverlay = new YAHOO.widget.Overlay("errorOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.FQ.errorOverlay.render();
	YAHOO.util.Dom.setStyle("errorOverlay","display","block");
	
	if(YAHOO.util.Dom.inDocument('quickSearchForm') || YAHOO.util.Dom.inDocument('quickSearchFormHome')){
		YAHOO.FQ.checkSearchButtons();
	}
	else{
		setTimeout('YAHOO.FQ.preloaderOverlay.hide()', 1000);
		YAHOO.FQ.hideMask();
	}
}// End init


YAHOO.FQ.showMask = function()
{
	var o = .85;
	YAHOO.FQ.mask.maskAnimIn = new YAHOO.util.Anim("mask", {opacity: {to:o}}, 0.25);
	YAHOO.util.Dom.setStyle("mask", "display", "block");
	YAHOO.util.Dom.setStyle("mask", "opacity", 0);
	YAHOO.FQ.mask.show(); 
	YAHOO.FQ.mask.maskAnimIn.animate();
	
}


YAHOO.FQ.hideMask = function()
{
	//YAHOO.util.Dom.setStyle("mask", "display", 'none');
	YAHOO.FQ.mask.maskAnimOut = new YAHOO.util.Anim("mask", {opacity: {to:0}}, 0.25);
	YAHOO.FQ.mask.maskAnimOut.onComplete.subscribe(function() {YAHOO.FQ.mask.hide(); } );
	YAHOO.FQ.mask.maskAnimOut.animate();
}

YAHOO.FQ.closeSelectBuildingsOverlay = function(){
	YAHOO.FQ.hideMask();
	YAHOO.FQ.selectBuildingsOverlay.maskAnimOut = new YAHOO.util.Anim("selectBuildingsOverlay", {opacity: {to:0}}, 0.25);
	YAHOO.FQ.selectBuildingsOverlay.maskAnimOut.onComplete.subscribe(function() {YAHOO.util.Dom.setStyle('selectBuildingsOverlay', 'display', 'none'); } );
	YAHOO.FQ.selectBuildingsOverlay.maskAnimOut.animate();
}

YAHOO.FQ.closeFloorplansOverlay = function(){
	YAHOO.FQ.hideMask();
	YAHOO.FQ.floorplansOverlay.hide();
	setTimeout("YAHOO.util.Dom.setStyle('galleryContainer', 'visibility', 'visible')", 1000);
}

function showFloorplans(buildingID){
	YAHOO.FQ.showMask();
	YAHOO.FQ.loaderOverlay.show();
	YAHOO.util.Dom.setStyle('galleryContainer', 'visibility', 'hidden');
	var sUrl = '/floorplans/get_ajax/'+buildingID;
	var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, showFloorplansCallback, null);
}

var showFloorplansCallback = {
	success: function(response) {
		if(response.responseText == 'login'){
			document.location='/panel';
		}
		else if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{			
			YAHOO.util.Dom.get('floorplans_container').innerHTML = response.responseText;
			YAHOO.FQ.loaderOverlay.hide();
			YAHOO.FQ.floorplansOverlay.show();
		}
	}, 
	failure: function(response) {
		YAHOO.FQ.loaderOverlay.hide();
		alert('it failed');	
	}
}

YAHOO.FQ.searchSelectedBuildings = function(){
	YAHOO.FQ.selectBuildingsOverlay.hide();
	YAHOO.FQ.loaderOverlay.show();
	var formObject = YAHOO.util.Dom.get('selectBuildingsForm');
	YAHOO.util.Connect.setForm(formObject);
	var sUrl = '/panel/units/set_search_buildings_ajax/false';
	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, searchSelectedBuildingsCallback, null);
}

var searchSelectedBuildingsCallback = {
	success: function(response) {
		if(response.responseText == 'login'){
			document.location='/panel';
		}
		else if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{			
			YAHOO.util.Dom.get('selected_buildings_list').innerHTML = response.responseText;
			YAHOO.FQ.loaderOverlay.hide();
			YAHOO.FQ.hideMask();
		}
	}, 
	failure: function(response) {
		YAHOO.FQ.loaderOverlay.hide();
		alert('it failed');	
	}
}

YAHOO.FQ.closeError = function()
{
	YAHOO.FQ.errorOverlay.hide();
	YAHOO.FQ.hideMask();	
}

function quickSearch(homePageInd){
	YAHOO.FQ.showMask();
	YAHOO.FQ.loaderOverlay.show();
	if(homePageInd == 'home'){
		var formObject = YAHOO.util.Dom.get('quickSearchFormHome');
	}
	else{
		var formObject = YAHOO.util.Dom.get('quickSearchForm');
	}
	YAHOO.util.Connect.setForm(formObject);
	
	var sUrl = '/units/quick_search_ajax/';
	if(homePageInd != 'home'){
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, quickSearchCallback, null);
	}
	else{
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, quickSearchHomePageCallback, null);
	}
}

var quickSearchCallback = {
	success: function(response) {
		if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{
			YAHOO.util.Dom.get('quickSearchResults').innerHTML = response.responseText;
			YAHOO.FQ.loaderOverlay.hide();
			YAHOO.FQ.hideMask();
		}
	}, 
	failure: function(response) {
		alert('it failed');	
	}
}

var quickSearchHomePageCallback = {
	success: function(response) {
		if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{
			document.location.href = '/search_results';
		}
	}, 
	failure: function(response) {
		alert('it failed');	
	}
}


function toggleSearchButton(myInput, searchButton){
	myField = YAHOO.util.Dom.get(myInput);
	if(myField.value == 0 || myField.value == undefined){
		myField.value = 1;
		highlightSearchButton(searchButton);
	}
	else{
		myField.value = 0;
		unHighlightSearchButton(searchButton);
	}
	if(searchButton.id == 'NY_BTN' || searchButton.id == 'NJ_BTN' || searchButton.id == 'MA_BTN'){
		//YAHOO.FQ.buildRegionsSelect();
	}
}

YAHOO.FQ.checkSearchButtons = function(){
	myButtons = YAHOO.util.Dom.getElementsByClassName('hidden');
	for(var i in myButtons){
		//alert(myButtons[i].id);
		//alert(YAHOO.util.Dom.get(myButtons[i].id+'_BTN'));
		if(myButtons[i].value == "1"){
			if(YAHOO.util.Dom.inDocument(myButtons[i].id+'_BTN')){
				highlightSearchButton(YAHOO.util.Dom.get(myButtons[i].id+'_BTN'));
			}
		}
	}
	setTimeout('YAHOO.FQ.loaderOverlay.hide()', 1000);
	setTimeout('YAHOO.FQ.preloaderOverlay.hide()', 1000);
	YAHOO.FQ.hideMask();
	//YAHOO.FQ.buildRegionsSelect();
}

/*function clearQuickSearch(){
	YAHOO.FQ.showMask();
	YAHOO.FQ.loaderOverlay.show();
	var sUrl = '/units/clear_quick_search_ajax';
	var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, clearQuickSearchCallback, null);
}

var clearQuickSearchCallback = {
	success: function(response) {
		YAHOO.FQ.hideMask();
		YAHOO.FQ.loaderOverlay.hide();
		if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{
			myButtons = YAHOO.util.Dom.getElementsByClassName('hidden');
			for(var i in myButtons){
				myButtons[i].value = 0;
				if(YAHOO.util.Dom.inDocument(myButtons[i].id+'_BTN')){
					unHighlightSearchButton(YAHOO.util.Dom.get(myButtons[i].id+'_BTN'));
				}
			}
			
			myRegions = YAHOO.util.Dom.getElementsByClassName('selected_search_item');
			for(var i in myRegions){
				YAHOO.util.Dom.removeClass(myRegions[i].id, 'selected_search_item');
			}
		}
	}, 
	failure: function(response) {
		alert('it failed');	
	}
}
*/

function clearQuickSearch(){
	myButtons = YAHOO.util.Dom.getElementsByClassName('hidden');
			for(var i in myButtons){
				myButtons[i].value = 0;
				if(YAHOO.util.Dom.inDocument(myButtons[i].id+'_BTN')){
					unHighlightSearchButton(YAHOO.util.Dom.get(myButtons[i].id+'_BTN'));
				}
			}
			
			myRegions = YAHOO.util.Dom.getElementsByClassName('selected_search_item');
			for(var i in myRegions){
				YAHOO.util.Dom.removeClass(myRegions[i].id, 'selected_search_item');
			}
}

/*YAHOO.FQ.buildRegionsSelect = function(){
	if(YAHOO.util.Dom.getStyle('mask', 'visibility') == 'hidden'){
		YAHOO.FQ.showMask();
		YAHOO.FQ.loaderOverlay.show();
	}
	else{
		YAHOO.FQ.preloaderOverlay.show();
	}
	var formObject = YAHOO.util.Dom.get('quickSearchForm');
	YAHOO.util.Connect.setForm(formObject);
	
	var sUrl = '/units/build_regions_select_ajax/';
	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, buildRegionsSelectCallback, null);
}

var buildRegionsSelectCallback = {
	success: function(response) {
		if(response.responseText.substr(0, 5)=='error'){
			YAHOO.util.Dom.get('error_text').innerHTML = response.responseText;
			YAHOO.FQ.errorOverlay.show();
		}
		else{
			YAHOO.util.Dom.get('regionSelectContainer').innerHTML = response.responseText;
			YAHOO.util.Dom.setStyle('quickSearchForm', 'display', 'block');
			YAHOO.FQ.loaderOverlay.hide();
			YAHOO.FQ.preloaderOverlay.hide();
			YAHOO.FQ.hideMask();
		}
	}, 
	failure: function(response) {
		alert('it failed');	
	}
}*/

function highlightSearchButton(searchButton){
	searchButton.className = 'searchButtonActive';
	YAHOO.util.Dom.setStyle(searchButton.id, 'color', '#fff');
}

function unHighlightSearchButton(searchButton){
	searchButton.className = 'searchButton';
	YAHOO.util.Dom.setStyle(searchButton.id, 'color', '#404040');
}

YAHOO.util.Event.addListener(window,"load",YAHOO.FQ.pageInit);
YAHOO.util.Event.addListener("linkCloseErrorOverlay","click",YAHOO.FQ.closeError);
YAHOO.util.Event.addListener("linkCloseSelectBuildingsOverlay","click",YAHOO.FQ.closeSelectBuildingsOverlay);
YAHOO.util.Event.addListener("linkCloseFloorplansOverlay","click",YAHOO.FQ.closeFloorplansOverlay);
YAHOO.util.Event.addListener("linkUseSelectedBuildings","click",YAHOO.FQ.searchSelectedBuildings);
