var firstLoad = false;
var mapapublic;

function all_marked(){
	if ($('cuarto_eso').checked && $('media_academica').checked && $('edad').checked && $('form_completo').checked){
		$('entrar_solicitud').disabled='';	
		$('entrar_solicitud').observe('click', function(){
			window.location = '?q=solicitud';
		})
	}
}

function initHomePage() {
	
	initLangSelector();
	showPreselectedList();
	periodicalchangeHeader();
	toogleHomePage();
	
	//showRequirements();
	$('new_solicitud').observe('click',function(){window.location = '?q=solicitud';})
}

Event.observe(window, "load", initHomePage, false);

function showPreselectedList() {
	if ($('preselectedpopup'))
		Dialog.info($('preselectedpopup').innerHTML , {className:"alphacube", width:420} ); 	
}

function showRequirements() {
	if ($('new_solicitud')){
		$('new_solicitud').observe('click', function() {	
			Dialog.info($('precondiciones_box').innerHTML , {className:"alphacube", width:480, height:330} ); 
			$('cuarto_eso').observe('click', function() {
				all_marked();
			})
			$('media_academica').observe('click', function() {
				all_marked();
			})
			$('form_completo').observe('click', function() {
				all_marked();
			})
			$('edad').observe('click', function() {
				all_marked();
			})
		});
	}
}

function submitSolicitudLogin()
{
	formIsloaded = false;
	window.location='?q=solicitudeditor';
}

function submitSolicitudLoginSelected()
{
	formIsloaded = false;
	window.location='?q=solicitudselectedblog';
}



function logout()
{
	new Ajax.Request('action.php?cmd=solicitud_logout', {
		method: 'get',		
		onSuccess: function(request)
					{						
						window.location.reload();
					}
		});
}


// Starts periodical change header
function periodicalchangeHeader()
{
	// header number
	var headNum = Math.floor(Math.random()*6 + 1); 
	
	var imgAUX = new Image();
	imgAUX.src = "Templates/images/headers/Header"+ headNum +"_"+ currentLang +".jpg";
	
	new PeriodicalExecuter(function(pe) {
		// show cached image
		$('pageHeader').style.backgroundImage="url('" + imgAUX.src + "')";
		
		//Preload image
		headNum = Math.floor(Math.random()*6 + 1);
		imgAUX.src = "Templates/images/headers/Header"+ headNum +"_"+ currentLang +".jpg";
	},5);

	
}


//Hide And Show Left Panel
function toogleHomePage()
{

		if($('becarios').hasClassName('selected')){
			$('loginColumn').hide();
			$('loginColumnselected').show();
			convStatus();
			mapOrList();
		}
}

function convStatus(id)
{
	switch(id){	
	case "c2010" :
		$('c2010').addClassName('convbuttonsselected');
		$('c2011').removeClassName('convbuttonsselected');
		$('c2012').removeClassName('convbuttonsselected');
		convocatoriaMapa = "2010";
		searchlist();
		break;
		
	case "c2011" :
		$('c2010').removeClassName('convbuttonsselected');
		$('c2011').addClassName('convbuttonsselected');
		$('c2012').removeClassName('convbuttonsselected');
		convocatoriaMapa = "2011";
		searchlist();
		break;
	
	case "c2012" :
		$('c2010').removeClassName('convbuttonsselected');
		$('c2011').removeClassName('convbuttonsselected');
		$('c2012').addClassName('convbuttonsselected');
		convocatoriaMapa = "2012";
		searchlist();
		break;
	case "c2013" :
		$('c2011').removeClassName('convbuttonsselected');
		$('c2012').removeClassName('convbuttonsselected');
		$('c2013').addClassName('convbuttonsselected');
		convocatoriaMapa = "2013";
		searchlist();
		break;	
		
	default:
		$('c2010').addClassName('convbuttonsselected');
		$('c2011').removeClassName('convbuttonsselected');
		$('c2012').removeClassName('convbuttonsselected');
		convocatoriaMapa = "2010";
		searchlist();
		break;
	}
}

function mapOrList(id,val){
	switch(id){	
	case "selectmap" :
		$('selectmap').addClassName('selectorlistselected');
		$('selectlist').removeClassName('selectorlistselected');
		$('listpublic').hide();
		$('mapapublic').show();		
		$('controllersmap').show();
		$('satellite').show();
		$('modemap').show();
		$('selectmapsombra').show();
		$('selectlistsombra').hide();
		searchlist(val);
		break;
	case "selectlist" :
		$('selectmap').removeClassName('selectorlistselected');
		$('selectlist').addClassName('selectorlistselected');
		$('mapapublic').hide();
		$('listpublic').show();
		$('controllersmap').hide();
		$('satellite').hide();
		$('modemap').hide();
		$('selectmapsombra').hide();
		$('selectlistsombra').show();
		break;
		
	default:
		$('selectmap').addClassName('selectorlistselected');
		$('selectlist').removeClassName('selectorlistselected');
		$('mapapublic').show();
		$('listpublic').hide();
		$('controllersmap').show();
		$('satellite').show();
		$('modemap').show()
		$('selectmapsombra').show();
		$('selectlistsombra').hide();
		break;
	}
}

function searchlist(valist){
	var dato = $('searchpublicmap').value;
	if(valist)
		initPublicMap(dato,valist);
	else
		initPublicMap(dato);
}

