//JS file
/**
 * Para recuperar el valor del select color que no es Select sino un div
 */
var ItemColorSelect = {
  uid : 'color',
  elemID : 'material',
  uclass : 'materialSel',
  selectID : 'materialSelected',
  colorSelected : function(){
    var elem = document.getElementsByClassName(ItemColorSelect.selectID, document.getElementById(ItemColorSelect.uid));
    if(elem.length>0){
      for(var i=0; i < elem.length; i++){
        if(ItemColorSelect.uclass + ' ' + ItemColorSelect.selectID == elem[i].className){
          var str = elem[i].id
          var retval = str.replace(ItemColorSelect.elemID, '') ;
          return retval;
        }
      }     
    } else {
      return ;
    }    
  },
  onChoose : function(elemClick){
    var elem = document.getElementsByClassName(ItemColorSelect.uclass, document.getElementById(ItemColorSelect.uid));
    for(var i=0; i < elem.length; i++){   
      if(elemClick.id == elem[i].id){
        elem[i].className = elem[i].className + ' ' + ItemColorSelect.selectID ;
      } else {
        elem[i].className = ItemColorSelect.uclass ;
      }
    }
  } 
}
/**
 * Function de rollover el parametro es el identificador de la imagen que queremos visualizar
 */
var RoloverOut = {
  
  uid:'imgover',
  
  rolovered:function(id, foto, event){
    foto = foto? foto : '/img/no_photo.jpg';
    var posY = event.clientY;
    var posX = event.clientX - 150;
    document.getElementById('' + RoloverOut.uid + id + '').style.position='absolute';  
    document.getElementById('' + RoloverOut.uid + id + '').style.top=posY + 'px';
    document.getElementById('' + RoloverOut.uid + id + '').style.left=posX + 'px';                   
    document.getElementById('' + RoloverOut.uid + id + '').style.width='108px';
    document.getElementById('' + RoloverOut.uid + id + '').style.height='108px';               
    document.getElementById('' + RoloverOut.uid + id + '').style.visibility='visible';
    document.getElementById('' + RoloverOut.uid + id + '').src='' + foto + '';   
  },
  rolouted:function(id, foto){
//    document.getElementById('' + RoloverOut.uid + id + '').style.display='none'; 
    document.getElementById('' + RoloverOut.uid + id + '').style.position='absolute';
    document.getElementById('' + RoloverOut.uid + id + '').style.width='0px';
    document.getElementById('' + RoloverOut.uid + id + '').style.height='0px';        
    document.getElementById('' + RoloverOut.uid + id + '').style.visibility='hidden';
//    document.getElementById('' + RoloverOut.uid + id + '').src='' + foto + '';    
  }
}
 
/**
 * function de halos para cambiar el formulario de usuario a lo de cliente
 */
function chRole(val){ 
  getElemByClass();
  var formId = document.getElementById('form_user');
  var elem = $('form_user');
  var elements = document.getElementsByClassName('regexp', formId);  
  if(val==1){
    document.getElementById('roleUser').style.visibility='hidden';
    document.getElementById('roleUser').style.display='none';     
    for(var i = 7; i < elements.length; i++) {              
      var attribute = elements[i].getAttribute('constraint');
      //Si el elemento tiene el atributo name=nom o surname o passportNumber o address o number o zip_code o province    
      attribute = attribute.replace('?',  '');
      attribute += '?';
      elements[i].setAttribute('constraint',attribute);    
    }
  } else {
    document.getElementById('roleUser').style.visibility='visible';
    document.getElementById('roleUser').style.display='block';
    for(var i = 7; i < elements.length; i++) {              
      var attribute = elements[i].getAttribute('constraint');
      //Si el elemento tiene el atributo name=nom o surname o passportNumber o address o number o zip_code o province
      attribute = attribute.replace('?',  '');
      if(i == 7 || i==8 || i==9 || i==14 || i==15 || i==18 || i==19 || i==20 || i==21){
        //No se haga nada para estos elementos
        attribute = attribute.replace('?',  '');
      } else {
        attribute += '?';
      }
      elements[i].setAttribute('constraint',attribute);    
    }
  }
  new FormManager('form_users');
}

