/** display quick search links **/

//quasi global for the active set of links
activeQuicklinks = '';
activeTogTag = '';

//adding global handlers

/*var myGlobalHandlers = {
		onCreate: function()
		{ 
			//do busy message logic here
			Element.show('systemWorking'); 
			//$j('systemMessages').innerHTML = "Loading...";
			//fadeIn('systemMessages');
		},
		onComplete: function() 
		{
			if(Ajax.activeRequestCount == 0)
			{
				//do finished message logic here
				Element.hide('systemWorking');
				//$j('systemMessages').innerHTML = "&nbsp;";
				//fadeOut('systemMessages');
			}
		}
		
};*/ //end var declaration

//Ajax.Responders.register(myGlobalHandlers);

    
    


// jQuery global ajax handlers
/*$j.ajax({
   ajaxStart : function () {
       $j("#systemWorking").show();
       console.log("Start");
   },
   ajaxComplete : function () {
       $j("#systemWorking").hide();
       console.log("Complete");
   },
   ajaxStop : function () {
        $j("#systemWorking").hide();
        console.log("Stop");
   },
   ajaxError : reportError
});*/

function displayQuickSearchLinks(which)
{
    $j("#systemWorking").ajaxStart(function (){
       $j(this).show();
       //this.show();
    }).ajaxStop(function () {
       $j(this).hide();
        //this.hide();
    });

	var url ='/interfaces/resortInfo.interface.php';
	
	if(which == "city")
	{
		var params = 'getCities=true';

                $j.getJSON(url, params, updateQuickSearchCities);

/*		var byCity = new Ajax.Request(
				url, { 
					   method: 'get', 
					   parameters: params, 
					   onComplete: updateQuickSearchCities, 
					   onFailure: reportError
					  }
				 ); */
		
		//while testing, return here!
	
	}
	
	if(which == "stateProv" )
	{
		params = 'getStates=true';
		
                $j.getJSON(url, params, updateQuickSearchStates);

		/*var byState  = new Ajax.Request(
				url, { 
					   method: 'get', 
					   parameters: params, 
					   onComplete: updateQuickSearchStates, 
					   onFailure: reportError
					  }
				 );*/
		
			
		
	}
	
	if(which == "country")
	{
		params = 'getCountries=true';

                $j.getJSON(url, params, updateQuickSearchCountries);

		/*
		var byCountry = new Ajax.Request(
				url, { 
					   method: 'get', 
					   parameters: params, 
					   onComplete: updateQuickSearchCountries, 
					   onFailure: reportError
					  }
				 );*/
	}
	
	return true;
}//end tracksearch

function updateQuickSearchStates(request)
{
	var elName = 'timesharesByState';
	var params = Array();
	params['searchOn'] = 'StateProv';
 	params['heading'] = 'By State/Prov';
	params['toggle'] = 'stateProvToggle';

        // Don't need to build the obj because it's done by jquery
	//build object
/*	var resp = request.responseText;
			
	var func = new Function("return "+resp);
	var reqObject = func(); */
	
	updateLinksTable( elName, params, request);
	
	return true;
 		
	
}

function updateQuickSearchCities(request)
{
	var elName = 'timesharesByCity';
	var params = Array();
	params['searchOn'] = 'City';
 	params['heading'] = 'By City';
	params['toggle'] = 'cityToggle';
	
	//build object
	/*var resp = request.responseText;
			
	var func = new Function("return "+resp);
	var reqObject = func(); */
	
	updateLinksTable( elName, params, request);
	
	return true;
	
}

function updateQuickSearchCountries(request)
{
	var elName = 'timesharesByCountry';
	var params = Array();
	params['searchOn'] = 'Country';
 	params['heading'] = 'By Country';
	params['toggle'] = 'countryToggle';
	
	//build object
	/*var resp = request.responseText;
			
	var func = new Function("return "+resp);
	var reqObject = func(); */
	
	updateLinksTable( elName, params, request);
	
	return true;
 		
	
}

