jQuery(document).ready(function(){
	
	jQuery("div.announcements").append('<a class="close"></a>');
	jQuery("div.announcements a.close").click(function() {
		jQuery("div.announcements").fadeOut('medium');
		return false;
	});
	
});


var maps = new Array();
var markers = new Array();

// google map
function load() {
	
	if(document.getElementById("map1")){
	if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map1"));
	var center = new GLatLng(29.739314, -95.482551);
    var marker = new GMarker(center);
		
	map.setCenter(center, 14);
	map.addControl(new GSmallMapControl());
	map.addOverlay(marker);	
	}
	}
	
}
jQuery(document).ready(function() {
load();
});

//ajax functions for training schedules
function newajax(){
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
	return xmlHttp;
}

function get_numerics(cityid){

	var xmlHttp = newajax();
	xmlHttp.onreadystatechange=function()
    {
		if(xmlHttp.readyState==1){
		
		}
		if(xmlHttp.readyState==4)
		{
			var resp = xmlHttp.responseText;
			//alert('Response: ' + resp);
			
			var respa = new Array();
			respa = resp.split('^^');
			var opens = parseInt(respa[0]);
			var curs = parseInt(respa[1]);
			var pprs = parseInt(respa[2]);
			
			var opens_a = document.getElementById("a_openS");
			var curs_a = document.getElementById("a_currentS");
			var pprs_a = document.getElementById("a_ppr"); 
			
			opens_a.innerHTML = 'Open Sessions <em>(' + opens + ')</em>';
			curs_a.innerHTML = 'Closed Sessions <em>(' + curs + ')</em>';
			pprs_a.innerHTML = 'Interview Prep & PPR Reviews <em>(' + pprs + ')</em>';
			
		}
	}

  var da = new Date();
  var timestamp = da.getTime();
  
  var posturl = '/ajax_display.php?dm=numerical&cid=' + cityid + '&rid=0&ts=' + timestamp;
  xmlHttp.open("POST",posturl,true);
  xmlHttp.send(null);

}


function display_open(cityid){
	//change ppr display
	var ppr = document.getElementById("pprReview");
	ppr.style.display = 'none';
	var load = document.getElementById("ajax_wrap");
	load.style.display = 'block';
	//change UI to reflect click
	document.getElementById("openS").className = "active";
	document.getElementById("currentS").className = "";
	document.getElementById("ppr").className = "";
	//change hidden variable
	document.getElementById("ocf").value = "open";
	//show regional display
	document.getElementById("locationDisplay").style.display = 'block';
	//get regional display and send to ajax_display();
	//var reg_display = document.getElementById("clicked_reg").value;
	var reg_display = 'all';
	if(reg_display == 'all'){
		ajax_display('0','open',cityid);
	}else{
		ajax_display(reg_display,'open','0');
	}
}

function display_closed(cityid){
	//change ppr display
	var ppr = document.getElementById("pprReview");
	ppr.style.display = 'none';
	var load = document.getElementById("ajax_wrap");
	load.style.display = 'block';
	//change UI to reflect click
	document.getElementById("openS").className = "";
	document.getElementById("currentS").className = "active";
	document.getElementById("ppr").className = "";
	//change hidden variable
	document.getElementById("ocf").value = "closed";
	//show regional display
	document.getElementById("locationDisplay").style.display = 'block';
	//get regional display and send to ajax_display();
	var reg_display = document.getElementById("clicked_reg").value;
	if(reg_display == 'all'){
		ajax_display('0','closed',cityid);
	}else{
		ajax_display(reg_display,'closed','0');
	}
}

function display_future(cityid){
	//change ppr display
	var ppr = document.getElementById("pprReview");
	ppr.style.display = 'none';
	var load = document.getElementById("ajax_wrap");
	load.style.display = 'block';
	//change UI to reflect click
	document.getElementById("openS").className = "";
	document.getElementById("currentS").className = "";
	document.getElementById("ppr").className = "active";
	//change hidden variable
	document.getElementById("ocf").value = "future";
	//show regional display
	document.getElementById("locationDisplay").style.display = 'block';
	//get regional display and send to ajax_display();
	var reg_display = document.getElementById("clicked_reg").value;
	if(reg_display == 'all'){
		ajax_display('0','future',cityid);
	}else{
		ajax_display(reg_display,'future','0');
	}
}

function clear_tbody(tableid){
	for(var i = document.getElementById(tableid).tBodies[0].rows.length; i > 0;i--)
			{
				//alert(i);
				document.getElementById(tableid).tBodies[0].deleteRow(i-1);
			}
}

