<!-- Original:  Luis Álvarez -->
<!-- Nuevomilenio, La cabeza del Ratón!! http://www.nuevomilenio.net -->

<!-- Abrir Ventanas ----------------------------------------------------------->
function abreVentanaPrimaria(url, nombre, myWidth, myHeight){
	var myLeft = "left=" + (screen.width-myWidth)/2;
	var myTop = "top=" + (screen.height-myHeight)/2;
	myWidth = "width=" + myWidth;
	myHeight = "height="+ myHeight;
	var estilo = "menubar=no, toolbar=no, status=no, resizable=no, scrollbars=yes";
      VentanaPrimaria = window.open(url,nombre,""+ estilo+","+myWidth+","+myHeight+","+myTop+","+myLeft+"");
      VentanaPrimaria.focus();
}
function abreVentanaSecundaria(url, nombre, myWidth, myHeight){
	var myLeft = "left=" + (screen.width-myWidth)/2;
	var myTop = "top=" + (screen.height-myHeight)/2;
	myWidth = "width=" + myWidth;
	myHeight = "height="+ myHeight;
	var estilo = "menubar=no, toolbar=no, status=no, resizable=no, scrollbars=yes";
      VentanaSecundaria = window.open(url,nombre,estilo,myWidth,myHeight,myTop,myLeft);
      VentanaSecundaria.focus();
}
<!----------------------------------------------------------------------------->

<!-- Manejo de campos --------------------------------------------------------->
function borraCliente(){
	document.form_persona.pk_persona.value = "";
	document.form_persona.nombre.value = "";
	document.form_persona.descuento.value = "";
}
<!----------------------------------------------------------------------------->


