

// ©Angel Garcia 2008
// www.CopiasXL.com



<!-- Tarifas
function calculaprecio(form0) {

mrw="nada";
ancho = 0;
alto = 0;
perimetro = 0;
totalmarco = 0;
error = 1 ; // flag de errores
ipc = 1;   // para subir el IPC
correctortamano = 1 //si la foto es de mas de 60cm de ancho, aplica incremento.
var preciobase ;
preciobase60 = form0.preciobase60.value; //por  cm2
preciobase100 = form0.preciobase100.value; //por  cm2
preciobase = Math.round(10000 * preciobase60 * preciobase100)/10000;
proteccion = form0.proteccion.value; // spray hahnemuhle
base = form0.base.value; // precio por cm2
passepartout = form0.passepartout.value; // precio por cm2
anchopass = form0.anchopass.value;// ancho passepartout en cm.
doblepass = form0.doblepass.checked; // 1 si doblepassepartput
doblepass = doblepass + 1
urgente = form0.urgente.checked; // factor envío urgente
marco = form0.marco.value; // precio por cm lineal
cristal = form0.cristal.value; // precio por cm lineal
envio = form0.envio.value; // coste de envio neto
urgente = form0.urgente.checked; // 1 si envio urgente
alto = form0.alto.value;
ancho = form0.ancho.value;
margen = form0.margen.value;
tamano = form0.tamano.value;

//form0.prueba.value =  mrw;


if (isNaN(ancho)) {
     ancho = 0;
}

if (isNaN(alto)) {
     alto = 0;
}




mrwind = form0.envio.selectedIndex;
mrwtext = form0.envio.options[mrwind].text;
mrwenvio = mrwtext.substring(0,3) ;
if ((mrwenvio=="Age" ) && (urgente)){
   urgente = 0;
   form0.urgente.checked = 0;
	alert('El envío por Agencia es siempre servicio 24 Horas.');
}





if (tamano > 0 ) {  // si es tamaño estandar, extrae valores ancho y alto

alto = tamano.substring(0,2) ;
ancho = tamano.substring(2,4) ;
form0.margen.value = 0.5;
form0.alto.value = "--";
form0.ancho.value = "--";
margen = 0;
}


maximadimension= 0;
if ( alto > ancho ) {
maximadimension = ancho;
ancho = alto;
alto = maximadimension;
form0.alto.value = alto;
form0.ancho.value = ancho;


}



if (marco > 0 ){

       margen = Math.round(margen/5)*5;
       form0.margen.value = margen;
       anchopass = Math.round(anchopass/5)*5;
       form0.anchopass.value = anchopass;
   
}


if (passepartout > 0 ){

       margen = 0;
       form0.margen.value = 0.5;
   
}


anchoymargen = parseInt(margen) + parseInt(ancho) + parseInt(margen);
altoymargen = parseInt(margen) + parseInt(alto) + parseInt(margen);



if (preciobase == 1){
	alert('Por favor, selecciona al menos un tipo de papel .');
    document.form0.preciobase60.focus();
    error = 0
}

else if ((Math.round(preciobase60) == 0) && (Math.round(preciobase100) == 0)) {
	alert('Por favor, selecciona un sólo tipo de papel .');
    form0.preciobase60.value = 1;
    form0.preciobase100.value = 1;
     document.form0.preciobase60.focus();
     error = 0
	}



 if ((preciobase100 == 1) && (anchoymargen > 60 ) && (altoymargen > 60)){
       alert('Por favor, selecciona papel de 61 cm. a 110 cm.');
       error = 0
       document.form0.preciobase100.focus();
  	   document.form0.preciobase60.value = 1;


      
}


if  ((preciobase60 == 1) && ((anchoymargen < 61 )||(altoymargen < 61)||(tamano >0))){
       alert('Por favor, selecciona papel hasta 60 cm.');
       error = 0
       	document.form0.preciobase60.focus();
	  document.form0.preciobase100.value = 1;
      
      
}



if (( tamano == 0) &&  (ancho < 30 ))  {
	alert('Por favor, introduce un tamaño mayor o igual a 30 cm .');
     error = 0
	document.form0.ancho.focus();
	document.form0.ancho.select();
	}





else if (( tamano == 0) && ((isNaN(alto)) || (alto < 20 ))) {
	alert('Por favor, introduce un tamaño mayor o igual a 20 cm. .');
    error = 0;
	document.form0.alto.focus();
	document.form0.alto.select();
	}





 

if   (preciobase100 < 1) {
       correctortamano = 1.15;
  }

else {

       correctortamano = 1;
      }


if (passepartout == 0 ){
      anchopass = 0;
      form0.anchopass.value = 0;
      anchopass = 0 ;
}


if ((passepartout > 0 ) && (anchopass == 0 )){

	alert('Por favor, selecciona ancho del passepartout.');
    error = 0;
	document.form0.anchopass.focus();

	}





perimetro = Math.round(2*anchoymargen+2*altoymargen + 8*anchopass);



totalmarco = Math.round(4*perimetro*marco)/4;
if (totalmarco) {
totalmarco = (totalmarco + 6 );
}


totalbase = Math.round(4 * base * (altoymargen + 2 * anchopass) * (anchoymargen + 2 * anchopass))/4;
if (totalbase) {
totalbase = (totalbase + 3 );
}

totalcristal = Math.round(4*cristal * (altoymargen + 2 * anchopass) * (anchoymargen + 2 * anchopass))/4
if (totalcristal) {
totalcristal = (totalcristal + 4);
}


totalenvioestandar = Math.round(4 * envio * (1 + urgente * 0.8))/4

totalpassepartout = ( Math.round( 4 * ipc * error * (altoymargen + 2 * anchopass) * (anchoymargen + 2 * anchopass) * passepartout * doblepass )/4) 
if (totalpassepartout) {
totalpassepartout = (totalpassepartout + 5 );
}

totalfotoestandar = (Math.round(4 * preciobase * altoymargen * anchoymargen * ipc * 0.9 * error) / 4) 
totalfotoperso = (Math.round(4 * preciobase * altoymargen * anchoymargen * correctortamano *ipc * error) / 4 )

totalproteccionestandar = error *( Math.round( 4 * ipc * altoymargen * anchoymargen * proteccion * 0.0018)/4) 
totalproteccionperso = error * ( Math.round( 4 * ipc * altoymargen * anchoymargen * proteccion * correctortamano * 0.0018)/4)

totalmontajeestandar =  error * ipc * (totalmarco + totalbase + totalcristal + totalpassepartout) 
totalmontajeperso =  error *  ipc * (totalmarco + totalbase + totalcristal + totalpassepartout)






if (marco > 0 ){
form0.altototal.value = Math.round(error * (2+altoymargen + 2 * anchopass)/5)*5;
form0.anchototal.value = Math.round(error * (2+anchoymargen + 2 * anchopass)/5)*5;
}

else {

form0.altototal.value = Math.round(error * (altoymargen + 2 * anchopass));
form0.anchototal.value = Math.round(error * (anchoymargen + 2 * anchopass));

}

 if (tamano > 0) {  // es tamaño estandar

form0.margen.value = 0.5;
form0.alto.value = "--";
form0.ancho.value = "--";
form0.totalcopia.value = error * Math.round(4 * (2 + totalfotoestandar + totalproteccionestandar))/4  + " €"
form0.totalmontaje.value = error * totalmontajeestandar + " €"
form0.totalenvio.value = error * Math.round(4 * (totalenvioestandar) )/4  + " €"
form0.total.value = error * Math.round(4 * (2 + totalfotoestandar + totalproteccionestandar + totalmontajeestandar + totalenvioestandar))/4 + " €"

	}




else  {   // es tamaño personalizado




form0.totalcopia.value = error * Math.round(4 * (2 + totalfotoperso + totalproteccionperso))/4  + " €"
form0.totalmontaje.value = error * totalmontajeperso  + " €"
form0.totalenvio.value = error * Math.round(4 * (totalenvioestandar) )/4  + " €"
form0.total.value = error * Math.round(4 * (2 + totalfotoperso + totalproteccionperso + totalmontajeperso + totalenvioestandar))/4 + " €"

	}
}

//  Fin -->