function display_prep(cityid){
	get_numerics(cityid);
	//change UI to reflect click
	document.getElementById("openS").className = "";
	document.getElementById("currentS").className = "";
	document.getElementById("ppr").className = "active";
	//change hidden variable
	document.getElementById("ocf").value = "prep";
	//hide regional display

	document.getElementById("locationDisplay").style.display = 'none';
	
	var xmlHttp = newajax();
	xmlHttp.onreadystatechange=function()
    {
		if(xmlHttp.readyState==1){
			var load = document.getElementById("ajax_wrap");
			load.innerHTML = '<div id="loading"><img src="/images/ajax-loader.gif"></div>';
			
			
		}
		if(xmlHttp.readyState==4)
		{
			
			var load = document.getElementById("ajax_wrap");
			clear_tbody("interview_prep_table");
			clear_tbody("ppr_test_table");
			var thistbody = document.getElementById("interview_prep_table").tBodies[0];
			var thistbody2 = document.getElementById("ppr_test_table").tBodies[0];
			var resp = xmlHttp.responseText;
			var resp_a = new Array();
			resp_a = resp.split('^');
			if(resp_a[0] != '1'){
				load.innerHTML = resp_a[1];
			}else{
				var itable = 0;
				var ttable = 0;
				var ppr = document.getElementById("pprReview");
				load.style.display = 'none';
				ppr.style.display = 'block';
				var preps = new Array();
				preps = resp_a[1].split('|');
				for (x in preps){
					var thisprep = new Array();
					thisprep = preps[x].split('~');
					//alert(thisprep);
					if(thisprep[0] == '0'){
						var thistable = document.getElementById("interview_prep_table");
						var apptbody = thistbody;
						itable++;
					}else{
						var thistable = document.getElementById("ppr_test_table");
						var apptbody = thistbody2;
						ttable++;
					}
					var thistr = document.createElement("TR");
					var datetd = document.createElement("TD");
					datetd.innerHTML = '<strong>' + thisprep[1] + '</strong><br/>' + thisprep[2];
					var venuetd = document.createElement("TD");
					venuetd.innerHTML = '<strong>' + thisprep[3] + '</strong><br/>';
					if (thisprep[4] != ''){
						var venuediv = document.createElement("DIV");
						venuediv.className = 'venue';
						venuetd.appendChild(venuediv);
						var venuehtml = thisprep[4] + '<br />';
						venuediv.innerHTML += venuehtml;
					}
					venuetd.innerHTML += '<a class="hyper" href="' + thisprep[10] + '" rel="external">View Venue Website</a>';
					var addtd = document.createElement("TD");
					addtd_html = thisprep[5];
					if(thisprep[6] != ''){
						addtd_html += ' - ' + thisprep[6];
					}
					
					//formulate google maps link
					var thislat = thisprep[11];
					var thislng = thisprep[12];
					var thisll = thislat + ',' + thislng;
					var url = 'http://maps.google.com/maps?f=q&source=s_q&hl=en&q=' + thisll;
					
					addtd_html += '<br/>' + thisprep[7] + ', ' + thisprep[8] + ' ' + thisprep[9] + '<br/><a class="hyper" href="' + url + '" rel="external">Map of Location</a>';
					addtd.innerHTML = addtd_html;
					
					thistr.appendChild(datetd);
					thistr.appendChild(venuetd);
					thistr.appendChild(addtd);
					apptbody.appendChild(thistr);
					
					
		
					
				}
				
				if(itable == 0){
					thishtml = 'Interview Prep Seminars Coming Soon';
					var thistd = document.createElement("TD");
					thistd.colSpan = '3';
					thistd.innerHTML = thishtml;
					var thistr = document.createElement("TR");
					thistr.appendChild(thistd);
					var thistbody = document.getElementById("interview_prep_table").tBodies[0];
					clear_tbody("interview_prep_table");
					thistbody.appendChild(thistr);
					
				}
				if(ttable == 0){
					thishtml = 'Test Reviews Coming Soon';
					var thistd = document.createElement("TD");
					thistd.colSpan = '3';
					thistd.innerHTML = thishtml;
					var thistr = document.createElement("TR");
					thistr.appendChild(thistd);
					var thistbody = document.getElementById("ppr_test_table").tBodies[0];
					clear_tbody("ppr_test_table");
					thistbody.appendChild(thistr);
					
				}
			
			}
			
			jQuery(document).ready(function(){
	
					// target table for stylizing
				jQuery("div.mapInfo li:last-child").addClass("last");
				jQuery("div.location tr:even, #pprReview tr:even").addClass("alt");
				jQuery("div.location tr td:nth-child(4)").addClass("location");
				
				jQuery('#pprReview a[rel="external"]').click( function() {
		        window.open( $(this).attr('href') );
		        return false;
	    		});

			});
			
		}
	}

  var da = new Date();
  var timestamp = da.getTime();
  
  var posturl = '/ajax_display.php?dm=ppr&cid=' + cityid + '&ts=' + timestamp;
  xmlHttp.open("POST",posturl,true);
  xmlHttp.send(null);
	
}

