/*#################### ACTUALIZA ######################*/

var globalCallbacks = {
                onCreate: function(){
		var by = document.body.scrollTop;
		document.getElementById('cargando').style.top = by + 10 + 'px';
                        $('cargando').show();
                },
 
                onComplete: function() {
                        if(Ajax.activeRequestCount == 0){
                                $('cargando').hide();
                        }
                }
        };

Ajax.Responders.register( globalCallbacks );

/*##################### BASICOS ######################*/


function check_sin(f)
{ 
  var num = 0;
  if($F("texto")=="") { num++; }
  if($F("codigo")=="") { num++; }
  if(num==0) { document.forms[f].submit.disabled = false; }
	else { document.forms[f].submit.disabled = true;  }
}



function check_expe(f,campo)
{
  var num = 0;

  if(($F("ref_sin")=="") && ($F("ref_enc")=="")) { num++; } 
  if($F("n_pol")=="") { num++; } 
  if($F("dir")=="") { num++; }
  if($F("cp")=="")  { num++; }
  if($F("ciu")=="") { num++; }
  if($F("ram")==0)  { num++; } else { if($F("sin")==0) { num++; }  }

  if(num==0) { document.forms[f].submit.disabled = false; }
	else { document.forms[f].submit.disabled = true;  }

  if(campo!="sin")
    {
    $(campo).removeClassName($(campo).classNames()); 

    if($F(campo)=="") { $(campo).addClassName('form_al'); }
		 else { $(campo).addClassName('form_se'); }
    }
}

function act_cp(f,div_a,url_a)
{
  var lcp = $F("cp").length;
  if(lcp==5) { new_edit(f,div_a,url_a); 
	       check_expe(f,"cp");   
	       check_expe(f,"ciu");   }
}

function validateDate(fld)
{
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;

    if((fld.value.match(RegExPattern)) && (fld.value!=''))
    {
	$(fld).removeClassName('f_rojo');
	return 0;
    } else {
	$(fld).addClassName('f_rojo');
        fld.focus();
	return 1;
    } 
}


function color(f,campo,fondo,letra)
{
 $(campo+"id").style.background= fondo;
 $(campo+"id").style.color= letra;
 document.forms[f].elements[campo].value = fondo;
}

function focus_in(campo)  { $(campo).removeClassName('form_se'); 
			    $(campo).removeClassName('form');
			    $(campo).removeClassName('form_al');  $(campo).addClassName('form');    }
function focus_out(campo) { $(campo).removeClassName('form_se'); 
			    $(campo).removeClassName('form');
			    $(campo).removeClassName('form_al');  $(campo).addClassName('form_se'); }

function actualizar_cp(f,campo,valor)
{
  var valor;
  document.forms[f].elements[campo].value = valor;
}


function c_clase(campo,vie,nue)
{
  $(campo).removeClassName(vie); 
  $(campo).addClassName(nue);
}

function fhidden(campo)
{
$("rec"+campo).removeClassName('bot9'); 
$("rec"+campo).removeClassName('bot9off');

if($F("v"+campo)==0) { document.fimp.elements["v"+campo].value = 1;  $("rec"+campo).addClassName('bot9off'); }
	        else { document.fimp.elements["v"+campo].value = 0;  $("rec"+campo).addClassName('bot9');    } 
}

function fhidden_2(f,campo)
{
if($F("v"+campo)==0) { document.forms[f].elements["v"+campo].value = 1;  $(campo).addClassName('selec'); }
	        else { document.forms[f].elements["v"+campo].value = 0;  $(campo).removeClassName('selec'); } 
}

function mhidden(formu,campo,valor,desde,hasta)
{
 document.forms[formu].elements[campo].value = valor;
 var i;
 for(i=desde;i<=hasta;i++) { if($(campo+"_"+i)) { $(campo+"_"+i).removeClassName('selec'); }
			     if(i == valor && $(campo+"_"+i)) {$(campo+"_"+i).addClassName('selec'); }
			   } 
}

function ohidden(f,div_act,campo,look_1,valor_1,look_2,valor_2)
{
  var valor_1;

  if($F(campo)==valor_1) { document.forms[f].elements[campo].value = valor_2; $(div_act).update(look_2); }
  		    else { document.forms[f].elements[campo].value = valor_1; $(div_act).update(look_1); }
}

function uhidden(f,campo)
{
if($F(campo)==0) { document.forms[f].elements[campo].value = 1;  $("clase"+campo).addClassName('selec'); }
	    else { document.forms[f].elements[campo].value = 0;  $("clase"+campo).removeClassName('selec'); } 
}

