var isIE;
var isNS;
var strNavegador;
var movie;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function End() {

	movie.TSetProperty("/CuadroEscala",7,0);
	// Se ejecuta cuando termina de cargar el swf
	ActivarDesactivarCoord(0);
}

function Actualizar()
{
 	movie.TCallLabel("/gfMetodos", "gfActualizarPOIs");
}
function InsertarEstrella(nX,nY)
{
	movie.SetVariable("/:EstrellaCoordX", nX);
	movie.SetVariable("/:EstrellaCoordY", nY);
 	movie.TCallLabel("/gfMetodos", "gfInsertarEstrellaXY");
}

function InsertarTexto(nX,nY,strTexto)
{
	movie.SetVariable("/:TextoCoordX", nX);
	movie.SetVariable("/:TextoCoordY", nY);
	movie.SetVariable("/:gfNuevoTexto", strTexto);
 	movie.TCallLabel("/gfMetodos", "gfInsertarTextoXY");
}
function Imprimir()
{
 	movie.TCallLabel("/gfMetodos", "gfImprimir");
}
function gfCoordinates(nX,nY,imMapFile)
{
	//document.coordenadas.x.value = nX;
	//document.coordenadas.y.value = nY;
	alert("X=" + nX + ", Y=" + nY + ",imMapFile = " + imMapFile);

}

function chequeamail(str){
	var reg1 = /( )|(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
		return true;
	}else{
		return false;
	}
}

function EnviarCorreo(strNombreSender, strEMailSender,strNombreReceiver,strEMailReceiver)
{
    if (!chequeamail(strEMailSender)){
	  alert("Mail de origen incorrecto");
	  return false;
    }

    if (!chequeamail(strEMailReceiver)){
	  alert("Mail de destino incorrecto");
	  return false;
    }
	movie.SetVariable("/:NombreSender", strNombreSender);
	movie.SetVariable("/:EMailSender", strEMailSender);
	movie.SetVariable("/:NombreReceiver", strNombreReceiver);
	movie.SetVariable("/:EMailReceiver", strEMailReceiver);
	movie.SetVariable("/:EMailMensaje", strEMailMensaje);
	movie.TCallLabel("/gfMetodos", "gfEnviarCorreo");
	return true;
}

function activarModo(strModo) {
    movie.SetVariable("/:gfMode", strModo);
    movie.TCallLabel("/gfMetodos", "gfMode");
}

function Zoom(escala) {
	//document.mapa.Escala.value = escala;
	movie.SetVariable("/:imScale", escala);
    movie.TCallLabel("/gfMetodos/_map", "FocusOnXY");
   	movie.TCallLabel("/gfMetodos/_map", "imRefresh");
}

function imInfo(strCiudad, strRecurso, ResourceID){
        if(ResourceID.length>0){
		document.location.href='http://www.coruna.es/servlet/ContentServer?itemTemplate=Portal-Entidad-Detalle&c=Page&pagename=Portal%2FPage%2FPortal-SubportadaSeccion&itemType=Entidad&cid=1134487388083&itemID='+ResourceID;
			//window.open("http://www.coruna.es/servlet/ContentServer?itemTemplate=Portal-Entidad-Detalle&c=Page&pagename=Portal%2FPage%2FPortal-SubportadaSeccion&itemType=Entidad&cid=1134487388083&itemID="+ResourceID,"vista", 'scrollbars=auto,resizable=no,width=550,height=400') ;
        }
}

function MostrarZona(strMovie,strNombreCapa)
{
	movie.SetVariable("/:strNuevaMovie", strMovie);
	movie.SetVariable("/:strNuevaCapa", strNombreCapa);
	movie.TCallLabel("/gfMetodos/_Zonas", "MostrarCapa");
}

function ActivarDesactivarCoord(bEstado)
{
	if (movie) {
		movie.SetVariable("/:bEstado", bEstado);
	  	movie.TCallLabel("/gfMetodos", "gfActivarDesactivarCoord");
	} else {
		alert('El callejero no esta disponible');
	}
}

