/**
 * Clase para manejo de paneles simple
 *
 *
 */

function Panel(panelName){
    this.basename = panelName;
    this.layers = new Array();
}

Panel.prototype.initialize = function(){
    var container = document.getElementById(this.basename);
    // @todo comprobacion de layer encontrada
    var debug = '';
    var childs = container.getElementsByTagName('div');
    var patron = new RegExp('^'+this.basename+'\\d+$');
    for(var x=0; x < childs.length; x++){
        var divId = new String(childs[x].id);
        if (patron.exec(divId)) {
            this.layers.push(divId);
        } 
    }
    var initialPanel = getCookie(this.basename+'cookp');
    var initialStatus = getCookie(this.basename+'cookm');
    if((initialPanel != '') && (initialStatus != '')){
        this.display('');
        document.getElementById(initialPanel).style.display = initialStatus;
        
    }
}

Panel.prototype.display = function(idPortPanel){
    for(var t=0;t<this.layers.length; t++){
        var currentLayer = document.getElementById(this.layers[t]);
        if(this.layers[t] == idPortPanel){
            if(currentLayer.style.display == 'none'){
                currentLayer.style.display = 'block';    
                setCookie(this.basename+'cookp',this.layers[t]);
                setCookie(this.basename+'cookm','block');
            }else{
                currentLayer.style.display = 'none'; 
                setCookie(this.basename+'cookp',this.layers[t]);
                setCookie(this.basename+'cookm','none');
            }
        }else{
            currentLayer.style.display = 'none';
        }
    }
}

function setCookie(c_name,value,expiredays){
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+expiredays);
  document.cookie=c_name+ "=" +escape(value)+
  ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+'; path=/';
}

function getCookie(c_name){
  if(document.cookie.length>0){
    c_start=document.cookie.indexOf(c_name + "=");
    if(c_start!=-1){ 
      c_start=c_start + c_name.length+1; 
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) c_end=document.cookie.length;
      return unescape(document.cookie.substring(c_start,c_end));
      } 
    }
  return "";
}

var panel = new Panel('panel');