/**
 * Function de reload un listado
 */
function limpiar(url){
	new Ajax.Request('/admin/buscador/delete', {
		onSuccess: function(){
			location.href = location.href;
	}});
}

function graphTosee(graphId){
  return graphId;   
}
/** 
 * Function de envio de centros
 */
function sendCentro(anchorElem, url, container){
  if(container!='galeriafoto'){
    var liElem = anchorElem.parentNode, ulElem = liElem.parentNode;
    var lis = ulElem.getElementsByTagName('LI');
    for(var i = 0; i < lis.length; i++) {
      var enable = liElem == lis[i];
      lis[i].className = enable? 'selected' : '';
    }                 
  }
  new Ajax.Updater(container,url, { evalScripts: true });       
}


//Video de youtube
function getScreen( url, size ) {
  if(url === null){
  return ""; } size = (size === null) ? "big" : size; var vid; var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  if(size == "small"){
  return "http://img.youtube.com/vi/" + vid + "/2.jpg"; }
  else {
  return "http://img.youtube.com/vi/" + vid + "/0.jpg"; }
}
 
function changeForSelected(anchorElem,video,resum){
  if(anchorElem!=null){
    var liElem = anchorElem.parentNode, ulElem = liElem.parentNode;
    var lis = ulElem.getElementsByTagName('LI');
    for(var i = 0; i < lis.length; i++) {
      var enable = liElem == lis[i];
      if(lis[i].className=='selected' && video=='null' && resum=='null'){
        // Pone el elemento selected hidden y none 
        var elem = document.getElementById(lis[i].id + 's')
        elem.style.visibility = 'hidden';
        elem.style.display = 'none';  
        elem.style.height = '0';                              
      }      
      lis[i].className = enable? 'selected' : '';
      if(lis[i].className=='selected' && video=='null' && resum=='null'){
        //Recoge el elemento con el id tal + s para visualizar 
        var elem = document.getElementById(lis[i].id + 's')
        elem.style.visibility = 'visible';
        elem.style.display = 'block';               
        elem.style.height = '100%';                                      
      }
    } 
  }     
  if(video!='null'){
    var vid = video.match("[\\?&]v=([^&#]*)"); 
    var imgUrl_big = getScreen(video);  
    document.getElementById('linkVid').href= 'http://www.youtube.com/v/' + vid[1] + '&hl=es&fs=1&rel=0&color1=0x234900&color2=0x4e9e00' ;
    document.getElementById('video').style.background = 'url(' + imgUrl_big + ')' ;  
  }
  if(resum!='null'){
    document.getElementById('resumen').innerHTML = resum;   
  }
}

function SendTypo(type,container){
  if(container!='notContainer'){
    var elem = document.getElementById(container);  
    switch(type){
      case 'Proyectos urbanos':
        var id=3;
        break;
      case 'Zona Franca':
        var id=16;
        break;
      case 'Actividades logisticas':
        var id=17;
        break;    
    }
    elem.innerHTML = 'Categor&iacute;a :&nbsp;<a onClick="javascript:sendList(' + id + ',\'category\',\'halos_canvas\');" href="#" ><img src="/img/add_on.gif" title="A&ntilde;adir registro" alt="A&ntilde;adir registro"></a>';   
  }

  url = '/admin/listas/charge/' + type + '/category' ;
  document.getElementById('category').innerHTML = '';   
  new Ajax.Request(url,{
    method:'post',  
    onSuccess:function(transport){
      var d = transport.responseText.evalJSON();    
      for(var i = 0; i < d[1].length; i++) { 
        if(d[1][i]!=null){       
          var opt = document.createElement('OPTION');      
          opt.value = d[1][i] ;
          opt.innerHTML = d[1][i];
          document.getElementById('category').appendChild(opt);                    
        }
      }
    }
  });       
}

