
var cargar = function(el,param) {
    el = $(el);
    el.toggleClass('loading');
	if(!param) param = "";
	new Request(
	{
		method: 'get',
		url: "server.php",
		onSuccess: function(txt,xml){if(el){el.innerHTML = txt;}else{alert(txt);}},
		onFailure: function(){alert('Error de servidor!');}
	}).send(param);
    return false;
}

var cargarAlex = function(el,param,action) {
    el = $(el);
    if(el){el.toggleClass('loading');}
	if(!param) param = "";
	
	new Request(
	{
		method: 'get',
		url: "server.php",
		onSuccess: function(txt,xml){
            switch(action){
                case "cambio_estado":
                case "eliminar":
                    var obmsg = JSON.decode(txt);
                    if(obmsg){
                        alert(obmsg.msg);
                        //alert(obmsg.extra);
                        if(obmsg.code == "0"){
                            //Hacer la llamada a recargar el grid ...
                            cargarListado(null);
                        }
                    }
                    else{alert(txt);}                                    
                    break;
                default:
                    if(el){el.innerHTML = txt;}
                    break;
            }
        },
		onFailure: function(){alert('Error de servidor!');}
	}).send(param);
    return false;
}
/****************************************************************************
   FUNCIONES LISTADOS
 ****************************************************************************/
function cargarListado(page){
    var tipo = dameTipoEntidadPagina();
    if(tipo){
        //Recoger pagina
        if (!page){
            page = $("hfcurrent_page") ? $("hfcurrent_page").value : "1";
        }
        //Recoger filtro
        var filtro = "&" + DameFiltro();        
        cargarAlex($("dgrid"),"action=listado&tipo=" + tipo + "&pageID=" + page + filtro);
    }
}

function pagerGrid(page){
    cargarListado(page);
}
function FiltraGrid(){
    //cargarAlex($("dgrid"),"action=listado&tipo=buques&pageID=1" + filtro);
    cargarListado(1);
}
function DameFiltro(){
    if($("nombre").value.trim()!= ''){return $("vfiltro").toQueryString();}
    else{return "";}
}

function Eliminar(idE){
    var str_confirm = "";
    var tipo = dameTipoEntidadPagina();

    switch(tipo){
        case "buques":
            str_confirm = "Si elimina este buque se eliminarán todas las descargas previstas por este buque. \n¿Esta seguro/a de que desea eliminar el buque seleccionado?";
            break;
        case "especies":
            str_confirm = "Si elimina esta especie se elimarán todas las descargas previstas de esta especie. \n¿Esta seguro/a de que desea eliminar la especie seleccionada?";
            break;
        case "vendedurias":
            str_confirm = "Si elimina esta vendeduría se eliminarán también todos los buques asociados a ella y todas las descargas previstas por estos buques. \n¿Esta seguro de que desea eliminar la vendeduría seleccionada?";
            break;
    }
    //Llamar a Eliminar asynch...
    if(confirm(str_confirm)){
        cargarAlex(null,"action=eliminar&tipo=" + tipo + "&id=" + idE,"eliminar");
    }
}

function cambiarEstado(idE, id_estado){
    var str_confirm = "";
    var tipo = dameTipoEntidadPagina();

    switch(tipo){
        case "usuarios":
            str_confirm = "¿Esta seguro de que desea cambiarle el estado al usuario seleccioando?";
            break;
    }
    //Llamar a cambio estado asynch...
    if(confirm(str_confirm)){
        cargarAlex(null,"action=cambiarEstado&tipo=" + tipo + "&id=" + idE + "&idestado=" + id_estado,"cambio_estado");
    }
}

function dameTipoEntidadPagina(){
    if(EsPagina("buques.php")){
        return "buques";
    }
    if(EsPagina("vendedurias.php")){
        return "vendedurias";
    }
    if(EsPagina("especies.php")){
        return "especies";
    }
    if(EsPagina("usuarios.php")){
        return "usuarios";
    }

    return false;
}
/****************************************************************************
    FIN FUNCIONES LISTADOS
 ****************************************************************************/

function abrirModal(contenido){

    $('fondo_negro').style.display='block';
    var obj = $("modalDiv");
    obj.innerHTML = contenido;
    var anchura = getAnchoVentana();
    var altura = getAltoVentana();
    obj.style.display='block';
	ajustarTamanoModal();
    //obj.style.left=((anchura/2)-(obj.offsetWidth/2)) + "px";
    //obj.style.top=((altura/2)-(obj.offsetHeight/2)) + "px";
}

