var g_fullCabeceraDetallDiv;        //Innerhtml dels divs dels tabs del detall
var g_fullCabeceraDetallDiv2;        //Innerhtml dels divs dels tabs del detall (PARA LOCALIZACIONES)

function setFocusOver(id)
{
  document.getElementById(id).focus();    
  lostFocus(id,1000);
}

function lostFocus(divID,timer)
{
  var obj=document.getElementById(divID);
  if (obj != null)
  {

    obj.focus();
    timerValidation=setTimeout("lostFocus('"+divID+"')",timer);
  }
}

function restoreValidation(divID,mainContainer)
{
  
  document.getElementById(divID).className="validationRestore";
  document.getElementById(mainContainer).innerHTML="";
}

function flagStatus(estat,divID,mainContainer,time)
{
  
  if(typeof(timerRestore)!="undefined")  clearTimeout(timerRestore); 

  switch(estat)
  {
  
    case "0":
    document.getElementById(divID).className="validationOK";
    timerRestore=setTimeout("restoreValidation('"+divID+"','"+mainContainer+"')",time);
    break;
      
    case "1":
    document.getElementById(divID).className="validationKO";
    timerRestore=setTimeout("restoreValidation('"+divID+"','"+mainContainer+"')",time);
    break;
    
    case "2":
    document.getElementById(divID).className="validationWARNING";
    timerRestore=setTimeout("restoreValidation('"+divID+"','"+mainContainer+"')",time);
    break;
  }
}

function muestraTipoSesionMuseistic(obj)
{
    switch(obj.value)
    {
        case "0":                                    //Cap seleccio
            mDIV("tipoSesion", "hidden");
            break;
        case "1":                          //permanent
            mDIV("tipoSesion", "visible");         
            mDIV("sessioNumerada", "hidden");
            mDIV("sesionFrecuencia", "hidden");
            mDIV("onlineYOffline", "visible");
            mDIV("onlineSolo", "hidden");
            mDIV("sessioNumerada", "hidden");
            mDIV("divAforaments", "hidden");
            mDIV("divRelease", "hidden");
            break;
            
        case "2":                                   //Acte diari
            mDIV("tipoSesion", "visible");
            mDIV("sesionFrecuencia", "visible");
            mDIV("onlineYOffline", "visible");
            mDIV("onlineSolo", "hidden");
            mDIV("sessioNumerada", "visible");
            mDIV("divAforaments", "visible");
            mDIV("divRelease", "visible");
            break;
    }
}

function muestraTipoSesionEspectacles(obj)
{
    switch(obj.value)
    {
        case "0":                                    //Cap seleccio
            mDIV("tipoSesion", "hidden");
            break;
        case "1":                                   //Acte de llarga duracio (1 sola sessio)
            mDIV("tipoSesion", "visible");
            mDIV("sessioNumerada", "hidden");
            mDIV("sesionFrecuencia", "hidden");
            mDIV("inicioYFin", "visible");
            mDIV("onlineYOffline", "visible");
            break;
            
        case "2":                                   //Acte permanent
            mDIV("tipoSesion", "visible");
            mDIV("sesionFrecuencia", "hidden");
            mDIV("inicioYFin", "hidden");
            mDIV("onlineYOffline", "hidden");
            mDIV("sessioNumerada", "hidden");
            break;
    }
}

function mDIVSet(allDivs,divActiu)
{
  for(var i=0;i<allDivs.length;i++)    
  {
    mDIV(allDivs[i],"hidden");
  }
  mDIV(divActiu);
}

function key4Submit(e,formName)
{
    tecla = (document.all) ? e.keyCode : e.which;
    if(tecla==13)submitForm(formName);
    
}

function submitForm(formName)
{
    document[formName].submit();
}

function browseCheckAllDIV(divName,estado){

    obj = document.getElementById(divName).getElementsByTagName("input");
    for(var i = 0; i < obj.length; i++)
    {
    if(estado.checked==true)
        {
            obj[i].checked=0;
        }
        else 
        {
            obj[i].checked=1;
        }
    }
    if(estado.checked==true)estado.checked=0;
    else estado.checked=1;    
}