function Send(type, container){
  if(type!=''){
    //Segundo hace la peticion al servidor
    url = '/admin/productos/list/' + type + '/' + container ;
    new Ajax.Request(url,{
      method:'post',  
      onSuccess:function(transport){
        var d = transport.responseText.evalJSON();
        for(var i = 0; i < d.length; i++) { 
        if(d[i][1]!='' && d[i][1]!=null){
            document.getElementById(d[i][0]).innerHTML = d[i][1];         
            } else {
           document.getElementById(d[i][0]).innerHTML = '' ;                    
        }
        }
      }
    });   
  } else {
  document.getElementById(container).innerHTML = '';  
  }
}


// Recupera el id de la lista y el id del select y lo pone como valor hidden
// @param integer id
// @param string container
// @param string form_list

function sendList(id,container,form_list){
  HalosCanvas.modal(true);
  document.getElementById(form_list).style.display='block';
  document.getElementById('title').value='';
  document.getElementById('idList').value=id;
  document.getElementById('idSelect').value=container;    
}

// Envia el valor nueva de la lista en la vista adecuada
// @param string option
// @param integer id
// @param string container 

function saveList(optionList, id, container){
  //Segundo hace la peticion al servidor
  var optiones = optionList;
  var url = '/admin/listas/listAdd/' + id + '/' + container ;
  new Ajax.Request(url,{
    method:'post', 
    parameters:{container : container,
                title : optiones},
    encoding: 'UTF-8',
    onSuccess:function(transport){
      var d = transport.responseText.evalJSON();
      //Je compte le nombre de |       
      var nbrStr = d[0][1] ;
      for(var i = 0; i < d.length; i++) {        
        var opt = document.createElement('OPTION');
        opt.value = nbrStr;
        opt.selected = 'selected';      
        opt.innerHTML = nbrStr;
        document.getElementById(d[i][0]).appendChild(opt);  
      }
      HalosCanvas.modal(false);
      document.getElementById('halosList_canvas').style.display='none';
      document.getElementById('halosList_canvas').style.visibility='hidden';                                         

    },
    onFailure:function(){
      alert('Un error ha aparecido mientras cargaba la pagina');
    }    
  });
}

function reloader(){
  arguments[0] = (arguments[0]=='bills2' || arguments[0]=='bills1' || arguments[0]=='bills21')? 'bills' : arguments[0];
  id = arguments[0]? arguments[0] : 'halos_canvas';
  HalosCanvas.modal(false);
  document.getElementById(id).style.display='none';                                
  var form = document.getElementById('form');     
  var legend = document.getElementById('legend');  
  var inputHidden = document.getElementById('tipo'); 
  var input = document.getElementById('filer')? document.getElementById('filer') : null ;
  var libel = document.getElementById('labelFiler')? document.getElementById('labelFiler') : null ;
  form.removeChild(inputHidden); //Se llama libel porque label es prohibido     
  if(input!=null){
    form.removeChild(input); //Se llama libel porque label es prohibido   	
  }
  if(libel!=null){
    form.removeChild(libel);
  }
  legend.innerHTML = '';     
  //button.innerHTML = '';
  window.location.reload();             
}

