// Validación de formularios

 function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- El campo "'+nm+'" debe contener una direcci\u00f3n de e-mail v\u00e1lida.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- El campo "'+nm+'" debe contener n\u00fameros sin letras, espacios o guiones.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- El campo "'+nm+'" debe contener un n\u00famero entre '+min+' y '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- El campo "'+nm+'" es obligatorio.\n'; }
    } if (errors) alert('Han ocurrido los siguientes errores:\n'+errors);
    document.MM_returnValue = (errors == '');
 } }


// Precarga de Imagenes

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];}
}

// PopUps

function abrir(direccion){ 
     var opciones = "fullscreen=no"+ 
                    ",toolbar=no"+  
                    ",status=no"+
                    ",menubar=no"+ 
                    ",scrollbars=no"+ 
                    ",resizable=no"+ 
                    ",width=525"+ 
                    ",height=485"+ 
                    ",left=240"+ 
                    ",top=140"; 
     var ventana = window.open(direccion,"PopUp",opciones); 
}

function abrirVentana(direccion,ancho,alto,x,y){ 
     var opciones = "fullscreen=no"+ 
                    ",toolbar=no"+  
                    ",status=no"+
                    ",menubar=no"+ 
                    ",scrollbars=no"+ 
                    ",resizable=no"+ 
                    ",width="+ancho+ 
                    ",height="+alto+
                    ",left="+x+ 
                    ",top="+y; 
     var ventana = window.open(direccion,"PopUp",opciones); 
} 




// BOF Funciones Ajax

function actualizar(capa,script,intervalo) {
   new Ajax.PeriodicalUpdater(capa, script, {method:'get', frequency: intervalo , decay: 1});
}

function obtener(capa,script){
  new Ajax.Updater(capa,script,{method:'get'});	
}

function hacer(script){
  new Ajax.Request(script,{method:'get'});
}

// EOF Funciones Ajax

function enviar(){
	
var elemento = $('contacto');
var items    = new Array($F('nombre'),$F('apellido'),$F('telefono'),$F('email'),$F('mensaje'));
var i = 0;

 for (e=0;e <= items.length;e++){
   if (items[e]==''){i++;}
 }

 if (i!=0){alert('Debe completar todos los campos del formulario de contacto.');}
 else {elemento.submit();}
 
}

function verCapa(capa){
	$(capa).show();
}

function ocultarCapa(capa){
	$(capa).hide();
}

function toInt(val){
	
  var elemento = 'cantidad_'+val;
  var entero = parseInt ($F(elemento));
  var asignar = document.getElementById(elemento);
  
  if (isNaN(entero)){
	asignar.value = '';
	alert ('Ingrese una cantidad v\u00e1lida.');
	return false;
  }
  else {
    asignar.value = entero;
	return true;
  }
  
}


function toNextMultiplo(val,multiplo){
   	
 if (toInt(val)){
   
   var cantidad = document.getElementById('cantidad_'+val).value;
   var asignar = document.getElementById('cantidad_'+val);
   
   if (cantidad % multiplo == 0){asignar.value = cantidad;}
   else{	
	 while (cantidad % multiplo !== 0){cantidad++;}
	 asignar.value = cantidad;
	 }
	 
 }	 
	 
}


/*


function checkProducto(form_id,cantidad,multiplo){
  
  if (valor > 1){ 
	  if (cantidad % multiplo == 0){
		document.getElementById(form_id).submit(); 
	  }
	  else{
		alert("Cantidad inv\u00e1lida. Se ajustará automáticamente.");  
		toNextMultiplo(val,multiplo)
	  } 
  }
  else{
   document.getElementById(form_id).submit();  
  }


}

*/


function recargar(){
document.location.href = document.location.href;
}

function deshabilita(elemento){
 var mielemento = document.getElementById(elemento);
 mielemento.value='';
 mielemento.disabled=true;
}

function habilita(elemento){
 var mielemento = document.getElementById(elemento);
 mielemento.disabled=false;
 mielemento.focus();
}