function browseSelectedDIV(divName)
{
    var listItems=new Array();
    obj = document.getElementById(divName).getElementsByTagName("input");
    
    for(var i = 0; i < obj.length; i++)
    {
        if(obj[i].type == "checkbox"){
            if(obj[i].checked)
            {
            listItems.push(obj[i].name);
            }
        }

    }
    if(listItems.length>0){
        //if(confirm("se borraran los siguientes elementos, continuar?")){alert("borrando:"+listItems);}
        return listItems;
        
    }
    else{
         return -1;
    }
}

function browseCheckAll(formName, estado) 
{ 

    form = document.forms[formName]  
    for (i=0;i<form.elements.length;i++)  
    {  
        if(estado.checked==true)
        {
            if(form.elements[i].type == "checkbox")form.elements[i].checked=0;  
        }
        else 
        {
            if(form.elements[i].type == "checkbox")form.elements[i].checked=1;  
        }
    }  
    if(estado.checked==true)estado.checked=0;
    else estado.checked=1;    

}   

function browseSelected(formName) 
{ 
    var listItems=new Array();
    form = document.forms[formName]  
    for (i=0;i<form.elements.length;i++)  
    {  
        if(form.elements[i].type == "checkbox")
        {
            if(form.elements[i].checked==true)if(form.elements[i].name!=-1)listItems.push(form.elements[i].name);
        }

    }  
    if(listItems.length>0){
        return listItems;
    }
    else{
         return -1;
    }

}  

var divMenuActivo="0";
var nombreMenu="menu_";
var nombreBoton="boton_";

function mMenu(divMenu)
{
    var divPulsado=nombreMenu+divMenu;
    var divActivo=nombreMenu+divMenuActivo;
    
    if(divPulsado!=divActivo){
        document.getElementById(nombreMenu+divMenuActivo).style.display='none';
        document.getElementById(nombreBoton+divMenuActivo).className="browseMenuBoton browseMenuBotonOFF";        

        document.getElementById(nombreMenu+divMenu).style.display='';
        document.getElementById(nombreBoton+divMenu).className="browseMenuBoton";    
        
        
        divMenuActivo=divMenu;
    }
}
 



function vistaPrevia(editDIV,prevDIV,textoEDIT,previaEDIT)
{
    var textContainer=document.getElementById(textoEDIT).value;
    textContainer=saltosLinea(textContainer,true);
    document.getElementById(previaEDIT).innerHTML =textContainer;
    mDIV(editDIV);    
    mDIV(prevDIV);        
}

function saltosLinea(texto, conbr) {

 var nl=document.all?String.fromCharCode(13):"\n";
 if (conbr) {     
     while(texto.indexOf(nl)>=0){
      texto = texto.replace(nl, "<br/>");
      if(document.all)  texto = texto.replace("\n", "");
    }
 } else {
    while(texto.indexOf("<br/>")>=0){
      texto = texto.replace("<br/>",nl);
    }
 }
 return texto;
}
// funcion modificada 15/10/2010. solucionado problema body/window size
function setShadowMax(divName){

    var bodySize = new Object();
    var windowSize = new Object();
    var size = new Object();

    bodySize.w = document.body.clientWidth
    bodySize.h = document.body.clientHeight;
    
    
    windowSize.w = document.documentElement.clientWidth;
    windowSize.h = document.documentElement.clientHeight;

    if(bodySize.h>windowSize.h)
    {
        size.h=bodySize.h;
        document.getElementById(divName+"_shadow").style.height=size.h+"px";
    }
    else
    {
         size.h=windowSize.h;
         document.getElementById(divName+"_shadow").style.height='100%';
    }
    
    
    if(bodySize.w>windowSize.w)
    {
        size.w=bodySize.w;
        document.getElementById(divName+"_shadow").style.width=size.w+"px";
    }
    else
    {
         size.w=windowSize.w;
         document.getElementById(divName+"_shadow").style.width='100%';
    }
}
function getBodySize(){

    var size = new Object();
    size.w = document.body.clientWidth;
    size.h = document.body.clientHeight;
    return size;
}

function getWindowSize(){
    var size = new Object();
    size.w = document.documentElement.clientWidth;
    size.h = document.documentElement.clientHeight;
    return size;
}

function addSlashesJS (str) {
    return (str+'').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}

function initTabs()
{
    g_fullCabeceraDetallDiv='';
}

