function calculopa(form)
{
alp=parseFloat(form.al.value);
dp=parseFloat(form.d.value);
alfap=parseFloat(form.alfa.value);
cp=parseFloat(form.c.value);
ap=parseFloat(form.a.value);
vp=parseFloat(form.v.value);
Ap=parseFloat(form.A.value);
Canp=parseFloat(form.Can.value);
pp=parseFloat(form.p.value);
tipcp=parseFloat(form.tipc.value);
Cant=parseFloat(form.Can.value);
   var inc=5;
   var cancp;
   var p=pp;
   var c=cp;
   var v=vp;
   var P=1;
   var sep=0.5;
   var anVF=4.5
   var aex=60;
   var diag=0.6;
   var cand=4;
   var altd=9;
   var canc=11;
   var l=2.80;
   var ac="4,5";
   if (alfap==0)
   {
    tgalfap=0;
	cosalfap=1;
	senalfap=0;
	}
if (alfap==15)
   {
    tgalfap=0.2679;
	cosalfap=0.966;
	senalfap=0.2588;
   }
if (alfap==30)
   {
    tgalfap=0.575;
	cosalfap=0.866;
	senalfap=0.5;
   }
if (alfap==45)
   {
    tgalfap=1;
	cosalfap=0.707;
	senalfap=0.707;
   }
l=Math.round(ap/cosalfap+dp/cosalfap+cp*tgalfap);
if (l>=380 && c<14)
	   {
	    alert ("El cabio calculado es diferente del seleccionado");
	    c=14;
        ac=7;
	   }
if (ap*tgalfap>vp)
   {
    P=Math.round(alp+(ap*tgalfap))
   }
else   
   {
    P=Math.round(alp+vp);
   }
H=Math.round(alp+vp+dp*tgalfap+cp*cosalfap);
if (form.d.value=="")
   {
   H=alp;
   }
form.H.value=(H);

Cantvex=2;       

 
if (Ap<=300&&Ap>=200)
   {
    alert ("En esta pergola utilice dos diagonales internas solamente y extremos de vigas cortos");
    Cant=2;
	Cantv=1;
    aex=30;
	cand=2
    diag=Math.round((aex+20)/0.707);
   }
if (Ap<=400&&Ap>300)
   {
    Cant=2;
    Cantv=1;
	aex=50;
   }      
if ((Ap>400)&& (form.A.value<=800))
   {
    Cant=3;
	Cantv=2;
   }
if ((Ap>800)&& (form.A.value<=1100))
   {
    Cant=4;
	Cantv=3;
   }
    
sep=Math.round((Ap-2*aex-(Cant*pp))/(Cant-1));
canc=Math.floor(1+(Ap-2*inc)/(0.5*100));
sepc=Math.round((Ap-2*inc)/canc);
if (sepc<40)
  {
  canc=canc-1;
  }
if (p==12)
   {
    form.ancl.value=("Use "+Cant+" x AP-5");
	anVF="4,5";
	altd="9";
   }
if (p==14)
   {
    form.ancl.value=("Use "+Cant+" x AP-66M");
	anVF="4,5";
	altd="9";
   }
if (p==16)
   {
    form.ancl.value=("Use "+Cant+" x AP-160");
	anVF="7";
	altd="12"; 
   }
 if (tipcp==2)
   {
   ac="6";
   c=14;
   alert ("Una cubierta de tejas es pesada, requiere verificación de la estructura y el cabio calculado (14) puede ser mayor que el propuesto (12)");
   }
      if (form.A.value=="")
   {
   canc=0;
   Cant=0;
     }   
if ((c==12)&&(alfap==0))
   {
    form.ancab.value=("Use "+canc+" x SI90-5");
   }  
 if ((c==14)&&(alfap==0))
   {
    form.ancab.value=("Use "+canc+" x SI90-6");
   }  
if (alfap==15)
   {
    form.ancab.value=("Use "+canc+" x SI15-5");
   } 
if ((c==12)&&(alfap==30))
   {
    form.ancab.value=("Use "+canc+" x SI30-5");
   }  
 if ((c==14)&&(alfap==30))
   {
    form.ancab.value=("Use "+canc+" x SI30-6");
   }  
 if ((c==12)&&(alfap==45))
   {
    form.ancab.value=("Use "+canc+" x SI45-5");
   }  
 if ((c==14)&&(alfap==45))
   {
    form.ancab.value=("Use "+canc+" x SI45-6");
   }
if (v==12)
   {
    form.anv.value=("Use "+((Cant-1)*2+2)+" x SI90-5");
   }
 if (v==14)
   {
    form.anv.value=("Use "+((Cant-1)*2+2)+" x SI90-6");
   }
   if (v==16)
   {
    form.anv.value=("Use "+((Cant-1)*2+2)+" x SI90-7M");
   }
if (alfap==0)
   {
form.ancav.value=("Use "+canc*2+" x SLD2");
   }   
if (alfap==15)
   {
form.ancav.value=("Use "+canc*2+" x SLD2");
   }
if (alfap==30)
   {
form.ancav.value=("Use "+canc+" x AI30-2");
   }
if (alfap==45)
   {
form.ancav.value=("Use "+canc+" x AI45-2");
   }
   
if (Ap>=300)
    {
	cand=2*Cant;
     diag=Math.round((aex-10)/0.707);
    }
if ((v==12)||(v==14))
   {
    form.mens.value=("Use "+Cant*2+" x SIX45-4 + SIMW45-4");
   }
if (v==16)
   {
    form.mens.value=("Use "+Cant*2+" x SIX45-5 y SIMW45-5");
   }
   if (H>400)
   {
    alert ("Atencion, verifique que dispone de la altura sobre fachada resultante")
   }      
if (l>480)
   {
    alert ("Atencion, los cabios son demasiado largos");
   }
 if ((form.A.value<=320)&&(form.d.value<=150)&&(form.A.value>150))
   {
    alert("Sugerimos utilice nuestro Kit Nº9 o Nº10");
    }
if (P>350)
   {
    alert ("Atencion, los pilares son demasiado largos. Revise la Altura Libre deseada");
   }
if (Cant!=Canp)
   {
    alert ('Atencion,la cantidad de pilares calculada: (' +Cant+ ') es diferente de la propuesta: (' +Canp+ ').');
   }
 if ((Ap<200)||(Ap>1100))
   {
   alert ("El Largo es inferior a 200 cm, o superior a 1100cm");
   Ap=d=c=aex=l=alp=cand=cancp=canc=0;
   Cant=0;
   Cantv=0;
   Cantvex=0;
   }
if (Ap>1100)
   {
   alert ("Esta aplicacion no puede calcular pergolas mayores de 11 metros");
   Cant=0;
   Cantv=0;
   Cantvex=0;
   }
if (form.d.value=="")
   {
   alert ("Ha olvidado indicar el Ancho; el largo del cabio y la altura sobre fachada estan indeterminados");
   d=sec=0;
   H=alp;
   }
   if (form.A.value=="")
   {
   alert ("Ha olvidado indicar el Largo");
   d=c=aex=l=alp=cand=cancp=canc=sepc=sep=0;
   Cant=0;
   Cantv=0;
   Cantvex=0; 
   }  
form.Pil.value=("Use "+ Cant+ " pilares de "+ pp+" x "+pp+" y largo (P) "+P+" cm");
form.VigF.value=("Use "+ (Cantv)+ " vigas de "+ vp+" x "+anVF+" y largo (sep) "+sep+" cm");
form.Vex.value=("Use "+ Cantvex+" vigas de "+vp+" x "+anVF+" y largo (Aex) "+aex+" cm");
form.Rdiag.value=("Use "+cand+" de "+altd+" x "+anVF+" y largo (lado mayor) "+diag+" cm");
form.Cab.value=("Use "+canc+" de "+c+" x "+ac+" x "+l+", separ. (sec) "+sepc+" cm");  
} 
