//******************************************************************
// Detección del Navegador
//******************************************************************
function lib_bwcheck(){ 
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && this.dom)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;
}
var bw=new lib_bwcheck();
//fin deteccion del navegador


ie5 = (document.all && document.getElementById);
ns6 = (!document.all && document.getElementById);

//****************************************************************
//Funciones de socios
//****************************************************************
function ValidaError(error) { 
	if (error > 0)  window.alert("Error, póngase en contacto con la asistencia técnica");
	return
}

//****************************************************************
//Funcion de control de fechas
//****************************************************************
function ObtenerFecha(diames, diasemana, idioma) {
  var dia_cas = ["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"];
  
  var mes_cas = ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"];
  
  switch (idioma) {
    case 1:
		//Castellano
		return dia_cas[diasemana-1] +", "+ diames;
		break;
  }
}
//**************************************************************************
//Funciones de rollover
//**************************************************************************
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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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 MM_opaco(obj,tipo) { 
		document.getElementById(obj).style.MozOpacity=tipo/100;
		document.getElementById(obj).style.opacity=tipo/100;
		document.getElementById(obj).style.filter='Alpha(Opacity='+tipo+')';
	return


}

//***********************************************************************************
// Funciones de control de navegacion
//***********************************************************************************
function AbreVentana(tipo,valor,ancho,alto, arriba, izquierda) {
    switch(tipo) {
        case "A":
            winprops = "height="+alto+",width="+ancho+",top=" + arriba + ",left=" + izquierda + ",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no";
            win = window.open(valor,'Login',winprops);
            win.opener = window;
            win.focus();
            break;
        case "B":
            winprops = "height="+alto+",width="+ancho+",top=" + arriba + ",left=" + izquierda + ",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no";
            win = window.open(valor,'Visor',winprops);
            win.opener = window;
            win.focus();
            break;
        default:
                alert("Error en la aplicacion,");
    }
    
}

//***************************************************************************
//Funciones generales de control de capas
//***************************************************************************
var tiempo_in;

function BorrarCapa() {
	var a = BorrarCapa.arguments;
	var i;
	for (i=0; i<a.length; i++) {
		if (ie5) document.getElementById(a[i]).filters.alpha.opacity = 0;
		if(ns6) document.getElementById(a[i]).style.MozOpacity = 0;
    	document.getElementById(a[i]).style.visibility="hidden";
	}
}

function fadeIn(elemento, inicio, fin) {
	document.getElementById(elemento).style.visibility = "visible";
	clearTimeout(tiempo_in);
	if(inicio < fin){
		inicio+=5;
		if (ie5) document.getElementById(elemento).filters.alpha.opacity = inicio;
		if(ns6) document.getElementById(elemento).style.MozOpacity = inicio/100;
		tiempo_in=setTimeout("fadeIn('"+ elemento + "',"+ inicio + ","+ fin + ")", 0);
	}
}

function fadeOut(elemento,inicio, fin) {
	if(inicio > fin){
		inicio-=5;
		if (ie5) document.getElementById(elemento).filters.alpha.opacity = inicio;
		if(ns6) document.getElementById(elemento).style.MozOpacity = inicio/100;
		setTimeout("fadeOut('"+ elemento + "',"+ inicio + "," + fin + ")", 0);
	} else {
		document.getElementById(elemento).style.visibility = "hidden";
	}
}

//***********************************************************************************
//Funciones de control de flash
//*****************************************************************************
function GoTo(objeto,frame) {
		objeto.GotoFrame(frame);
}

function GoToPlay(objeto,frame) {
	GoTo(objeto,frame);
	objeto.Play();
}	
//******************************************************************
//FUNCIONES DE CONTROL DEL SCROLL
//****************************************************************

var speed = 20;
var loop, timer;
var px = bw.ns4||window.opera?"":"px";
var scrolltextLoaded = false;

function makeObj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.';
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight;
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight;
	this.up=goUp;this.down=goDown;
	this.moveIt=moveIt; 
    this.x=0; this.y=0;
    this.obj = obj + "Object";
    eval(this.obj + "=this");
    return this;
}

function moveIt(x,y){
	this.x = x;
	this.y = y;
	this.css.left = this.x+px;
	this.css.top = this.y+px;
}

function goDown(move){
	if (this.y>-this.scrollHeight+oCont.clipHeight){
		this.moveIt(0,this.y-move);
		if (loop) setTimeout(this.obj+".down("+move+")",speed);
	}
}

function goUp(move){
	if (this.y<0){
		this.moveIt(0,this.y-move);
		if (loop) setTimeout(this.obj+".up("+move+")",speed);
	}
}

function scroll(speed){
	if (scrolltextLoaded){
		loop = true;
		if (speed>0) oScroll.down(speed);
		else oScroll.up(speed);
	}
}

function noScroll(){
	loop = false;
	if (timer) clearTimeout(timer);
}

function scrolltextInit(cont,txt){
	oCont = new makeObj(cont);
	oScroll = new makeObj(txt,cont);
	oScroll.moveIt(0,0);
	oCont.css.visibility = "visible";
	scrolltextLoaded = true;
}