function clearsearchlist(){
	$('searchpublicmap').value = "";
	initPublicMap();
}

function clickmemberlist(valuefinder){
	mapOrList('selectmap',valuefinder);
}

function changemode(mode){
	if (mode == 1){
		mapapublic.map.setMapType(G_HYBRID_MAP);
		$('modemap').removeClassName('modemapselected');
		$('satellite').addClassName('modemapselected');
	}
	if (mode == 2){
		mapapublic.map.setMapType(G_NORMAL_MAP);
		$('satellite').removeClassName('modemapselected');
		$('modemap').addClassName('modemapselected');
	}
	
}



/********************************************************************************************/
/********************************************************************************************/
/*****************    						CREATION MAP                  *******************/
/********************************************************************************************/
/********************************************************************************************/

 function initPublicMap(filter , onemarkerlist){	
	var dataurlMap;
	var dataurlList;
	if(filter){
		dataurlMap = 'action.php?cmd=mappoints&convocate='+convocatoriaMapa+'&filter='+filter;
		dataurlList = 'index.php?q=listmap&convocate='+convocatoriaMapa+'&filter='+filter;
	}else{
		dataurlMap = 'action.php?cmd=mappoints&convocate='+convocatoriaMapa;
		dataurlList = 'index.php?q=listmap&convocate='+convocatoriaMapa;
	}
	
	mapapublic = new Map('mapapublic',{
			dataurl:dataurlMap,
			zoomlevel: 3,
			zoommin: 3,
			zoommax:19,
			tinyiconsmode: 1,
			startpoint: [36.954857,-94.75],
			defaultcontrols : false
	});
	
	var mapExt = {
		    markerClick: function(marker, markerdata)
		    {
				//console.debug(markerdata);
				marker.openInfoWindowTabsHtml("" +
						"<div style=\"width:250px;\">" +
							"<img src=\"Templates/images/logobhsglobo.png\"/ style=\"float:left; margin-right:8px;\">" +
							"<div style=\"font-size:13px;\"><b>" + markerdata.name + " " + markerdata.surname + "</b><br/>" +
								"<div style=\"font-size:12px;\">"+markerdata.schoolname + "<br/> (" +markerdata.city+ " , "+markerdata.province + ")" +
								"</div>"+
							"</div>" +
							"<hr style=\"color:red; clear:both;\"/>"+
							"<div style=\"margin-left:48px; font-size:13px;\"<b>"+markerdata.eeuuschool + "</b><br/>" +
								"<div style=\"font-size:12px;\">"+markerdata.eeuuscity + " , " +markerdata.eeuustate)+"</div>"+
							"</div>" +
						"</div>";
				//center
				var zoomlvl = this.map.getZoom();
				var lngmod;
				
				switch(zoomlvl)
				{
					case 1:
					case 2:
					case 3:
						lngmod = parseFloat(markerdata.lat)+12;
						break;
					case 4:
						lngmod = parseFloat(markerdata.lat)+6;
						break;
					case 5:
						lngmod = parseFloat(markerdata.lat)+3;
						break;
					case 6:
						lngmod = parseFloat(markerdata.lat)+1.8;
						break;
					case 7:
						lngmod = parseFloat(markerdata.lat)+0.8;
						break;
					case 8:
						lngmod = parseFloat(markerdata.lat)+0.45;
						break;
					case 9:
						lngmod = parseFloat(markerdata.lat)+0.2;
						break;
					case 10:
						lngmod = parseFloat(markerdata.lat)+0.1;
						break;
					case 11:
						lngmod = parseFloat(markerdata.lat)+0.05;
						break;
					case 12:
						lngmod = parseFloat(markerdata.lat)+0.028;
						break;
					case 13:
						lngmod = parseFloat(markerdata.lat)+0.012;
						break;
					case 14:
						lngmod = parseFloat(markerdata.lat)+0.006;
						break;
					case 15:
						lngmod = parseFloat(markerdata.lat)+0.0029;
						break;
					case 16:
						lngmod = parseFloat(markerdata.lat)+0.0016;
						break;
					case 17:
						lngmod = parseFloat(markerdata.lat)+0.0008;
						break;
					case 18:
						lngmod = parseFloat(markerdata.lat)+0.00045;
						break;
					case 19:
						lngmod = parseFloat(markerdata.lat)+0.00019;
						break;
					default:
						lngmod = markerdata.lat;
						break;
				}
								
				if(lngmod)
					this.map.setCenter(new GLatLng(lngmod, markerdata.lng));
		    },
		   
		    markerHover: function(marker, markerdata)
		    {
		    	/*marker.openInfoWindowTabsHtml("<b>" + markerdata.name + " " + markerdata.surname + "</b><br/>" +
						markerdata.schoolname + "(" +markerdata.city+ ","+markerdata.province + ")<br/><hr style=\"color:red;\"/>"+
						"<b>"+markerdata.eeuuschool + "</b><br/>" +
						markerdata.eeuuscity + "," +markerdata.eeuustate);*/
		    }
		   

		}
		$j.extend(true, mapapublic, mapExt);
	
	
	new Ajax.Updater('listpublic',dataurlList,{
		method:'get'
	});
	
	if(onemarkerlist)
	{
		mapapublic.markers.each(function(elem)
		{
			if(elem.id == onemarkerlist)			
				GEvent.trigger(elem, 'click');			
		});
	}
	
}