/**
 * Function para el formulario de import export
 */
 function canvas(val){
   HalosCanvas.modal(true);    
   //Aparece el contenedor
   var container = document.getElementById('halos_canvas');   
   var button = document.getElementById('ExImpor');
   var legend = document.getElementById('legend');
   var form = document.getElementById('form');
   var libel = document.createElement('LABEL'); //Se llama libel porque label es prohibido 
       libel.setAttribute('for','filer');
       libel.id='labelFiler';
   var inputHidden = document.createElement('INPUT');
       inputHidden.name = 'table';   
       inputHidden.id='tipo';
       inputHidden.style.border='0px';
       inputHidden.style.display='none';        
       inputHidden.type = 'hidden';                     
   //Para que aparezca el formulario
   container.style.display='block';
   //Ahora ponemos el formulario siguiente el action
   switch(val){
     case 'Im_cfg':
       //A�adimos la leyenda del formulario
       legend.innerHTML = 'Importaci&oacute;n de datos de configuraci&oacute;n';       
       //A�adimos el input del form
       libel.innerHTML = 'Archivo de importaci&oacute;n *:<br/>'; 
       form.appendChild(libel);        
       input = document.createElement('INPUT');
       input.name = 'filer';
       input.type = 'file';
       input.id='filer';
       inputHidden.value= 'config' ;        
       form.appendChild(inputHidden); 
       form.appendChild(input);
       //button.innerHTML = 'Importar';        
			 button.value = 'Importar';
       break;
     case 'Im_product':
       //A�adimos la leyenda del formulario
       legend.innerHTML = 'Importaci&oacute;n de datos de productos';       
       //A�adimos el input del form
       libel.innerHTML = 'Archivo de importaci&oacute;n *:<br/>'; 
       form.appendChild(libel);        
       input = document.createElement('INPUT');
       input.name = 'filer';
       input.type = 'file';
       input.id='filer';
       inputHidden.value= 'products' ;        
       form.appendChild(inputHidden); 
       form.appendChild(input);
       //button.innerHTML = 'Importar';
			 button.value = 'Importar';
       break;
     case 'Ex_product':
       inputHidden.value= 'Ex_product' ;        
       form.appendChild(inputHidden);        
       legend.innerHTML = '&iquest;Est&aacute; seguro que desea exportar los datos de productos?';
       //button.innerHTML = 'Exportar';             
			 button.value = 'Exportar';
       break;
     case 'bills' :
     case 'bills1' :     
       inputHidden.value= val ;        
       form.appendChild(inputHidden);
       legend.innerHTML = '&iquest;Est&aacute; seguro que desea exportar las facturas?';
       //button.innerHTML = 'Exportar';                              
			 button.value = 'Exportar';
       break;    
     case 'bills2' :
     case 'bills21' :
       inputHidden.value= val ;        
       form.appendChild(inputHidden);
       legend.innerHTML = '&iquest;Est&aacute; seguro que desea exportar los presupuestos?'; 
       //button.innerHTML = 'Exportar';                 
			 button.value = 'Exportar';
       break;           
     case 'iva' :
       inputHidden.value= 'iva' ;  
       input = document.createElement('INPUT');
       input.name = 'iva';
       input.type = 'text';
       input.id='iva';
       form.appendChild(input);
       form.appendChild(inputHidden);               
       legend.innerHTML = '&iquest;Est&aacute; seguro que desea cambiar el iva?';
       //button.innerHTML = 'Modificar';             
			 button.value = 'Modificar';
       break;
   }
   if(document.getElementById('file')){
     document.getElementById('file').value='';   	
   }
   if(document.getElementById('iva')){
     document.getElementById('iva').value='';  	
   }
 }

function initCanvas(id, destruct){
  if(destruct==false){
    HalosCanvas.modal(true);   
    //Aparece el contenedor
    var container = document.getElementById(id);
    container.style.display='block';
  } else {
    HalosCanvas.modal(false); 
    var container = document.getElementById(id);
    container.style.display='none';    
  }
}

/**
* Controla en contenedor de interfaz para el contexto cliente actual.
*/
var HalosCanvas = {
  /**
  * Identificador Unico para el compositor de documento Consorci.
  */
  uid: 'halos_modal',

  /**
  * Accede o retorna de un entorno modal. El umbral de nivel Z es de 100, de
  * este modo cualquier elemento a ocultar en modal debe tener un nivel Z
  * inferior a 100, y cualquier otro a mantener mayor de 100.
  */
  modal: function(status) {
    var zindex = 100;
    var opacity = 50;
    var opaque = (opacity / 100);
    var bgcolor = '#000000';
    var node = HalosCanvas.uid;
    if (document.getElementById(node) == null) {
      // si no existe el DIV, lo crea
      var canvas = document.createElement('div');
      canvas.setAttribute ('id', node);
      canvas.style.position = 'absolute';
      canvas.style.display = 'none';
      canvas.style.top = 0;
      canvas.style.left = 0;
      canvas.style.width = '100%';
      canvas.style.height = '100%';
      document.getElementsByTagName('body')[0].appendChild(canvas);
    } else {
      var canvas = document.getElementById(node);
    }
    if (status) { // opaca el puerto de visi�n
      canvas.style.position = 'fixed';
      canvas.style.overflow = status ? 'hidden' : 'auto';
      canvas.style.opacity = opaque;
      canvas.style.MozOpacity = opaque;
      canvas.style.filter = 'alpha(opacity=' + opacity + ')';
      canvas.style.zIndex = zindex;
      canvas.style.display = 'block';
      canvas.style.backgroundColor = bgcolor;
      scroll(0,0);
      document.getElementsByTagName('html')[0].style.overflow = 'hidden';
    } else {
      canvas.style.display = 'none' ;
      document.getElementsByTagName('html')[0].style.overflow = 'auto';
    }
  },

  /**
  * Inserta el elemento <node> a continuaci�n del elemento <referenceNode>.
  */
  insertAfter: function(node, referenceNode) {
    alert(node);alert(referenceNode);alert(referenceNode.nextSibling);
    document.insertBefore(node, referenceNode.nextSibling);
  }
}

