/*
 * SEARCH PAGE
 */
ha.ui.compare = {
	init: function(){
		ha.ui.compare.selections();
		ha.ui.compare.events();
	},
	
	selections: function(){
		if ($j.cookie('cmprd-units') != null) {
			var units = unescape($j.cookie('cmprd-units')).split(",");
			for(var i = 0; i < units.length; i++){
				var cookieParts = units[i].split(":");
				var unitId = cookieParts[0];
				var selector = '#unit-id-' + unitId;
				var labelObj = $j(selector).parents("div.unit-compare").children("div.label");
				if ($j(selector).length > 0) {
					$j(selector).attr("checked", true);
					labelObj.addClass("link");
					labelObj.click(function(){
						$j("#compare-button").click();
					});
				}
			}
		}
	},
		
	events: function(){
		// bind event to compare property checkboxes via
		// onclick either add or remove the unit from the cookie
		$j(".unit-id").click(function() {
			var units = "";
			var unit = $j(this).val();
			var labelObj = $j(this).parents("div.unit-compare").children("div.label");
			
			if ($j.cookie('cmprd-units') != null) units = unescape($j.cookie('cmprd-units'));

			if ($j(this).attr("checked")) {
				labelObj.addClass("link");
				labelObj.click(function(){
					$j("#compare-button").click();
				});
				
				if (units != "") units += "," + unit;
				else units = unit;
				
			} else if (units != ""){
				labelObj.removeClass("link");
				labelObj.unbind('click', function(){});
				
				var unitArray = units.split(",");
				units = "";
				for (var i = 0; i < unitArray.length; i++){
					if (unitArray[i] != unit) {
						units += unitArray[i] + ",";
					}
				}
				units = units.substring(0,units.length-1)
			}

			$j.cookie('cmprd-units', units, {path: '/'});

		});
		
		// get unit params string from the cookie
        $j('#compare-button').click(function(e) {
            var units = "";
        	var searchInfo = $j(this).attr("jsObj");

            if ($j.cookie('cmprd-units') != null){
            	units = unescape($j.cookie('cmprd-units'));
            }
            
        	$j.cookie('srch-info', searchInfo, {path: '/'});
        		
        	window.location = "/property/compare?units=" + units;
        });
	}
	
};

/*
 * PROPERTY COMPARE PAGE
 */
ha.page.compare = {
	init: function(){
		ha.page.compare.remove();
		ha.ui.modalbox.init();
	},
	
	remove: function(){
		// rebuild the url without the unit that is to be removed
    	$j('.remove').click(function() {
    		var units = "";
    		var id = $j(this).attr("id");

    		// remove the unit from the cookie and url string
    		if ($j.cookie('cmprd-units') != null) {
    			units = unescape($j.cookie('cmprd-units')).split(",");

    			$j.cookie('cmprd-units', ha.page.compare.params(id, units), {path: '/'});
    		}

    		var url = location.href;
    		var urlParts = url.split("units=");

    		if (urlParts.length == 2) {
    			units = urlParts[1].split(",");

    			url = urlParts[0] + "units=" + ha.page.compare.params(id, units);
    		}

    		window.location = url;
    	});
    	
    	$j('#remove-all-link').click(function() {
    		//blow out the cookie and return to the search results page
    		$j.cookie('cmprd-units', "", {path: '/'});
    		window.location = "/property/compare";
    	});
	},
	
	params: function(id, units){
		
		var unitParams = "";
		for (var i = 0; i < units.length; i++){
			if (units[i] != id){
				unitParams += units[i] + ",";
			}
		}
	
		return unitParams.substring(0,unitParams.length-1);
	}
	
};

$j(document).ready(function(){
	// search
	if ($j("body.search-page").length > 0){
		ha.ui.compare.init();
	}
	
	// property compare
	if ($j("body.compare").length > 0){
		ha.page.compare.init();
	}
});