function link(div_act,url) { var lin = new Ajax.Updater(div_act,url+"&ajax=1&ms="+new Date().getTime(),{method:"post", evalScripts:true});  }
function p_link(div_act,url)
{  
  if($(div_act)){  var lin = new Ajax.Updater(div_act,url+"&ajax=1&ms="+new Date().getTime(),{method:"post", evalScripts:true});   } 
}


function mostrar(varl){  if($(varl).visible()==false){$(varl).show();}else{$(varl).hide();}  }
function cerrar(div_act) { if($(div_act)){ $(div_act).update(); }  }

function ver(varl) { $(varl).show(); }
function no_ver(varl) { if($(varl).visible()==true){ $(varl).hide(); }  }


function new_edit(f,div_a,url_a)
{
  var params = Form.serialize($(f));
  var aj = new Ajax.Updater(div_a,url_a+"&ajax=1&ms="+new Date().getTime(),{ method:"post",evalScripts: true,parameters:params });
}

function new_edit_esp(f,esp,div_a,url_a)
{
  var v_esp = $F(esp);
  var aj = new Ajax.Updater(div_a,url_a+"&ajax=1&"+esp+"="+v_esp+"&ms="+new Date().getTime(),{ method:"post",evalScripts: true});
}

function enviar_email(f,div_a,url_a,div_i,url_i)
{
  var params = Form.serialize($(f));
  var c_i = new Ajax.Updater(div_i,url_i+"&ajax=1&ms="+new Date().getTime(),{ method:"post",evalScripts: true,parameters:params });
  var c_a = new Ajax.Updater(div_a,url_a+"&ajax=1&ms="+new Date().getTime(),{ method:"post",evalScripts: true,parameters:params });
}

function link_new(div_act,url)
{
  if($(div_act).visible()==false) { $(div_act).show(); } 
		             else { var lin = new Ajax.Updater(div_act,url+"&ajax=1&ms="+new Date().getTime(),{method:"get"}); } 
}


/*################ 1º CALCULADORA GVP #################*/

function cal_pi(f)
{
  var i_per = $F("i_per");
  var i_fra = $F("i_fra");
  i_per = i_per.replace(/\./g,''); i_per = i_per.replace(/\,/g,'.');
  i_fra = i_fra.replace(/\./g,''); i_fra = i_fra.replace(/\,/g,'.');

  var i_ind = parseFloat(i_per) - parseFloat(i_fra);
  if(i_ind < 0) { var i_ind = 0; }

  var i_ind = tryNumberFormat(i_ind); 	document.forms[f].i_ind.value = i_ind;
}

/*##################### BUSQUEDA ######################*/

var alertTimerId = 0;

function esperar()
{
  clearTimeout ( alertTimerId );
  alertTimerId = setTimeout("darme()", 500);	
}

function darme()
{
  var cual = cual;
  var params = Form.serialize($('fb'));
  var url_a = $F("url_a");
  var aj = new Ajax.Updater('busq',url_a+"?ajax=1&cual=2&qb=1&ms="+new Date().getTime(),{ method:"post",parameters:params });
}

/*###################### CALENDARIO ####################*/

function ef(qf,qc,tipo,li,ls,urle)
{
  var f_env = $F(qc);
  var juntos= qf + qc;
  var url = '../anexos/calendario.php';
  var aj = new Ajax.Updater(juntos,url+"?qf="+qf+"&qc="+qc+"&tipo="+tipo+"&li="+li+"&ls="+ls+"&urle="+urle+"&fecha_for="+f_env+"&ms="+new Date().getTime(),{ method:"get" });
}

function df(qf,qc,fecha) { document.forms[qf].elements[qc].value = fecha; $(qc).removeClassName('f_rojo'); }





/*#################### HELPDESK ######################*/

function helpdesk()   { window.open('pop_mail.php','contacto','top=200, left=390, height=290, width=400'); }
function helpdesk_2() { window.open('../pop_mail.php','contacto','top=200, left=390, height=290, width=400'); }

/*################## ALTURA FRAME ####################*/

function calcHeight()
{
  var the_height=document.getElementById('upload').contentWindow.document.body.scrollHeight;
  document.getElementById('upload').height=the_height;
}

/*################## COPIAR CAMPOS ###################*/


function copia(id) { var _RC = document.fc.asunto.value;
		     document.all[id].innerHTML = _RC; 
		   }
function copiam(id) { var _RCM=document.fc.mensaje.value;
				out = "\n"; // reemplazar la letra a
				add = "<br>"; // por la letra z
				temp = "" + _RCM;
				while (temp.indexOf(out)>-1) {
				pos= temp.indexOf(out);
				temp = "" + (temp.substring(0, pos) + add + 
				temp.substring((pos + out.length), temp.length));
							     }
		      document.all[id].innerHTML = temp; 
		    }