function openClosed(id) {
  var type=id;
  var container='adjudicacion';
  url = '/admin/tenders/' + type + '/' + container ;  
  if(id=='licitacion'){
    var elem = document.getElementById('adjudicacion');   
  } else {
    var elem = document.getElementById(id); 
    
  }
  if(id=='licitacion') {
    elem.style.display = 'none';
    elem.style.visibility = 'hidden';      
  } else {
    elem.style.display = 'block';
    elem.style.visibility = 'visible';    
    new Ajax.Request(url,{
      method:'post',  
      onSuccess:function(transport){
        var d = transport.responseText.evalJSON();
        document.getElementById(d[0]).innerHTML = d[1];         
 
      }
    });   
  }  
}

//Paginador de la cesta
function sendCurrent(currentPage, arg){
 if(document.getElementById('currentPage')!='' && document.getElementById('currentPage')!=null){
  document.getElementById('currentPage').value = currentPage;
  if(arg!=false){
    if(arg==-1){
      var currentProd = 0;
    } else {
      var currentProd = document.getElementById('currentProd').value-arg;       
    }
    document.getElementById('currentProd').value = currentProd;     
  } else {
    document.getElementById('currentProd').value = document.getElementById('currentProd').value;            
  }
  currentProd = currentProd? currentProd : document.getElementById('currentProd').value;
  currentPage = currentPage? currentPage : document.getElementById('currentPage').value;
  //document.getElementById('currentProdAndPage').submit();
  new Ajax.Request('/cart/display',{
  	method: 'post',
  	parameters:{currentProd:currentProd, currentPage: currentPage},
  	evalScript:true,
  	onSuccess : function(transport){
  		document.getElementById('contentCesta').innerHTML = transport.responseText;
  	}
  });
 } else {
   window.location.href=window.location.href; 
 }
}

function addToCart(id){
  var TheForm = document.addtoCesta;
  var retColor = ItemColorSelect.colorSelected()? ItemColorSelect.colorSelected() : (arguments[2]? arguments[2] : 'Modelo unico') ;

  if(retColor == 'Modelo unico' && TheForm.typeProd.value!='kits'){
  	document.getElementById('legendChoose').innerHTML = '<strong>Elige una cantidad</strong>';
  	document.getElementById('colorLabel').style.display = 'none';
    document.getElementById('color').style.display = 'none';
  }
  if(null==arguments[1] || arguments[2]){
    document.getElementById('ident').value=id;
    document.getElementById('typeProd').value=arguments[2]? arguments[2] : '' ;    
    initCanvas('addtocart', false);
    var contain = 'color';
    var colorSelected = arguments[2]? arguments[2] : '' ;
    var path = '/product/color/' + id + '/' + colorSelected;
    new Ajax.Updater(contain, path);
  } else {
    if (TheForm.cantidad.value.length == 0 || Number(TheForm.cantidad.value) < 1) {
      alert("Por favor entre una cantidad.");
      TheForm.cantidad.focus();
    } else {
      var cantidad = TheForm.cantidad.value;
      var color = arguments[2]? arguments[2] : (retColor!='Modelo unico'? retColor : '0' );
      
      if(TheForm.typeProd.value=='kits' && color==false){
        alert("Por favor elige un color.");
      } else {
	      url = '/cart/add/' + id + '/' + cantidad + '/' + color;
		    new Ajax.Request(url, {
		      method: 'post',
		      onSuccess: function(transport){
		        document.getElementById('contentCestaAll').innerHTML = transport.responseText;
		      }
		    });    
	      initCanvas('addtocart', true);
//	      setTimeout('window.location.reload()', 1000);                   	
      }
    }
  }
}

