	// final form validation
function validateForm()
        {
			var retCode = true;
			var formsubmits = 0;

		if( $("#srad").attr("value") !="" && $("#sz").attr("value") == ""){
		formsubmits = 1;
		$("#errordiv").css("color","red");
		$("#errordiv").css("border","1px solid red");
		$("#errordiv").css("background-color","#ffffff");
		$("#errordiv").css("font-size","12px");
		$("#errordiv").html("<img src='/images/error-red.gif' alt='ok' width='16' height='16' /> You must enter a Zip code if you want to use the radius filter!")
			
		}
				//alert("test");
			if (formsubmits == 0){
				//alert($("#st").attr("value"));
				buildTable(CFpagestart,'ID',$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));
				$("#errordiv").css("color","#ffffff");
				$("#errordiv").css("border","0px solid red");
				$("#errordiv").css("background-color","#ffffff");
				$("#errordiv").css("font-size","11px");
				$("#errordiv").html("")
			} 
        }

function isEven(value){
	if (value%2 == 0)
		return true;
	else
		return false;
}


function buildTable(pageNumber,orderBy,CFst,CFsta,CFage,CFsfr,CFsto,CFsrad,CFsz)
{
		
		$("#loadingData").show();
		$("#intro").hide();

	$.getJSON('/comps/searchtournaments.cfc?method=pageInfo&pageNumber=' + pageNumber + '&orderBy=' + orderBy + '&CFst=' + CFst + '&CFsta=' + CFsta + '&CFage=' + CFage + '&CFsfr=' + CFsfr + '&CFsto=' + CFsto + '&CFsrad=' + CFsrad + '&CFsz=' + CFsz
			  , function(data)
	{
		//GOTCHA!! THE JSON VARIABLES RETURNED FROM A CFC ALL SEEM TO BE IN UPPER CASE. 
		//AS JS IS CASE SENSITIVE REMEMBER TO REF THEM IN UPPERCASE IN THE JS CODE OR CODE WILL FAIL; 
		//alert(data.FROM);

		var from = data.FROM;
		var numberOfRecordsOnPage = data.NUMBEROFRECORDSONPAGE;
		var numberOfPages = data.NUMBEROFPAGES;
		var numberOfRecords = data.NUMBEROFRECORDS;
		
		var to = data.TO;
		var nextPageNumber = pageNumber + 1;
		var prevPageNumber = pageNumber - 1;
	
		if(numberOfRecords == 0){
		$("#queryData").hide();
		$("#noData").show();
		$("#intro").hide();
		}else{
		$("#queryData").show();
		$("#noData").hide();
		$("#intro").hide();
		}
		
		//Display query set info
		var html = '';
		html += '' + numberOfRecords + ' Records Found!';
		/*
		html += '<div>';
		html += '<b>From:</b>' + from + ' '; 
		html += '<b>To:</b>' + to + ' ';
		html += '<b>Number of Records on Page:</b>' + numberOfRecordsOnPage + ' ';
		html += '<b>Number of Pages:</b>' + numberOfPages + '<br>';
		html += '</div>';
		*/
		
		var html2 = ''
		
			  		html2 += '<div class="SC" id="t1">';
		
		//A CF QUERY PASSES BACK AN OBJ WITH 2 PROPERTIES. COLUMNS AND DATA. COLUMNS IS AN ARRAY. DATA IS AN ARRAY OF ARRAYS.
		//so each array in DATA represents a row in database 
		 $.each(data.RECORDSTOGOBACK.DATA, function(intIndex, objValue) 
		  {
			  
        html2 += '<div class="listtourney"><ul>';
            html2 += '<li class="nsoff" onmouseover="this.className=\'nson\';" onmouseout="this.className=\'nsoff\';">';
                html2 += '<span class="' + objValue[8] + '"><a href="/youth/tournaments/fulldesc.cfm?act=' + objValue[1] + '">&nbsp;&nbsp;' + objValue[2] + '</a></span>';
                html2 += '<span class="sponsored">&nbsp;</span>';
                html2 += '<span class="desc">' + objValue[3] + '</span>';
               html2 += ' <ul class="details">';
                    html2 += '<li class="price">Age: ' + objValue[7] + '</li>';
                    html2 += '<li class="update">Updated: ' + objValue[13] + '</li>';
                    html2 += '<li class="visits">Start: ' + objValue[4] + '</li>';
                    html2 += '<li class="visits">End: ' + objValue[5] + '</li>';
                html2 += '</ul>';
                html2 += '<ul class="liltools">';
                    html2 += '<li class="map"><a href="http://maps.google.com/maps?q=' + objValue[9] + '" target="_blank">Map</a></li>';
                    html2 += '<li class="sport"><a href="/index.cfm?st=' + objValue[8] + '">' + objValue[8] + '</a></li>';
                    html2 += '<li class="websites"><a rel="nofollow" href="http://' + objValue[12] + '">Website</a></li>';
                html2 += '</ul>';
            html2 += '</li>';
            html2 += '</ul></div>';
		  }
	);
			html2 += '</div>';		

		//empty div of data before appending new html or else it adds more tables 
		$('#displayDiv').empty().append(html);
		$('#queryData').empty().append(html2); 
		//add click handlers to handle sorting by. T
		//they cause query to be returned in the order selected by the user.
		//$('#TOURNAMENT_ID').click(function (){buildTable(pageNumber,this.id);});//this.id refers to the id of the dom element the event originates from
		//$('#TOURNAMENT_LISTING_UNIQUE_ID').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_TITLE').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_DESC').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_START_DATE').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_END_DATE').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_STREET').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_AGE').click(function (){buildTable(pageNumber,this.id);});
		//$('#TOURNAMENT_TYPE_NAME').click(function (){buildTable(pageNumber,this.id);});
	
		
		//start build paging links
		var currentPage = 0;
	    //this is where all created page links are added
		var $pager = $('<div class="pagination" align="center"></div>');
		for (var page = 1; page < numberOfPages + 1; page++) {
		    	
		 //expression ensures no more than 20 page links are shown at one time   
		 if((pageNumber > (page - 10)) && (pageNumber < (page + 10)))
		 {
		    //for each page link build a span tag and bind a click handler to each one that will call build table each time it is clicked
		      $('<span></span>').html('<span class="pagination" id="' + page + '"><a href="#" id="' + page + '">' + page + ' </a></span>').bind('click', {newPage: page}, function(event) {
		          currentPage = event.data['newPage'];
		          buildTable(currentPage,orderBy,$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));//builds table each time a page link is clicked
		        }).appendTo($pager);// append each span tag/link to pager div
		     
		   }
		 }
		    
		    
		  //highlight current pageNumber  
		  $pager.find('#' + pageNumber).addClass('currentpage');
		   
		  //the links that will take user one place forward and on place back
		  var $lastLink = $('<li><a href="#" id="last">&nbsp;&nbsp;last&nbsp;&nbsp;</a></li>');
		  var $previousLink = $('<li><a href="#" id="prev">&nbsp;&nbsp;prev&nbsp;&nbsp;</a></li>');
		  var $nextLink = $('<li><a href="#" id="next">&nbsp;&nbsp;next&nbsp;&nbsp;</a></li>');
		  var $firstLink = $('<li><a href="#" id="first">&nbsp;&nbsp;first&nbsp;&nbsp;</a></li>');
		  //previous and next links with handler that prevents the default event of hyperlink, and calls buildTable() on each click;
			$nextLink.appendTo($pager).click(function(event){event.preventDefault();buildTable(nextPageNumber,orderBy,$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));});
			$previousLink.prependTo($pager).click(function(event){event.preventDefault();buildTable(prevPageNumber,orderBy,$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));});
			$lastLink.appendTo($pager).click(function(event){event.preventDefault();buildTable(numberOfPages,orderBy,$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));});
			$firstLink.prependTo($pager).click(function(event){event.preventDefault();buildTable(1,orderBy,$("#st").attr("value"),$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));});
			//refers to table with id of t1 just built
   		   var $table = $('#t1');
           //place paging links before and after table
		   $pager.clone(true).insertBefore($table);
           $pager.insertAfter($table);
         
		  		$("#loadingData").hide();

	 });

	
};	


$(document).ready(function()
{
$('#sfr').datepicker();
$('#sto').datepicker();
$("#intro").show();
$("#noData").hide();
$("#loadingData").hide();


if(CFst !=""){
	buildTable(CFpagestart,'ID',CFst,$("#sta").attr("value"),$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));
}
if(CFsta !=""){
	buildTable(CFpagestart,'ID','',CFsta,$("#age").attr("value"),$("#sfr").attr("value"),$("#sto").attr("value"),$("#srad").attr("value"),$("#sz").attr("value"));
}
	
});





