var timetable_locations;
var cObjTimetable='';
var zoom;
var lat;
var lon;
var latprev;
var lonprev;
var gmarkers = [];
var htmls = [];
var initial = false;

var responseTimetableSuccess = function(o){
/* Please see the Success Case section for more
 * details on the response object's properties.
 * o.tId
 * o.status
 * o.statusText
 * o.getResponseHeader[ ]
 * o.getAllResponseHeaders
 * o.responseText
 * o.responseXML
 * o.argument
 */
		
    YAHOO.pilatesnearby.container.wait.hide();

	if(o.responseText !== undefined){ 
		showTimetable(o.responseText);
	}
    
	
                	
};

var responseTimetableFailure = function(o){
	document.getElementById('location_list').innerHTML ='<p class="spacing">We are currently experiencing a problem on the site.</p><p>Please try again later.</p>' ;
	YAHOO.pilatesnearby.container.wait.hide();
	
}

var callbackTimetable =
{
  success:responseTimetableSuccess,
  failure:responseTimetableFailure,
  timeout: 20000
};

var doTimetables = function(lat,lon,zoomBounds){
	initial=true;
	latprev = lat;
	lonprev = lon;
	
	cat  = cat.substr(0,1);
	zoom = zoomBounds;
	start = new Date();
	start = start.getTime();
		
	YAHOO.namespace("pilatesnearby.container");
	
    if (!YAHOO.pilatesnearby.container.wait) {

    // Initialize the temporary Panel to display while waiting for external content to load
     YAHOO.pilatesnearby.container.wait = 
     new YAHOO.widget.Panel("wait",  
                                                    { width: "230px", 
                                                      fixedcenter: true, 
                                                      close: false, 
                                                      draggable: false, 
                                                      modal: true,
						      						  zindex:10,visible: false
                                                    } 
                                                );
    
        YAHOO.pilatesnearby.container.wait.setHeader("Loading, please wait...");
        YAHOO.pilatesnearby.container.wait.setBody("<img src=\"/imgs/ajloading.gif\"/>");
        YAHOO.pilatesnearby.container.wait.render(document.body);

        }

        // Show the Panel
        YAHOO.pilatesnearby.container.wait.show();
        	
	
        var type = level = day = tod = 0;
        //filter results form details
        
        if(document.getElementById('filter')){
	        if(document.getElementById('filter').type.value){
	        	var type = 	document.getElementById('filter').type.value
	        }
	        if(document.getElementById('filter').level.value){
				var level = document.getElementById('filter').level.value;    	
	        }
	        
	        if(document.getElementById('filter').tod){
		        if(document.getElementById('filter').tod.value){
		        	var tod =document.getElementById('filter').tod.value;
		        }
	        }
			
	        if(document.getElementById('filter').day){
		        if(document.getElementById('filter').day.value){
					var day = document.getElementById('filter').day.value;        	
		        }
	        }
        }
		var cObjTimetable = YAHOO.util.Connect.asyncRequest('GET', '/ajax/events_response.php?start='+start+'&lat='+lat+'&lon='+lon+'&cat='+cat+'&type='+type+'&level='+level+'&tod='+tod+'&day='+day, callbackTimetable); 
}

var viewMarker = function(i){
	gmarkers[i].openInfoWindowHtml(htmls[i]);
} 
    
var showTimetable = function(strRet){
	timetable_locations = eval("(" + strRet + ")");
	
	if(timetable_locations['total']==0){
		noResults();
	}else{
		bounds = new GLatLngBounds();
		if(point) bounds.extend(point);
		//rows = timetable_locations['rows'];
		
		eval(timetable_locations['javascript']);
		
		//for(i=0;i<rows.length;i++){
		//	j=i+1;
		//	pointi = new GLatLng(rows[i].lat, rows[i].lon);
		//	bounds.extend(pointi);
		//	infoTabs=[];  			
		//	for(j=0;j<rows[i].infoTabs.length;j++){
		//		gwin=eval(rows[i].infoTabs[j]);
		//		infoTabs.push(gwin);
		//	}					
		//	marker[i] = createMarker(pointi,rows[i].color_marker+'_Marker'+rows[i].letter,infoTabs);
		//	map.addOverlay(marker[i]);
		//	gmarkers[i]  = marker[i];
		//	htmls[i]     = rows[i].markerHtml;
		//}
		
		
		document.getElementById('location_list').innerHTML = timetable_locations['html'];
	  
	  // Position map at centre of bounds
	  // and set zoom to include include them all
	  if(zoom==true){
		level = map.getBoundsZoomLevel(bounds);
		level-=1;
		map.setCenter(point,level);
		map.panTo(point);
	  }else{
	  	level = 10;
	  }
	}
}

var filterResults = function(){
	
	if(marker && initial){
		map.clearOverlays();
		map.addOverlay(marker);
		recenter(latprev,lonprev);
	}
}