function removeToCart(id){
/*  var cantidad = prompt("¿Quiere suprimir el producto de la cesta?", "Introduce la cantidad a suprimir");
  if(cantidad != null && cantidad != 'Introduce la cantidad a suprimir'){
    url = '/cart/remove/' + id + '/' + cantidad + '/' + arguments[1];
    new Ajax.Request(url, {
    	method: 'post',
    	onSuccess: function(transport){
    		document.getElementById('contentCestaAll').innerHTML = transport.responseText;
    		if(document.getElementById('tablaConfirPedido')){
    			setTimeout('window.location.reload()', 1000);
    		}
    	}
    });    
//    setTimeout('new Ajax.Updater(container,url);', 1000);                     
  }*/
    try{
    	//solo en la pantalla de pedido
    	if(document.getElementById('tablaConfirPedido')){
    	  switchVis('loadDiv');
    	}
    }catch(err){}
    url = '/cart/remove/' + id + '/1/' + arguments[1];
    new Ajax.Request(url, {
      method: 'post',
      onSuccess: function(transport){
        document.getElementById('contentCestaAll').innerHTML = transport.responseText;
        if(document.getElementById('tablaConfirPedido')){
          window.location.reload();
        }
      }
    });
}

function formSubmit(val, formName){
  var inpt = document.getElementById('moveToPage2');
  inpt.value = val;
  document.getElementById(formName).submit()
}

var InlineEditor = {
  uClass: 'formOpt', 
  formOptional : function (idForm, j){
    // idForm = identificador del formulario y j=a partir del cual elemento se tiene que hacerlo 
    var formId = document.getElementById(idForm);
    var elements = document.getElementsByClassName('regexp', formId);
    var elem = document.getElementsByClassName(InlineEditor.uClass, formId);
    for(var i=j; i < elements.length; i++) {              
      var attribute = elements[i].getAttribute('constraint');
      //Si lo cerramos 
      if(elem[0].style.visibility == 'visible'){
        attribute = attribute.replace(attribute, attribute + '?'); //Añadimos ? a los input escondidos      
      } else {
        attribute = attribute.replace('?',  ''); //Si los input se rende visible suprimimos el ? 
      }
      elements[i].setAttribute('constraint',attribute);    
    }
    //Y pone el form optional abierto y visible
    for(var i=0; i < elem.length; i++){
      if(elem[i].style.visibility == 'visible'){
        elem[i].style.visibility = 'hidden';
        elem[i].style.height = '0';
      } else {
        elem[i].style.visibility = 'visible';
        elem[i].style.height = 'auto';
      }     
    }
    new FormManager(idForm);    
  },
  
  UpdateAll : function (elem){
    var inpt = document.getElementsByTagName(elem);
    for(var i=0; i<inpt.length; i++){
      if(inpt[i].type=='checkbox'){
        if(inpt[i].checked==true){
          inpt[i].checked=false;
        } else {
          inpt[i].checked=true;
          inpt[i].onclick();
        }
      }
    }
  },
  
  makeEditable: function(uic){
    var elem = document.getElementsByClassName(uic);
    for(var i=0; i<elem.length; i++){
      if(elem[i].nodeName=='LABEL'){
        elem[i].style.visibility='hidden';        
        elem[i].style.display='none';                
      } else {
        elem[i].style.visibility='visible';        
        elem[i].style.display='block';                
      }

    }
  } 
}

/*  
 * loadAccordions -- Carga de los Accordions
 *  Function para cargar los accordion de la pagina de halos kit 
 *  Esa function es llamada por un event.window load enviado por el controlador
 *  como script js en la variable de script_for_layout
 * 
 */
