

//THESE VARIABLES NEED TO BE SET SERVER SIDE AND ARE DECLARED IN THE LISTING_LAYOUT CFC
//window.listings.data.currStartRow
//window.listings.data.maxShow
//window.listings.data.totalResults
//window.listings.nextPosition = 0;

		window.listings = new Object();
		window.listings.data = new Array();
		window.listings.history = new Array();
		window.listings.isInDebugMode = true;
 		//window.listings.data.placemarks = placemarks['listings'];

	window.listings.moveToNext = function(fn) {
		this.executeCallBack(fn);
	}

	window.listings.moveToPrevious = function(fn) {
		this.executeCallBack(fn);
	}
	
	window.listings.moveToPosition = function(postion,fn) {
		this.executeCallBack(fn);
	}
	
	window.listings.executeCallBack = function(fn){
		call = (typeof call == 'undefined') ? function(x){return x;} : fn;
		return fn;	 	
	}
	
	window.listings.size = function(){
		return this.collection.length;
	};

	 $(document).ready(function() {
 	//		logit('binding controls');
	 		$('a.pagination').click(function(e){
			var url = window.listings.buildURL('NEXT');
			window.listings.paginate(url,e);
			//placemarks['listings'] = eval(window.listings.data.placemarks);
			//initWidgetMap();

			return false;
		});

		$('a.prevArrow').click(function(e){
			var url = window.listings.buildURL('PREVIOUS');
				window.listings.paginate(url,e);
				//placemarks['listings'] = eval(window.listings.data.placemarks);
				//initWidgetMap();
			
			return false;

		});
	});

	window.listings.buildURL = function(action){
		var baseURL = siteURL + 'includes/cfcs/listings/listings_ajax.cfm';
		var urlParams = '?catid=' + window.listings.data.catid + '&subcatid=' + window.listings.data.subcatid + '&regionid=' + window.listings.data.regionid + '&sFilter=' + window.listings.data.sFilter + '&eFilter=' + window.listings.data.eFilter + '&listing_keyword='+window.listings.data.listing_keyword;
		var url = baseURL + urlParams;
		
		if (action == 'NEXT') {
			if (window.listings.data.isLessThenMax) {
				window.listings.data.nextPosition = (window.listings.data.currStartRow + window.listings.data.maxShow);
			}
			else {
				window.listings.data.nextPosition = window.listings.data.currStartRow;
				
			}
		}
		
		if (action == 'PREVIOUS') {
			if (window.listings.data.isMoreThenMin) {
				window.listings.data.nextPosition = (window.listings.data.currStartRow - window.listings.data.maxShow);
			}
			else {
				window.listings.data.nextPosition = window.listings.data.currStartRow;
			}
		}
		url = url + '&startRow=' + window.listings.data.nextPosition;
		//logit('Url is'+ url);
		return url;
	}
		
		window.listings.data.isLessThenMax = function(){
			if ((window.listings.data.currStartRow + window.listings.data.maxShow) < window.data.totalResults) {
				return true;
			}
			else {
				return false;
			}
		}
		
		window.listings.data.isMoreThenMin = function(){
			if ((window.listings.data.currStartRow - window.listings.data.maxShow) > 0) {
				return true;
			}
			else {
				return false;
			}
		}
		
		
		window.listings.paginate = function(url, e){
			
			$.getJSON(url,
	        function(data){
				window.listings.refreshVars();
				$('.paginationResultText').html('<a id="searchBr">Showing ' + window.listings.data.currStartRow + '-' +window.listings.calculateNextUpperBound() + ' of ' + window.listings.data.totalResults);

				$('div#listing_pagination_container').get(0).innerHTML = data.CONTENT;
				//window.listings.data.placemarks = data.PLACEMARKS;
				window.listings.finalize();
	        });

		}

		window.listings.refreshVars	= function(){
			window.listings.data.currStartRow = window.listings.data.nextPosition;
			window.listings.data.currentUpperBound = window.listings.calculateNextUpperBound();
		}
		window.listings.calculateNextUpperBound = function(){
			if(window.listings.data.totalResults >= (window.listings.data.currStartRow + window.listings.data.maxShow)){
				return window.listings.data.nextPosition+window.listings.data.maxShow;

			}else{

				return window.listings.data.totalResults;
			}
			
		}

			
		window.listings.finalize = function(){
			//if maps exists replace overlays
			//if(window.listings.data.showMap){
			//}
			//update the controls depending
	 		if(window.listings.data.currStartRow > 1){
					 $('a.prevArrow').addClass('visible');
					 $('a.prevArrow').removeClass('hidden');
				}
				else{
					 $('a.prevArrow').addClass('hidden');
					 $('a.prevArrow').removeClass('visible');
				}	 
				
				if(window.listings.data.currentUpperBound >= window.listings.data.totalResults){
					 $('a.pagination').addClass('hidden');
					 $('a.pagination').removeClass('visible');
				}
				else{
					 $('a.pagination').addClass('visible');
					 $('a.pagination').removeClass('hidden');

				}	 
			}

		window.listings.getNewPlaceMarks = function(url, e){
			url = url + '&getJson=1';
			var j ='';
			 $.ajax({
				type: "GET",
				url: url,
				async: false,
				success: function(response){
					j = eval('('+response+')')
				},
				failure: window.listings.handleFailuer()
			});
			return j;
		}




	window.listings.handleFailuer = function(response){
		//alert(response);
	}

	window.listings.myTimestamp = function(){
	    tstmp = new Date();    
	    return tstmp.getTime();
	} 

	 	


$(document).ready(function(){
	$("input.clearInput").bind("focus",function(e){
			this.value ='';
	});
	$("input.clearInput").bind("blur",function(e){
		if (this.value.length == 0) {
			this.value = 'keyword search';
		}
	});	
});

