var vecesgps = 0;
var btnsubmit = false;
function bblatlonrecieve(){
	var lat = blackberry.location.latitude;
	var lon = blackberry.location.longitude;
	/*lat = 20.96703944567827;
	lon = -89.62369750064196;
	*/
	vecesgps ++;
	if (lat==0 || lon==0 ){
	    alert("El GPS no esta devolviendo coordenadas, intentelo de nuevo");
	}
	else {
	  if (vecesgps == 1){ //Evitanmos que se llame muchas veces por que el GPS devuelve los valores mas rapido que la llamada a la forma
	    var xy = new Array(2);
      // Compute the UTM zone.
      zone = Math.floor ((lon + 180.0) / 6) + 1;
	    zone = LatLonToUTMXY (DegToRad (lat), DegToRad (lon), zone, xy);
		  //alert("X: "+xy[0]+", Y: "+xy[1]);
		  var region = (xy[0] - 50)+","+(xy[1] - 50)+","+(xy[0] + 50)+","+(xy[1] + 50);
		  //alert("Lat: "+lat+" lon:"+lon+"  UTM X:"+xy[0]+" Y:"+xy[1]);
			document.forms[0].gps.value = xy[0]+","+xy[1];
		  verregion(region);
		}				
	}
}
function locationCB()
{
  if( window.blackberry && blackberry.location.GPSSupported) {
	    alert("Accediendo al GPS, puede tardar un poco. Acepte para continuar.");
	    vecesgps = 0;
	    //Configuramos que cuando tenga las coordenadas se llame a la funcion que las capture y las trabaje.
  		blackberry.location.onLocationUpdate("bblatlonrecieve()");
  		// set to Autonomous mode
  		blackberry.location.setAidMode(2);
  		//refresh the location
  		blackberry.location.refreshLocation();			
	}
	else alert("El dispositivo no tiene soporte de GPS");		
  
}

function getRadioButtonSelectedValue(ctrl)
{   
    for(i=0;i<ctrl.length;i++){
        if(ctrl[i].checked) return ctrl[i].value;
	  }
}

function vaciopunto(q) {     
  for ( i = 0; i < q.length; i++ ) {
	    var valor = q.charAt(i);   
      if ( valor == " " || valor ==".") {   
         return true;   
      }   
  }
	return false   
}


