// creating the liQuidprint global namespace
if (typeof(LQP) === "undefined") {
	var LQP = {};
}

LQP.results = {
	changeNumResults: function() {
		YAHOO.util.Dom.get("searchForm").submit();
	},
	changeSort: function(e) {
		YAHOO.util.Dom.get("searchForm").submit();
	},
	clickAll: function(e) {
		var allChecked = YAHOO.util.Dom.get("all").checked;
		
		var areaCheckBoxes = YAHOO.util.Dom.getElementsBy(LQP.results.isAreaCheckbox, "input", "searchForm");
		for (var i = 0; i < areaCheckBoxes.length; i++) {
			areaCheckBoxes[i].setAttribute("checked",allChecked);
			areaCheckBoxes[i].setAttribute("disabled",allChecked);
		}
		
	},
	checkboxInit: function() {
		var allChecked = YAHOO.util.Dom.get("all").checked;
		
		var areaCheckBoxes = YAHOO.util.Dom.getElementsBy(LQP.results.isAreaCheckbox, "input", "searchForm");
		for (var i = 0; i < areaCheckBoxes.length; i++) {
			areaCheckBoxes[i].setAttribute("disabled",allChecked);
			if (allChecked) {
				areaCheckBoxes[i].setAttribute("checked",true);
			}
		}
	},
	isAreaCheckbox: function(e) {
		return e.type == "checkbox" && e.id != "all";
	},
	pageChange: function(e) {
		var clickedLink = YAHOO.util.Event.getTarget(e);
		var searchForm = YAHOO.util.Dom.get("searchForm");
		searchForm.setAttribute("action", clickedLink);
		searchForm.submit();
		return false;
	},
	saveProperty: function(link, propID, custID) {
		var callback = {
			success: function(o) {
				var clickedLink = YAHOO.util.Dom.get(o.argument);
				var isLoggedIn = LQP.WDDX.deserializeXML(o.responseXML);
				if (! isLoggedIn) {
					document.location.href='/my/register.cfm';
				}
				else {
					clickedLink.innerHTML = "Property Saved";
				}
				YAHOO.util.Event.addListener(clickedLink, "click", LQP.results.savedProperty);
			},
			failure: function(o) {
				alert("failure");
			}
		};
		callback.argument = YAHOO.util.Dom.get(propID);
		var saveURL = "results.cfc?method=saveProperty&propID=" + propID + "&custID=" + custID; 
		var cObj = YAHOO.util.Connect.asyncRequest("GET",saveURL,callback);
	},
	mapResults: function(e) {
		//var clickedLink = YAHOO.util.Event.getTarget(e);
		//var searchForm = YAHOO.util.Dom.get("searchForm");
		//searchForm.setAttribute("action", clickedLink);
		//validateMapIt();
		return false;
	},
	savedProperty: function(e) {
		return false;
	},	
	init: function() {
		YAHOO.util.Event.addListener("numResults", "change", LQP.results.changeNumResults);
		YAHOO.util.Event.addListener("Development", "click", LQP.results.changeSort);
		var pageChangeLinks = YAHOO.util.Dom.getElementsByClassName("pageChange", "a");
		YAHOO.util.Event.addListener(pageChangeLinks, "click", LQP.results.pageChange);
		var savedPropertyLinks = YAHOO.util.Dom.getElementsByClassName("saved-property", "a");
		YAHOO.util.Event.addListener(savedPropertyLinks, "click", LQP.results.savedProperty);
		YAHOO.util.Event.addListener("Price", "click", LQP.results.changeSort);
		YAHOO.util.Event.addListener("all","click",LQP.results.clickAll);
		setTimeout(LQP.results.checkboxInit,300);
	}
};
		 
		 
YAHOO.util.Event.onDOMReady(LQP.results.init);


function validateMapIt() {
	var doMap = false;
	
	for(var i=0; i<document.searchForm.propsToMap.length; i++) {
		doMap = doMap || document.searchForm.propsToMap[i].checked;
	}
	if(doMap) {
		document.searchForm.action = "/search/results-map.cfm";
		document.searchForm.submit();
	} else {
		document.getElementById('mapMsg').innerHTML = "<br />Please select at least one property to map.";
	}
}