function abrirAjaxModal(param){
    $('fondo_negro').style.display='block';
    var obj = $("modalDiv");
    obj.style.left="1000px";
    cargar("modalDiv", param);
    var anchura=getAnchoVentana();
    var altura=getAltoVentana();
    obj.style.display='block';
	ajustarTamanoModal();
}

function ajustarTamanoModal(){
    var obj = $("modalDiv");
    var anchura=getAnchoVentana();
    var altura=getAltoVentana();
	//alert(navigator.appName);
	if (navigator.appName == "Microsoft Internet Explorer") 
    {
		obj.style.width = "400px";
	}
    obj.style.left=((anchura/2)-(obj.offsetWidth/2));
    obj.style.top=((altura/2)-(obj.offsetHeight/2));
}

function cerrarModal(conError){
	conError = typeof(conError) != 'undefined' ? conError : false;
    $('fondo_negro').style.display='none';
    $("modalDiv").style.display="none";
	$("modalDiv").innerHTML="<center>Cargando...</center>";

    ck_insert = $("seguir_insert");
    if(ck_insert){
        if(ck_insert.checked){
            //Limpiar form
            //alert("Limpio");
            LimpiarForm();
        }
        else{
            //Ir a pagina anterior ... ¿numero de pagina listados?
            if($("btnvolver") && conError==false){$("btnvolver").click();}
        }
    }
}

function LimpiarForm(){
    arrin = $$("input[type=text]");
    arrin.each(function(o){o.value= '';})

    arrin = $$("select");
    arrin.each(function(o){o.selectedIndex= 0;})
    
    arrin = $$("input[type=password]");
    arrin.each(function(o){o.value= '';})
}
function getAnchoVentana(){
    // La siguiente línea no funciona en IE
    var anchura = window.innerWidth;
    // En caso de que la linea anterior no funcione, se realiza la alternativa para IE
    if (! window.innerWidth)
    {
        anchura = document.documentElement.offsetWidth;
    }
    return anchura;
}

function getAltoVentana(){
    // La siguiente línea no funciona en IE
    var altura = window.innerHeight;
    // En caso de que la linea anterior no funcione, se realiza la alternativa para IE
    if (! window.innerHeight)
    {
        altura = document.documentElement.offsetHeight;
    }
    return altura;
}

function getAnchoDiv(obj){
	alert(obj.style.width);
}

var fijo=false;
var seleccionado="";

function selClick(param, idTrans, obj){
	//alert('click');
	if (param+idTrans==seleccionado && fijo==true){
		//Desbloquea
		fijo=false;
		seleccionado="";
		divCamiones = document.getElementsByTagName("div");
		for (var i=0; i< divCamiones.length; i++){
			if (divCamiones[i].id.indexOf(param + idTrans)>-1)
				divCamiones[i].style.backgroundColor='#F2F6F9';
		}
		if (obj.id!='divDestacarNinguno')
			obj.className='selMarcar';
		else
			obj.className='selMarcar2';
		$('divLblMarcar').innerHTML="Destacar...";
	}
	else{
	//bloquea
		fijo=true;
		seleccionado=param+idTrans;
		divCamiones = document.getElementsByTagName("div");
		for (var i=0; i< divCamiones.length; i++){
			/*if (divCamiones[i].className=='selMarcar_hover')
				divCamiones[i].className='selMarcar';
			if (divCamiones[i].className=='selMarcar2_hover')
				divCamiones[i].className='selMarcar2';*/
			if (divCamiones[i].id.indexOf(param)>-1)
				divCamiones[i].style.backgroundColor='#F2F6F9';
			if (divCamiones[i].id.indexOf(param + idTrans)>-1){
				divCamiones[i].style.backgroundColor='#C2DBEF';
			}
		}			
		$('divLblMarcar').innerHTML="Destacar: " + obj.innerHTML;
		/*if (obj.id!='divDestacarNinguno')
			obj.className='selMarcar_hover';
		else
			obj.className='selMarcar2_hover';*/
		$('divLblMarcar').fireEvent("click");
		setTimeout("fijo=false;", 1000);
	}
}

function selParam(param, idTrans, obj){
	if (!fijo){
		divCamiones = document.getElementsByTagName("div");
		for (var i=0; i< divCamiones.length; i++){
			if (divCamiones[i].id.indexOf(param + idTrans)>-1)
				divCamiones[i].style.backgroundColor='#C2DBEF';
		}	
		if (obj.id!='divDestacarNinguno')
			obj.className='selMarcar_hover';
		else
			obj.className='selMarcar2_hover';
			
		$('divLblMarcar').innerHTML="Destacar: " + obj.innerHTML;
		fijo=false;
	}
}
 
