/////////////////////////////////////////////////////////////
// Author: Garett										   //
// Created: 2/13/2008									   //
// Description: js functions for the Search Assistant	   //
/////////////////////////////////////////////////////////////

var AdditionalAreasLoaded = false;
var MoreCriteriaLoaded = false;
var PropertyTypesLoaded = false;
var MoreListingsNearbyLoaded = false;
var MoreOptionsLoaded = false;
var LoadingIndicator = '<div class="Loading"><div class="LoadingText">Loading...</div></div>';

function sa_hideShow(el,tg,cls1,cls2) {
	var e = $('#'+el);
	var t = $('#'+tg);
	if (t.get(0).className == cls1) {
		e.show();
		t.get(0).className = cls2;
	} else {
		e.hide();
		t.get(0).className = cls1
	}
}

function sa_getAdditionalAreas(el,tg,sl,c,s,z,ct,r,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!AdditionalAreasLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/SearchAssistantHelper.cfm',
				  { Action: 'GetAdditionalAreas',
				    SearchCriteriaOption: 'RefineArea',
					SelectedList: sl,
					City: c,
					State: s,
					Zip: z,
					Radius: r,
					County: ct,
					MagId: m }
		);
		AdditionalAreasLoaded = true;
	}								
}

function sa_getMagazineCities(el,tg,sl,lc,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!AdditionalAreasLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/SearchAssistantHelper.cfm',
				  { Action: 'GetMagCities',
				    SearchCriteriaOption: 'RefineArea',
					SelectedList: sl,				  
					ListingCategory: lc,
					MagId: m }
		);
		AdditionalAreasLoaded = true;
	}								
}


function sa_getMoreCriteria(el,tg,sl,c,s,z,ct,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!MoreCriteriaLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/SearchAssistantHelper.cfm',
				  { Action: 'GetMoreCriteria',
				    SearchCriteriaOption: 'MoreCriteria',
					SelectedList: sl,
					City: c,
					State: s,
					Zip: z,
					County: ct,
					MagId: m }
		);	
		MoreCriteriaLoaded = true;
	}							
}

/**
 * Retrieves Property Type checkboxes (HTML) from the server
 * 
 * @param {string} el The target container element's id
 * @param {string} tg The show/hide toggle element's id
 * @param {string} sl SelectedList: those checkboxes that should start already checked
 * @param {string} c  City
 * @param {string} s  State
 * @param {string} z  ZIP
 * @param {string} ct County
 * @param {string} m  MagId
 */
function sa_getPropertyTypes(el,tg,sl,c,s,z,ct,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!PropertyTypesLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/SearchAssistantHelper.cfm',
				  { Action: 'GetPropertyTypes',
				    SearchCriteriaOption: '',
					SelectedList: sl,
					City: c,
					State: s,
					Zip: z,
					County: ct,
					MagId: m }
		);	
		PropertyTypesLoaded = true;
	}							
}						

function sa_getMoreListingsNearby(el,tg,sl,c,s,z,ct,r,m) {
	if (!MoreListingsNearbyLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/SearchAssistantHelper.cfm',
				  { Action: 'GetMoreListingsNearby',
				    SearchCriteriaOption: 'RefineArea',
					SelectedList: sl,
					City: c,
					State: s,
					Zip: z,
					Radius: r,
					County: ct,
					MagId: m }
		);
	}								
}

function sa_getMoreOptions(el,tg,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!MoreOptionsLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/index.cfm',
				  { Action: 'GetMoreOptions',
					MagId: m }
		);
		MoreOptionsLoaded = true;
	}								
}

function sa_getMoreApartmentsSearchCriteria(el,tg,m) {
	sa_hideShow(el,tg,'ArrowOvalUp','ArrowOvalDown');
	if (!MoreOptionsLoaded) {
		$('#'+el)
			.empty()
			.append(LoadingIndicator)
			.load('/index.cfm',
				  { Action: 'GetMoreApartmentsSearchCriteria',
					MagId: m }
		);
		MoreOptionsLoaded = true;
	}								
}

function sa_getMoreAptAreas(el,mrid,m) {
	$('#'+el)
		.empty()
		.append(LoadingIndicator)
		.load('/index.cfm',
			  { Action: 'GetMoreAptAreas',
				MagRegionIdList: mrid,
				MagId: m }
	);
}

$(document).ready(
	function(){
		$('.HideShow').each(function(){$(this).hide();});
		$('#NavPropertyTypes').click();
		$('#NavMagCities').click();
		$('#NavTourMediaRE').click();
	}	
);