function open_overlay2(divName,ancho,alto) {

    setShadowMax(divName);
    var size = getWindowSize();
    //var size = getBodySize();
    if(ancho.indexOf('%')!=-1)
        ancho=((size.w*parseInt(ancho))/100);
    else
        ancho=ancho;
    if(alto.indexOf('%')!=-1)
        alto=((size.h*parseInt(alto))/100);
    else
         alto=alto;
    //Parametros CSS
    borderSize=20;
    paddingSize=0;
    ancho=parseInt(ancho);
    alto=parseInt(alto);
    
    var divClose=divName+"_close";
    var divClosex=ancho/2-borderSize;
    var divClosey=alto/2-alto-(borderSize/2);
    
    document.getElementById(divClose).style.marginLeft=divClosex+"px";
    document.getElementById(divClose).style.marginTop=divClosey+"px";
    document.getElementById(divName+"_cont").style.width=parseInt(ancho-borderSize-paddingSize)+"px";
    document.getElementById(divName+"_cont").style.height=parseInt(alto-borderSize-paddingSize)+"px";
    document.getElementById(divName+"_cont").style.marginTop=-parseInt(alto/2)+"px";
    document.getElementById(divName+"_cont").style.marginLeft=-parseInt(ancho/2)+"px";    

    var container=divName+"_container";
    document.getElementById(container).style.visibility='visible';
    var parentNode= document.getElementById(divName+"_tabs");
    
    //Guardo per primera vegada la cabecera full i si ja existia la restauro
    if (!g_fullCabeceraDetallDiv2)
        g_fullCabeceraDetallDiv2=parentNode.innerHTML;
    else
        parentNode.innerHTML=g_fullCabeceraDetallDiv2;
        
    document.getElementById(divName+'_tabs_p1').className='tabON';
    
    document.getElementById(divName+"_tabs_p2").style.visibility='visible';
    document.getElementById(divName+'_tabs_p2').className='tabOFF';
    
    document.getElementById(divName+"_tabs_p3").style.visibility='visible';
    document.getElementById(divName+'_tabs_p3').className='tabOFF';
    
    document.getElementById(divName).innerHTML="";
    document.getElementById(divName).style.display='';
    document.getElementById(divName+'_tags').style.display='none';
    
}


function open_overlay(divName,ancho,alto,withMultimedia,withTags,withLocalizations,withSessions,withSecurity,withArticles,withDateExceptions) {
    setShadowMax(divName);
    
    var size = getWindowSize();
    //var size = getBodySize();
    
    if(ancho.indexOf('%')!=-1)
        ancho=((size.w*parseInt(ancho))/100);
    else
        ancho=ancho;
    
    if(alto.indexOf('%')!=-1)
        alto=((size.h*parseInt(alto))/100);
    else
         alto=alto;
    
    //Parametros CSS
    borderSize=20;
    paddingSize=0;

    
    ancho=parseInt(ancho);
    alto=parseInt(alto);
    
    var divClose=divName+"_close";
    var divClosex=ancho/2-borderSize;
    var divClosey=alto/2-alto-(borderSize/2);
    
    document.getElementById(divClose).style.marginLeft=divClosex+"px";
    document.getElementById(divClose).style.marginTop=divClosey+"px";
    document.getElementById(divName+"_cont").style.width=parseInt(ancho-borderSize-paddingSize)+"px";
    document.getElementById(divName+"_cont").style.height=parseInt(alto-borderSize-paddingSize)+"px";
    document.getElementById(divName+"_cont").style.marginTop=-parseInt(alto/2)+"px";
    document.getElementById(divName+"_cont").style.marginLeft=-parseInt(ancho/2)+"px";    

    var container=divName+"_container";
    document.getElementById(container).style.visibility='visible';
    
    var parentNode= document.getElementById(divName+"_tabs");
    
    //Guardo per primera vegada la cabecera full i si ja existia la restauro
    if (!g_fullCabeceraDetallDiv)
        g_fullCabeceraDetallDiv=parentNode.innerHTML;
    else
        parentNode.innerHTML=g_fullCabeceraDetallDiv;
                
    if (withMultimedia==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p2"));
        parentNode.removeChild(document.getElementById(divName+"_tabs_p3"));
    } 
    else
    {
        document.getElementById(divName+"_tabs_p2").style.visibility='visible';
        document.getElementById(divName+"_tabs_p3").style.visibility='visible';    
    }
    
    if (withTags==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p4"));
    }
    else
    {
        document.getElementById(divName+"_tabs_p4").style.visibility='visible';
    }
    
    if (withLocalizations==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p5"));
    }
    else
        document.getElementById(divName+"_tabs_p5").style.visibility='visible';

    if (withSessions==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p6"));
    }
    else
        document.getElementById(divName+"_tabs_p6").style.visibility='visible';
    
    if (withSecurity==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p7"));
    }
    else
        document.getElementById(divName+"_tabs_p7").style.visibility='visible';
        
    if (withArticles==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p8"));
    }
    else
        document.getElementById(divName+"_tabs_p8").style.visibility='visible';
        
    if (withDateExceptions==false)
    {
        parentNode.removeChild(document.getElementById(divName+"_tabs_p9"));
    }
    else
        document.getElementById(divName+"_tabs_p9").style.visibility='visible';
}