function loadAccordions(exist) {
	  //var container = $('vacc');
	  //container.style.visibility='hidden';
    var bAcc = $$('#vacc');
    for(var i=0; i < bAcc.length; i++){   
      var acc = new accordion(bAcc[i].id, {
           resizedSpeed:8,
           defaultSize : { height: null, width: null},
           classNames : {
            toggle : 'accordion_toggle',
            toggleActive : 'accordion_toggle_active',
            content : 'accordion_content'
           },
           direction: 'vertical',
           onEvent: 'click'
      });
      if(false != exist){
        acc.activate($$('.accordion_toggle_active')[0]);      	
      }
    }
    var nvacc = $$('.vertical_nested_container');
    for(var i=0; i < nvacc.length; i++){
      var nestedVerticalAccordion = new accordion(nvacc[i].id, {
          resizedSpeed:8,
          defaultSize : { height: null, width: null},
          classNames : {
            toggle : 'vertical_accordion_toggle',
            toggleActive : 'vertical_accordion_toggle_active',
            content : 'vertical_accordion_content'
          },
          direction: 'vertical',
          onEvent: 'click'
        });
      if(false != exist && nvacc[i].id.indexOf("sel") != -1){
      	//alert(nvacc[i].rel + "-" + nvacc[i].id);
        nestedVerticalAccordion.activate($$('.vertical_accordion_toggle_active')[0]);
      }      
  }
  //container.style.visibility='visible';
}

var MultipleSelector = {
  
  inputName:'selectOpt',
  
  formId:'form_banner',
  
  AddAllToRight : function (elemIdLeft, elemIdRight){
    //Parcourir todas las opciones que hay 
    var elem = $(elemIdLeft).select('OPTION');   
    var elemRight = document.getElementById(elemIdRight); 
    elem.reverse(); 
    for(var i=elem.length-1; i>=0; i--){
      //Para cada uno creamos un option selected en el otro select
      var opt = document.createElement('OPTION');
      opt = elem[i];
      opt.setAttribute('selected', 'selected');
      elemRight.appendChild(opt);
//      elemRight.add(elem[i+(elem.length-1)], null);
    }
    // y ponerlos en el select right
  },

  AddToRight : function (elemIdLeft, elemIdRight){
    var elem = $(elemIdLeft).select('OPTION');
    var elemRight = document.getElementById(elemIdRight);
    elem.reverse(); 
    for(var i=elem.length-1; i>=0; i--){
      if(elem[i].selected){
        //Para cada uno creamos un option selected en el otro select
        var optElem = document.createElement('OPTION');
        optElem = elem[i];
        optElem.setAttribute('selected', 'selected');
        elemRight.appendChild(optElem);         
      }
    }
  },
  
  AddToLeft : function (elemIdLeft, elemIdRight){
    var elem = $(elemIdRight).select('OPTION');
    var elemLeft = document.getElementById(elemIdLeft);
    elem.reverse(); 
    for(var i=elem.length-1; i>=0; i--){
      //Para cada uno creamos un option selected en el otro select
      if(elem[i].selected){
        //Para cada uno creamos un option selected en el otro select
        var optElem = document.createElement('OPTION');
        optElem = elem[i];
        elemLeft.appendChild(optElem);         
      }
    }
  },
  
  AddAllToLeft : function (elemIdLeft, elemIdRight){
    var elem = $(elemIdRight).select('OPTION');
    var elemLeft = document.getElementById(elemIdLeft); 
    elem.reverse();
    for(var i=elem.length-1; i>=0; i--){
      //Para cada uno creamos un option selected en el otro select
      var opt = document.createElement('OPTION');
      opt = elem[i];
      elemLeft.appendChild(opt);
    }   
  },
  
  ValidAllLeftSelected: function (elemIdRight){
    var elem = $(elemIdRight).select('OPTION');
    elem.reverse();
    var validElem='';
    for(var i=elem.length-1; i>=0; i--){
      validElem += elem[i].value===false? '' : elem[i].value + ',';       
    }
    var elemInput = document.getElementById(MultipleSelector.inputName);
    elemInput.value = validElem;    
    document.getElementById(MultipleSelector.formId).submit();             
  }     
}