function display_all(cityid){
	//change UI to reflect click
	document.getElementById("region_all").className = "active";
	var num_reg = parseInt(document.getElementById("num_reg").value) + 1;
	for(i=1;i<num_reg;i++){
		var thisid = 'reg_' + i;
		if(document.getElementById(thisid)){
			document.getElementById(thisid).className = "";
		}
	}
	//change hidden variable
	document.getElementById("clicked_reg").value = "all";
	//get display mode and send to ajax_display()
	var displaymode = document.getElementById("ocf").value;
	ajax_display('0',displaymode,cityid);
}	

function display_region(rid,rindex){
	//change UI to reflect click
	document.getElementById("region_all").className = "";
	var num_reg = parseInt(document.getElementById("num_reg").value) + 1;

	for(i=1;i<num_reg;i++){
		
		
		if(i==rindex){
			var thisid = 'reg_' + i;
			document.getElementById(thisid).className = "active";
		}else{
			var thisid = 'reg_' + i;
			if(document.getElementById(thisid)){
				document.getElementById(thisid).className = "";
			}
		}
	}
	//change hidden variable
	document.getElementById("clicked_reg").value = rid;
	//get display mode and send to ajax_display()
	var displaymode = document.getElementById("ocf").value;
	ajax_display(rid,displaymode,'0');
}