function cambia_cajetin(id,texto){ ns4 = (document.layers)? true:false;	ie4 = (document.all)? true:false;
		if (ns4) { var obj = document.layers[id].document; obj.open(); obj.write(texto); obj.close(); }
         	if (ie4) document.all[id].innerHTML = texto; 
				 }

/*################## CALCULADORA ###################*/

function calc(q)
{

if(q == 'cant_p') { var bruto = $F(q);
		    bruto = bruto.replace(/\./g,''); bruto = bruto.replace(/\,/g,'.');
		    var iva = bruto * 0.07; var t_iva = tryNumberFormat(iva);
		    var tot = bruto * 1.07; var t_tot = tryNumberFormat(tot);
		    document.f.iva_p.value = t_iva; document.f.tot_p.value = t_tot;
		  } 

if(q == 'tot_p')  { var tot = $F(q);
		    tot = tot.replace(/\./g,''); tot = tot.replace(/\,/g,'.');
		    var iva = tot * 0.07 / 1.07;  var t_iva = tryNumberFormat(iva);
		    var bru = tot / 1.07;         var t_bru = tryNumberFormat(bru);
		    document.f.iva_p.value = t_iva; document.f.cant_p.value = t_bru;
		  } 
}

/*################## CALCULADORA PAGO ###################*/

function calc_p(q)
{
  var prop_7 = $F("prop_7");
  var prop16 = $F("prop16");
  var maximo = $F("maximo");

  var bruto = $F(q);
  bruto = bruto.replace(/\./g,''); bruto = bruto.replace(/\,/g,'.');
  var iva_7 = bruto * prop_7 * 0.07; 
  var iva16 = bruto * prop16 * 0.16;
  var tot = parseFloat(bruto) + parseFloat(iva_7) + parseFloat(iva16); 
  var tiva_7 = tryNumberFormat(iva_7); var tiva16 = tryNumberFormat(iva16); var t_tot = tryNumberFormat(tot);
  document.f.iva_7.value = tiva_7; document.f.iva16.value = tiva16; document.f.tot_p.value = t_tot;

  if((parseFloat(bruto)>$F("maximo")) || (parseFloat(bruto)<=0) || (bruto=="")) { document.f.submit.disabled = true;  }
	                        			                   else { document.f.submit.disabled = false; }
}


/*###############  FORMAT NUMBER  ###############*/

function tryNumberFormat(ob)
{
var num = new NumberFormat(ob);
num.setInputDecimal('.');
num.setNumber(ob);
num.setPlaces('2', false);
num.setCurrencyValue('$');
num.setCurrency(false);
num.setCurrencyPosition(num.LEFT_OUTSIDE);
num.setNegativeFormat(num.LEFT_DASH);
num.setNegativeRed(false);
num.setSeparators(true, '.', ',');
return num.toFormatted();
}

/*###############  SUMA FORM PRECIOS #############*/

function sprecios(qi)
{
var m2_p = $F("m2_piso"+qi); m2_p = m2_p.replace(/\./g,''); m2_p = m2_p.replace(/\,/g,'.');
var m2_o = $F("m2_otra"+qi); m2_o = m2_o.replace(/\./g,''); m2_o = m2_o.replace(/\,/g,'.');
var m2_z = $F("m2_zc"+qi);   m2_z = m2_z.replace(/\./g,''); m2_z = m2_z.replace(/\,/g,'.');
var tot = parseFloat(m2_p) + parseFloat(m2_o * 0.5) + parseFloat(m2_z * 0.25);
var total = tryNumberFormat(tot);

document.forms["f"+qi].elements["tm2"+qi].value = total;

if(tot>0) { document.forms["f"+qi].elements["precio_m2"+qi].disabled=false;  $("precio_m2"+qi).removeClassName('in_off'); $("precio_m2"+qi).addClassName('in_on'); }
     else { document.forms["f"+qi].elements["precio_m2"+qi].disabled=true;   $("precio_m2"+qi).removeClassName('in_on');  $("precio_m2"+qi).addClassName('in_off');
	    document.forms["f"+qi].elements["precio_m2"+qi].value = '';
	  }
}

function m2precio(qi)
{
var tm2 = $F("tm2"+qi); tm2 = tm2.replace(/\./g,''); tm2 = tm2.replace(/\,/g,'.');
var ixm2 = $F("precio_m2"+qi); ixm2 = ixm2.replace(/\./g,''); ixm2 = ixm2.replace(/\,/g,'.');
var tot = parseFloat(tm2) * parseFloat(ixm2);
var total = tryNumberFormat(tot);

document.forms["f"+qi].elements["precio"+qi].value = total;
}