function promptPesado(str_mensaje,old_str){

 var warn_str = 'El campo "'+str_mensaje+'" no debe quedar vac\u00edo.';
 var res = prompt (str_mensaje+' :',old_str);
 
    if(res == ''){
	   alert(warn_str);promptPesado(str_mensaje,old_str);
	}
	else{return res;}
	
}

function preguntar(old_str,cat_id){

  var cat_id = parseInt(cat_id);
  var str_mensaje = 'Cambiar titulo a la categor\u00eda';
  var warn_str = 'El campo "'+str_mensaje+'" no debe quedar vac\u00edo.';
  var old_str = old_str;
  var elemento = promptPesado(str_mensaje,old_str,warn_str);
  
  if (elemento == null){titulo = old_str;}
  else {titulo = elemento;}
  
   if (titulo == old_str){
     return false;
   }
   else{
	 url = 'acciones/acciones.php?item=categorias&editar='+cat_id+'&titulo='+titulo;
     hacer(url);
   }

}

function setDescuento(porcentaje){
 
 var porcentaje = parseInt(porcentaje);
 if (porcentaje == null || porcentaje === 0){porcentaje = '0';}
 var script = 'acciones/acciones.php?item=armar_canastas&porcentaje='+porcentaje;
 obtener('final_precio',script);

}


function setProducto(prod_id){

  var prod_id = parseInt(prod_id);
  var str_mensaje = 'Cantidad';
  var warn_str = 'El campo "'+str_mensaje+'" no debe quedar vac\u00edo.';
  var old_str = '1';
  var elemento = parseInt(promptPesado(str_mensaje,old_str,warn_str));
  
  if (elemento == null){cantidad = old_str;}
  else {cantidad = elemento;}
  
	   if (cantidad===0){return false;}
	   else{
	     url = 'acciones/acciones.php?item=armar_canastas&armar='+prod_id+'&cantidad='+cantidad;
         hacer(url);
		 setDescuento($F('select_descuento'));
	   }

}


function validaCanasta(){
 
 var hay    = $F('hay');
 var titulo = $F('canasta_titulo');
 
   if (hay == 'si'){
	  if (titulo != ''){
	   document.getElementById('form_canasta').submit();
	  }
	  else{alert('Debe asignarle titulo/nombre a la canasta.');}
   }
   else{alert('Debe agregar al menos un producto a la canasta.');}
 	
}

function getPrecio(porcentaje,bruto){

   var descuento = (bruto / 100) * porcentaje;
   var res       = bruto - descuento;
   document.getElementById('precio').value = parseInt(res);
   
}

function checkCantidad(id,form_id){
	
 var elemento = 'cantidad_'+id;
 var valor    =  parseInt($F(elemento));
 var form_id  =  document.getElementById(form_id);
 
 if (isNaN(valor)){alert('Ingrese una cantidad v\u00e1lida.');}
 else {form_id.submit();}
	
}

function precarga(div){

   var url='comun/html/precarga.php';
   var pars='precarga=true';
   var myAjax = new Ajax.Updater(div, url, { method:'get', parameters:pars });
	
}

function getValue(id){
 return document.getElementById(id).value;
}
function isCheked(id){
 return document.getElementById(id).checked;	
}

function loadLunch(){
 
 // Personas y Horas
 var personas = parseInt(getValue('personas'));
 var horas    = parseInt(getValue('horas'));
 // Productos
 var sandwiches  = isCheked('sandwiches') ? 'si' : 'no';
 var saladitos   = isCheked('saladitos') ? 'si' : 'no';
 var bocaditos   = isCheked('bocaditos') ? 'si' : 'no';
 var masas       = isCheked('masas') ? 'si' : 'no';
 var productos   = '&sandwiches='+sandwiches+'&saladitos='+saladitos+'&bocaditos='+bocaditos+'&masas='+masas;
 var dir         = 'sitio/logica_lunch.php?personas='+personas+'&horas='+horas+productos;
 
 precarga('lunch');
 obtener('lunch',dir);
	
}

function validarEmail(email){
	obtener('validEmail','sitio/validar.php?email='+email);	
}