function Cargar () {
   var i;

   for (i = 0; i < 12; i++) {
      s[i] = 0.0;
   }
	SiHTML.checked = false;
	NumPHTML.value = 0;
   SiHTML.click(); SiHTML.click();
	SiFlash.checked = false;
	NumPFlash.value = 0;
   SiFlash.click(); SiFlash.click();
	SiJava.checked = false;
	NumEfectos.value = 0;
   SiJava.click(); SiJava.click();
	SiImagenes.checked = false;
	NumImagenes.value = 0;
	NumImgAnim.value = 0;
	NumImgAnim2.value = 0;
	NumElectronico.value = 0;
	NumFisico.value = 0;
	NumRetoques.value = 0;
   SiImagenes.click(); SiImagenes.click();
	SiMusica.checked = false;
	NumMusica.value = 0;
   SiMusica.click(); SiMusica.click();
	SiSonido.checked = false;
	NumSonido.value = 0;
   SiSonido.click(); SiSonido.click();
	SiBBDD.checked = false;
	NumBBDD.value = 0;
   SiBBDD.click(); SiBBDD.click();
	SiContador.checked = false;
   SiContador.click(); SiContador.click();
	BanGrande.checked = false;
   BanGrande.click(); BanGrande.click();
	BanPeque.checked = false;
   BanPeque.click(); BanPeque.click();
}
function ExplicaEuros (Cdad) {
   return 'Cantidad expresada en Euros (€).<br><span style="font-size: 1.2em;">' + Cdad +' € &asymp; ' + Math.round((Cdad*166.386)) + ' Pesetas.</span>';
}
function Formato2Decimales (Cdad) {
	var cifra = 0.00;
	var pico = 0.00;

   cifra = (Math.round(Cdad * 100)) / 100;
	pico = Math.round((cifra - Math.floor(cifra)) * 100);

	return Math.floor(cifra) + '.' + Math.floor(pico / 10) + (pico % 10);
}
function Rappel (Cdad, Lim1, Dto1, Lim2, Dto2, Lim3, Dto3) {
	return (Cdad > Lim1 ? (Cdad > Lim2 ? (Cdad > Lim3 ? Dto3 : Dto2) : Dto1) : 1)
}
function Calcular (Objeto) {
   if (Objeto.id == 'NumPHTML') {
       if ((SiHTML.checked) && (Objeto.value > 0)) {
          s[0] = 20.02 + (10.01 * Objeto.value * Rappel (Objeto.value, 20, 0.9, 35, 0.8, 50, 0.75));
       } else {
          s[0] = 0.0;
       }
       PrecioHTML.value = Formato2Decimales(s[0]);
   } else if (Objeto.id == 'NumPFlash') {
       if ((SiFlash.checked) && (Objeto.value > 0)) {
          s[1] = 30.03 + (17.03 * Objeto.value * Rappel (Objeto.value, 10, 0.9, 25, 0.8, 50, 0.75));
       } else {
          s[1] = 0.0;
       }
       PrecioFLASH.value = Formato2Decimales(s[1]);
   } else if (Objeto.id == 'NumEfectos') {
       if ((SiJava.checked) && (Objeto.value > 0)) {
          s[2] = 4.4 * Objeto.value;
       } else {
          s[2] = 0.0;
       }
       PrecioJAVA.value = Formato2Decimales(s[2]);
   } else if (Objeto.id == 'NumImagenes') {
       if ((SiImagenes.checked) && (Objeto.value > 0)) {
          s[3] = (5.5 * Objeto.value * Rappel (Objeto.value, 20, 0.9, 35, 0.8, 50, 0.75));
          if (SiImgAnimF.checked) {
		       s[3] += (3 * NumImgAnim.value * Rappel (Objeto.value, 10, 0.9, 25, 0.8, 50, 0.75));
          }
          if (SiImgAnimG.checked) {
		       s[3] += (2 * NumImgAnim2.value * Rappel (Objeto.value, 20, 0.9, 35, 0.8, 50, 0.75));
          }
          if (SiElectronico.checked) {
	      	 s[3] -= (0.4 * NumElectronico.value * Rappel (Objeto.value, 20, 0.9, 40, 0.8, 60, 0.75));
          }
          if (SiFisico.checked) {
   		    s[3] += (1.6 * NumFisico.value * Rappel (Objeto.value, 20, 0.9, 30, 0.8, 40, 0.75));
          }
          if (SiRetoques.checked) {
		       s[3] += (2.6 * NumRetoques.value * Rappel (Objeto.value, 30, 0.9, 50, 0.8, 100, 0.75));
          }
       } else {
          s[3] = 0.0;
       }
       PrecioImagenes.value = Formato2Decimales(s[3]);
   } else if (Objeto.id == 'NumMusica') {
       if ((SiMusica.checked) && (Objeto.value != 0)) {
          s[4] = (Objeto.value == -1?3.01:4.81);
       } else {
          s[4] = 0.0;
       }
       PrecioMusica.value = Formato2Decimales(s[4]);
   } else if (Objeto.id == 'NumSonido') {
       if ((SiSonido.checked) && (Objeto.value > 0)) {
          s[5] = 3.91 + (1.9 * Objeto.value * Rappel (Objeto.value, 30, 0.9, 40, 0.8, 50, 0.75));
       } else {
          s[5] = 0.0;
       }
       PrecioSonido.value = Formato2Decimales(s[5]);
   } else if (Objeto.id == 'NumBBDD') {
       if ((SiBBDD.checked) && (Objeto.value > 0)) {
          s[6] = 20.03 + (4.96 * Objeto.value * Rappel (Objeto.value, 15, 0.9, 35, 0.8, 55, 0.75));
       } else {
          s[6] = 0.0;
       }
       PrecioBBDD.value = Formato2Decimales(s[6]);
   } else if (Objeto.id == 'SiContador') {
       if (Objeto.checked) {
          s[7] = (document.all.item ("OptCont", 0).checked?3.61:6.01);
       } else {
          s[7] = 0.0;
       }
       PrecioCont.value = Formato2Decimales(s[7]);
   } else if (Objeto.id == 'BanGrande') {
       if (Objeto.checked) {
          s[8] = (SiAnimGrande.checked?6.01:0);
          s[8] += (document.all.item ("OptGrande", 0).checked?3.61:9.02);
          s[8] += (SiTranspGrande.checked?1.20:0);
          s[8] += (SiFlashGrande.checked?6.01:0);
       } else {
          s[8] = 0.0;
       }
       PrecioGran.value = Formato2Decimales(s[8]);
   } else if (Objeto.id == 'BanPeque') {
       if (Objeto.checked) {
          s[9] = (SiAnimPeque.checked?6.01:0);
          s[9] += (document.all.item ("OptPeque", 0).checked?3.61:9.02);
          s[9] += (SiTranspPeque.checked?1.20:0);
          s[9] += (SiFlashPeque.checked?6.01:0);
       } else {
          s[9] = 0.0;
       }
       PrecioPeq.value = Formato2Decimales(s[9]);
   }
   s[10] = 0;
   for (i = 0; i < 10; i++) {
      s[10] += s[i];
   }
   s[11] = s[10] * 1.16;
   BI.value = Formato2Decimales(s[10]);
   Total.value = Formato2Decimales(s[11]);
}
function TotalAnimadas (paso) {
   return CdadTotal (NumImagenes.value, SiImgAnimF.checked, SiImgAnimG.checked, NumImgAnim.value, NumImgAnim2.value, paso);
}
function TotalFormatos (paso) {
   return CdadTotal (NumImagenes.value, SiElectronico.checked, SiFisico.checked, NumElectronico.value, NumFisico.value, paso);
}
function CdadTotal (todas, cond1, cond2, valor1, valor2, paso) {
   var f = 0, g = 0;
   if (cond1) f -= -valor1;
   if (cond2) g -= -valor2;
   return (todas >= (f + g - -paso));
}
function DesHabilitar (Obj1, valor, Controles, ObjCalculo) {
   Obj1.disabled = valor;
   eval ("BA" + Controles).disabled = valor;
   eval ("BR" + Controles).disabled = valor;
   eval ("BR10" + Controles).disabled = valor;
   eval ("BS" + Controles).disabled = valor;
   eval ("BS10" + Controles).disabled = valor;
   if (Obj1.id == 'NumImagenes') {
      if (valor) {
         SiImgAnimG.checked = SiImgAnimF.checked = SiElectronico.checked = SiFisico.checked = SiRetoques.checked = false;
         SiImgAnimF.click(); SiImgAnimF.click();
         SiImgAnimG.click(); SiImgAnimG.click();
         SiElectronico.click(); SiElectronico.click();
         SiFisico.click(); SiFisico.click();
         SiRetoques.click(); SiRetoques.click();
      }
      SiImgAnimG.disabled = SiImgAnimF.disabled = SiElectronico.disabled = SiFisico.disabled = SiRetoques.disabled = valor;
   }
   Calcular (ObjCalculo);
}
function PuedeRestar (paso) {
   var a, b, tot, mesg = '';

   a = 0; b = 0;
   if (SiImgAnimF.checked) a = 0 - -NumImgAnim.value;
   if (SiImgAnimG.checked) b = 0 - -NumImgAnim2.value;
   tot = a + b;
   if ((NumImagenes.value - -paso) < tot) {
      mesg += '- alguna imagen del apartado de animaci&oacute;n (con Flash y en formato ".GIF").<br>';
   }
   a = 0; b = 0;
   if (SiElectronico.checked) a = 0 - -NumElectronico.value;
   if (SiFisico.checked) b = 0 - -NumFisico.value;
   tot = a + b;
   if ((NumImagenes.value - -paso) < tot) {
      mesg += '- alguna imagen del apartado de formatos (electr&oacute;nico y f&iacute;sico).<br>';
   }
   a = 0;
   if (SiRetoques.checked) a = 0 - -NumRetoques.value;
   if ((NumImagenes.value - -paso) < a) {
      mesg += '- alguna imagen del apartado de retoques.<br>';
   }
   if (mesg.length != 0) {
      mensaje = 'Para disminuir el n&uacute;mero de im&aacute;genes, primero ha de eliminar:<br>' + mesg + 'El n&uacute;mero de im&aacute;genes en esos apartados debe ser menor o igual al n&uacute;mero total de im&aacute;genes.';
      overlib (mensaje, CAPTION, 'Quite primero...', STICKY, CLOSETEXT, 'Cerrar');
      return false;
   } else {
      return true;
   }
}