var client = {
	containerMessage: "message",
	delayMessage: 2,
	urlPOST	: 'index.php',
	ajaxOBJ	: '#ajaxcontent',
	params	: {module:nameModule, view:'index'},
	Login: function(FormID){	
		var jObject = this
		var params	= $.extend(jObject.params, {action:'Login'}, $("#"+FormID).serializeObject())
		$.postJSON(jObject.urlPOST, params,function(serverJSON){
			if(!serverJSON.isLogin){
				$('#FrLogin').reset();
				$('#FrLogin').find("input:text:visible:first").focus()
				jObject.Message(serverJSON.messaje)
			}else{
				jObject.Message(serverJSON.messaje)
				window.location = serverJSON.url;
			}			
			return false
		})
	},
	RecoveryPass: function(){	
		var jObject = this
		var params	= $.extend(jObject.params, {action:'RecoveryPass'}, $("#FrRecovery").serializeObject())
		$.postJSON(jObject.urlPOST, params,function(serverJSON){
			if(!serverJSON.isRecoveryPass){
				//$('#FrLogin').reset();
				//$('#FrLogin').find("input:text:visible:first").focus()
				jObject.Message(serverJSON.messaje)
			}else{
				jObject.Message(serverJSON.messaje)
				//window.location = serverJSON.url;
			}			
			return false
		})
	},	
	//para crear nuevo tab
	MonitoreoVehicular: function(){
		var jObject = this
		$("#tabs").tabs('select', 0)
		$("#listOption").show( 'normal', function(){			
			$(window).trigger('resize')
		})
		$("#settingParaReco, #settingTiempoReal, #settingHistory").showDialog("destroy")
		$("#ed").text("Informacion Adicional [Nombre de Calles]");	
		$("#describe_setting, #map_setting").empty().hide()		
		if($("#map_detail").is(':hidden')){
			$("#map_detail").fadeIn()
			$("#map_detail #map_detalle, .close-detail").hide()
			$("#map_detail .ventana-title .colapser").click()
		}
		$("#map_descripcion").height(100)
		$( ".navSub" ).removeClass("openToggler");
		$("#FrMonitoreo").reset()
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#map_describe").fadeIn()
		$("#allVehiculo").trigger("click").attr("checked", false)		
		$("#map_ajaxdetalle, #map_ajaxdescripcion").remove()			
	},
	admflotas: function(){
		$(".opentab").trigger("openTabs", [ "Administracion de Flotas",'#admflotas' ]);
		$(".navSub").removeClass("openToggler");
		var jObject = this
		var params	= $.extend(jObject.params, {action:'admflotas'})
		$("#settingEstadoVehiculo").showDialog("destroy")
		$.post(jObject.urlPOST, params,function(serverData){
			$("#admflotas").html(serverData)
			$(".boton").button()
			//$("#Color").simpleColor({boxWidth: '50px'})			
			$("#Modificar").click(function(){			
				$("#TipoVehiculo, #Marca, #Combustible").removeClass("lectura").addClass("escritura").attr('disabled', false)
				$('input[type=text]').each(function(index){
					if($(this).hasClass("saved")){				
						$(this).removeClass("lectura").addClass("escritura").attr("readonly",false)
					}
				})		
				$(this).hide()
				$("#Grabar").show()
				$("#Cancelar").show()
				$("#setEstadoVehiculo").show()
				$("#findConductor").show()
				$("#FrAdmin .simpleColorSelectButton").show()
			})
			$("#Cancelar").click(function(){
				$("#TipoVehiculo, #Marca, #Combustible").removeClass("escritura").addClass("lectura").attr('disabled', true)		
				$('input[type=text]').each(function(index){
					if($(this).hasClass("saved")){				
						$(this).removeClass("escritura").addClass("lectura").attr("readonly",true)
					}
				})		
				$(this).hide()
				$("#Grabar").hide()
				$("#setEstadoVehiculo").hide()
				$("#findConductor").hide()
				$("#Modificar").show()
				$("#FrAdmin .simpleColorSelectButton").hide()
				$("#Color").val($("#iColor").val())
				$(".color_picker").css({'background-color':$("#iColor").val()})
			})
			$("#findConductor").click(function (){
				$(this).hide()
				$("#cancelfindConductor, #fConductor").show()
				$("#iConductor, #nConductor").hide()
			})
			$("#cancelfindConductor").click(function (){
				$(this).hide()
				$("#findConductor, #iConductor, #nConductor").show()
				$("#fConductor").hide()
			})
			$("#fConductor").autocomplete({
				minLength: 2,
				source: function(req, add){			
					var  ix;
					var params	= $.extend({},{module:nameModule, view:'admflotas', action:'searchConductor'})
					params = $.param(params) +'&'+$.param(req);
					$.postJSON(urlPOST, params,function(serverJSON){
						if(typeof(serverJSON.Error) == "undefined"){				
							$.each(serverJSON, function(i, values){
								if(values.rows == 1){
									$("#sConductor").val(values.id)
									ix = values.value.split(";")
									$("#nConductor").val(ix[0].toUpperCase())
									$("#iConductor").val(ix[ix.length -1].toUpperCase())									
									$("#fConductor, #cancelfindConductor").hide()
									$("#findConductor, #iConductor, #nConductor").show()
									$("#fConductor").val('')
									$("#fConductor").bind("autocompleteclose");									
									return
								}
							});
						}else{
							alert(serverJSON.Error)
							return;
						}
						add(serverJSON);
					});
				},
				select: function(event, ui) {			
					$("#sConductor").val(ui.item.id)
					ix = ui.item.value.split(";")
					$("#nConductor").val(ix[0].toUpperCase())
					$("#iConductor").val(ix[ix.length -1].toUpperCase())
					
					$("#fConductor").val('')
					$("#fConductor, #cancelfindConductor").hide()
					$("#findConductor, #iConductor, #nConductor").show()
					$("#fConductor").bind("autocompleteclose");
				},
				close: function(event, ui) {
					$("#searchRUC").val('')
				}
			}).focus( function(){$(this).val('')}).keypress( function (evt){
				if(evt.which == 13)
					$(this).autocomplete( "search" , $(this).val() )
			})
			// Botones de Condutor			
			$("#cNuevo").click(function (){
				$("#sms").fadeOut();
				$("#FrAdmin").reset();
				$("#TipoFr").val("R")
				$("#Estado, #Clase, #Categoria").attr('disabled', false) 
				$("#CaducidadBrevete, #FechaIngreso" ).datepicker("option", "disabled", false)
				$("#Categoria, #Clase").attr('selectedIndex', 0)
				$("#Categoria").html("").prepend('<option value="">Seleccione Clase</option>');
				$('input[type=text]').each(function(index){			
					if($(this).hasClass("saved2")){				
						$(this).removeClass("lectura").addClass("escritura").attr("readonly",false).val("")
					}
				})
				$(this).hide()
				$("#cModificar").hide()
				$("#cGrabar").show()
				$("#cCancelar").show()
			})
			$("#cCancelar").click(function (){
				$("#Estado, #Clase, #Categoria").attr('disabled', true)
				$("#CaducidadBrevete, #FechaIngreso" ).datepicker("option", "disabled", true)
				$("#Categoria, #Clase").attr('selectedIndex', 0)
				$("#Categoria").html("").prepend('<option value="">Seleccione Clase</option>');
				$('input[type=text]').each(function(index){			
					if($(this).hasClass("saved2")){				
						$(this).removeClass("escritura").addClass("lectura").attr("readonly",true)
					}
				})
				$('select[type=option]').each(function(index){			
					if($(this).hasClass("saved2")){				
						$(this).removeClass("escritura").addClass("lectura").attr("readonly",true)
					}
				})
				$(this).hide()
				$("#cGrabar").hide()
				if($("#TipoFr").val() == "U")
					$("#cModificar").show()
				else
					$('#FrAdmin').reset();
				$("#cNuevo").show()
			})
			$("#cModificar").click(function(){
				$("#TipoFr").val("U")
				$("#Estado, #Clase").removeAttr('disabled', false)
				$("#CaducidadBrevete, #FechaIngreso" ).datepicker("option", "disabled", false)
				$('input[type=text]').each(function(index){			
					if($(this).hasClass("saved2")){				
						$(this).removeClass("lectura").addClass("escritura").attr("readonly",false)
					}
				})
				$(this).hide()
				$("#cModificar, #cNuevo").hide()
				$("#cGrabar").show()
				$("#cCancelar").show()	
			})
			$("#TipoVehiculo, #Estado, #Clase, #Marca, #Categoria, #Combustible").attr('disabled', 'disabled')
			$("#CaducidadBrevete, #FechaIngreso, #Vencimiento").datepicker({ dateFormat: 'dd/mm/yy', disabled: true })
			$("#CaducidadBrevete").datepicker("option", "minDate", '-0d')
			$("#FechaIngreso").datepicker("option", "maxDate", new Date())
			//$("#FrAdmin input:checkbox[name='Vehiculo[]']").val($("#setVehiculo").val())
			$("#FrAdmin input:radio[name='Vehiculo[]']").each(function(){
				if($(this).val() == $("#setVehiculo").val()){
					$(this).attr("checked", true).trigger('click')					
					$("#setVehiculo").val('')
					return;
				}
			})			
		})
		return false
	},
	MensajeEntrante: function(){
		$(".opentab").trigger("openTabs", [ "Mensajes Entrantes",'#MensajeEntrante' ]);
		$(".navSub").removeClass("openToggler");
		var jObject = this
		var params	= $.extend(jObject.params, {action:'MensajeEntrante'})
		$.post(jObject.urlPOST, params,function(serverData){
			$("#MensajeEntrante").html(serverData)		
			return false
		})
		return false
	},
	MiCuenta: function(){	
		$(".opentab").trigger("openTabs", [ "Mi Cuenta",'#MiCuenta' ]);
		$(".navSub").removeClass("openToggler");
		$('#loader').fadeOut();
		var jObject = this
		var params	= $.extend(jObject.params, {action:'MiCuenta'})
		$.post(jObject.urlPOST, params,function(serverData){
			$("#MiCuenta").html(serverData)	
			$(".boton").button()
			$("#tabconf").tabs()
			$("#showClave").click( function(){
					if ($(this).is(':checked')){
						$("#spClave").html($("#pass").val());
					}else{
						$("#spClave").html("&nbsp;");
					}
				});
			$("#pass").keyup( function(e){
				if ($("#showClave").is(':checked')){
					$("#spClave").html($(this).val());
				}
			});			
			if($("#mainmail").val() == ""){
				$("#addmainmail").show()
			}else{
				$("#mmail,#modfboton").show()
				$("#addmainmail").hide()
			}			
			$("#addmainmail").click(function(){
				$("#mmail, #modfboton,#quitboton").show()
				$("#addmainmail").hide()
			});			
			$("#modfboton").click(function(){
				$("#mainmail").removeClass("iclaro-ready").addClass("escritura").attr("readonly",false)
				$("#cancboton, #addboton").show()
				$("#mainmail").focus();
				$("#modfboton").hide()
			});			
			$("#quitboton").click(function(){
				$("#mmail,#quitboton").hide();
				$("#addmainmail").show()
			});			
			$("#cancboton").click(function(){
				$("#mainmail").removeClass("escritura").addClass("iclaro-ready").attr("readonly",true)
				$("#cancboton, #addboton").hide()
				$("#modfboton").show()
			});
			$("#clCancelar").click(function(){
				$("#Frcuenta").val("").reset()
			});
			infocli.listcuenta()
			return false
		})
		return false
	},
	monitoreventos: function(){
		$(".opentab").trigger("openTabs", [ "Monitoreo de Eventos",'#monitoreventos' ]);
		$(".navSub").removeClass("openToggler");
		var jObject = this
		var params	= $.extend(jObject.params, {action:'monitoreventos'})
		$.post(jObject.urlPOST, params,function(serverData){
			$("#monitoreventos").html(serverData)
			$(".boton").button()
			$("#tabsito").tabs()
			vehiculospm.muestraVehiculospm()
			vehiculospm.monitoreocp()
			$("#sfecha").datepicker({ dateFormat: 'dd/mm/yy', disabled: true })
			//$("#sfecha").datepicker("option", "minDate", '-0m')
			$("#sfecha").datepicker("option", "maxDate", new Date())			
			$("#sfechayh").datetimepicker({ 
				dateFormat: 'dd/mm/yy', 
				showSecond: true,
				timeFormat: 'hh:mm:ss',
				maxDate: new Date() 
			});			
			$("#sfechayhsta").datetimepicker({ 
				dateFormat: 'dd/mm/yy', 
				showSecond: true,
				timeFormat: 'hh:mm:ss',
				maxDate: new Date() 
			});			
			$("#seluni").click(function(){
				$("#seleunidall, #seleunid, #a").toggle("slow");
				$("#cancsele").toggle();
				$("#selebtn").toggle();
				$("#Frmonitoreventos").val("").reset()
			});
		})
		return false	
	},
	Opinion: function(){
		var jObject = this
		$("#FrOpinion").reset()
		$("#sendOpinion").showDialog({
			modal: true,width: 450,
			title:'Su opini&oacute;n es importante',
			buttons: {
				"Enviar": function() {					
					if($("input:radio[name='opinionLike']:checked").length == 0){
						$("#opinionSMS").setMessage("Opci&oacute;n Necesaria <br /> * Me gusta <br /> * No me gusta ")
						$("input:radio[name='opinionLike']:first").focus();
						return false
					}
					if($("#opinionTitulo").val() == ""){
						$("#opinionSMS").setMessage("T&iacute;tulo Necesario")
						$("#opinionTitulo").focus();
						return false;
					}
					if($("#opinionMensaje").val() == ""){
						$("#opinionSMS").setMessage("Mensaje Necesario")
						$("#opinionMensaje").focus();
						return false;
					}
					var params	= $.extend(jObject.params, {action:'sendOpinion'}, $("#FrOpinion").serializeObject())
					$.postJSON(jObject.urlPOST, params,function(serverJSON){
						jObject.Message(serverJSON.messaje)
					})
					$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
	},
	Ayuda: function(){
		var jObject = this
		$("#VideoHelp").showDialog({
			modal: true,width: 470,
			title:'Video Tutoriales: Sistema TELEMOVIL 2.0',
			
			buttons: {
				"Cerrar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		/*JWPLAYER*/
		jwplayer('mediaplayer').setup({
			'id': 'playerID',
			'flashplayer': './includes/swf/player.swf',
			'width': '450',
			'height': '400',
			'playlist.size': '100',
			'playlist.position': 'bottom',
			'playlist': [
				{
					'file': './collections/videos/introduccion.mp4',
					'title': 'Intro',
					'duration': '168.550',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Explore la web de Telemovil, y aprenda a acceder al sistema	'
					
				},
				{
					'file': './collections/videos/tiemporeal.mp4',
					'title': 'Tiempo Real',
					'duration': '253.800',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Aprenda a ubicar sus unidades, en la fecha/hora actual y otras opciones que le seran utiles'
				},
				{
					'file': './collections/videos/admflotas.mp4',
					'title': 'Adm. de Flotas',
					'duration': '430.800',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Aprenda a administrar sus unidades, configurar Velocidad maxima, Vencimiento de Soat, registrar conductores y asignarlos en un vehiculo'
				},
				{
					'file': './collections/videos/paradasyrecorridos.mp4',
					'title': 'Paradas y Recorridos',
					'duration': '177.800',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Aprenda a visualizar las paradas y recorridos en una fecha expecifica, cuantas veces se detubo y KM recorridos '
				},
				{
					'file': './collections/videos/historico.mp4',
					'title': 'Historico',
					'duration': '169.550',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Aprenda a visualizar todo los puntos donde se ubico su unidad en fecha actual o expecifica'
				},
				{
					'file': './collections/videos/monit_de_eventos.mp4',
					'title': 'Monitoreo de Eventos y Mi Cuenta',
					'duration': '289.900',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Visualice los eventos producidos por su gps y aprenda a configurarlos, cambiar password de usuario'
				},
				{
					'file': './collections/videos/puntosdecontrol.mp4',
					'title': 'Puntos de Control',
					'duration': '582.000',					
					'image': './collections/videos/prevideo.jpg',
					'description': 'Aprenda a asignar puntos de control, editarlos y configurarlos para que obtenga un control de sus unidades'
				}
				
			]
		});
	},	
	Status: function(){
		var jObject = this
		sms = "Estado del Cliente: Pagos Pendientes... Opcion en Actualizacion";
		jObject.Message(sms)
		return false
	},
	Login2	: function(){
		alert(nameModule)
		var jObject = this
		var urlPOST = 'index.php';
		var module	= this.module;
		var view	= this.view;
		var params	= $.param({module:module,view:view,action:'Login'})+'&'+$('#FrLogin').serialize()
		$.postJSON(urlPOST, params,function(serverJSON){
			if(!serverJSON.isLogin){
				$('#FrLogin').reset();
				$('#FrLogin').find("input:text:visible:first").focus()
				jObject.Message(serverJSON.messaje)
			}else{
				jObject.Message(serverJSON.messaje)
				window.location = serverJSON.url;
			}			
			return false
		})
	},
	Logout	: function(){
		var jObject = this
		var params	= $.extend(jObject.params, {module:'client', action:'Logout'})
		$.postJSON(jObject.urlPOST, params,function(serverJSON){
			if(!serverJSON.isLogin){
				jObject.Message(serverJSON.messaje)
				window.location = serverJSON.url;
			}			
			return false
		})
	},
	Eliminar: function(idVehiculo,jCaller){
		var jObject = this, iPlaca = '';
		if(jCaller)
			iPlaca = $(jCaller).parent().parent().children('td:eq(1)').text();
		jConfirm('Esta seguro de eliminar el veh&iacute;culo seleccionado: <br /> <b>'+iPlaca+'</b>', 'Mensaje', function(result) {
			if(result){				
				if(idVehiculo){
					$.postJSON('/linajax/Vehiculo.php',{Cache:Math.random() * 1000000, Caso:'Eliminar', idDato:idVehiculo}, function(jServer){
						if(jServer.Error == undefined){					
							jObject.ShowMessage(jServer.Mensaje)
							if(jCaller){
								$(jCaller).parent().parent().remove();
							}else{
								location.reload()
							}
						}else{
							jObject.ShowMessage(jServer.Error)
						}
						return;
					});
				}
			}
		});
	},
	Message: function(Message){ 
		if(Message){
			$('#'+this.containerMessage).setMessage(Message,this.delayMessage)
			return;
		} 
	}
}
/*
var Geocode = {
	urlBase : "http://maps.google.com/maps/api/geocode/json?",
	LatLng	:  null,
	Address	: null,
	isLatLng: false,
	isAddress: false,
	status	: false,
	response: [],
	setLatLng: function(lat, Lng){
	
	}

}
*/

var urlPOST	= 'index.php'
var monitoreo = {	
	params	: {module:nameModule, view:'monitoreo'},
	isRefresh : false,
	isLast : false,
	isAddr : false,
	showAddr: false,
	mmRefresh : 1,
	complete : function() { },
	setSaveHistory: function(idVehiculo){
		var jObject = this
		var params	= $.extend({},jObject.params, {action:'showSaveHistory', data:$("#DataHistory"+idVehiculo).val()})		
		$('#map-loader').fadeIn();
		$("#settingSaveHistory").empty().html("Espere, Cargando Formulario...")
		$.post(urlPOST, params,function(serverData){
			$("#settingSaveHistory").html(serverData)
			$("#vColorRuta").simpleColor({boxWidth: '50px'})
			$("#FrSaveHistory .simpleColorChooser").css({'position':'absolute',zIndex:999})
			$('#map-loader').fadeOut();
		});
		$("#settingSaveHistory").showDialog({			
			title:'Historico Como Ruta Predefinida', width:400,height:350,
			buttons: {
				"Aceptar": function() {
					var winObj  = this
					if($("#vNombreRuta").val() == ""){
						$("#message").setMessage("Nombre de Ruta Necesaria")
						$("#vNombreRuta").focus()
						return false
					}
					params	= $.extend({},jObject.params, {action:'SaveHistory'},$('#FrSaveHistory').serializeObject())
					$('#map-loader').fadeIn();
					$.postJSON(urlPOST, params,function(serverJSON){
						$('#map-loader').fadeOut();
						$("#message").setMessage(serverJSON.Mensaje)						
						$( winObj ).dialog( "destroy" );
					})
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		return false;
	},
	setKML: function(){
		var jObject = this
		if($("#isRefresh").val() == 1){
			$("#onRefresh").attr("checked", true)
			$("#mmRefresh").val($("#tmRefresh").val()).addClass("escritura").removeClass("lectura").attr('disabled', false).focus()
		}else{
			$("#onRefresh").attr("checked", false)
		}
		if($("#isLast").val() == 1){
			$("#onLast").attr("checked", true)
			$("#mmLast").val($("#minLast").val()).addClass("escritura").removeClass("lectura").attr('disabled', false).focus()
		}else{
			$("#onLast").attr("checked", false)
		}
		if($("#isPoints").val() == 1){
			$("#onPoints").attr("checked", true)
		}else{
			$("#onPoints").attr("checked", false)
		}
		$("#caseKML").val("")
		if($("#isKML").val() == 1){
			$("#onKML").attr("checked", true)
		}else{
			$("#onKML").attr("checked", false)
		}
		$("#settingKML").showDialog({
			title:'Configuraci&oacute;n de Monitoreo', width:400,
			buttons: {
				"Aceptar": function() {
					if(parseFloat($("#mmLast").val()) < 5)
						$("#mmLast").val(5)
					if(parseFloat($("#mmLast").val()) > 60)
						$("#mmLast").val(60)
					$("#minLast").val($("#mmLast").val())
					if(parseFloat($("#mmRefresh").val()) <= 0)
						$("#mmRefresh").val(0.5)
					if(parseFloat($("#mmRefresh").val()) > 60)
						$("#mmRefresh").val(60)
					$("#tmRefresh").val($("#mmRefresh").val())
					//$("#csRefresh").val("TiempoReal")			
					if($("#onRefresh").is(':checked')){
						$("#isRefresh").val(1)
						jObject.isRefresh = true
						jObject.mmRefresh = parseFloat($("#tmRefresh").val() * 60);			
					}else{
						$("#isRefresh").val(0)
						jObject.isRefresh = false
						jObject.mmRefresh = 0;
					}
					if($("#onPoints").is(':checked'))
						$("#isPoints").val(1);
					else
						$("#isPoints").val(0);
					if($("#onLast").is(':checked')){
						$("#isLast").val(1)
						jObject.isLast = true;
					}else{
						$("#isLast").val(0)
						jObject.isLast = false;
					}	
					if($("#onKML").is(':checked'))
						$("#isKML").val(1)
					else
						$("#isKML").val(0)
					$("#mmDataHistory").val($("#mmFechaDesde").val()+';'+$("#mmFechaHasta").val())		
					$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		return false;
	},
	getKML: function(){
		var jObject = this
		var params	= $.extend({}, jObject.params, {action:'getKML'}, $("#FrMonitoreo").serializeObject())		
		$.download(urlPOST, params)
		return false;
	},
	getXLS: function(){	
		var jObject = this
		data = $('#map_ajaxdescripcion').html()
		var params = $.extend({}, jObject.params, {action:'getXLS', data: data})		
		$.download(urlPOST, params)
		return false
	},
	getCliente: function(){
		var jObject = this	
		var params	= $.extend({},jObject.params, {action:'getCliente'}, $("#FrMonitoreo").serializeObject())	
		$("#map-loader").fadeIn();$("#spsubclient").remove()
		$.post(urlPOST, params,function(serverData){
			$('#map-loader').fadeOut();
			$("#clientlist").html(serverData)	
			$("<span id='spsubclient'></span>").html($("#FrMonitoreo #subcliente option:selected").text()).appendTo("#map_content").addClass('message-info').css({'position':'absolute'});
			//$("#FrMonitoreo #allVehiculo").click().attr()
			$("#FrMonitoreo #allVehiculo").trigger("click").attr("checked", true)
			jObject.TiempoReal()
		})
		return false	
	},
	SeleccionaVehiculo: function(){
		var jObject = this;
		$("#BuscaPlaca").val('').empty()
		idDato = $("#idDato").val()
		$("#FrMonitoreo").reset()
		$("input:checkbox[name='Vehiculo[]']").each(function(){
			if($(this).val() == idDato){
				$(this).attr("checked", true).trigger('click').attr("checked", true)
				$("#idDato").val('')
				jObject.TiempoReal()
				return;
			}
		})
	},
	getAddr : function(){		
		var jObject = this;		
		if(!jObject.showAddr){
			$("input[name='addrLatLng[]']").each( function(i){
				var addr = this;
				setTimeout(function() {
					LatLng = $(addr).val().split(';')
					$.goMap.geocodeLatLng({Lat:LatLng[0], Lng:LatLng[1], Inner: $(addr).parent()})
				}, 500 * i);				
			})
			jObject.showAddr = true
		}
		//$("#log").val($("#log").val() + "\n : " + jObject.showAddr)
	},
	ParadaRecorrido: function(prfecha){
		var jObject = this
		$("#map_detail").fadeOut()
		if($("#map_detail #map_detalle").not(':hidden')){
			$("#map_detail #map_detalle, .close-detail").hide()
			$("#map_detail .ventana-title .colapser").click()
		}		
		$("#map_ajaxdetalle, #map_ajaxdescripcion").remove()
		$("#map-loader").fadeIn()
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()			
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#setTimer").stop()
		$(".timer").fadeOut()
		$("#settingParaReco").showDialog("destroy")
		$("#map_descripcion").height(250)	
		$("#settingTiempoReal").showDialog("destroy")
		$("#settingHistory").showDialog("destroy")
		$("#describe_setting").empty().hide()
		var params	= $.extend({}, jObject.params, {action:'paradarecorrido', prfecha: prfecha}, $("#FrMonitoreo").serializeObject())				
		$("#map_describe").show('normal', function(){
			if($("#map_descripcion").is(':hidden')){
				$("#map_describe .ventana-title").click()
			}
		})
		$("#describe-loader").fadeIn()
		$.post(urlPOST, params,function(serverData){
		//alert($.print_r(serverData))
			$("#describe-loader, #map-loader").fadeOut()
			if(!$("#map_ajaxdescripcion").exists())
				$("<div></div>").attr({id:'map_ajaxdescripcion'}).appendTo("#map_descripcion")
			$("#map_ajaxdescripcion").html(serverData)	
			jObject.showAddr = false
			$("#map_describe .ventana-title").trigger("getAddr", [ true ]);
			//$("#map_describe .ventana-title").trigger("getAddr", [ monitoreo.isAddr ]);
			$("#ed").text("Paradas y Recorrido");	
			$("#describe_setting").empty().hide().delay(200).append($("#setParadasreco")).fadeIn();			
		})
		
	},
	verParayreco: function (obj){
		var jObject = this
		
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()			
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#map-loader").fadeIn()
		//alert($('#datos').children('tr td:eq(1)').html());
		$("td.celda, td.celdaalt ,td.celdacls").removeClass("celdahover")
		params	= $.extend({},jObject.params, {action:'VerParareco',ubihastdsd:$(obj).parents('tr').children('td:eq(1)').find("input:text").val(), idVehiculo:$("input:checkbox[name='Vehiculo[]']:checked").val()})			
		$(obj).parents("tr").children("td.celda, td.celdaalt ,td.celdacls").addClass("celdahover")
		$.postJSON(urlPOST, params,function(serverJSON){
			$("#map-loader").fadeOut()
			var newCoords = new Array()
			$.each(serverJSON, function(j, pos){
			if(!pos.idUbicacion)
			return;
			newCoords.push({latitude: pos.Lat, longitude: pos.Lon})
			//alert($.print_r(pos.Lat + " -- " + pos.Lon));	
				$.goMap.createMarker({
					latitude: pos.Lat, 
					longitude: pos.Lon, 
					id: 'mark'+pos.idUbicacion,
					group: 'group'+pos.idVehiculo,
					title: pos.Placa,
					icon: pathCollections+'/icons/default.png',
					html: { id:'#Ubicacion-'+pos.idUbicacion} 
				});
			});
			$.goMap.createPolyline({
					id: 'line',
					color: $.randColor(),
					opacity: 0.5,
					weight:	4,
					coords:	newCoords
				});	
			
			var markers = $.goMap.getMarkers("markers");
				if(markers.length>0)
					$.goMap.fitBounds();
			
		})
	},
	setParayReco: function(){
		var jObject = this
		$("#prfecha").datepicker({ dateFormat: 'dd/mm/yy', disabled: true})
		$("#prfecha").datepicker("option", "maxDate", new Date())
		$("#settingParaReco").showDialog({
			title:'Configuraci&oacute;n Paradas y Recorridos:',
			buttons: {
				"Aceptar": function() {
					jObject.ParadaRecorrido($("#prfecha").val())
					$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false,
			width: 320,
			height:250
		})
		return false;
	},
	Historico: function(Desde, Hasta){
		var jObject = this
		var jObject = this
		$("#caseKML").val("Historico")
		if($("#isKML").val() == 1){
			jObject.getKML()
			return false
		}
		$("#map_ajaxdetalle, #map_ajaxdescripcion").remove()
		$("#map-loader").fadeIn()
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()			
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#setTimer").stop()
		$(".timer").fadeOut()
		$("#map_describe").fadeOut()
		if($("#map_detail").is(':hidden')){
			$("#map_detail").fadeIn()
			$("#map_detail #map_detalle, .close-detail").hide()
			$("#map_detail .ventana-title .colapser").click()
		}		
		var params	= $.extend({}, jObject.params, {action:'Historico', HistoryFechaDesde: Desde, HistoryFechaHasta: Hasta}, $("#FrMonitoreo").serializeObject())
		$("#map-loader").fadeIn();
		$("#settingTiempoReal, #settingParaReco, #settingHistory, #settingSaveHistory").showDialog("destroy")
		$("#describe_setting, #map_setting").empty().hide()
		$.postJSON(urlPOST, params,function(serverJSON){
			$("#map-loader").fadeOut()
			params	= $.extend({}, jObject.params, {action:'detalleHistorico', data:serverJSON})
			$("#detail-loader").fadeIn()
			$.post(urlPOST, params,function(serverData){
				$("#detail-loader").fadeOut()
				if(!$("#map_ajaxdetalle").exists())
					$("<div></div>").attr({id:'map_ajaxdetalle'}).appendTo("#map_detalle")
				$("#map_ajaxdetalle").html(serverData)/*
				$("#mmFechaDesde, #mmFechaHasta").datetimepicker({ 
					dateFormat: 'dd/mm/yy', 
					timeFormat: 'hh:mm:ss',
					maxDate: new Date(),
					showSecond: true
				})				*/
				$("#map_setting").append($("#setHistory")).fadeIn()								
			})
			$.each(serverJSON, function(i,item){
				if(item.Data){
					var newCoords = new Array()
					$.each(item.Data, function(j, pos){						
						if(!pos.idUbicacion)
							return;
						newCoords.push({latitude: pos.Lat, longitude: pos.Lon})
						$.goMap.createMarker({
							latitude: pos.Lat, 
							longitude: pos.Lon, 
							id: 'mark'+pos.idUbicacion,
							group: 'group'+item.idVehiculo,
							title: pos.Placa,
							icon: pathCollections+'/icons/default.png',
							html: { id: '#Ubicacion-'+pos.idUbicacion} 
						});
					})
					$.goMap.createPolyline({
						id: 'line'+item.idVehiculo,
						color: $.randColor(),
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});					
				}
			})
			var markers = $.goMap.getMarkers("markers");
			if(markers.length>0)
				$.goMap.fitBounds();
		});		
	},
	setHistory: function(){
		var jObject = this
		$("#settingHistory").showDialog({
			title:'Configuraci&oacute;n de Monitoreo: Historico',
			buttons: {
				"Aceptar": function() {
					jObject.Historico($("#mmFechaDesde").val(), $("#mmFechaHasta").val())
					$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		return false;
	},
	TiempoReal: function(){
		var jObject = this
		$("#caseKML").val("TiempoReal")
		//if($("#isKML").val() == 1 && jObject.isRefresh == false){
		if($("#isKML").val() == 1){
			jObject.getKML()
			$("#isRefresh").val(0)
			jObject.isRefresh = false
			jObject.mmRefresh = 0;
			$(".timer").fadeIn()
			$("#setTimer").stop()
			return false
		}
		$("#settingParaReco").showDialog("destroy")
		$("#ed").text("Informacion Adicional [Nombre de Calles]");	
		$("#describe_setting, #map_setting").empty().hide()
		if($("#map_detail").is(':hidden')){
			$("#map_detail").fadeIn()
			$("#map_ajaxdetalle, #map_ajaxdescripcion").remove()
			$("#map_detail #map_detalle, .close-detail").hide()
			$("#map_detail .ventana-title .colapser").click()			
		}
		$("#map_descripcion").height(100)
		var params	= $.extend({}, jObject.params, {action:'TiempoReal'}, $("#FrMonitoreo").serializeObject())		
		$("#map-loader").fadeIn();
		$("#settingTiempoReal").showDialog("destroy")
		$("#settingHistory").showDialog("destroy")
		$("#settingKML").dialog("destroy")
		$.postJSON(urlPOST, params,function(serverJSON){
			$("#map-loader").fadeOut()
			params	= $.extend({}, jObject.params, {action:'detTiempoReal', data:serverJSON})
			$("#detail-loader").fadeIn()
			$.post(urlPOST, params,function(serverData){
				$("#detail-loader").fadeOut()
				if(!$("#map_ajaxdetalle").exists())
					$("<div></div>").attr({id:'map_ajaxdetalle'}).appendTo("#map_detalle")
					$("#map_ajaxdetalle").html(serverData)				
				if(jObject.isRefresh){
					$(".timer").fadeIn()
					$("#setTimer").stop().countDown({
						to:jObject.mmRefresh, timing:'s', onComplete: function(){ jObject.TiempoReal(); $(".timer").fadeOut() }
					})
				}
				$("#map_setting").append($("#setRealTime")).fadeIn()
				if(!$("#map_ajaxpuntocontrol").exists())
					$("<div></div>").attr({id:'map_ajaxpuntocontrol'}).prependTo("#map_detalle")
				if($("#isPoints").val() == 1){
					if($("#FrMonitoreo input:checkbox[name='Point[]']").length >=0){
						params2	= $.extend({}, jObject.params, {action:'ListaPuntoControl'}, $("#FrMonitoreo").serializeObject())
						$.post(urlPOST, params2,function(serverData){
							//$("#describe-loader").fadeOut()
							$("#map_ajaxpuntocontrol").html(serverData)						
							jObject.showPuntos(serverJSON)
						})
					}					
				}else{
					$("#map_ajaxpuntocontrol").empty().remove()
				}
			})
			$("#describe-loader").fadeIn()
			params	= $.extend({}, jObject.params, {action:'desTiempoReal', data:serverJSON})
			jObject.showAddr = false
			$("#map_describe").show()
			$.post(urlPOST, params,function(serverData){
				$("#describe-loader").fadeOut()
				if(!$("#map_ajaxdescripcion").exists())
					$("<div></div>").attr({id:'map_ajaxdescripcion'}).appendTo("#map_descripcion")
				jObject.isAddr = true;
				$("#map_ajaxdescripcion").html(serverData)
				$("#map_describe .ventana-title").trigger("getAddr", [ monitoreo.isAddr ]);
			})
			$.goMap.setMap({addMarker: false})
			$.goMap.clearListeners()
			$.goMap.clearMarkers()			
			$.goMap.clearOverlays('polyline')
			$.goMap.clearOverlays('circle')
			$.each(serverJSON, function(i,item){
				if(item.Data){
					var newCoords = new Array()
					$.each(item.Data, function(j, pos){
						if(!pos.idUbicacion)
							return;
						nRun = ""
						if(parseFloat(pos.Velocidad)==0)
							nRun = "stop_"
						if(parseFloat(pos.Orientacion) < 315 && parseFloat(pos.Orientacion) >= 225)
							nIcon = pathCollections+'/icons/'+nRun+'default(O).png'
						else if(parseFloat(pos.Orientacion) < 225 && parseFloat(pos.Orientacion) >= 135)
							nIcon = pathCollections+'/icons/'+nRun+'default(S).png'
						else if(parseFloat(pos.Orientacion) < 135 && parseFloat(pos.Orientacion) >= 45)					
							nIcon = pathCollections+'/icons/'+nRun+'default(E).png'
						else
							nIcon = pathCollections+'/icons/'+nRun+'default(N).png'					
						
						newCoords.push({latitude: pos.Lat, longitude: pos.Lon})
						$.goMap.createMarker({
							latitude: pos.Lat, 
							longitude: pos.Lon, 
							id: 'mark'+pos.idUbicacion,
							group: 'group'+item.idVehiculo,
							title: pos.Placa,
							icon: nIcon,
							html: { id: '#Ubicacion-'+pos.idUbicacion} 
						});
					})
					$.goMap.createPolyline({
						id: 'line'+item.idVehiculo,
						color: $.randColor(),
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});
					
				}else{
					if(!item.idUbicacion)
						return;
					nRun = ""
					intFecha = $.diferenceDate(item.Fecha)
					if(intFecha >= 1800)
						nRun = "off_"
					if(parseFloat(item.Velocidad)==0 && intFecha < 1800)
						nRun = "stop_"
					if(parseFloat(item.Orientacion) < 315 && parseFloat(item.Orientacion) >= 225)
						nIcon = pathCollections+'/icons/'+nRun+'default(O).png'
					else if(parseFloat(item.Orientacion) < 225 && parseFloat(item.Orientacion) >= 135)
						nIcon = pathCollections+'/icons/'+nRun+'default(S).png'
					else if(parseFloat(item.Orientacion) < 135 && parseFloat(item.Orientacion) >= 45)					
						nIcon = pathCollections+'/icons/'+nRun+'default(E).png'
					else
						nIcon = pathCollections+'/icons/'+nRun+'default(N).png'					
					$.goMap.createMarker({
						latitude: item.Lat, 
						longitude: item.Lon, 
						id: 'mark'+item.idUbicacion,
						group: 'group'+item.idVehiculo,
						title: item.Placa,
						icon: nIcon,
						html: { id: '#Ubicacion-'+item.idUbicacion} 
					});
				}
			});			
			//$.goMap.autoCenter();
			var markers = $.goMap.getMarkers("markers");
			if(markers.length>0)
				$.goMap.fitBounds();			
			for (var i = 0, l = markers.length; i < l; i++) {
				$.goMap.createListener({type:'marker', marker: markers[i].id}, 'click', function() {
					$(".goMarker").each(function(){
						$(this).removeClass('current')
					})
					var goMark ='#go'+$.strCapital(this.id)
					var gmMark ='#gm'+$.strCapital(this.id)
					$(goMark).addClass('current');
					$(gmMark).addClass('current');
					if($(goMark).is(':hidden')){
						$(goMark).parents('fieldset').find(".togglePoint").trigger('click')
					}
					var divOffset = $('#map_detalle').offset().top;
					var pOffset = $(goMark).offset().top;
					var pScroll = pOffset - divOffset;
					$('#map_detalle').animate({scrollTop: pScroll}, 500);
					if($(gmMark).not(':hidden')){
						var divOffset = $('#map_descripcion').offset().top;
						var pOffset = $(gmMark).offset().top;
						var pScroll = pOffset - divOffset;
						$('#map_descripcion').animate({scrollTop: pScroll}, 500);
					}					
				});			
			}			
		})
	},
	setTiempoReal: function(){
		var jObject = this
		if($("#isRefresh").val() == 1){
			$("#onRefresh").attr("checked", true)
			$("#mmRefresh").val($("#tmRefresh").val()).addClass("escritura").removeClass("lectura").attr('disabled', false).focus()
		}else{
			$("#onRefresh").attr("checked", false)
		}
		if($("#isLast").val() == 1){
			$("#onLast").attr("checked", true)
			$("#mmLast").val($("#minLast").val()).addClass("escritura").removeClass("lectura").attr('disabled', false).focus()
		}else{
			$("#onLast").attr("checked", false)
		}
		if($("#isPoints").val() == 1){
			$("#onPoints").attr("checked", true)
		}else{
			$("#onPoints").attr("checked", false)
		}
		$("#settingTiempoReal").showDialog({
			title:'Configuraci&oacute;n de Monitoreo: Tiempo Real',
			buttons: {
				"Aceptar": function() {
					if($("#onRefresh").is(':checked'))
						$("#isRefresh").val(1)
					else
						$("#isRefresh").val(0)
					if($("#onPoints").is(':checked'))
						$("#isPoints").val(1);
					else
						$("#isPoints").val(0);
					if($("#onLast").is(':checked')){
						$("#isLast").val(1)
						jObject.isLast = true;
					}else{
						$("#isLast").val(0)
						jObject.isLast = false;
					}
					if(parseFloat($("#mmLast").val()) < 5)
						$("#mmLast").val(5)
					if(parseFloat($("#mmLast").val()) > 60)
						$("#mmLast").val(60)
					$("#minLast").val($("#mmLast").val())
					if(parseFloat($("#mmRefresh").val()) <= 0)
						$("#mmRefresh").val(0.5)
					if(parseFloat($("#mmRefresh").val()) > 60)
						$("#mmRefresh").val(60)
					$("#tmRefresh").val($("#mmRefresh").val())
					$("#csRefresh").val("TiempoReal")					
					jObject.Refresh()
					$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		return false;
	},
	Refresh: function(){
		var jObject = this
		Caso= $("#csRefresh").val()
		switch (Caso){
			case "TiempoReal":
				jObject.complete = function(){ jObject.TiempoReal(); $(".timer").fadeOut() };
			break;
		}		
		if($("#isRefresh").val() == 0){
			$("#setTimer").stop()
			$(".timer").fadeOut()			
			jObject.isRefresh = false;
			//return false;		
		}else{		
			jObject.isRefresh = true
			jObject.mmRefresh = parseFloat($("#tmRefresh").val() * 60);
			$(".timer").fadeIn()
			$("#setTimer").stop().countDown({
				to:jObject.mmRefresh, timing:'s', onComplete: jObject.complete
			})
		}		
		if($("#isPoints").val() == 1){
			jObject.TiempoReal();
			return false;			
		}else{
			$("#map_ajaxpuntocontrol").remove()
		}
		if($("#isLast").val() == 1){
			jObject.TiempoReal();
			return false
		}
		if($("#isRefresh").val() == 0 && $("#isLast").val() == 1){
			jObject.TiempoReal();
			return false;
		}
		return false
	},
	PuntoControl: function(){
		var jObject = this
		$("#tabs").tabs('select', 0)		
		$("#FrMonitoreo").reset()
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		var params	= $.extend({}, jObject.params, {action:'PuntoControl'})		
		$("#detail-loader").fadeIn()
		$.post(urlPOST, params,function(serverData){
			$("#detail-loader").fadeOut()
			if(!$("#map_ajaxdetalle").exists())
				$("<div></div>").attr({id:'map_ajaxdetalle'}).appendTo("#map_detalle")
			$("#map_ajaxdetalle").html(serverData)
			$(".boton").button()			
			$('#ColorPunto').simpleColor({onChange: function(){
				if($("#setGroupPunto").is(':checked')){					
					var markers = $.goMap.getMarkers();
					$.goMap.clearOverlays('polyline')
					var newCoords = new Array()
					$.each(markers, function(i, val){
						pos= val.split(",")
						newCoords.push({latitude: pos[0], longitude: pos[1]})
					})
					$.goMap.createPolyline({
						color: $(this).val(),
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});
				}
			}});
			$("#map_setting").empty().hide()
			$("#setGroupPunto").click(function(){
				if($(this).is(':checked')){
					var markers = $.goMap.getMarkers();
					$.goMap.clearOverlays('polyline')
					var newCoords = new Array()
					$.each(markers, function(i, val){
						pos= val.split(",")
						newCoords.push({latitude: pos[0], longitude: pos[1]})
					})
					$.goMap.createPolyline({
						color: $("#ColorPunto").val(),
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});
				}else{
					$.goMap.clearOverlays('polyline')
				}
			})
			$("#backPunto").click(function (){
				$(this).hide()
				$("#addPunto, #showPunto").removeClass('hide')
				$("#savePunto, #listPunto").addClass('hide')
				$.goMap.setMap({addMarker: false})
				$.goMap.clearListeners()
				$.goMap.clearMarkers()
				$.goMap.clearOverlays('polyline')
				$.goMap.clearOverlays('circle')
				$("#groupPunto").children("fieldset").each(function(){
					$(this).remove()
				})
			}).hide()
		})
		$( ".navSub" ).removeClass("openToggler");
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#map_describe").fadeOut()
		$("#allVehiculo").trigger("click").attr("checked", false)
		$("#listOption").hide('normal', function(){
			$(window).trigger('resize')
			$("#map_ajaxdescripcion").remove()
			if($("#map_detail").is(':hidden')){
				$("#map_detail").fadeIn()
				$("#map_detail #map_detalle, .close-detail").hide()
				$("#map_detail .ventana-title .colapser").click()
			}
			$("#map_descripcion").height(100)
		})
		return false;
	},
	addPunto: function(){
		$("#TipoFr").val("R")
		$.goMap.setMap({icon: pathCollections+'/icons/direction_down.png', disableDoubleClickZoom: true})
		$("#addPunto, #showPunto").addClass("hide");$("#listPunto, #backPunto").removeClass("hide"); $("#backPunto").show()
		$.goMap.createListener({type:'map'}, 'click', function(event) { 
			var options = { position:  event.latLng, draggable: true, html: {}}
			var marker = $.goMap.createMarker(options);
			var markers = $.goMap.getMarkers();
			var newCoords = new Array()
			$.goMap.clearOverlays('polyline')
			//alert("Add")
			var circle = $.goMap.createCircle({
					color: '#00cc00',
					weight:	1,
					id: marker.id + 'circle',
					fillColor: '#00cc00',
					latitude: marker.getPosition().lat(), 
					longitude: marker.getPosition().lng(),
					radius: 100
				});
			
			if($("#setGroupPunto").is(':checked')){
				markers = $.goMap.getMarkers()
				newCoords = new Array()
				$.each(markers, function(i, val){
					pos= val.split(",")
					newCoords.push({latitude: pos[0], longitude: pos[1]})
				})
				$.goMap.createPolyline({
					color: $("#ColorPunto").val(),
					opacity: 0.5,
					weight:	4,
					coords:	newCoords
				});
			}
			if(markers.length>0){
				$("#savePunto").removeClass("hide")
			}
			var mainField = $("<fieldset></fieldset>").attr({id:'field'+marker.id}).addClass("fieldPoint")				
			var legend = $("<legend></legend>")
			var legendField = $("<div></div>").addClass("fieldLegend")
			var spanToken = $("<span></span>").addClass("token").html("<span style='float:left'>Nuevo Punto: </span>").css({'float':'left'})
			var closeToken= $("<span></span>").addClass("ui-icon ui-icon-circlesmall-close").attr({title:'Quitar Punto'})
				.css({cursor:'pointer','float':'right','margin-top':'-4px','margin-right':0}).click(function(){
					parentField = $(this).parents('fieldset')
					$.goMap.removeMarker(parentField.attr('id').substr(5).toLowerCase()); 
					parentField.remove()
					$.goMap.clearOverlays('polyline')
					$.goMap.removeOverlay('circle', marker.id + 'circle')
					if($("#setGroupPunto").is(':checked')){
						markers = $.goMap.getMarkers()
						newCoords = new Array()
						$.each(markers, function(i, val){
							pos= val.split(",")
							newCoords.push({latitude: pos[0], longitude: pos[1]})
						})
						$.goMap.createPolyline({
							color: $("#ColorPunto").val(),
							opacity: 0.5,
							weight:	4,
							coords:	newCoords
						});
					}
				})
			closeToken.appendTo(spanToken)
			spanToken.appendTo(legendField)
			legendField.appendTo(legend)
			legend.appendTo(mainField)
			mainField.appendTo("#groupPunto")			
			var tokenPoint = $("<div></div>").addClass("tokenPoint").css({'border':'1px solid #aed0ea','margin-top':'-10px','padding':'4px'})
			var tokenLatLng = $("<input />").attr({"name":"LatLng[]", "id":"LatLng[]","type":"hidden", "readonly":true}).addClass("lectura")
			var tokenName = $("<input />").attr({"name":"Punto[]", "id":"Punto[]", "type":"text", "readonly":true, "title": "Doble click para modificar"})
				.addClass("lectura").css({"margin":"5px", "width":"220px"}).dblclick(function(){
					$(this).removeClass("lectura").addClass("escritura").removeAttr("readonly").select().focus()
				}).blur(function(){
					$(this).removeClass("escritura").addClass("lectura").attr({"readonly":true})
					spanPoint.html($(this).val())					
				}).keypress(function(e){
					if(e.which == 13 ){
						e.preventDefault();
						$(this).trigger("blur")						
					}
				})
			var idx = 100;
			var tokenRadio = $("<input />").attr({"name":"PuntoRadio[]", "id":"PuntoRadio[]", "type":"text", "readonly":true, "title": "Doble click para modificar"})
				.addClass("lectura").css({"margin":"5px", "width":"100px"}).dblclick(function(){
					$(this).removeClass("lectura").addClass("escritura").removeAttr("readonly").select().focus()
				}).blur(function(){
					idx = $(this).val()
					$(this).removeClass("escritura").addClass("lectura").attr({"readonly":true})
					$.goMap.removeOverlay('circle', marker.id + 'circle')
					circle = $.goMap.createCircle({
						color: '#00cc00',
						weight:	1,
						id: marker.id + 'circle',
						fillColor: '#00cc00',
						latitude: marker.getPosition().lat(), 
						longitude: marker.getPosition().lng(),
						radius: parseInt(idx)
					})
					//spanPoint.html($(this).val())					
				}).keypress(function(e){
					if(e.which == 13 ){
						e.preventDefault();
						$(this).trigger("blur")						
					}
				})
			var geoPoint = $("<div></div>").hide()
			var infoPoint = $("<div></div>").addClass("infoPoint").css({"width":'200px'})
			var geoLatLng = $("<div></div>").addClass("borderPoint")
			var goMarker = $("<span></span>").addClass("ui-icon ui-icon-pin-w").css({'float':'right',cursor:'pointer'}).click(function(){
				$.goMap.getMap().panTo(marker.getPosition())
				$.goMap.setInfo(marker.id, geoPoint.html()); 
				google.maps.event.trigger($($.goMap.mapId).data(marker.id), 'click'); 
			})
			var spanPoint = $("<span></span>")
			goMarker.appendTo(tokenPoint)
			tokenName.appendTo(tokenPoint).val("Nuevo Punto: Sin Nombre")
			tokenRadio.appendTo(tokenPoint).val("100")
			tokenLatLng.appendTo(tokenPoint).val(event.latLng.lat() + ";" + event.latLng.lng())
			spanPoint.appendTo(infoPoint).html(tokenName.val())
			geoLatLng.appendTo(infoPoint)
			infoPoint.appendTo(geoPoint)
			geoPoint.appendTo(tokenPoint)
			tokenPoint.appendTo(mainField)	
			
			$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})			
			$.goMap.createListener({type:'marker', marker:marker.id},'dragend', function(event) {
				tokenLatLng.val(marker.getPosition().lat() + ";" + marker.getPosition().lng())
				$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})				
				$.goMap.clearOverlays('polyline')
				$.goMap.removeOverlay('circle', marker.id + 'circle')
				circle = $.goMap.createCircle({
					color: '#00cc00',
					weight:	1,
					id: marker.id + 'circle',
					fillColor: '#00cc00',
					latitude: marker.getPosition().lat(), 
					longitude: marker.getPosition().lng(),
					radius: parseInt(idx)
				});
				if($("#setGroupPunto").is(':checked')){
					markers = $.goMap.getMarkers()
					newCoords = new Array()
					$.each(markers, function(i, val){
						pos= val.split(",")
						newCoords.push({latitude: pos[0], longitude: pos[1]})
					})
					//alert($.randColor())
					$.goMap.createPolyline({
						color: $("#ColorPunto").val(),
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});
				}
				if($($.goMap.mapId).data(marker.id + 'info').show){
					$($.goMap.mapId).data(marker.id + 'info').show = false
					$($.goMap.mapId).data(marker.id + 'info').close()
				}
			});			
			$.goMap.createListener({type:'marker', marker:marker.id},'drag', function(event) {
				tokenLatLng.val(marker.getPosition().lat()+ ";"+marker.getPosition().lng())
			});
			$.goMap.createListener({type:'marker', marker:marker.id},'click', function(event) {
				$.goMap.setInfo(marker.id, geoPoint.html()); 
			});
		});
		return false
	},
	savePunto: function(){
		var jObject = this
		$("#setTimer").stop()
		$("#map-loader").fadeIn()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		var params	= $.extend({}, jObject.params, {action:'savePunto'}, $("#FrMonitoreo").serializeObject())
		$.postJSON(urlPOST, params,function(serverJSON){
			$("#map-loader").fadeOut()
			alert(serverJSON.Mensaje)
			jObject.PuntoControl()
		});		
		return false;
	},
	getPuntos: function(idGrupoPunto, Hide){
		var jObject = this
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		var params	= $.extend({}, jObject.params, {action:'getPuntos', idGrupoPunto:idGrupoPunto})
		if(!Hide){
			$.goMap.setMap({addMarker: false})
			$.goMap.clearListeners()
			$.goMap.clearMarkers()
			$.goMap.clearOverlays('polyline')
			$.goMap.clearOverlays('circle')
		}
		$.postJSON(urlPOST, params,function(serverJSON){
			if(serverJSON.Data){
				var newCoords = new Array()
				$.each(serverJSON.Data, function(j, pos){						
					if(!pos.idPuntoControl)
						return;
					latlng = pos.LatLng.split(";")
					newCoords.push({latitude: latlng[0], longitude: latlng[1]})
					var marker = $.goMap.createMarker({
						latitude: latlng[0], 
						longitude: latlng[1],
						draggable: false,
						title: pos.Nombre,
						icon: pathCollections+'/icons/direction_down.png',
						html: {} 
					});					
					var circle = $.goMap.createCircle({
							color: '#00cc00',
							weight:	1,
							id: marker.id + 'circle',
							fillColor: '#00cc00',
							latitude: marker.getPosition().lat(), 
							longitude: marker.getPosition().lng(),
							radius: parseInt(pos.Radio)
						});
					var geoPoint = $("<div></div>").hide()
					var infoPoint = $("<div></div>").addClass("infoPoint").css({"width":'200px'})
					var geoLatLng = $("<div></div>").addClass("borderPoint")
					var spanPoint = $("<span></span>")
					spanPoint.appendTo(infoPoint).html(pos.Nombre)
					geoLatLng.appendTo(infoPoint)
					infoPoint.appendTo(geoPoint)								
					$.goMap.createListener({type:'marker', marker:marker.id},'click', function(event) {
						$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})
						$.goMap.setInfo(marker.id, geoPoint.html()); 						
					});
				})
				if(serverJSON.Ruta == '1'){
					$.goMap.createPolyline({
						id: 'line'+serverJSON.idGrupoPunto,
						color: serverJSON.ColorGrupoPunto,
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});	
				}
				var markers = $.goMap.getMarkers("markers");
				if(markers.length>0)
					$.goMap.fitBounds();				
			}			
		});		
		return false;
	},
	movetoPuntos: function(idGrupoPunto){
		var markers = $.goMap.getMarkers("group", 'grouppuntos'+idGrupoPunto);
		//alert($.print_r(markers))
		$.goMap.fitBounds("markers", markers);
		return false;
	},
	showPuntos: function(jsonData){
		//idGrupoPunto
		var jObject = this		
		var params	= $.extend({}, jObject.params, {action:'showPuntosVehiculo'}, $("#FrMonitoreo").serializeObject())
		$.postJSON(urlPOST, params,function(serverJSON){			
			$.each(serverJSON, function(i, sData){
				//alert($.print_r(sData))
				var newCoords = new Array()
				$.each(sData.Data, function(j, pos){
					if(!pos.idPuntoControl)
						return;
					latlng = pos.LatLng.split(";")
					newCoords.push({latitude: latlng[0], longitude: latlng[1]})
					//alert(latlng)
					//alert('group'+sData.idGrupoPunto)
					var marker = $.goMap.createMarker({
						latitude: latlng[0], 
						longitude: latlng[1],
						draggable: false,
						optimized:false,						
						title: pos.Nombre,
						id: 'point'+pos.idPuntoControl,
						group: 'grouppuntos'+sData.idGrupoPunto,
						//icon: pathCollections+'/icons/aniblue.gif',
						icon: pathCollections+'/icons/transmit2.png',
						html: {} 
					});
					var circle = $.goMap.createCircle({
						color: '#00cc00',
						weight:	1,
						id: marker.id + 'circle',
						fillColor: '#00cc00',
						latitude: marker.getPosition().lat(), 
						longitude: marker.getPosition().lng(),
						radius: parseInt(pos.Radio)
					});
					iRadio = parseInt(pos.Radio) + 1
					$.each(jsonData, function(k,item){
						if(item.Data){
							$.each(item.Data, function(l, nData){
								dLatLng = $.roundDecimal($.distanceLatLng(latlng[0], latlng[1], nData.Lat, nData.Lon, 'K') * 1000, 2);
								if(dLatLng <= iRadio){
									$.goMap.setMarker('point'+pos.idPuntoControl,{icon:pathCollections+'/icons/aniblue.png',optimized:false});
									nPuntoControl = "Punto de Control: " + pos.Nombre;
									$('#gmMark' + nData.idUbicacion).parents('tr').children('td:eq(4)').html(nPuntoControl)
								}
							})						
						}else{
							dLatLng = $.roundDecimal($.distanceLatLng(latlng[0], latlng[1], item.Lat, item.Lon, 'K') * 1000, 2);
							if(dLatLng <= iRadio){
								$.goMap.setMarker('point'+pos.idPuntoControl,{icon:pathCollections+'/icons/aniblue.gif',optimized:false});
								nPuntoControl = "Punto de Control: " + pos.Nombre;
								$('#gmMark' + item.idUbicacion).parents('tr').children('td:eq(4)').html(nPuntoControl)
							}							
						}
					})
					
					//distanceLatLng
					var geoPoint = $("<div></div>").hide()
					var infoPoint = $("<div></div>").addClass("infoPoint").css({"width":'200px'})
					var geoLatLng = $("<div></div>").addClass("borderPoint")
					var spanPoint = $("<span></span>")
					spanPoint.appendTo(infoPoint).html(pos.Nombre)
					geoLatLng.appendTo(infoPoint)
					infoPoint.appendTo(geoPoint)
					$.goMap.createListener({type:'marker', marker:marker.id},'click', function(event) {
						$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})
						$.goMap.setInfo(marker.id, geoPoint.html()); 						
					});
				})				
				if(sData.Ruta == '1'){
					$.goMap.createPolyline({
						id: 'line'+sData.idGrupoPunto,
						color: sData.ColorGrupoPunto,
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});	
				}
			})
			var markers = $.goMap.getMarkers("markers");
			if(markers.length>0)
				$.goMap.fitBounds();
			return;
			
			if(serverJSON.Data){
				var newCoords = new Array()
				$.each(serverJSON.Data, function(j, pos){						
					if(!pos.idPuntoControl)
						return;
					latlng = pos.LatLng.split(";")
					newCoords.push({latitude: latlng[0], longitude: latlng[1]})
					var marker = $.goMap.createMarker({
						latitude: latlng[0], 
						longitude: latlng[1],
						draggable: false,
						title: pos.Nombre,
						icon: pathCollections+'/icons/direction_down.png',
						html: {} 
					});					
					var circle = $.goMap.createCircle({
							color: '#00cc00',
							weight:	1,
							id: marker.id + 'circle',
							fillColor: '#00cc00',
							latitude: marker.getPosition().lat(), 
							longitude: marker.getPosition().lng(),
							radius: 100
						});
					var geoPoint = $("<div></div>").hide()
					var infoPoint = $("<div></div>").addClass("infoPoint").css({"width":'200px'})
					var geoLatLng = $("<div></div>").addClass("borderPoint")
					var spanPoint = $("<span></span>")
					spanPoint.appendTo(infoPoint).html(pos.Nombre)
					geoLatLng.appendTo(infoPoint)
					infoPoint.appendTo(geoPoint)								
					$.goMap.createListener({type:'marker', marker:marker.id},'click', function(event) {
						$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})
						$.goMap.setInfo(marker.id, geoPoint.html()); 						
					});
				})
				if(serverJSON.Ruta == '1'){
					$.goMap.createPolyline({
						id: 'line'+serverJSON.idGrupoPunto,
						color: serverJSON.ColorGrupoPunto,
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});	
				}
				var markers = $.goMap.getMarkers("markers");
				if(markers.length>0)
					$.goMap.fitBounds();				
			}			
		});		
		return false;
	},
	editPuntos: function(idGrupoPunto){
		var jObject = this
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()
		$.goMap.clearOverlays('polyline')	
		$.goMap.clearOverlays('circle')	
		$("#FrMonitoreo").reset()
		var params	= $.extend({}, jObject.params, {action:'getPuntos', idGrupoPunto:idGrupoPunto})
		$.postJSON(urlPOST, params,function(serverJSON){
			if(serverJSON.Data){
				jObject.addPunto()
				$("#TipoFr").val("U")
				$("#GrupoPunto").val(serverJSON.NombreGrupoPunto)
				$("#idGrupoPunto").val(idGrupoPunto)
				var newCoords = new Array()
				$.each(serverJSON.Data, function(j, pos){
					if(!pos.idPuntoControl)
						return;
					latlng = pos.LatLng.split(";")
					newCoords.push({latitude: latlng[0], longitude: latlng[1]})
					var marker = $.goMap.createMarker({
						latitude: latlng[0], 
						longitude: latlng[1],
						draggable: true,
						title: pos.Nombre,
						icon: pathCollections+'/icons/direction_down.png',
						html: {} 
					});
					var circle = $.goMap.createCircle({
							color: '#00cc00',
							weight:	1,
							id: marker.id + 'circle',
							fillColor: '#00cc00',
							latitude: marker.getPosition().lat(), 
							longitude: marker.getPosition().lng(),
							radius: parseInt(pos.Radio)
						});
					var mainField = $("<fieldset></fieldset>").attr({id:'field'+marker.id}).addClass("fieldPoint")				
					var legend = $("<legend></legend>")
					var legendField = $("<div></div>").addClass("fieldLegend")
					var spanToken = $("<span></span>").addClass("token").html("<span style='float:left'>Nuevo Punto: </span>").css({'float':'left'})
					var closeToken= $("<span></span>").addClass("ui-icon ui-icon-circlesmall-close").attr({title:'Quitar Punto'})
						.css({cursor:'pointer','float':'right','margin-top':'-4px','margin-right':0}).click(function(){
							if(!confirm('Esta seguro en eliminar el punto seleccionado?')){ return false; }
							var params2	= $.extend({}, jObject.params, {action:'delPunto', idPunto:pos.idPuntoControl})
							$.postJSON(urlPOST, params2,function(serverJSON2){
								//alert(serverJSON2.Mensaje)
								client.Message(serverJSON2.Mensaje)
							})
							parentField = $(this).parents('fieldset')
							$.goMap.removeMarker(parentField.attr('id').substr(5).toLowerCase()); 
							parentField.remove()
							$.goMap.clearOverlays('polyline')
							$.goMap.removeOverlay('circle', marker.id + 'circle')
							if($("#setGroupPunto").is(':checked')){
								markers = $.goMap.getMarkers()
								newCoords = new Array()
								$.each(markers, function(i, val){
									pos= val.split(",")
									newCoords.push({latitude: pos[0], longitude: pos[1]})
								})
								$.goMap.createPolyline({
									color: $("#ColorPunto").val(),
									opacity: 0.5,
									weight:	4,
									coords:	newCoords
								});
							}
						})
					closeToken.appendTo(spanToken)
					spanToken.appendTo(legendField)
					legendField.appendTo(legend)
					legend.appendTo(mainField)
					mainField.appendTo("#groupPunto")
					var tokenPoint = $("<div></div>").addClass("tokenPoint").css({'border':'1px solid #aed0ea','margin-top':'-10px','padding':'4px'})
					var tokenLatLng = $("<input />").attr({"name":"LatLng[]", "id":"LatLng[]","type":"hidden", "readonly":true}).addClass("lectura")
					var tokenidPoint = $("<input />").attr({"name":"idPunto[]", "id":"idPunto[]","type":"hidden", "readonly":true}).addClass("lectura")
					var tokenName = $("<input />").attr({"name":"Punto[]", "id":"Punto[]", "type":"text", "readonly":true, "title": "Doble click para modificar"})
						.addClass("lectura").css({"margin":"5px", "width":"220px"}).dblclick(function(){
							$(this).removeClass("lectura").addClass("escritura").removeAttr("readonly").select().focus()
						}).blur(function(){
							$(this).removeClass("escritura").addClass("lectura").attr({"readonly":true})
							spanPoint.html($(this).val())					
						}).keypress(function(e){
							if(e.which == 13 ){
								e.preventDefault();
								$(this).trigger("blur")						
							}
						})					
					var idx = parseInt(pos.Radio);
					var tokenRadio = $("<input />").attr({"name":"PuntoRadio[]", "id":"PuntoRadio[]", "type":"text", "readonly":true, "title": "Doble click para modificar"})
						.addClass("lectura").css({"margin":"5px", "width":"100px"}).dblclick(function(){
							$(this).removeClass("lectura").addClass("escritura").removeAttr("readonly").select().focus()
						}).blur(function(){
							idx = $(this).val()
							$(this).removeClass("escritura").addClass("lectura").attr({"readonly":true})
							$.goMap.removeOverlay('circle', marker.id + 'circle')
							circle = $.goMap.createCircle({
								color: '#00cc00',
								weight:	1,
								id: marker.id + 'circle',
								fillColor: '#00cc00',
								latitude: marker.getPosition().lat(), 
								longitude: marker.getPosition().lng(),
								radius: parseInt(idx)
							})
							//spanPoint.html($(this).val())					
						}).keypress(function(e){
							if(e.which == 13 ){
								e.preventDefault();
								$(this).trigger("blur")						
							}
						})
					var geoPoint = $("<div></div>").hide()
					var infoPoint = $("<div></div>").addClass("infoPoint").css({"width":'200px'})
					var geoLatLng = $("<div></div>").addClass("borderPoint")
					var goMarker = $("<span></span>").addClass("ui-icon ui-icon-pin-w").css({'float':'right',cursor:'pointer'}).click(function(){
						$.goMap.getMap().panTo(marker.getPosition())
						$.goMap.setInfo(marker.id, geoPoint.html()); 
						google.maps.event.trigger($($.goMap.mapId).data(marker.id), 'click'); 
					})
					var spanPoint = $("<span></span>")
					goMarker.appendTo(tokenPoint)
					tokenName.appendTo(tokenPoint).val(pos.Nombre)
					tokenRadio.appendTo(tokenPoint).val(idx)
					tokenidPoint.appendTo(tokenPoint).val(pos.idPuntoControl)
					tokenLatLng.appendTo(tokenPoint).val(latlng[0] + ";" + latlng[1])
					spanPoint.appendTo(infoPoint).html(tokenName.val())
					geoLatLng.appendTo(infoPoint)
					infoPoint.appendTo(geoPoint)
					geoPoint.appendTo(tokenPoint)
					tokenPoint.appendTo(mainField)					
					
					$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})			
					$.goMap.createListener({type:'marker', marker:marker.id},'dragend', function(event) {
						tokenLatLng.val(marker.getPosition().lat() + ";" + marker.getPosition().lng())
						$.goMap.geocodeLatLng({Lat: marker.getPosition().lat(), Lng: marker.getPosition().lng(), Inner: geoLatLng})				
						$.goMap.clearOverlays('polyline')
						$.goMap.removeOverlay('circle', marker.id + 'circle')
						circle = $.goMap.createCircle({
								color: '#00cc00',
								weight:	1,
								id: marker.id + 'circle',
								fillColor: '#00cc00',
								latitude: marker.getPosition().lat(), 
								longitude: marker.getPosition().lng(),
								radius: parseInt(idx)
							});
						if($("#setGroupPunto").is(':checked')){
							markers = $.goMap.getMarkers()
							newCoords = new Array()
							$.each(markers, function(i, val){
								pos= val.split(",")
								newCoords.push({latitude: pos[0], longitude: pos[1]})
							})							
							$.goMap.createPolyline({
								color: $("#ColorPunto").val(),
								opacity: 0.5,
								weight:	4,
								coords:	newCoords
							});
						}
						if($($.goMap.mapId).data(marker.id + 'info').show){
							$($.goMap.mapId).data(marker.id + 'info').show = false
							$($.goMap.mapId).data(marker.id + 'info').close()
						}
					});			
					$.goMap.createListener({type:'marker', marker:marker.id},'drag', function(event) {
						tokenLatLng.val(marker.getPosition().lat()+ ";"+marker.getPosition().lng())
					});
					$.goMap.createListener({type:'marker', marker:marker.id},'click', function(event) {
						$.goMap.setInfo(marker.id, geoPoint.html()); 
					});
					
				})
				if(serverJSON.Ruta == '1'){
					$("#setGroupPunto").attr("checked", "checked")
					$("#ColorPunto").val(serverJSON.ColorGrupoPunto).simpleColor({onChange: function(){
						if($("#setGroupPunto").is(':checked')){					
							var markers = $.goMap.getMarkers();
							$.goMap.clearOverlays('polyline')
							var newCoords = new Array()
							$.each(markers, function(i, val){
								pos= val.split(",")
								newCoords.push({latitude: pos[0], longitude: pos[1]})
							})
							$.goMap.createPolyline({
								color: $(this).val(),
								opacity: 0.5,
								weight:	4,
								coords:	newCoords
							});
						}
					}})
					$.goMap.createPolyline({
						id: 'line'+serverJSON.idGrupoPunto,
						color: serverJSON.ColorGrupoPunto,
						opacity: 0.5,
						weight:	4,
						coords:	newCoords
					});	
				}
				var markers = $.goMap.getMarkers("markers");
				if(markers.length>0){
					$("#savePunto").removeClass("hide")
					$.goMap.fitBounds();
				}
			}
		})
	},
	delPuntos: function(idGrupoPunto){
		var jObject = this
		if(!confirm('Esta seguro en eliminar el grupo de puntos seleccionado?')){ return false; }
		var params	= $.extend({}, jObject.params, {action:'delPuntos', idGrupoPunto:idGrupoPunto})
		$.postJSON(urlPOST, params,function(serverJSON){
//			alert(serverJSON.Mensaje)
			client.Message(serverJSON.Mensaje)		
			jObject.PuntoControl()
		})
	},
	showSetPuntos: function(idGrupoPunto){
		var jObject = this
		monitoreo.clearPuntos()
		$("#showSetPuntos").showDialog("destroy")
		if(!$("#showSetPuntos").exists())
			$("<div></div>").attr({id:'showSetPuntos'}).appendTo("body")
		var params	= $.extend({},jObject.params, {action:'showSetPuntos', idGrupoPunto:idGrupoPunto})
		$.post(urlPOST, params,function(serverData){
			$("#showSetPuntos").html(serverData).showDialog({
				width:380,
				title:'Asignar Veh&iacute;culos a Grupo de Puntos',
				buttons: {
					"Aceptar": function() {
						jObject.setPuntos()
						$( this ).dialog( "destroy" );
					},
					"Cancelar": function() {
						monitoreo.clearPuntos()
						$( this ).dialog( "destroy" );
					}
				}
			})
			$( "#showSetPuntos" ).bind( "dialogclose", function(event, ui) {
				monitoreo.clearPuntos()
			});
			$("#FrPuntoControl #allVehiculo").click( function(){
				var iChek;
				if($(this).is(':checked'))
					iChek = true;
				else
					iChek = false;
				$("#FrPuntoControl input:checkbox[name='Vehiculo[]']").each( function(){
					$(this).attr('checked', iChek)
				});
			})			
			$("#FrPuntoControl input:checkbox[name='Vehiculo[]']").click( function(){
				if($("#FrPuntoControl input:checkbox[name='Vehiculo[]']").length == $("#FrPuntoControl input:checkbox[name='Vehiculo[]']:checkbox:checked").length)
					$("#FrPuntoControl #allVehiculo").attr('checked', true)
				else
					$("#FrPuntoControl #allVehiculo").attr('checked', false)				
			})			
		})
		//alert($.print_r(params))
		
	},
	clearPuntos: function(){
		var jObject = this
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')			
	},
	setPuntos: function(){
		var jObject = this
		var params	= $.extend({},jObject.params, {action:'setPuntos'}, $('#FrPuntoControl').serializeObject())
		$.postJSON(urlPOST, params,function(serverJSON){
			//alert(serverJSON.Mensaje)
			client.Message(serverJSON.Mensaje)
		})
	},
	getPuntoControl: function(){
		var jObject = this
		var params	= $.extend({},jObject.params, {action:'getPuntoControl'}, $('#FrMonitoreo').serializeObject())
		$.post(urlPOST, params,function(serverJSON){
			alert(serverJSON)
			//client.Message(serverJSON.Mensaje)
		})
		//alert("getPuntoControl")		
		return;
	},
	GetUrl:function(){
	//alert("aaa");
		var jObject = this
		$("#longUrl").val("");
		var check = $("#FrMonitoreo").find("input[type='checkbox']:checked").length;
		if(check == ""){
		$("#message").setMessage("Seleccione Unidad");
		return false;
		}
		$("#btnenlaceD").click(function(){
			$("#enlace").show()
			$("#longUrl").focus();
			
		});
		
		params	= $.extend({},jObject.params, {action:"GetUrl"}, $("#FrMonitoreo").serializeObject())	
		$("#map-loader").fadeIn()	
		//jObject.TiempoReal();
		//alert($.print_r(params));	
		$.postJSON(urlPOST, params,function(serverJSON){
		$("#map-loader").fadeOut()
			//alert(serverJSON.file)
			var buildurl ="http://maps.google.com.pe/maps?q="+urlPath+'/kml-'
			$("#longUrl").val(buildurl + serverJSON.file +".html")
			
		})	
	},
	urlEnviar: function(){
		var jObject = this
		$("#FrUrl").reset()
		$("#urlshort").attr("checked", false)
	//alert($("#url").val())
		var os = $("#longUrl").val();
		$("#url1").val(os);

		$("#urlEnviar").showDialog({
			modal: true,width: 300,
			title:'Enviar enlace a correo:',
			buttons: {
				"Enviar": function() {					
					winObj = this;
					if($("#Asuntourl").val() == ""){
						$("#urlEnviarSMS").setMessage("Asunto Necesario")
						$("#Asuntourl").focus();
						return false;
					}
					isMail = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($('#correourl').val());
					if(!isMail){
						$("#urlEnviarSMS").setMessage("Ingrese correo@correo.com")
						$("#correourl").focus();
						return false;
					}
					
					var params	= $.extend(jObject.params, {action:'urlEnviar'}, $("#FrUrl").serializeObject())
					$.postJSON(urlPOST, params,function(serverJSON){
						client.Message(serverJSON.messaje)
						$("#enlace").hide();
						$( winObj ).dialog( "destroy" );
					})					
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
	}
}

//MONITOREO VEHICULOS

var vehiculospm ={
	params	: {module:nameModule, view:'monitoreventos'},
	isRefreshPM : false,
	mmRefreshPM : 1,
	complete : function() { },	

	muestraVehiculospm: function(){
		var jObject = this	
		//var params	= $.extend(jObject.params, {action:'muestraVehiculospm'}, $("#FrVehiculosPM").serializeObject())		
		//$.post(urlPOST,params,function(serverJSON){
		var params	= $.extend({},jObject.params, {action:'vehiculospm'}, $("#FrVehiculosPM").serializeObject())	
			$('#loadermon').fadeIn();
			$.post(urlPOST, params,function(serverData){
			$('#loadermon').fadeOut();
				if(!$("#ajaxcontent_veh").exists())
				$("<div></div>").attr({id:'ajaxcontent_veh'}).appendTo("#contieneajax")
				$("#ajaxcontent_veh").html(serverData)
				$("#FrVehiculosPM input:hidden[name='sosalr[]']").each(function(){
					if($(this).val()== 8){
						$("#sos").flash({swf:'./includes/swf/alarm.swf'});
						$("#sos").delay(30000).queue(function(n) { $(this).flash().remove(); n(); });
						return;
					}
					else if($(this).val()== 9999 ){
						$("#sos").flash({swf:'./includes/swf/alarm.swf'});
						$("#sos").delay(30000).queue(function(n) { $(this).flash().remove(); n(); });
						return;
					}
					else{
						$("#sos").flash().remove();						
					}
					alert($(this).val())
				})
				
				if(jObject.isRefreshPM){
					$(".timer2").fadeIn()
					$("#setTimerPM").stop().countDown({
						to:jObject.mmRefreshPM, timing:'m', onComplete:jObject.complete
					})
				}
			})
		//})
		
	},	
	
	setTiempoRealPM: function(){
	alert("Opcion No Disponible Temporalmente...")
	return false;
		/*var jObject = this
		if($("#isRefreshPM").val() == 1){
			$("#onRefreshPM").attr("checked", true)
			$("#mmRefreshPM").val($("#tmRefreshPM").val()).addClass("escritura").removeClass("lectura").attr('disabled', false).focus()
		}else{
			$("#onRefreshPM").attr("checked", false)
		}
		$("#settingTiempoRealPM").showDialog({
			title:'Configuraci&oacute;n de Monitoreo de Eventos:<br/> Tiempo Real',
			buttons: {
				"Aceptar": function() {					
					if($("#onRefreshPM").is(':checked'))
						$("#isRefreshPM").val(1)
					else
						$("#isRefreshPM").val(0)
						$("#tmRefreshPM").val($("#mmRefreshPM").val())
						$("#csRefreshPM").val("muestraVehiculospm")
						if($("#isRefreshPM").val() == 1){
							jObject.muestraVehiculospm();
						}
						jObject.RefreshPM()
						$( this ).dialog( "destroy" );
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
				}
			},
			resizable: false
		})
		return false;*/
	},
	RefreshPM: function(){
			var jObject = this
			if($("#isRefreshPM").val() == 0){
				$("#setTimerPM").stop()
				$(".timer2").fadeOut()			
				jObject.isRefreshPM = false;
				return false;		
			}		
			jObject.isRefreshPM = true
			jObject.mmRefreshPM = $("#tmRefreshPM").val()
			CasoPM= $("#csRefreshPM").val()
			switch (CasoPM){
				case "muestraVehiculospm":
					jObject.complete = function(){ jObject.muestraVehiculospm(); $(".timer2").fadeOut() };
				break;
			}
			$(".timer2").fadeIn()
			$("#setTimerPM").stop().countDown({
				to:jObject.mmRefreshPM, timing:'m', onComplete: jObject.complete
			})
			return false
		},
	muestraVehiculospmday: function(object){
		var jObject = this
		//$("#settingTiempoRealPM").showDialog("destroy")
		$("#excesovelocidad").showDialog("destroy")
		if($("#vehiculo option:selected").val() ==""){
			$("#validamonSMS").setMessage("Seleccione vehiculo a consultar")
			$("#vehiculo").focus()
			return false
		}
		if($("#cantidad option:selected").val() ==""){
			$("#validamonSMS").setMessage("Seleccione cantidad a mostrar")
			$("#cantidad").focus()
			return false
		}
		
		$(object).attr("selected", "selected")
		//var params	= $.extend(jObject.params, {action:'muestraVehiculospmday', idVehiculo:$("#vehiculo").val(),sFecha:$("#sfecha").val(),cantidad:$("#cantidad").val()})		
		//$.post(urlPOST,params,function(serverJSON){
			params	= $.extend({},jObject.params, {action:'vehiculospmday', idVehiculo:$("#vehiculo").val(),sFecha:$("#sfecha").val(),cantidad:$("#cantidad").val()})	
			$('#loadermon').fadeIn();
			$.post(urlPOST, params,function(serverData){
				$('#loadermon').fadeOut();
				if(!$("#ajaxcontent_vehday").exists())
					$("<div></div>").attr({id:'ajaxcontent_vehday'}).appendTo("#contieneajaxday")
					$('#loadermon').fadeOut();
					$("#ajaxcontent_vehday").html(serverData)	
			})
		//})	
	},
	monitoreocp: function(){
		var jObject = this	
		var params	= $.extend({},jObject.params, {action:'monitoreocp'}, $("#Frmonitoreventos").serializeObject())	
		$('#loadermon').fadeIn();
		$.post(urlPOST, params,function(serverData){
			$('#loadermon').fadeOut();
			$("#contentmcp").html(serverData)	
			if(jObject.isRefreshPM){
				$(".timer2").fadeIn()
				$("#setTimerPM").stop().countDown({
					to:jObject.mmRefreshPM, timing:'m', onComplete:jObject.complete
				})
			}
		})
		return false		
	},	
	muestraReporte: function(object){
		var jObject = this
		$("#excesovelocidadrp").dialog("destroy")
		var check = $("#Frmonitoreventos").find("input[type='checkbox']:checked").length;
		if(check == ""){
			$("#validamonSMS1").setMessage("Clic en boton Seleccionar Unidades, seleccione placa");
			return false;
		}
		if($("#sfechayh").val() ==""){
			$("#validamonSMS1").setMessage("Seleccione Fecha y Hora (desde)");
			$("#sfechayh").focus()
			return false;
		}
		if($("#sfechayhsta").val() ==""){
			$("#validamonSMS1").setMessage("Seleccione Fecha y Hora (hasta) ");
			$("#sfechayhsta").focus()
			return false;
		}
		
		var params	= $.extend({},jObject.params, {action:'reporevelrutas'}, $("#Frmonitoreventos").serializeObject())	
		//alert($.print_r(params));	
		$('#loadermon').fadeIn();
		$.post(urlPOST, params,function(serverData){		
			$('#loadermon').fadeOut();			
			if(!$("#ajaxcontent_reporve").exists())
				$("<div></div>").attr({id:'ajaxcontent_reporve'}).appendTo("#contieneajaxreporve")
				$("#ajaxcontent_reporve").html(serverData)	
		});
	},
	VerReporvel:function(idUbicac, medidavelo,fecharpvi){		
		var jObject = this
		$("#tabs").tabs('select', 0)
		$( ".navSub" ).removeClass("openToggler");
		$("#FrMonitoreo").reset()
		$("#setTimer").stop()
		$(".timer").fadeOut()
		jObject.isRefresh = false;
		$.goMap.setMap({addMarker: false})
		$.goMap.clearListeners()
		$.goMap.clearMarkers()
		$.goMap.clearOverlays('polyline')
		$.goMap.clearOverlays('circle')
		$("#allVehiculo").trigger("click").attr("checked", false)
		$("#map_ajaxdetalle, #map_ajaxdescripcion").remove()
		//$("#excesovelocidadrp").dialog('destroy');
		$("#excesovelocidadrp:ui-dialog").dialog("destroy");
		params	= $.extend({},jObject.params, {action:'VerReporvelo',idUbicac:idUbicac, medidavelo:medidavelo, fecharpvi:fecharpvi})	
		$("#map-loader").fadeIn()	
		$.postJSON(urlPOST, params,function(serverJSON){
			$("#map-loader").fadeOut()
			$("#map_setting").empty().hide()
			$("#map_describe").fadeOut()
			$.each(serverJSON, function(j, pos){
				if(!pos.idUbicacion)
				return;
				$.goMap.createMarker({
					latitude: pos.Lat, 
					longitude: pos.Lon, 
					id: 'mark'+pos.idUbicacion,
					group: 'group'+pos.idVehiculo,
					title: pos.Placa,
					icon: pathCollections+'/icons/sportutilityvehicle.png',
					html: {content:'<div class="infoPoint"><span>'+pos.placa+'</span><div><table class="tabla" style="margin:0"><tr><td class="celda" style="text-align:right">Fecha</td><td class="celda">'+pos.FechaGPS+'</td></tr><tr><td class="celda" style="text-align:right">Velocidad</td><td class="celda">'+pos.velocidad+' KM</td></tr></table></div></div>'} });
			});
			var markers = $.goMap.getMarkers("markers");
			if(markers.length>0)
			$.goMap.fitBounds();
		})
	}
}
//info pass
var infocli = {
	params	: {module:nameModule, view:'configcuenta'},
	cambioPWD: function(object){
		var jObject = this
		var params = $.extend({},jObject.params,{action:'cambioPWD'},$('#Frcuenta').serializeObject())
			if($("#pass").val() == ""){
				$("#cambioSMS").setMessage("Ingresar Nueva Contrase&ntilde;a")
				$('#pass').focus()
				return false;		
			}
			if($("#npass").val() == ""){
				$("#cambioSMS").setMessage("Repetir Nueva Contrase&ntilde;a")
				$("#npass").focus()
				return false;
			}
			if($("#pass").val() != $("#npass").val()){
				$("#cambioSMS").setMessage("Las contrase&ntilde;as no coinciden...")
				$('#npass').focus()
				return false;		
			}
			if($("#pass").val().length < 6){
			$("#cambioSMS").setMessage("Contrase&ntilde;a m&iacute;nima 6 caracteres...")
			$("#pass").focus();
			return false;
			}
			if($("#antpass").val() == ""){
				$("#cambioSMS").setMessage("Ingresar Contrase&ntilde;a anterior")
				$("#antpass").focus()
				return false
			}/*
			if($("#antpass").val().length < 6){
			$("#cambioSMS").setMessage("Contrase&ntilde;a m&iacute;nima 6 caracteres...")
			$("#antpass").focus();
			return false;
			}*/
			$.postJSON(urlPOST, params,function(serverJSON){
				$('#loader').fadeOut();
				if(serverJSON.Error == undefined){
					$.post(urlPOST, params,function(serverData){
						//alert($.print_r(params))
					})
					alert(serverJSON.Message)
					
					}else{
						alert(serverJSON.Message)
					}
			});
	},
	addmmail:function(object){
		var jObject = this
		var params = $.extend({},jObject.params,{action:'addmmail'},$('#Frinfocl').serializeObject())
		if($("#mainmail").val() == ""){
			$("#cambioSMS").setMessage("Ingresar correo")
			$("#mainmail").focus()
			return false;
		}
		
		isMail = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($('#mainmail').val());
		if(!isMail){
			$("#cambioSMS").setMessage("Ingrese correo@correo.com")
			$("#mainmail").focus();
			return false;
		}
		$.postJSON(urlPOST, params,function(serverJSON){
			if(serverJSON.Error == undefined){
				$("#mainmail").removeClass("escritura").addClass("iclaro-ready").attr("readonly",true)
				$("#cancboton, #addboton").hide()
				$("#modfboton").show()
				
				alert(serverJSON.Mensaje)
			}else{
				alert(serverJSON.Error)
			}
		});

	},
	listcuenta: function(){
		var jObject = this
		var params = $.extend({},jObject.params,{action:'listcuenta'})
		$('#loadermon').fadeIn();
		$.post(urlPOST, params,function(serverData){		
			$('#loadermon').fadeOut();
				$("#ajaxsubcuentas").html(serverData)	
		});
		return;
	},
	nuevacuenta: function(){
		var jObject = this
		var params = $.extend({},jObject.params,{action:'nuevacuenta'})
		$.post(urlPOST, params,function(serverData){		
			$('#loadermon').fadeOut();
				$("#ajaxsubcuentas").html(serverData)	
		});		
		return;
	},
	guardacuenta: function(){
	}
}


//ADMFLOTAS
var flotas = {	
	params	: {module:nameModule, view:'admflotas'},
	isRefresh : false,
	isLast : false,
	mmRefresh : 1,
	complete : function() { },	
	AdministrarVehiculo: function(){
		tmpid = ($("#FrMonitoreo input:checkbox[name='Vehiculo[]']:checkbox:checked").val()).split(";")
		$("#setVehiculo").val(tmpid[0])
		client.admflotas()
	},
	ConfiguraVehiculo: function(id_vehiculo){
		$("#setVehiculo").val(id_vehiculo)
		client.admflotas()
	},
	muestraVehiculo: function(object){
		var jObject = this
		$('#FrAdmin').reset();
		$('#loader').fadeIn();
		$(object).attr("checked", "checked")
		var params	= $.extend({},jObject.params, {action:'muestraVehiculo', idVehiculo:$(object).val()})	
		$('#Cancelar').trigger('click');
		//$('#cancelfindConductor').trigger('click');
		$.postJSON(urlPOST, params,function(serverJSON){
		$('#loader').fadeOut();			
			if(serverJSON.Error == undefined){
				$("#iPlaca").val(serverJSON.placa)
				$("#iChip").val(serverJSON.numchip)
				$("#iVehiculo").val(serverJSON.descripcion)
				$("#iContrato").val(serverJSON.veh_fech_contr)
				if(serverJSON.Estado == 1)
					iEstado = "ACTIVO";
				if(serverJSON.Estado == 2)
					iEstado = "SUSPENDIDO";
				if(serverJSON.Estado == 3)
					iEstado = "EN MANTENIENTO";
				if(serverJSON.Estado == 4)
					iEstado = "GPS AVERIADO";
				$("#iEstado").val(iEstado)
				$("#Modelo").val(serverJSON.veh_modelo)
				$("#Anio").val(serverJSON.veh_anio)
				$("#Marca").val(serverJSON.id_marca)
				$("#driver").val(serverJSON.driver)
				//$("#Color").val(serverJSON.veh_color)
				$("#Color").val(serverJSON.veh_color).simpleColor({boxWidth: '50px'})
				$("#FrAdmin .simpleColorSelectButton").hide()
				$("#FrAdmin #simpleColorColor").css({marginLeft:20})
				$("#idVehiculo").val(serverJSON.idVehiculo)
				$("#TipoVehiculo").val(serverJSON.id_tipo_veh)								
				if(serverJSON.idConductor != undefined){					
					$("#tConductor").val(serverJSON.idConductor+'|'+serverJSON.Alias+'|'+serverJSON.Apellidos+' '+serverJSON.Nombres)
					$("#sConductor").val(serverJSON.idConductor)
					$("#iConductor").val(serverJSON.Alias)
					$("#nConductor").val(serverJSON.Apellidos+' '+serverJSON.Nombres)					
				}
				$("#Chasis").val(serverJSON.Chasis)
				$("#Kilometraje").val(serverJSON.Kilometraje)
				$("#Combustible").val(serverJSON.id_comb)
				$("#veMaxima").val(serverJSON.veMax)
				$("#veMinima").val(serverJSON.veMin)
				$("#Compania").val(serverJSON.CompaniaSOAT)
				$("#Vencimiento").val(serverJSON.vencimientoSOAT)
			}else{
				alert(serverJSON.Error)
			}
		});
	},
	ActualizaVehiculo: function(object){
		var jObject = this;
		var driverv = $("#driver").val();
		var params	= $.extend({},jObject.params, {action:'ActualizaVehiculo'},$('#FrAdmin').serializeObject())	
				if($("#driver").val() == ""){
					$("#validaSMS").setMessage("Alias del vehiculo necesario")
					$("#driver").focus()
					return false
				}
				if($("#Modelo").val() == ""){
					$("#validaSMS").setMessage("Modelo del vehiculo necesario")
					$("#Modelo").focus()
					return false
				}
				if($("#Marca").val() == ""){
					$("#validaSMS").setMessage("Marca del vehiculo necesario")
					$("#Marca").focus()
					return false
				}
				if($("#TipoVehiculo").val() == ""){
					$("#validaSMS").setMessage("Tipo de vehiculo necesario")
					$("#TipoVehiculo").focus()
					return false
				}
				if($("#Anio").val() == ""){
					$("#validaSMS").setMessage("A&ntilde; de vehiculo necesario")
					$("#Anio").focus()
					return false
				}
				if($("#Chasis").val() == ""){
					$("#validaSMS").setMessage("Ingrese Chasis del vehiculo")
					$("#Chasis").focus()
					return false
				}
				if($("#Kilometraje").val() == ""){
					$("#validaSMS").setMessage("Ingrese Kilometraje del vehiculo")
					$("#Kilometraje").focus()
					return false
				}
				if($("#Combustible").val() == ""){
					$("#validaSMS").setMessage("Seleccione Combustible del vehiculo")
					$("#Combustible").focus()
					return false
				}
				if($("#veMaxima").val() == ""){
					$("#validaSMS").setMessage("Ingrese velocidad Maxima del vehiculo")
					$("#veMaxima").focus()
					return false
				}
				if($("#veMinima").val() == ""){
					$("#validaSMS").setMessage("Ingrese velocidad Minima del vehiculo")
					$("#veMinima").focus()
					return false
				}
				if($("#Compania").val() == ""){
					$("#validaSMS").setMessage("Ingrese Compa&ntilde;ia de Soat")
					$("#Compania").focus()
					return false
				}
				if($("#Vencimiento").val() == ""){
					$("#validaSMS").setMessage("Ingrese vencimiento de Soat")
					$("#Vencimiento").focus()
					return false
				}
			//alert($.print_r(params))
			$.postJSON(urlPOST, params,function(serverJSON){
				$('#loader').fadeOut();
				if(serverJSON.Error == undefined){
				$("input:radio[name='Vehiculo[]']:checked").trigger('click');
				//$("input:radio[name='Vehiculo[]']:checked").parents('tr').children('td:eq(2)').html("hop");
				$("input:radio[name='Vehiculo[]']:checked").parents('tr').children('td:eq(2)').html(driverv);
				var params = $.extend({},jObject.params, {action:'ListaVehiculospm'})									
				$.post(urlPOST, params,function(serverData){
				$("#lvehiculospm").html(serverData)
				})
				alert(serverJSON.Mensaje)
				}else{
					alert(serverJSON.Error)
				}
			})
	},	
	UploadVehiculo: function(){
		alert("Opcion No Disponible Temporalmente...")
	},
	muestraConductor: function(object){
		var jObject = this
		$('#FrAdmin').reset();
		$('#loader').fadeIn();
		$(object).attr("checked", "checked")
		var params	= $.extend({},jObject.params, {action:'muestraConductor', idConductor:$(object).val()})	
			$.postJSON(urlPOST, params,function(serverJSON){
				$('#loader').fadeOut();
				if(serverJSON.Error == undefined){
					$("#idConductor").val(serverJSON.idConductor)
					$("#FechaIngreso").val(serverJSON.FechaIngreso)
					$("#CaducidadBrevete").val(serverJSON.CaducidadBrevete)
					$("#Estado").val(serverJSON.Activo)
					$("#Apellidos").val(serverJSON.Apellidos)
					$("#Nombres").val(serverJSON.Nombres)
					$("#Dni").val(serverJSON.Dni)
					if(serverJSON.Clase != undefined){
						$("#Clase").attr('disabled', false).val(serverJSON.Clase).trigger('change').delay(1500).queue(function(){
							$("#Categoria").val(serverJSON.idCategoriaConductor)
							$("#Categoria, #Clase").removeAttr('disabled', true)
						})
					}
					$("#Alias").val(serverJSON.Alias)
					$("#Brevete").val(serverJSON.Brevete)
					$("#Direccion").val(serverJSON.Direccion)
					$("#Telefono").val(serverJSON.Telefono)				
					$("#Celular").val(serverJSON.Celular)
					$("#cModificar").show()
				}else{
					alert(serverJSON.Error)
				}
			})
			
	},
	GuardaConductor: function(object){
		var jObject = this
		var params	= $.extend({},jObject.params, {action:'GuardaConductor'},$('#FrAdmin').serializeObject())
		if($("#Apellidos").val() == ""){
			$("#validaSMS").setMessage("Apellidos del conductor son necesarios")
			$("#Apellidos").focus()
			return false
		}
		if($("#Nombres").val() == ""){
			$("#validaSMS").setMessage("Nombres del conductor son necesarios")
			$("#Nombres").focus()
			return false
		}
		if($("#Alias").val() == ""){
			$("#validaSMS").setMessage("Alias del conductor son necesarios")
			$("#Alias").focus()
			return false
		}
		if($("#Dni").val() == "" ){
			$("#validaSMS").setMessage("Dni del conductor es necesario")
			$("#Dni").focus()
			return false
		}
		isDni =/^([0-9]*$)\.?$/i.test($('#Dni').val());
		if(!isDni){
		$("#validaSMS").setMessage("Ingrese solo numeros")
		$("#Dni").focus();
		return false;
		}
		if($("#Dni").val().length < 8){
		$("#validaSMS").setMessage("El dni consta de 8 digitos")
		$("#Dni").focus();
			return false;
		}
		
		if($("#FechaIngreso").val() == ""){
			$("#validaSMS").setMessage("Fecha de ingreso es necesario")
			$("#FechaIngreso").focus()
			return false
		}
		if($("#Brevete").val() == ""){
			$("#validaSMS").setMessage("Brevete del conductor es necesario")
			$("#Brevete").focus()
			return false
		}
		if($("#CaducidadBrevete").val() == ""){
			$("#validaSMS").setMessage("Caducidad de Brevete del conductor es necesario")
			$("#CaducidadBrevete").focus()
			return false
		}
		if($("#Clase").val() == ""){
			$("#validaSMS").setMessage("Clase de licencia de conduicir del conductor son necesarios")
			$("#Clase").focus()
			return false
		}
		if($("#Categoria").val() == ""){
			$("#validaSMS").setMessage("Categoria del conductor es necesario")
			$("#Categoria").focus()
			return false
		}
		if($("#Direccion").val() == ""){
			$("#validaSMS").setMessage("Direccion del conductor es necesario")
			$("#Direccion").focus()
			return false
		}
		if($("#Celular").val() == ""){
			$("#validaSMS").setMessage("Celular del conductor es necesario")
			$("#Celular").focus()
			return false
		}
		isCelular =/^([0-9]*$)\.?$/i.test($('#Celular').val());
		if(!isCelular){
		$("#validaSMS").setMessage("Ingrese solo numeros")
		$("#Celular").focus();
		return false;
		}
	
		$.postJSON(urlPOST, params,function(serverJSON){
			
			if(serverJSON.Error == undefined){
				$('#FrAdmin').reset();
				$('#cNuevo').trigger('click');
				$('#loader').fadeOut();
				$('#cCancelar').trigger('click');	
				var params	= $.extend({},jObject.params, {action:'ListaConductores'})
				$.post(urlPOST, params,function(serverData){
					$("#listconductores").html(serverData)
				})
				var params= $.extend({},jObject.params, {action:'ListaVehiculospm'})	
				$.post(urlPOST, params,function(serverData){
					$("#lvehiculospm").html(serverData)
				})
				alert(serverJSON.Mensaje)				
			}else{
				alert(serverJSON.Error)
			}
		})
	},
	
	getCategoriasConductor: function(object){
		var jObject = this
		if($("#Clase option:selected").val() == ""){
			$("#Categoria").attr("disabled", true).html("").prepend('<option value="">Seleccione Clase</option>');
		}else{
			var params	= $.extend({},jObject.params, {action:'getCategoriasConductor', Clase: $("#Clase option:selected").val()})		
			$('#loader').fadeIn();
			$.postJSON(urlPOST, params,function(serverJSON){			
				$('#loader').fadeOut();
				if(serverJSON.Error == undefined){
					$('#Categoria').css('text-transform','uppercase').html("").attr('disabled',false);
					$.each(serverJSON, function(i,item){
						$('#Categoria').append('<option value="'+item.idCategoriaConductor+'">'+item.Categoria+'</option>');
					});
					$('#Categoria').prepend('<option value="">Seleccione Categoria</option>').attr('selectedIndex', 0)
				}else{
					alert(serverJSON.Error)
				}
			})
		}
	},
	EstadoVehiculo: function(){
		var jObject = this
		tmpid = ($("#FrAdmin input:radio[name='Vehiculo[]']:radio:checked").val())
		var params	= $.extend({},jObject.params, {action:'showEstadoVehiculo', idVehiculo:tmpid})		
		$('#loader').fadeIn();
		$("#settingEstadoVehiculo").empty().html("Espere, Cargando Formulario...")
		$.post(urlPOST, params,function(serverData){
			$("#settingEstadoVehiculo").html(serverData)
			$('#loader').fadeOut();
		});
		$("#settingEstadoVehiculo").showDialog({			
			title:'Modificacion del estado de vehiculo',
			buttons: {
				"Aceptar": function() {
					var winObj  = this
					if($("#vEstado").val() == ""){
						$("#validaSMS").setMessage("Seleccione Estado")
						$("#vEstado").focus()
						return false
					}
					if($("#vObservacion").val() == ""){
						$("#validaSMS").setMessage("Detalle motivo del cambio de estado")
						$("#vObservacion").focus()
						return false
					}
					params	= $.extend({},jObject.params, {action:'setEstadoVehiculo'},$('#FrEstado').serializeObject())
					$('#loader').fadeIn();
					$.postJSON(urlPOST, params,function(serverJSON){
						$('#loader').fadeOut();
						$("#validaSMS").setMessage(serverJSON.Mensaje)
						if($("#vEstado").val() == 3)
							iEstado = "EN MANTENIENTO";
						if($("#vEstado").val() == 4)
							iEstado = "GPS AVERIADO";
						$("#iEstado").val(iEstado)
						$( winObj ).dialog( "destroy" );
						monitoreo.getCliente()
					})
					//$("#settingEstadoVehiculo").showDialog("destroy")
				},
				"Cancelar": function() {
					$( this ).dialog( "destroy" );
					//$("#settingEstadoVehiculo").showDialog("destroy")
				}
			},
			resizable: false
		})
		return false;
	},
	ReActivaVehiculo: function(idVehiculo){
		var jObject = this
		tmpid = ($("#FrEstado #idVehiculo").val())		
		var params	= $.extend({},jObject.params, {action:'ReActivaVehiculo', idVehiculo:tmpid})		
		$('#loader').fadeIn();
		$.postJSON(urlPOST, params,function(serverJSON){
			$('#loader').fadeOut();
			$("#validaSMS").setMessage(serverJSON.Mensaje)
			$("#iEstado").val("Activo")
			$("#settingEstadoVehiculo").dialog( "destroy" );
			monitoreo.getCliente()
		})
		return false
	}
}