function close_overlay(divName) {
    
    var container=divName+"_container";

    document.getElementById(container).style.visibility='hidden';
    document.getElementById(divName).innerHTML="";
    try
    {
        if (document.getElementById(divName+"_tabs_p2"))
            document.getElementById(divName+"_tabs_p2").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p3"))            
            document.getElementById(divName+"_tabs_p3").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p4"))                        
            document.getElementById(divName+"_tabs_p4").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p5"))                                    
            document.getElementById(divName+"_tabs_p5").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p6"))                        
            document.getElementById(divName+"_tabs_p6").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p7"))                        
            document.getElementById(divName+"_tabs_p7").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p8"))                        
            document.getElementById(divName+"_tabs_p8").style.visibility='hidden';
        if (document.getElementById(divName+"_tabs_p9"))                        
            document.getElementById(divName+"_tabs_p9").style.visibility='hidden';
            
        if (document.getElementById(divName+"_layout"))
            document.getElementById(divName+"_layout").innerHTML="";
        if (document.getElementById(divName+"_multimedia"))
            document.getElementById(divName+"_multimedia").innerHTML="";
        if (document.getElementById(divName+"_tags"))
            document.getElementById(divName+"_tags").innerHTML="";
        if (document.getElementById(divName+"_localizations"))
            document.getElementById(divName+"_localizations").innerHTML="";        
        if (document.getElementById(divName+"_sessions"))
            document.getElementById(divName+"_sessions").innerHTML="";        
        if (document.getElementById(divName+"_security"))
            document.getElementById(divName+"_security").innerHTML="";                
        if (document.getElementById(divName+"_articles"))
            document.getElementById(divName+"_articles").innerHTML="";            
        if (document.getElementById(divName+"_dateExceptions"))
            document.getElementById(divName+"_dateExceptions").innerHTML="";                    
        
        document.getElementById(divName).innerHTML="";
    }catch(e)
    {
    } 
}

function mDIV(divId, condicion)
{
    switch(condicion)
    {
    
        case "visible":
            document.getElementById(divId).style.display='';
            break;

        case "hidden":
            document.getElementById(divId).style.display='none';
            break;
            
        default:
            if(document.getElementById(divId).style.display=='none')document.getElementById(divId).style.display='';
            else document.getElementById(divId).style.display='none';
    }
}
 
 function mTABS(arrayDIV,numDIVActivo,prefix)
{
    for(i=1; i<=arrayDIV.length;i++)
        {
            if(arrayDIV[i-1]!=arrayDIV[numDIVActivo-1]) {
                if (document.getElementById(prefix+"_tabs_p"+i))
                    document.getElementById(prefix+"_tabs_p"+i).className='tabOFF';
                document.getElementById(arrayDIV[i-1]).style.display='none';
            } else {
                document.getElementById(prefix+"_tabs_p"+i).className='tabON';
                document.getElementById(arrayDIV[i-1]).style.display='';
                //PENDIENTE QUITAR ESTA GUARRADA
                if (i==5)
                {
                   try
                   {
                   result=document.getElementById('PRIMARYID').value
                   initControlMAP();
                   initControlLocalizations(arrayDIV[i-1],document.getElementById('PRIMARYID').value,document.getElementById('IDTIPUS_OBJECTE').value);
                   }
                   catch(err)
                   {
                   }
                }
            }
        }
}