function tprecio(qi)
{
var tm2 = $F("tm2"+qi); tm2 = tm2.replace(/\./g,''); tm2 = tm2.replace(/\,/g,'.');
if(tm2>0){
	  var preu = $F("precio"+qi); preu = preu.replace(/\./g,''); preu = preu.replace(/\,/g,'.');
	  var tot = parseFloat(preu) / parseFloat(tm2);
	  var total = tryNumberFormat(tot);

	  document.forms["f"+qi].elements["precio_m2"+qi].value = total;
	 }
}

/* ############## SOLO NUMERO ############### */

function solonumeros(e,qi,qcampo)
{
var key;
var fieldname = eval(document.forms["f"+qi].elements[qcampo]);
if(window.event) { key = e.keyCode; }				// IE
	     else if(e.which) { key = e.which; } 		// Netscape/Firefox/Opera
if ((key < 46 || key > 57) && key !==44) { return false; }
return true;
}

/* ############## SOLO NUMERO ############### */

function solo_numeros(qi,qcampo)
{
var key;
var fieldname = eval(document.forms[qi].elements[qcampo]);
if(window.event) { key = event.keyCode; }				// IE
	     else if(event.which) { key = event.which; } 		// Netscape/Firefox/Opera
if ((key < 46 || key > 57) && key !==44) { return false; }
return true;
}

/* ####### PARA PONER/QUITAR ESTADO VTA  ##### */

function m2pr(qf,qi)
{
var tm2 = $F("tm2"+qi); tm2 = tm2.replace(/\./g,''); tm2 = tm2.replace(/\,/g,'.');
var ixm2 = $F("precio_m2"+qi); ixm2 = ixm2.replace(/\./g,''); ixm2 = ixm2.replace(/\,/g,'.');
var tot = parseFloat(tm2) * parseFloat(ixm2);

var ant_tot = $F("prcv"+qi); ant_tot = ant_tot.replace(/\./g,''); ant_tot = ant_tot.replace(/\,/g,'.');
var dif = parseFloat(tot) - parseFloat(ant_tot);

var total = tryNumberFormat(tot);
var difer = tryNumberFormat(dif);

document.forms[qf].elements["precio"+qi].value = total;
document.forms[qf].elements["dif"+qi].value = difer;
}

function tpr(qf,qi)
{
var tm2 = $F("tm2"+qi); tm2 = tm2.replace(/\./g,''); tm2 = tm2.replace(/\,/g,'.');
var preu = $F("precio"+qi); preu = preu.replace(/\./g,''); preu = preu.replace(/\,/g,'.');
var ant_tot = $F("prcv"+qi); ant_tot = ant_tot.replace(/\./g,''); ant_tot = ant_tot.replace(/\,/g,'.');

var dif = parseFloat(preu) - parseFloat(ant_tot);
var difer = tryNumberFormat(dif);

if(tm2>0){  var tot = parseFloat(preu) / parseFloat(tm2);
	    var total = tryNumberFormat(tot);
	    document.forms[qf].elements["precio_m2"+qi].value = total;
	 }

document.forms[qf].elements["dif"+qi].value = difer;
}

/* ########## ACTIVA/DESACTIVA FORM ######### */

function actsubmit(qf,qc)
{ 
if($F(qc)==1) { document.forms[qf].submit.disabled = false; }
	 else { document.forms[qf].submit.disabled = true; }
}

function actsubmit_2(qf)
{
    if(document.forms[qf].apel1.value != "") { document.forms[qf].submit.disabled = false; } 
			                else { document.forms[qf].submit.disabled = true;  }

}

function check_nuevo(qf,qe)
{
 var apel1 = $F("apel1");
 if(qe == "p") { var apel2 = $F("apel2"); }
 if(((apel1 != "") && (qe == "e")) || ((apel1 != "") && (apel2 != "") && (qe == "p")))
   {
   var params = Form.serialize($(qf));
   var aj = new Ajax.Updater('check_existe',"form_check.php?ajax=1&qc=check_existe&qe="+qe+"&ms="+new Date().getTime()+"",{ method:"post",evalScripts: true,parameters:params });
   }
}



function new_editp(f,div_a,url_a)
{
  var params = Form.serialize($(f));
  alert(params);
  alert(url_a);
}







function act(div_act,q_act) { $(div_act).update(q_act); }
function ver(varl) { $(varl).show(); }
function no_ver(varl) { $(varl).hide(); }

function Blur(f,elemento) { document.getElementById(f).ultimo_focus.value = elemento; }


function sel_f(campo,div_f,url)
{
 var variable = $F(campo);
 var lin = new Ajax.Updater(div_f,url+"&ajax=1&variable="+variable+"&ms="+new Date().getTime(),{method:"post"});	
}





/* ################ SALIR ################# */

function log_out()
{
     ht = document.getElementsByTagName("HTML");
     ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
     if (confirm('Confirma que desea salir ?'))
     {
         return true;
     }else
     {
         ht[0].style.filter = "";
         return false;
     }
} 