function validaforma(){
  //document.forms[0].consulta.value = "no";
	var objetoconsulta;
	var getelem = false;
	var control;
	var mensaje;
	
	objetoconsulta = document.forms[0].consulta.value	    
	if (objetoconsulta == undefined){
			objetoconsulta = document.getElementById('consulta');
			if (objetoconsulta != undefined){
			  getelem = true;
				objetoconsulta.value = "no";
			}
			else alert("Devolvio undefined");									
	}

	if (btnsubmit){		
    if (getelem) control = document.getElementsByName('rdCATMza'); else control = document.forms[0].rdCATMza;
		var opcion = getRadioButtonSelectedValue(control);
		switch (opcion){
			case "MZA":
			  var sec; var mza; 
				if (getelem) sec = document.getElementById('CATMSec').value; else sec = document.forms[0].CATMSec.value;
				if (getelem) mza = document.getElementById('CATMMza').value; else mza = document.forms[0].CATMMza.value; 			  
				if (sec == ""){ //Validar UH
				  alert("Introduzca el numero de seccion de la manzana");
					btnsubmit = false;
					return false;		  		
				}
				if(isNaN(sec))
      	{  alert ("Introduzca un valor numerico para el valor de seccion de manzana");
				   btnsubmit = false;
           return(false);
      	}
				else{
				 if (vaciopunto(sec)){
				   alert("No se permite espacios en blanco ni punto solo numeros enteros en la seccion de manzana.");
					 btnsubmit = false;
				   return false;
				 } 
				}
				if (Number(sec) <=0 || Number(sec) >50)
				{
				  alert("El valor de seccion de manaza va de 1 a 50 unicamente.");
					btnsubmit = false;
					return false;
				}
				if (mza == ""){
				  alert("Introduzca el numero de la manzana");
					btnsubmit = false;
					return false;
				}
				if(isNaN(mza))
      	{  alert ("Introduzca un valor numerico al numero de la manzana");
				   btnsubmit = false;
           return(false);
      	}
				else{
				 if (vaciopunto(mza)){
				   alert("No se permite espacios en blanco ni punto solo numeros enteros en el valor de manzana.");
					 btnsubmit = false;
				   return false;
				 } 
				}				
				if (Number(mza) == 0)
				{
				  alert("El valor de numero de manaza debe ser mayor a 0.");
					btnsubmit = false;
					return false;
				}
				var catastral = "";
				var cerosmza = "0000"
				if (sec.length == 1) catastral = "0"+ sec; else catastral = sec; 
				catastral += "-";
				
				catastral += cerosmza.substring(0,(4 - mza.length)) + mza;
				if (getelem) document.getElementsByName('CATASTRAL').value = catastral; else document.forms[0].CATASTRAL.value = catastral;				  				
			break;
			case "UH":
			  var uh;
				if (getelem) uh = document.getElementById('UNIDADHABITACIONAL').value; else uh = document.forms[0].UNIDADHABITACIONAL.value;
				mensaje = validavalores(uh,"Unidad Habitacional",false); 
				if ( mensaje != ""){
				  alert(mensaje);				  
				  btnsubmit = false;
					return false;
				} 			  
			break;
			case "PFOLIO":
			  var pfolio;
				if (getelem) pfolio = document.getElementById('PREDIOFOLIO').value; else pfolio = document.forms[0].PREDIOFOLIO.value;
				mensaje = validavalores(pfolio,"Folio",true); 
				if ( mensaje != ""){
				  alert(mensaje);				  
				  btnsubmit = false;
					return false;
				}
			break;
			case "NOMENCLATURA":
			  var calle; var letracalle; var numero; var letranumero;
				if (getelem) calle = document.getElementById('CALLE').value; else calle = document.forms[0].CALLE.value;
				mensaje = validavalores(calle,"Calle",true); 
				if ( mensaje != ""){
				  alert(mensaje);				  
				  btnsubmit = false;
					return false;
				}
				if (getelem) numero = document.getElementById('NUMERO').value; else numero = document.forms[0].NUMERO.value;
				mensaje = validavalores(numero,"Numero",true); 
				if ( mensaje != ""){
				  alert(mensaje);				  
				  btnsubmit = false;
					return false;
				}
			break;
		}
		document.getElementById('consulta').value = "boton";
	  btnsubmit = false;
	}
	//else alert("El btnsubmit tiene false");		
	return true;
}

function validavalores(valor,nombrecampo,esnumerico){
  var mensaje = "";
  if (valor == ""){ 
			mensaje = "Introduzca un valor para el campo " + nombrecampo;
			return mensaje;					  		
	}
	if (vaciopunto(valor)){				  
			mensaje = "No se permite espacios en blanco ni punto en el valor del campo " + nombrecampo;
			return mensaje;		 
	}
	if (esnumerico){
			if(isNaN(valor))
      {  mensaje = "El campo " + nombrecampo + " debe ser un numero entero.";
			   return mensaje;
      }
	}
	else {
	   if(!isNaN(valor))
     {  mensaje = "El campo " + nombrecampo + " no puede tener solo numeros.";
			  return mensaje;	    
		 }	
	}		
	return mensaje;		
}

function verregion(valor){
  document.forms[0].ViewRegion.value = valor;
  document.forms[0].submit();
}

function bbwbspd(folio,sesdP,usrP){
	document.formwspd.folio.value = folio;
	document.formwspd.sesion.value = sesdP;
	document.formwspd.usuario.value = usrP;	
	document.formwspd.submit();	
}