function checkClick(obj,evt) {
    var e=(evt)?evt:window.event;
    if (window.event) {
        e.cancelBubble=true;
    } else {
        //e.preventDefault();
        e.stopPropagation();
    }
    alert(obj.id);
}

function deleteNode(obj){
    obj.innerHTML="";
}

function reloadProvinciaFromPais(ajaxURL,action,divResult,divParent,idComboPaisos,allowAll)
{
    var selectPaisos= document.getElementById(idComboPaisos);
    var idPais=selectPaisos.options[selectPaisos.selectedIndex].value;
    var strAllowAll;
    if (allowAll)
        strAllowAll=1; 
    else
        strAllowAll=0;
        
    var ajaxParams='URL='+ajaxURL+'&action='+action+'&divParent='+divParent+'&IDPAIS='+idPais+"&allowAll="+strAllowAll;
    aj(ajaxURL,ajaxParams,divResult);
}

function reloadPoblacioFromProvincia(ajaxURL,action,divResult,divParent,idComboProvincies,allowAll)
{
    var selectProvincies = document.getElementById(idComboProvincies);
    var idProvincia=selectProvincies.options[selectProvincies.selectedIndex].value;
    var strAllowAll;
    if (allowAll)
        strAllowAll=1; 
    else
        strAllowAll=0;
        
    var ajaxParams='URL='+ajaxURL+'&action='+action+'&divParent='+divParent+'&IDPROVINCIA='+idProvincia+"&allowAll="+strAllowAll;
    aj(ajaxURL,ajaxParams,divResult);
}

function reloadBarriadaFromPoblacio(ajaxURL,action,divResult,divParent,idComboPoblacions,allowAll)
{
    var selectPoblacions = document.getElementById(idComboPoblacions);
    var idPoblacio=selectPoblacions.options[selectPoblacions.selectedIndex].value;
    var strAllowAll;
    if (allowAll)
        strAllowAll=1;
    else
        strAllowAll=0;
        
    var ajaxParams='URL='+ajaxURL+'&action='+action+'&divParent='+divParent+'&IDPOBLACIO='+idPoblacio+"&allowAll="+strAllowAll;
    aj(ajaxURL,ajaxParams,divResult);
}

function alertkk(){
    alert("kk");
}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}

function roundEuros(valor)
{
    return Math.round(valor*100)/100;
}
    

function forgetPwd()
{
    document.getElementById('forgetPassword').value='YES';document.loginForm.submit();
}

function redirect(url,paramName,paramValue)
{
    window.location = url+"?"+paramName+"="+paramValue;
}

function KeyDownHandler(btn)
{
    if (event.keyCode == 13)
    {
    event.returnValue=false;
    event.cancel = true;
    btn.click();
    }
}

function forEverTimeOut(javaScript,milis,idObjectoFocus)
{
    if(idObjectoFocus!=undefined)
    {
        document.getElementById(idObjectoFocus).focus();
        var evalStr='forEverTimeOut(\''+addSlashesJS(javaScript)+'\','+milis+',\''+idObjectoFocus+'\')';    
    }
    else
    {
        var evalStr='forEverTimeOut(\''+addSlashesJS(javaScript)+'\','+milis+')';    
    }
    
    eval(javaScript);setTimeout(evalStr,milis);
}

function checkLenghtAndSubmit(objeto,longitud,submitSentence)
{
    var valor=objeto.value;
    if(valor.length==20)
    {
        eval(submitSentence);
        objeto.value='';
    }
}

function submitAt(myInput,formName,numChars)
{
    alert('kk');
    var texto=myInput.value;
    if(texto.length==19)
    {
        document.loginForm.submit();        
    }
}

function clientValidateLog(login,password)
{
    if(!login || !password)
        return false;
    else
        return true;
}

////////// date picker function to get holiday days

var g_unavailableDates;
function unavailable(date) 
{ 
    dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();     
    if ($.inArray(dmy, g_unavailableDates ) == -1) 
    { 
        return [true, ""];     
    } 
    else 
    {         
        return [false,"","Unavailable"];
    }
} 

function replaceAll( text, busca, reemplaza ){
  while (text.toString().indexOf(busca) != -1)
      text = text.toString().replace(busca,reemplaza);
  return text;
}

