﻿var w__ = 0;
var h__ = 0;
$(window).resize(function() {
	resize_ss();
});
function detectbrowser(){
	var _return = false;
	var useragent = navigator.userAgent;
	if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) {
		window.location.href = '/m';
		_return = false;
	}else{
		_return = true;
	}
	return _return;
}
function init(){
	if(!detectbrowser()){
		return false;
	}
	resize_ss();
	fill_combo('estados');
	$('#navigation').stop().animate({'marginLeft':'-2px'},200);
	$('#navigationm').hover(
		function () {
			$(this).stop().animate({'marginLeft':'-2px'},200);
		},
		function () {
			$(this).stop().animate({'marginLeft':'-385px'},200);
		}
	);
	$('#navigationr').hover(
		function () {
			$(this).stop().animate({'marginLeft':'-385px'},200);
		},
		function () {
			$(this).stop().animate({'marginLeft':'0px'},200);
		}
	);
	put_us_msj();
	latlng__ = new google.maps.LatLng(22.958393318086348, -103.0078125);
	myoptions = {
		zoom: zoom__,
		center: latlng__,
		streetViewControl: false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	map = new google.maps.Map(document.getElementById("map"), myoptions);
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(document.getElementById("box_response_ruta"));
	panorama__ = map.getStreetView();
	$('#waiting').css('display','none');
	put_promo_msj();
}
function resize_ss(){
	w__ = $("#cnt").width();
	h__ = $("#cnt").height();
	var w = $("#cnt").width();
	var h = $("#cnt").height();
	$('#box').height(h-30);
	var tnm = h-87;
	var pnm = tnm * .70;
	var mnm = (tnm * .15) + 87;
	var tmm = mnm * .90;	
	var mmm = mnm * .05;
	h_mvolador__ = tmm - 10;
	$('#navigationm').height(pnm);
	$('#navigationm').css('top',mnm);
	$('#navigationr').height(pnm);
	$('#navigationr').css('top',mnm);
	$('#navigationr').css('left',w-15);
	$('#mensajevolador').css('max-height',(h-87));
	$('#mensajevolador').css('top',mmm);
	$('#mensajevolador').css('left',w-315);
	$('#navigationm div').height(pnm-50);
	$('#navigationr div').height(pnm-23);
	var aux_top = (h-36) / 2;
	var aux_left = (w-36) / 2;
	$('#loading').css('top',aux_top);
	$('#loading').css('left',aux_left);
	if(bandera_ruta__){
		$("#loading").fadeIn("fast");
		directionsDisplay.setDirections(aux_msj_ruta);
		$("#loading").fadeOut("fast");
	}
}
function put_message(html,t){
	$("#mensajevolador").html(html);
	$("#mensajevolador").fadeIn("slow");
	if(t > 0){
		setTimeout(hide_message,t);
	}
}
function hide_message(){
	$("#mensajevolador").fadeOut("fast");
}
function put_valores(txt){
	var valores = eval('(' + txt + ')');
	$('#box_response').html('');
	clear_map();
	//put_mode_screen(true);
	//set_center(latlng__,zoom__);
	if(valores.mensage == '1'){
		var elemento = document.createElement('div');
		elemento.className  = 'box_alerta';
		var tmp = '<p>No se encontraron resultados.<\/p>';
		elemento.innerHTML = tmp;
		document.getElementById('box_response').appendChild(elemento);
		var html = '<div class="box_margen"><div class="box_alerta"><p>No se encontraron resultados.</p></div></div>';
		put_message(html,2000);
	}
	else if (valores.mensage == '0'){
		var mun = '';
		var mun_tmp = '';
		var center_ = '';
		var n = valores.valores.length;
		for(i = 0; i < n; i++){
			var entidad_ = valores.valores[i].entidad;
			var seccion_ = valores.valores[i].seccion;
			var clave_modulo_ = valores.valores[i].clave_modulo;
			if(valor_view_marker__ != null && valor_view_marker__ != undefined){
				var aux_clave_modulo_ss = clave_modulo_;
				if(aux_clave_modulo_ss.length != '6'){
					aux_clave_modulo_ss = '0'+ aux_clave_modulo_ss;
				}
				if(str_view_marker__ == aux_clave_modulo_ss){
					valor_view_marker__ = i;
				}
			}
			if(clave_modulo_.length != '6'){
				clave_modulo_ = '0'+ clave_modulo_;
			}
			var domicilio_ = valores.valores[i].domicilio; domicilio_ = remp(domicilio_,'&','Ñ'); domicilio_ = remp(domicilio_,'$','Ü'); domicilio_ = remp(domicilio_,'%','Ñ');
			var ubicacion_ = valores.valores[i].ubicacion; ubicacion_ = remp(ubicacion_,'&','Ñ'); ubicacion_ = remp(ubicacion_,'$','Ü'); ubicacion_ = remp(ubicacion_,'%','Ñ');
			var referencia_ = valores.valores[i].referencia; referencia_ = remp(referencia_,'&','Ñ'); referencia_ = remp(referencia_,'$','Ü'); referencia_ = remp(referencia_,'%','Ñ');
			var distrito_ = valores.valores[i].distrito;
			var municipio_num_ = valores.valores[i].municipio_num;
			var municipio_nom_ = valores.valores[i].municipio_nom; municipio_nom_ = remp(municipio_nom_,'&','Ñ'); municipio_nom_ = remp(municipio_nom_,'$','Ü');municipio_nom_ = remp(municipio_nom_,'%','Ñ');
			mun = municipio_nom_;
			var dias_ = valores.valores[i].dias;
			var horario_ = valores.valores[i].horario;
			var notas_ = valores.valores[i].notas; notas_ = remp(notas_,'&','Ñ'); notas_ = remp(notas_,'$','Ü'); notas_ = remp(notas_,'%','Ñ');
			var cita_ = valores.valores[i].cita;
			var coordenadas_tmp_ = valores.valores[i].coordenadas;
			var coordenadas_tmp_array_ = coordenadas_tmp_.split('|');
			var coordenadas_ = coordenadas_tmp_array_[0];
			center_ = coordenadas_;
			if(mun != mun_tmp ){
				put_municipio(mun);
				mun_tmp = mun;
			}
			var clave_view = seccion_ + clave_modulo_;
			put_descripcion(domicilio_,coordenadas_,clave_modulo_,cita_);
			var auxc = put_style_valor(clave_modulo_,dias_,horario_,coordenadas_);
			var auxd = put_style_text(domicilio_);
			var auxu = put_style_text(ubicacion_);
			var auxr = put_style_text(referencia_);
			var auxnotas = put_style_text_notas(notas_);
			create_point(coordenadas_,clave_modulo_,auxc,auxd,auxu,auxr,auxnotas);
		}
		/*var tmp_center_ = get_point_coordenadas(center_);
		set_center(tmp_center_,10);*/
		map.fitBounds(bounds__);
		put_cita_msj();
		put_red_msj();
		put_ss_tooltip();
	}
}
function put_municipio(valor){
	var elemento = document.createElement('div');
	elemento.className  = 'box_contenido';
	var tmp = '<p class="municipio">' + valor + '<\/p>';
	elemento.innerHTML = tmp;
	document.getElementById('box_response').appendChild(elemento);
}
function put_descripcion(d,c,cl,cita){
	//var elemento = document.createElement('div');
	var name = cl.toString();
	var cls = '<div class="limpiar" style="height:1px;"></div>';
	var html = '<div id="boxopcmap__' + name + '" class="v-cnt-box">';
	html += '	<p class="v-box-text tooltip opc-map-modulo" rel="Módulo::'+d+' | '+cl+'" onclick="set_center(get_point_coordenadas(\''+ c +'\'),15); msj_ruta_visible__ = false; restart_all(); change_marker(\''+list_objets.length+'\');">'+d+' | ' + cl + '</p>';
	html += '<p class="v-box-opc-map tooltip opc-map-ruta" rel="::¿Como llegar aquí?" onclick="set_center(get_point_coordenadas(\''+ c +'\'),15); put_ruta_msj(\''+cl+'\',\''+c+'\',\''+list_objets.length+'\');"></p>';
	html += '<p id="b_sv_'+name+'" class="v-box-opc-map tooltip opc-map-street" style="display:none;" rel="::Street View" onclick="put_street_view(\''+c+'\')" style="display:none;"></p>';
	/* ! valores del campo cita : los valores del campo cita pueden ser numericos 0-5 actuamente y hay combinaciones con Módulo Red e Incidencias (23-09-11)
	 *	0	-	Sin cita
	 *	1	-	Cita Programada
	 *	2	-	Incidencia (NO Cita)
	 *	3	-	Incidencia (Cita Programada)
	 *	4	-	NO Cita (Módulo en Red)
	 *	5	-	Cita Programada (Módulo en Red)
	 *	6	-	Cita Programada (Módulo en Red) [NO incidencia]
	 *	7	-	Cita Programada (Módulo en Red) [incidencia]
	 */
	if(cita == 1){
		html += '<p class="v-box-opc-map tooltip opc-map-cita" rel="::Cita Programada"></p>';
	}
	if(cita == 4){
		html += '<p class="v-box-opc-map tooltip opc-map-red" rel="::Módulo en RED"></p>';
	}
	if(cita == 5){
		html += '<p class="v-box-opc-map tooltip opc-map-cita" rel="::Cita Programada"></p>';
		html += '<p class="v-box-opc-map tooltip opc-map-red" rel="::Módulo en RED"></p>';
	}
	html += '';
	html += '';
	html += '';
	html += '';
	html += '</div>'+cls;
/*	var tmp = '<p id="p_desc_'+cl+'" class="dom" title="'+d+'" onclick="set_center(get_point_coordenadas(\''+ c +'\'),15); msj_ruta_visible__ = false; restart_all(); change_marker(\''+list_objets.length+'\');"><span class="calcular">'+d+' | ' + cl + '</span></p>';
	tmp += '<p class="tres">...</p>';
	tmp += '<p class="ruta" title="¿Como llegar aquí?" onclick="set_center(get_point_coordenadas(\''+ c +'\'),15); put_ruta_msj(\''+cl+'\',\''+c+'\',\''+list_objets.length+'\');"></p>';
	tmp += '<p id="b_sv_'+cl+'" class="street" title="Street View" onclick="put_street_view(\''+c+'\')" style="display:none;"></p>';
	if(cita == 1){
		tmp += '<p class="cita" title="Con Cita Programada"></p>';
	}else if(cita == 2){
		
	}else if(cita == 3){
		
	}*/
	$('#box_response').append(html);
	check_sv(get_point_coordenadas(c),cl);
	var wt = $('#boxopcmap__' + name.toString()).width();
	var wa = $('#boxopcmap__' + name.toString() + ' .v-box-opc-map').width();
	var wf = wt - ((wa * 4) + 8);
	$('#boxopcmap__' + name.toString() + ' .v-box-text').width(wf);
}
function put_style_valor(cl,d,h,cor){
	var tmp = '<p class="map_text">';
	tmp += 'Número de módulo: <b>' + cl + '</b><br />';
	tmp += 'Horarios de atención:<br />';
	tmp += d + '<br />' + h + '<br />';
	tmp += '</p>';
	tmp += '<div class="limpiar"></div>';
	return tmp;
}
function put_style_text(valor){
	var tmp = '<p class="map_text">';
	tmp += valor + '<\/p>';
	return tmp;
}
function put_style_text_notas(valor){
	var _array = valor.split('|');
	var tmp = '<p class="map_text"><br \/>';
	tmp += _array[0] + '<\/p>';
	if(_array[1] != undefined){
		if(_array[1] != 'NINGUNA'){
			tmp += '<p class="map_text" style="color:#990000; font-weight:bold;"><br \/>';
			tmp += _array[1] + '<\/p><br \/>';
		}
	}
	return tmp;
}
function create_point(point,cv,ac,ad,au,ar,an){
	var punto = get_point_coordenadas(point);
	var image = '/img/point32_nuiutm.png';
	var shadow = '/img/point32_nuiutm_shadow.png';
	var marker = new google.maps.Marker({
	    position: punto,
	    map: map,
		icon: image,
		shadow: shadow,
		title:'Módulo - ' + cv.toString()
	});
	var espacio = '<div class="limpiar" style="height:1px;"></div>';
	var str_html = '<p class="map_text" style="font-weight:bold;">Módulo</p>' + espacio;
	str_html += ac + espacio;
	str_html += '<p class="map_text" style="font-weight:bold;">Domicilio</p>' + espacio;
	str_html += ad + espacio;
	str_html += '<p class="map_text" style="font-weight:bold;">Referencia</p>' + espacio;
	str_html += ar + espacio;
	str_html += '<div class="box_cnt_cloud"><p class="ruta" title="¿Como llegar aquí?" onclick="set_center(get_point_coordenadas(\''+ point +'\'),15); put_ruta_msj(\''+cv+'\',\''+point+'\',\''+list_objets.length+'\');"></p>';
	str_html += '<p id="b_s_sv_'+cv+'" class="street" title="Street View" onclick="change_street_ruta(); put_street_view(\''+point+'\');" style="display:none;"></p></div>' + espacio;
	if(an.length > 30){
		str_html += '<p class="map_text" style="font-weight:bold;">Notas</p>' + espacio;
		str_html += ac + espacio;
	}
	str_html += '<div class="limpiar" style="height:25px;"></div>';
	var infowindow_ = new google.maps.InfoWindow({
		content: str_html
	});
	marker.infowindow = infowindow_;
	google.maps.event.addListener(marker, 'click', function() {
		check_sv(punto,cv);
		clear_infowindow();
		marker.setAnimation(null);
		marker.infowindow.open(map,marker);
		google.maps.event.addListener(infowindow_, 'domready', function(){
			//check_glatlng(point, cv);
		});
	});
	list_objets.push(marker);
	bounds__.extend(punto);
}