function actualizaCoordenadasPadre(x,y) {
	var r = new Array();
	r[0] = x;
	r[1] = y;
	window.returnValue = r;
	window.close();
}


function ActivarDesactivarCapa(strCapa,bEstado){		
		movie.SetVariable("/:strCapa", strCapa); 
		movie.SetVariable("/:strCapaEstado", bEstado); 
		movie.TCallLabel("/", "gfOnOffCapa");
}


function refrescarCategoriasPois() {

	var elementos = document.getElementById("frmBuscador").elements;
	var categorias = '';
	for (x=0; x < elementos.length; x++) {
	    if (elementos[x].type == 'checkbox') {
			check = document.getElementById(elementos[x].id);
			if (check.checked) {
				categorias += check.value;
			}
		}
	}
	categorias+='DUMMY|'; // categoría tonta para que no vaya vacío el string
	rExpr = /[|]/g;
	rExpr2 = ';';
	categorias = categorias.replace(rExpr,rExpr2);
	
	
	movie.SetVariable("/:FiltroPOIs",categorias); 
    movie.TCallLabel("/gfMetodos", "gfActualizarPOIs");

}

function poi(nombre,valor){
		//alert(nombre);
		if (!valor)
			{ var bEstado=0;}
		 else 
		 	{ var bEstado=1;}
		var poisArray=nombre.split("|");
		for (i=0;i<poisArray.length-1;i++) {
			ActivarDesactivarCapa(poisArray[i],bEstado);
		}		
}

function checkTyping(e){ //e is event object passed from function invocation
	var characterCode; // literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
	e = e;
	characterCode = e.which; //character code is contained in NN4's which property
	}
	else{
	e = event;
	characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}

	if(characterCode == 13 || characterCode == 320000 ){ //if generated character code is equal to ascii 13 (if enter key)
	document.nuevaBusqueda.submit(); //submit the form
	return false;
	}
}
	
	
function DesplazarMapa(x,y,scale) 
{
	movie.SetVariable("/:imX", x); 
	movie.SetVariable("/:imY", y); 
	movie.SetVariable("/:imScale", scale);
	movie.TCallLabel("/gfMetodos/_map/", "FocusOnXY");
	movie.TCallLabel("/gfMetodos/_map/", "imRefresh");
}



function validaHora(str)
{

	var hora = new String(str);
	
	if (hora.length!=4) {alert("Debe introducir los datos en formato HHMM. P.ej: 0030, 1230,... ");return false}
	a=hora.charAt(0);
	b=hora.charAt(1);
	c=hora.charAt(2);
	
	if ( (a>=2 && b>3) || (c>5) ) {alert("Ha introducido mal la hora. El formato correcto es HHMM, p.ej 1235");return false;}
	return true;

}



function validaFecha(Cadena){

	
	var Fecha= new String(Cadena)	// Crea un string
	var RealFecha= new Date()	// Para sacar la fecha de hoy

	// Cadena Año
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))
	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))
	// Cadena Día
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))
	
	// Valido el año
	if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900 || parseFloat(Ano) > 2020){
        	alert('Año inválido')
		return false
	}
	// Valido el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
		alert('Mes inválido')
		return false
	}
	// Valido el Dia
	if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
		alert('Día inválido')
		return false
	}
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
		if (Mes==2 && Dia > 28 || Dia>30) {
			alert('Día inválido')
			return false
		}
	}
	return true;
  
}

function validar(fecha, hora) {
	
	
	if (validaFecha(fecha) && validaHora(hora)) {
		document.getElementById("busquedabus").submit();
	} else		
	return false;
	}


function es_valido(cadena)
{
	var caracteresPermitidos = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789";
	var valido = true;
	for (var i=0; i<cadena.length; i++) {
	if (caracteresPermitidos.indexOf(cadena.charAt(i))==-1) {
	valido = false;
	break;
} //if
} // for
return valido;
}

function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