function abreVentana(url, myWidth, myHeight){
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaDatos = window.open(url,"miwin2","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft);
      VentanaDatos.focus();
}
function abreVentanaDatos(url, myWidth, myHeight){
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaDatos2 = window.open(url,"miwin22","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft);
      VentanaDatos2.focus();
}
function abreVentanaDatos2(url, myWidth, myHeight){
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaDatos22 = window.open(url,"miwin222","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft);
      VentanaDatos22.focus();
}
function abreVentanaModificar(url){
	var myWidth = 700;
	var myHeight = 600;
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaModificar = window.open(url,"miwin2","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft);
      VentanaModificar.focus();
}
function borraProveedor(pk_art, pk_proveedor){
	var myWidth = 300;
	var myHeight = 100;
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaBorrarProveedor = window.open("borra_articuloproveedor.php?pk_art="+pk_art+"&pk_proveedor="+pk_proveedor,"miwin3","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft)
      VentanaBorrarProveedor.focus();
}
function altaArticuloProveedor(pk_art){
	var myWidth = 650;
	var myHeight = 300;
	var myLeft = (screen.width-myWidth)/2;
	var myTop = (screen.height-myHeight)/2;
      VentanaAltaArticuloProveedor = window.open("alta_articuloproveedor.php?pk_art="+pk_art,"miwin4","menubar=0, alwaysRaised=1, toolbar=0, resizable=0, scrollbars=1, width=" + myWidth + ", height="+ myHeight + ", top=" + myTop + ", left=" + myLeft)
      VentanaAltaArticuloProveedor.focus();
}
function eliminar_recuadro() {
      enlaces=document.getElementsByTagName("a").length;
      for (i=0;i<enlaces;i++)
            document.getElementsByTagName("a").item(i).onfocus=new Function("if(this.blur)this.blur()")
}
function addFormaPago(fp){
      //texto = opener.document.form_proveedor.FORMA_PAGO.value;
      texto = ""
      opener.document.form_proveedor.FORMA_PAGO.value = fp;
}
function addFormaPago_bd(fp,id){
      //texto = opener.document.form_proveedor.FORMA_PAGO.value;
      texto = ""
      opener.document.form_formapago.NMBRE_FORMAPAGO.value = fp;
      opener.document.form_formapago.PK_FORMAPAGO.value = id;
}
function addServicio(ser,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_proveedor.SERVICIO.value = ser;
      opener.document.form_proveedor.PK_SERVICIO.value = id;
}
function addFamilia(fam,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_familia.NMBRE_FAMILIA.value = fam;
      opener.document.form_familia.PK_FAMILIA.value = id;
}
function addMarca(mark,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_marca.NMBRE_MARCA.value = mark;
      opener.document.form_marca.PK_MARCA.value = id;
}
function addFamiliaArt(fam,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_articulo.FAMILIA.value = fam;
      opener.document.form_articulo.PK_FAMILIA.value = id;
}
function addMarcaArt(mark,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_articulo.MARCA.value = mark;
      opener.document.form_articulo.PK_MARCA.value = id;
}
function gestionServicio(ser,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_servicio.SERVICIO.value = ser;
      opener.document.form_servicio.PK_SERVICIO.value = id;
}
function addCliente (nmbre,id){
	opener.document.form_servicio.CLIENTE.value = nmbre;
    opener.document.form_servicio.PK_CLIENTE.value = id;
}
function addEmpleado (nmbre,id){
	opener.document.form_servicio.EMPLEADO.value = nmbre;
      opener.document.form_servicio.PK_EMPLEADO.value = id;
}
function addServicioSala (nmbre,id){
	opener.document.form_servicio.SALA.value = nmbre;
      opener.document.form_servicio.PK_SALA.value = id;
}
function addServicioTiposervicio (nmbre,id){
	opener.document.form_servicio.TIPOSERVICIO.value = nmbre;
      opener.document.form_servicio.PK_TIPOSERVICIO.value = id;
}
function addTiposervicio(ser,id,notas){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.forms.form_tiposervicio.NMBRE_TIPOSERVICIO.value = ser;
      opener.document.forms.form_tiposervicio.PK_TIPOSERVICIO.value = id;
	opener.document.forms.form_tiposervicio.NOTAS_TIPOSERVICIO.value = notas;
}
function addSala(sala,id,notas){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.forms.form_sala.NMBRE_SALA.value = sala;
      opener.document.forms.form_sala.PK_SALA.value = id;
	opener.document.forms.form_sala.NOTAS_SALA.value = notas;
}
function addTiposerviciopersona(id,pk_per, pk_tiposer, pvp){
	opener.document.forms.form_serviciopersona.PK_SERVICIOPERSONA.value = id;
	opener.document.forms.form_serviciopersona.PVP.value = pvp;
      opener.document.forms.form_serviciopersona.PK_PERSONA.value = pk_per;
	opener.document.forms.form_serviciopersona.PK_TIPOSERVICIO.value = pk_tiposer;
}
function addProveedor(ser,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_articulo.PROVEEDOR.value = ser;
      opener.document.form_articulo.PK_PROVEEDOR.value = id;
}
function addArticulo(ser,id){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_articulo.NMBRE.value = ser;
      opener.document.form_articulo.PK_ARTKLO.value = id;
}
function addSeleccion(sel,id){
      //texto = opener.document.form_proveedor.CRITERIO_SEL.value;
      texto = ""
      //if (texto != "") {
            //opener.document.form_proveedor.CRITERIO_SEL.value = texto + ",  " + sel;
            //opener.document.form_proveedor.CRITERIO_SEL_H.value = texto + ",  " + id;
      //} else {
            opener.document.form_proveedor.CRITERIO_SEL.value = sel;
            opener.document.form_proveedor.PK_CRITERIO_SEL.value = id;
      //}
}

function addUnidades(){
	 for (var i=0; i < document.form3.undd.length; i++) {
		if (document.form3.undd[i].checked) {
			undd = document.form3.undd[i].value;
			break;
		} 
	}
	var cntdd = document.form3.cantidad.value;
	var texto ="";
	if (undd == "caja"){
		texto = "caja (" + cntdd + " uds.)";	
	} else {
		texto = cntdd + undd;
	}
	window.opener.document.form_articulo.UNIDAD.value = texto;
} 
function addTipoIVA(tipo){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_articulo.TIPO_IVA.value = tipo;
}
function addTicket(tipo){
      //texto = opener.document.form_proveedor.SERVICIO.value;
      texto = ""
      opener.document.form_ticket.CODIGO.value = tipo;
}

function recargarCesta(){
      opener.document.Actualizar_Lista();
}

function calculaCambio(efectivo, importe){
	var num = efectivo - importe;

	num = num.toString().replace(/$|,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	cambio =(((sign)?'':'-') + num + '.' + cents); 
	document.form2.txt_ticket_cambio.value = cambio;	
}

function calcularCaja(){
	importe = document.form2.txt_ticket_importe.value;
	descuento = document.form2.txt_ticket_descuento.value;
	num = importe - ((importe*descuento)/100);
	num = num.toString().replace(/$|,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	cambio =(((sign)?'':'-') + num + '.' + cents);
	document.form2.txt_ticket_caja.value = cambio;
	document.form2.txt_ticket_importe.value = formateaNum (document.form2.txt_ticket_importe.value);
	document.form2.txt_ticket_caja.value = formateaNum (document.form2.txt_ticket_caja.value);
}

function calcularCaja_Tarjeta(){
    disponible = document.form2.txt_tarjeta_disponible.value;
    //disponible = aformateaNum(disponible);
	importe = document.form2.txt_tarjeta_recarga.value;
	if(isNaN(importe))
		importe = "0";
	if (importe=="")
	   importe = "0";
	num = eval(importe) + eval(disponible);
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	cambio =(((sign)?'':'-') + num + '.' + cents);
	document.form2.txt_tarjeta_caja.value = cambio;
	document.form2.txt_tarjeta_disponible.value = convierteNum (document.form2.txt_tarjeta_disponible.value);
	document.form2.txt_tarjeta_caja.value = formateaNum (document.form2.txt_tarjeta_caja.value);
}

function convierteNum(num){
    if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	cambio =(((sign)?'':'-') + num + '.' + cents);
	return cambio;
}

function formateaNum(num){
	//prefix = prefix || '';
	num += '';
	var splitStr = num.split('.');
	var splitLeft = splitStr[0];
	var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
	var regx = /(\d+)(\d{3})/;
	while (regx.test(splitLeft)) {
		splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
	}
	return splitLeft + splitRight;
}

function unformatNum(num) {
	return num.replace(/([^0-9\.\-])/g,'')*1;
} 

function aformateaNum(num){
	/*
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	cambio =(((sign)?'':'-') + num + '.' + cents);
      return cambio;
*/
/*	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents);
*/
	if(isNaN(num))
		num = "0";
	//num = num.toFixed(2);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	return num + '.' + cents;

}

function seleccionPago(valor){
	//Pago en efectivo
	if (valor==1){
		document.form2.txt_ticket_efectivo.readOnly = false;
		//Comprobamos que el valor del importe sea mayor
		if (document.form2.txt_ticket_efectivo.value > 0){
            document.form2.aceptar.disabled = false;    
        } else {
            document.form2.aceptar.disabled = true;
        }
		document.form2.cod.value = "";
		document.form2.cod.readOnly = true;
	}
	//Pago con tarjeta
	if (valor==2){
		document.form2.txt_ticket_efectivo.readOnly = true;
		document.form2.txt_ticket_efectivo.value = "";
		document.form2.txt_ticket_cambio.value = "";
		document.form2.aceptar.disabled = false;
		document.form2.cod.value = "";
		document.form2.cod.readOnly = true;
	}
	//Pago con vale descuento
	if (valor==3){
		document.form2.txt_ticket_efectivo.readOnly = true;
		document.form2.txt_ticket_efectivo.value = "";
		document.form2.txt_ticket_cambio.value = "";
		document.form2.aceptar.disabled = false;
		document.form2.cod.readOnly = false;
	}
}
function seleccionTipo(){
	if (document.form2.tipo.checked==true){
		document.form2.txt_ticket_efectivo.readOnly = true;
		document.form2.aceptar.disabled = false;
		 for(i=0;i<document.form2.forma_pago.length;i++){
			document.form2.forma_pago[i].checked=false;
			document.form2.forma_pago[i].disabled=true;
		} 
		document.form2.forma_pago.disabled = true;
	}else{
		document.form2.Efectivo.readOnly = false;
		 for(i=0;i<document.form2.forma_pago.length;i++){
			document.form2.forma_pago[i].disabled=false;
		}
		document.form2.forma_pago[0].checked=true;
	}
}

function borraCliente(){
	document.form_persona.pk_persona.value = "";
	document.form_persona.nombre.value = "";
	document.form_persona.descuento.value = "";
}

function compruebaEfectivo(valor, seleccion){    
}

function total_Calculadora_Cambio(){
    var cents = 0;
    var euros = 0;
    var total_euros = 0;
    //Obtenemos los valores de cada campo
    var valor_ic = document.form_calculadora_cambio.ic.value;
    var valor_iic = document.form_calculadora_cambio.iic.value;
    var valor_vc = document.form_calculadora_cambio.vc.value;
    var valor_xc = document.form_calculadora_cambio.xc.value;
    var valor_xxc = document.form_calculadora_cambio.xxc.value;
    var valor_lc = document.form_calculadora_cambio.lc.value;
    var valor_ie = document.form_calculadora_cambio.ie.value;
    var valor_iie = document.form_calculadora_cambio.iie.value;
    var valor_ve = document.form_calculadora_cambio.ve.value;
    var valor_xe = document.form_calculadora_cambio.xe.value;
    var valor_xxe = document.form_calculadora_cambio.xxe.value;
    var valor_le = document.form_calculadora_cambio.le.value;
    var valor_ce = document.form_calculadora_cambio.ce.value;
    var valor_cce = document.form_calculadora_cambio.cce.value;
    var valor_de = document.form_calculadora_cambio.de.value;
    //Realizamos la conversión a valor real en €
    valor_ic = valor_ic * 0.01;
    valor_iic = valor_iic * 0.02;
    valor_vc = valor_vc * 0.05;
    valor_xc = valor_xc * 0.1;
    valor_xxc = valor_xxc * 0.2;
    valor_lc = valor_lc * 0.5;
    valor_ie = valor_ie * 1;
    valor_iie = valor_iie * 2;
    valor_ve = valor_ve * 5;
    valor_xe = valor_xe * 10;
    valor_xxe = valor_xxe * 20;
    valor_le = valor_le * 50;
    valor_ce = valor_ce * 100;
    valor_cce  = valor_cce * 200;
    valor_de = valor_de * 500;
    //Sumamos los valores
    cents = valor_ic + valor_iic + valor_vc + valor_xc + valor_xxc + valor_lc;
    euros = valor_ie + valor_iie + valor_ve + valor_xe + valor_xxe + valor_le + valor_ce + valor_cce + valor_de;
    total_euros = euros + cents;
    total_euros = convierteNum(total_euros);
    document.form_calculadora_cambio.total_euros.value = total_euros;
}

function calculaImporte(){
    var valor = 0;
    var margen = 0;
    var pvp = 0;
    var valorIVA = 0;
    valor = document.form_articulo.pvp_compra.value;
    valor = valor.replace(',','.');
    margen = document.form_articulo.descuento_proveedor.value;
    margen = parseFloat(margen.replace(',','.'));
    valorIVA = parseInt(document.form_articulo.TIPO_IVA.value);
    pvp = parseFloat(valor) + parseFloat((valor*valorIVA)/100);
    pvp = parseFloat(pvp) + parseFloat((pvp*margen)/100);
    document.form_articulo.PVP.value = pvp;
}