//create the links of yore
/*function updateLinks(el, params, reqObject)
{
	var innerString = '<a href="#'+el+'Heading" onclick="toggler(\''+el+'\', \''+params['toggle']+'\');" />'+params['heading'];
	innerString += '<span id="'+params['toggle']+'" >+</span></a>';
	
	$j(el+'Heading').innerHTML = innerString;
	//now have <a href="#" onclick="toggle(x);"<p>Timeshares by X<span id="XToggle">+</span></p>
	//build the inner html of the list
	//make display none for now.
	if(reqObject.error != undefined || reqObject.length < 1)
	{
		return false;
	}
	
	innerString = '';
	//try to build the list
	for(var i = 0; i<reqObject.length; i++)
	{
		
		innerString += '<li><a href="/browse/index.php?'+params['searchOn']+'='+reqObject[i][params['searchOn']]+'">';
		innerString += reqObject[i][params['searchOn']]+' Timeshares</a></li>';		
		
	}
	
	$j(el).innerHTML = innerString;
	
	return true;
	
}*/

function updateLinksTable(el, params, reqObject)
{
	/*var linkString = '<a href="#'+el+'Heading" onclick="toggler(\''+el+'\', \''+params['toggle']+'\');" />'+params['heading'];
	linkString += '<span id="'+params['toggle']+'" >+</span></a>';
	
	$j(el+'Heading').innerHTML = linkString;*/
	//dropping toggle ability for dedicated pages.
	
	//now have <a href="#" onclick="toggle(x);"<p>Timeshares by X<span id="XToggle">+</span></p>
	//build the inner html of the list
	//make display none for now.
	if(reqObject.error != undefined || reqObject.length < 1)
	{
		return false;
	}
	
	var tableString = '<table>';
	
	var totalTableColumns = 3;
	var totalReturns = reqObject.length;
	var totalTableRows = Math.ceil( totalReturns/totalTableColumns ); 
	
	var i = 0;
	var j = 0;
	
	var x;
	//try to build the table
	for(i = 0; i<totalTableRows; i++)
	{
		tableString += '<tr>';
		
		x = i * totalTableColumns;
		
		//alert(tmp);
		//cuz j=0
		for( j = 0; j<(totalTableColumns); j++)
		{
			
						
			if( x < totalReturns )
			{
				tableString += '<td><a href="/browse/index.php?'+params['searchOn']+'='+reqObject[x][params['searchOn']]+'">';
				tableString += reqObject[x][params['searchOn']]+'</a></td>';		
			}else{
				//empty cell
				tableString += '<td>&nbsp;</td>';
			}
			
			x++;
			
		}//end inner loop
		
		tableString += '</tr>';
	}//end outer loop
	
	tableString += '</table>';
	
	$j("#"+el).html(tableString);
	
	return true;
	
}//end function

function reportError(request)
{
	
	//alert('failed!');
	
}

function togglerOld(el, togTag)
{
	$j(el).toggle();
	
	//get current togTag and change it
	var currSign = $j(togTag).html();
	
	var newSign = (currSign == '+') ? '-' : '+';
	
	$j(togTag).html(newSign);
	
}

function toggler(el, togTag){
	
	//alert('activeqlinks was: ' + activeQuicklinks);
	//turn off the active one, if it exists. turn on this one.
	if(activeQuicklinks != '' && activeQuicklinks != el)
	{
		//toggle out existing
		$j(activeQuicklinks).toggle();
		//change existing +/-
		var cSign = $j(activeTogTag).html();
	
		var nSign = (cSign == '+') ? '-' : '+';
	
		$j(activeTogTag).html(nSign);
		
		activeTogTag = '';
	}	
	
	if( el == activeQuicklinks)
	{
		//toggled itself.  clear the active quicklinks
		activeQuicklinks = '';
	}else{
	
		activeQuicklinks = el; 
	}
		
	//now that it is saved/checked, toggle it 
	$j(el).toggle();
	
	var currSign = $j(togTag).html();
	
	var newSign = (currSign == '+') ? '-' : '+';
	
	$j(togTag).html(newSign);
	
	activeTogTag = togTag;
}

//try running here...if this doesn't work, then call from specific page from within <script> tags