function ajax_display(regionid,displaymode,cityid){
	get_numerics(cityid);
	//alert(regionid);
	//alert(displaymode);
	//alert(cityid);
	
	var xmlHttp = newajax();
	xmlHttp.onreadystatechange=function()
    {
		if(xmlHttp.readyState==1){
			var load = document.getElementById("ajax_wrap");
			load.innerHTML = '<div id="loading"><img src="/images/ajax-loader.gif"></div>';
			
			
		}
		if(xmlHttp.readyState==4)
		{
			var markercount = 0;
			GUnload();
			var load = document.getElementById("ajax_wrap");
			load.innerHTML = '';
			
			var resp = xmlHttp.responseText;
			var respa = resp.split('^');
			var respcode = respa[0];
			
			if(respcode == '1'){
			var region = respa[1];
			var sessions = respa[2];
			var isopen = respa[3];
			var sessa = sessions.split('{');
				var x = 0;
				for(x=0;x<sessa.length;x++){
					//alert('sessa ' + x);
					document.getElementById("thisx").value = x;
					var sesloc = sessa[x].split('}');
					var sems = sesloc[0];
					var locs = sesloc[1];
					var thissessa = sems.split('`');
					if(region == 'ALL'){
						var region = thissessa[0];
						var sesname_a = new Array();
						sesname_a = thissessa[1].split('@#$');
						var sesname = sesname_a[0];
						var sesid = sesname_a[1];
                                                var inprogress = sesname_a[2];
						var sestbd = sesname_a[3];
						var sestbd_text = sesname_a[4];
						var sestails = thissessa[2];
						var num_locs = thissessa[3];
					}else{
						/*
						//var region = thissessa[0];
						var sesname = thissessa[0];
						var sestails = thissessa[1];
						var num_locs = thissessa[2];
						*/
						var region = thissessa[0];
						var sesname_a = new Array();
						sesname_a = thissessa[1].split('@#$');
						var sesname = sesname_a[0];
						var sesid = sesname_a[1];
                                                var inprogress = sesname_a[2];
						var sestbd = sesname_a[3];
						var sestbd_text = sesname_a[4];
						var sestails = thissessa[2];
						var num_locs = thissessa[3];
					}
					var eachses = sestails.split('|');
					var sessiondiv = document.createElement("DIV");
					sessiondiv.id = 'loc_' + sesname;
					load.appendChild(sessiondiv);
						if(x == 0){
							if(isopen == 1 || isopen == 3){
								sessiondiv.className = 'location open';
							}else{
								sessiondiv.className = 'location closed';
							}
						}else{
							if(isopen == 1 || isopen == 3){
								sessiondiv.className = 'location open';
							}else{
								sessiondiv.className = 'location closed';
							}
						}
					var thishtml = '<h3>' + region + ' - ' + sesname + '</h3>';
					
					if (isopen == 1){
						if(inprogress == 1){
						thishtml += '<em><a href="/interns/pay.php?session=' + sesid + '" rel="external">Open, In Progress - Reserve a seat today w/ payment</a></em>';
						}else{
						thishtml += '<em><a href="/interns/pay.php?session=' + sesid + '" rel="external">Open - Reserve a seat today w/ payment</a></em>';
						}
					}
					else if(isopen == 0){
						if(inprogress == 1){
							thishtml += '<em>Closed, In Progress - Session Full</em>';
						}else{
							thishtml += '<em>Closed - Session Full</em>';
						}
					} else if(isopen == 2){
						thishtml += '<em>Future Session</em>';
					}
					sessiondiv.innerHTML = thishtml;
					var gmapdiv = document.createElement("DIV");
					gmapdiv.className = 'gMap clearfix';
					sessiondiv.appendChild(gmapdiv);
					if (eachses[0] != 0){
					    var gmap = document.createElement("DIV");
					    gmap.id = 'gmap_' + x;
					    gmap.className = 'map';
					    gmap.setAttribute('style','position: relative; background-color: rgb(229, 227, 223)');
					    gmapdiv.appendChild(gmap);
					    var mapinfodiv = document.createElement("DIV");
					    mapinfodiv.className = 'mapInfo';
					    gmapdiv.appendChild(mapinfodiv);
					    var p_sesinfo = document.createElement("P");
					    mapinfodiv.appendChild(p_sesinfo);
					    p_sesinfo.className = 'sessionInfo';
					    var pshtml = '<strong>Location</strong>';
						    if(num_locs > 1){
							    pshtml += ' (<a href="#" onclick="center_map(\'' + x + '\'); return false">This session is split between ' + num_locs + ' locations</a>)';
						    }
					    p_sesinfo.innerHTML = pshtml;
					    var locationul = document.createElement("UL");
					    mapinfodiv.appendChild(locationul);
					    var semtbody = document.createElement("TBODY");
					    var semtable = document.createElement("TABLE");
					}
					
					//link creation
					if(displaymode != 'closed'){
					var link_p = document.createElement("P");
					link_p.setAttribute('class','reserve');
					var link_html = '<a href="/interns/pay.php?session=' + sesid + '">Reserve your seat now!</a>';
					link_p.innerHTML = link_html;
					sessiondiv.appendChild(link_p);
					}
					
					if (eachses[0] != 0){
					    sessiondiv.appendChild(semtable);
					    semtable.appendChild(semtbody);
					    semtable.setAttribute('cellspacing','0');
					    var headerrow = document.createElement("TR");
					    semtbody.appendChild(headerrow);
					    var header1 = document.createElement("TH");
					    header1.innerHTML = 'Date';
					    headerrow.appendChild(header1);
					    var header2 = document.createElement("TH");
					    header2.innerHTML = 'Time';
					    headerrow.appendChild(header2);
					    var header3 = document.createElement("TH");
					    header3.innerHTML = 'Subject';
					    headerrow.appendChild(header3);
					    var header4 = document.createElement("TH");
					    header4.innerHTML = 'Location';
					    headerrow.appendChild(header4);
					    //deal with sems
					    var y = 0;
					    for(y=0;y<eachses.length;y++){
						    var thisses = eachses[y];
						    var thissesa = thisses.split('~');
						    var sesdate = thissesa[0];
						    var starttime = thissesa[1];
						    var endtime = thissesa[2];
						    var subject = thissesa[3];
						    var locname = thissesa[4];
						    var locvenue = thissesa[5];
						    var appurl = thissesa[10];

						    var thisrow = document.createElement("TR");
						    semtbody.appendChild(thisrow);
						    var thistd1 = document.createElement("TD");
						    thistd1.innerHTML = sesdate;
						    thisrow.appendChild(thistd1);
						    var thistd2 = document.createElement("TD");
						    thistd2.innerHTML = starttime + ' - ' + endtime;
						    thisrow.appendChild(thistd2);
						    var thistd3 = document.createElement("TD");
						    thistd3.innerHTML = subject;
						    thisrow.appendChild(thistd3);
						    var thistd4 = document.createElement("TD");
						    thistd4.className = 'location';
						    thistd4.innerHTML = locname;
						    if (locvenue != '') {
							    thistd4.innerHTML += '<br />' + locvenue;
						    }
						    thisrow.appendChild(thistd4);
					    }

					    if (GBrowserIsCompatible()) {
						    var thisid = 'gmap_' + x;
						    maps[x] = new GMap2(document.getElementById(thisid));
						    var center = new GLatLng(29.739314, -95.482551);
						    var marker = new GMarker(center);

						    maps[x].setCenter(center, 14);
						    maps[x].addControl(new GSmallMapControl());
						    //maps[x].addOverlay(marker);
						    }

					    //deal with locs
					    var loca = locs.split('|');
					    var map_addr = new Array();
					    var z = 0;
					    for(z=0;z<loca.length;z++){
						    var thisloc = loca[z];
						    var thisloca = thisloc.split('~');
						    var thisid = thisloca[0];
						    var thisname = thisloca[1];
						    var thisvenue = thisloca[2];
						    var thisadd1 = thisloca[3];
						    var thisadd2 = thisloca[4];
						    var thiscity = thisloca[5];
						    var thisstate = thisloca[6];
						    var thiszip = thisloca[7];
						    var thislat = thisloca[8];
						    var thislng = thisloca[9];
						    var thisurl = thisloca[10];
							    //for google maps
							    var thispoint = new GLatLng(thislat,thislng);
							    var thisimage = '/images/gmarkers/red_Marker' + (parseInt(z)+1) + '.png';
							    var thisicon = new GIcon(G_DEFAULT_ICON);
							    thisicon.image = thisimage;
							    var moptions = { title:thisname,icon:thisicon };
							    markers[markercount] = new PdMarker(thispoint,moptions);
							    //thismarker.setTooltip(thisname);
							    //maps[x].setCenter(thispoint,13);
							    maps[x].addOverlay(markers[markercount]);
							    center_map(x);

						    var thisli = document.createElement("LI");
						    locationul.appendChild(thisli);
						    var thisheader = document.createElement("H4");
						    thisli.appendChild(thisheader);
						    var headerhtml = '<a href="#" onclick="center_marker(\'' + x + '\',\'' + markercount + '\'); return false">' + thisname + '</a>';
						    thisheader.innerHTML = headerhtml;
						    if (thisvenue != ''){
							    var venuediv = document.createElement("DIV");
							    venuediv.className = 'venue';
							    thisli.appendChild(venuediv);
							    var venuehtml = thisvenue;
							    venuediv.innerHTML = venuehtml;
						    }
						    var addrdiv = document.createElement("DIV");
						    addrdiv.className = 'addr';
						    thisli.appendChild(addrdiv);
						    var addrhtml = thisadd1;
						    if(thisadd2 != ''){
							    addrhtml += '<br/>' + thisadd2;
						    }
						    addrhtml += '<br/>' + thiscity + ', ' + thisstate + ' ' + thiszip;
						    addrdiv.innerHTML = addrhtml;
						    var awebsite = document.createElement("A");
						    thisli.appendChild(awebsite);
						    awebsite.className = 'website';
						    awebsite.href = thisurl;
						    awebsite.innerHTML = 'View Venue Website';
						    awebsite.setAttribute('rel','external');
						    var thismarker = document.createElement("IMG");
						    thisli.appendChild(thismarker);
						    thismarker.setAttribute('width','20');
						    thismarker.setAttribute('height','34');
						    thismarker.src = '/images/gmarkers/red_Marker' + (parseInt(z)+1) + '.png';

						    markercount++;
					    }
					}
					else
					{
					    // TBD
					    var tbdinfodiv = document.createElement("DIV");
					    tbdinfodiv.className = 'tbdInfo';
					    gmapdiv.appendChild(tbdinfodiv);
					    tbdinfodiv.innerHTML = sestbd_text;
					}
						
				}
						
				
			
			}else{
				load.innerHTML = '<div class="noResults">' + respa[1] + '</div>';
			}
			
			
			jQuery(document).ready(function(){
	
					// target table for stylizing
				jQuery("div.mapInfo li:last-child").addClass("last");
				jQuery("div.location tr:even, #pprReview tr:even").addClass("alt");
				jQuery("div.location tr td:nth-child(4)").addClass("location");
				
				jQuery('#ajax_wrap a[rel="external"]').click( function() {
		        window.open( $(this).attr('href') );
		        return false;
	    		});

			});
		
		}
	}

  var da = new Date();
  var timestamp = da.getTime();
  
  var posturl = '/ajax_display.php?rid=' + regionid + '&dm=' + displaymode + '&cid=' + cityid + '&ts=' + timestamp;
  xmlHttp.open("POST",posturl,true);
  xmlHttp.send(null);
}
function center_marker(mapid,markerid){
	var mypoint = markers[markerid].getPoint();
	maps[mapid].panTo(mypoint,13);
}
function center_map(mapid){
	maps[mapid].zoomToMarkers();
}