function desselParam(param, idTrans, obj){
	if (!fijo){
		divCamiones = document.getElementsByTagName("div");
		for (var i=0; i< divCamiones.length; i++){
			if (divCamiones[i].id.indexOf(param + idTrans)>-1)
				divCamiones[i].style.backgroundColor='#F2F6F9';
		}	
		//alert(obj.id);
		$('divLblMarcar').innerHTML="Destacar...";
	}
	if (obj.id!='divDestacarNinguno')
		obj.className='selMarcar';
	else
		obj.className='selMarcar2';
}

function posicionComboMarcar(){
		var pos = $('divLblMarcar').getPosition();
		if ($('contCombo2')!=null){
			$('contCombo2').style.position='absolute';
			$('contCombo2').style.left=pos.x;
			$('contCombo2').style.top=pos.y+20;	
			$('contCombo2').style.zIndex='1000';
		}
}

function posicionComboExportar(){
		var pos = $('divLblExportar').getPosition();
		
		$('divExportar').style.position='absolute';
		$('divExportar').style.left=pos.x;
		$('divExportar').style.top=pos.y+20;	
		$('divExportar').style.zIndex='1000';
}
function EsPagina(page){
   return (window.location.toString().indexOf(page) >= 0);
}

function borrarLinea(num){
	$('tbLineas').deleteRow(num+1);
}

function anadirLinea(num){
	//appendChild
	//createElement
	var tr=document.createElement("tr");
	var td1=document.createElement("td");
	var td2=document.createElement("td");
	var td3=document.createElement("td");
	
	//td1
	var cadena="<input type='hidden' name='especies[" + num + "]' value='";
	for(var i=0; i<$('especies[0]').length; i++){
		if ($('especies[0]')[i].selected)
			cadena+=$('especies[0]')[i].value;
	}
	cadena+="'>";
	td1.innerHTML=cadena;
	
	//td2
	td2.innerHTML="<input type='hidden' id='id[" + num + "]' name='id[" + num + "]' value='0'/><input class='txt1' type='hidden' name='kilos[" + num + "]' value='0' maxlength='7'/>";
	
	//td3
	td3.innerHTML="<input class='txt1' type='hidden' name='tipo[" + num + "]' value='nuevo' maxlength='7'/>";
	
	tr.appendChild(td1);
	tr.appendChild(td2);
	tr.appendChild(td3);
	
	$('tbLineas').appendChild(tr);
}

function validarLineas(){
	var i=0;
	var validado=true;
	while($('kilos[' + i + ']')){	
		var obj = $('kilos[' + i + ']');		
		valor = parseInt(obj.value)

		if (isNaN(valor)) {
			validado=false;
		}
		i++;
	}
	return validado;
}

function setIMask() {
	new iMask({
		onFocus: function(obj) {
			obj.setStyles({"background-color":"#ff8", border:"1px solid #880"});
		},

		onBlur: function(obj) {
			obj.setStyles({"background-color":"#fff", border:"1px solid #ccc"});
		},

		onValid: function(event, obj) {
			obj.setStyles({"background-color":"#8f8", border:"1px solid #080"});
		},

		onInvalid: function(event, obj) {
			if(!event.shift) {
				obj.setStyles({"background-color":"#f88", border:"1px solid #800"});
			}
		}
	});
}

function enterGuardarLineas(e){
	e = new Event(e);
	if(e.key=='enter'){
		if(confirm('¿Está seguro de que desea guardar estos datos?')){
			$("btnGuardar").click();
		}
	}
}

function nl2br (str, is_xhtml) {
 
    var breakTag = '';
 
    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }
 
    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}

var temps="";

function iniciarContador(num){	
	var id=setInterval("contador(" + num + ")", 1000);
	temps=temps+"_"+id;
}

function detenerContadores(){
	var cadena=temps + "_";
	while(cadena.length>1){
		//alert("cadena=" + cadena);
		if (cadena.charAt(0)=="_"){
			cadena=cadena.substring(1, cadena.length);
			//alert("cadena arrelada:" + cadena);
		}
		var id=cadena.substring(0, cadena.indexOf("_"));
		cadena=cadena.substring(cadena.indexOf("_"),cadena.length);
		clearInterval(id);
	}
}

function contador(num){
	if($('contador' + num)!=null){
		if ($('contador' + num).innerHTML>0)
			$('contador' + num).innerHTML=$('contador' + num).innerHTML-1;
		if ($('contador' + num).innerHTML==0){
			$('contador' + num).style.display="none";
			$('divContador' + num).innerHTML=' ';
			$('divContador' + num).className='contadorVacio';
			$('divBotones' + num).style.display="none";
			detenerContadores();
		}
	}
}