//***********************************************************************************
//Funciones de control de combos
//*****************************************************************************
function existeItem(origen, destino) {
  for (i=0;i<destino.length;i++)
    if (destino[i].value==origen)
    return true;
  return false;
}

function eliminarItem(control){
    if(control!=null){
          var i;
          for (i = control.length - 1; i>=0; i--) {
                if (control.options[i].selected) {
                  control.remove(i);
                }
          }
    }
}

function annadirItem() {
       
    var origen, origen_txt, origen_value, destino, a=annadirItem.arguments;
    //elimina los elementos en blanco
    
    if (a.length>2) {
            origen_value = a[0];
            origen_txt = a[1];
            destino = a[2];
            //Mandamos los id y el value id1,value1, conbo destino
            if (!existeItem(origen_value,destino)){
                    var elOptNew = document.createElement('option');
                    elOptNew.value = origen_value;
                    elOptNew.text = origen_txt;
                    try {
                            destino.add(elOptNew, null); // standards compliant; doesn't work in IE
                            //destino.options[destino.options.lenght-1].selected = "selected";
                    } catch(ex) {
                            destino.add(elOptNew); // IE only
                    }
            }
    } else {
            //Es una transferencia de combo a combo
            origen = a[0];
            destino = a[1];
            if(origen.value!=""){
                if (!existeItem(origen.value,destino)){
                        var elOptNew = document.createElement('option');
                        elOptNew.text = origen[origen.selectedIndex].text;
                        elOptNew.value = origen[origen.selectedIndex].value;
                        try {
                                destino.add(elOptNew, null); // standards compliant; doesn't work in IE
                                //destino.options[destino.options.lenght-1].selected = "selected";
                        } catch(ex) {
                                destino.add(elOptNew); // IE only
                        }
                } else {
                        alert("El elemento seleccionado ya esta incluido");
                }
            }
    }
}

function armarFecha(fecha){
    return fecha.substring(8,10)+"/"+fecha.substring(5,7)+"/"+fecha.substring(0,4);
}


function Forma(opcion,req,estado,opcion2,rol){
    Dibuja(opcion,estado,opcion2,rol);
    Rellena(opcion,req);
}

function marcarSelect(valor,select){
    for (i=0;i<select.options.length;i++){
        if (select.options[i].value==valor){
            select.options[i].selected=true;
        }
    }
    
}
function getSelectedValues (select) {
    var aStr = new String();
    for (var i = 0; i < select.options.length; i++){
        if(select.options[i].value!=0){
            aStr  = aStr + select.options[i].value +",";
        }
    }
     return ","+aStr;
}
function Calendario(idioma,capa){
     calendario = new CalendarPopup(capa);
     switch(idioma){
        case 0:
            calendario.setMonthNames('Gener','Febrer','Març','Abril','Maig','Juny','Julio','Agost','Setembre','Octubre','Novembre','Desembre');
            calendario.setDayHeaders('D','L','M','X','J','V','S');
            calendario.setWeekStartDay(1);
            calendario.setTodayText("Avui");
        break;
        case 1:
            calendario.setMonthNames('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
            calendario.setDayHeaders('D','L','M','X','J','V','S');
            calendario.setWeekStartDay(1);
            calendario.setTodayText("Hoy");
        break;
        case 2:
        break;
           
     }
     return calendario;
}

function check(extension,input_archivo) {

    encontrado=false;
    if(input_archivo){
        var ext = input_archivo.value;
        ext = ext.substring(ext.length-3,ext.length);
        ext = ext.toLowerCase();
        i=0;
        while(!encontrado && i<extension.length){
            if(ext != extension[i] && ext!="") {
                encontrado=false;
            }else{
                encontrado=true;
            }
            i++;
        }           
        if(!encontrado){
            input_archivo.value="";
            alert('Ha selecionado un fichero : .'+ext+ ' ; por favor selecione solamente archivos '+extension+' !');
        }
    }else{
        return true; 
    }
}
//compararFechas: devuelve true si la fecha de inicio es anterior a la fecha final
function compararFechas(fecha_inicio,fecha_final){
    if(fecha_inicio.value!="" && fecha_final.value!=""){
        dia1=fecha_inicio.value.substring(0,2);
        mes1=fecha_inicio.value.substring(3,5);
        anyo1=fecha_inicio.value.substring(6,10);
        dia2=fecha_final.value.substring(0,2);
        mes2=fecha_final.value.substring(3,5);
        anyo2=fecha_final.value.substring(6,10);
        f_inicio = new Date(anyo1,mes1,dia1);
        f_final = new Date(anyo2,mes2,dia2);
        timeDifference = f_inicio - f_final;
        if (timeDifference > 0){
            return false;
        }
    }
    return true;
}

function removeChildrenFromNode(node) {
    if((node == undefined) || (node == null)) {
        return; 
    }
    var len = node.childNodes.length;
    while (node.hasChildNodes()) {
        node.removeChild(node.firstChild);
    }
}

 function AbrirPopup(url,altura,width){
    Shadowbox.clearCache();
    Shadowbox.open( {player:'iframe', content:url, height:altura,width:width});
}
