// JavaScript Document
//ARREGLO
//CONSTANTES
var PANEL_LARGO = 2.44;				//PANEL LARGO
var PANEL_ANCHO = 1.22;				//PANEL ANCHO
var CANAL_LARGO = 3.96;				//CANAL LARGO
var POSTE_TIPOA = 2.44;				//POSTE TIPO A
var POSTE_TIPOB = 3.05;             //POSTE TIPO B
var MD_ESPACIO_POSTES = 0.61;       //MURO DIVISORIO ESPACIO ENTRE POSTES
var MD_TOR_POSTE = 3;               //MURO DIVISORIO TORNILLOS PARA POSTE
var MD_TOR_PANEL = 29;              //MURO DIVISORIO TORNILLOS PARA PANEL
var ML_TOR_PANEL = 35;              //MURO DIVISORIO TORNILLOS PARA PANEL
var R_CANALAMARRE = 0.33;           //MURO DIVISORIO CANAL DE AMARRE
var R_POSTEMETALICO = 0.7;          //MURO DIVISIOIO POSTE METALICO
var ROLLO_CINTAJ = 75;              //ROLLO CINTA JUNTA
var CAJA_COMPUESTO = 21.8;          //CAJA COMPUESTO 
var MF_PB_ESPACIO = 0.406;          //MURO FACHADA PERMABASE ESPACIO ENTRE POSTES
var MF_PB_TOR_POSTE = 6;            //MURO FACHADA PERMABASE TORNILLOS POSTE
var MF_PB_TOR_PANEL = 35;           //MURO FACHADA PERMABASE TORNILLOS PANEL forro
var MF_PB_TOR_PANELPB = 50;         //MURO FACHADA PERMABASE TORNILLOS PANEL Permabase
var ROLLO_CINTA_FV = 25;            //ROLLO CINTA FIBRA VIDRIO
var MALLA_FV_ALTURA = 1;            //MALLA FIBRA VIDRIO ALTURA
var MALLA_FV_LARGO = 42;            //MALLA FIBRA VIDRIO LARGO
var R_MALLA_FV = .025;				//RENDIMIENTO DE LA MALLA DE FIBRA DE VIDRO
var R_CINTA_FV = 0.05;               //RENDIMIENTO CINTA DE FIBRA DE VIDRO
var BULTO = 8;                      //BULTO
var MF_DG_ESPACIO = 0.61;           //MURO FACHADA DEN GLASS ESPACIO 
var MF_DG_TOR_POSTE = 3;            //MURO FACHADA DEN GLASS TORNILLOS POSTE
var MF_DG_TOR_FORRO = 35;           //MURO FACHADA DEN GLASS TORNILLOS FORRO
var R_TOT_PANELES = 2.97;           //RENDIMIENTO TOTAL PANELES
var R_CANALETA = 0.22;              //RENDIMIENTO CANALETA
var R_CANAL_LISTON = 0.44;          //RENDIMIENTO CANAL LISTON
var R_ANGULO_PERIMETRAL = 3.05;     //RENDIMIENTO ANGULO PERIMETRAL
var R_TOR_FORRO= 29;                //RENDIMIENTO TORNILLOS FORRO
var R_TAQUETES = 0.61;              //RENDIMIENTO TAQUETES
var R_FIJADOR_PERMONTADO = 0.75;    //RENDIMIENTO FIJADO PERMONTADO
var R_CINTA_PAPEL = 0.017;            //RENDIMIENTO CINTA PAPEL//CAMBIO 3.6
var R_T_CINTA_PAPEL = 75;           //RENDIMIENTO TOTAL CINTA PAPEL
var R_T_COMPUESTO = 0.05;           //RENDIMIENTO COMPUESO SUPERLIGERO
var R_RECUBRIMIENTO = 0.15;           //RENDIMIENTO RECUBIRMIENTO BASE
var R_REBORDEJ = 0.07;           //RENDIMIENTO REBORDE J
var R_COMPUESTO = 0.05;					//RENDIMIENTO COMPUESTO BASE
var R_ALAMBRE_G12 = 0.03;           //RENDIMIENTO ALAMBRE GALVANIZADO 12 CAMBIO .15
var R_ALAMBRE_G8 = 0.02;            //RENDIMIENTO ALAMBRE GALVANIZADO 8 .13
var R_TOT_PR61L = 0.61;             //RENDIMIENTO TOTAL PANEL REGISTRABLE 61 LARGO
var R_TOT_PR61A = 0.61;             //RENDIMIENTO TOTAL PANEL REGISTRABLE 61 ANCHO
var R_T_PRINCIPAL = 0.20;           //RENDIMIENTO TOTAL PRINCIPAL
var R_T_SECU22 = 1.35;              //RENDIMIENTO TOTAL SECUNDARIO 22
var R_T_SECU61 = 1.35;              //RENDIMIENTO TOTAL SECUNDARIO 61
var R_ANG_PPR61 = 3.66;             //RENDIMIENTO ANGULO PANEL REGISTRABLE 61
var R_TOR_APPR61 = 0.61;            //RENDIMIENTO TORNILLO APANEL REGISTRABLE 61 
var R_ANGULO_HILTI = 1;             //RENDIMIENTO ANGULO HILTI
var R_AG12_PR61 = 0.03;            //RENDIMIENTO ANGULO 12 PANEL REGISTRABLE 61
var R_PR122L = 0.61;                //RENDIMIENTO PANEL REGISTRABLE 122 LARGO
var R_PR122A = 1.22;                //RENDIMIENTO PANEL REGISTRABLE 122 ANCHO
var R_TPRINCIPAL122 = 0.22;         //RENDIMIENTO TOTAL PRINCIPAL 122
var R_TSECU122 = 1.35;              //RENDIMIENTO TOTAL SECUNDARIA 122
var APPR122= 3.66;                  //APANEL REGISTRABLE 122
var TOR_ANAPPR122 = 0.61;           //TORNILLOS ANAGULO PERIMETRAL PANEL REGISTRABLE 122
var ANG_HILTI_PR122 = 1;            //ANGULO HILTI PANEL REGISTRABLE 122
var ALAMBRE_GRPR122 = 0.03;        //ALAMBRE GALVANIZADO PANEL REGISTRABLE 122
var ESQUINEROS_PUERTA = 5;          //ESQUINEROS POR PUERTA
var ESQUINEROS_ESQUINAS = 2;         //ESQUINEROS POR ESQUINA
var ESQUINEROS_VENTANA = 5;         //ESQUINEROS POR VENTANA

//FORMULAS
/*
*@descripcion validDiv 
*@param num 
*@result  
*/
function validDiv(num){
	result = 1;
	if (!isNaN(num)){
	   if (num==0){
		  result = 1;
	   }else {
		  result = num;
		}
	}

	return result;
}

/*
*@descripcion getArea obtiene el area 
*@param long longuitud
*@param altura ancho
*@result area area 
*/
function getArea(long,altura){
	var area = 0;
	if (!isNaN(long)&&!isNaN(altura)){
		area = long * altura;
	}
	
	return area;
}

///MURO DIVISORIO
/*
*@descripcion getPosteUsar obtiene poste a usar 
*@param altura ancho
*@result  
*/
function getEsquineros(puertas,ventanas,esquinas){
  var result = 0;
  if (!isNaN(puertas)&&!isNaN(ventanas)&&!isNaN(esquinas)){	  
		  result= (puertas * ESQUINEROS_PUERTA) + ( ventanas * ESQUINEROS_VENTANA) + (esquinas * ESQUINEROS_ESQUINAS);
  }
  
  return result;
}

/*
*@descripcion getPosteUsar obtiene poste a usar 
*@param altura ancho
*@result  
*/
function getPosteUsar(altura){
  var result = 0;
  if (!isNaN(altura)){
	  if (altura<=POSTE_TIPOA){
		  result=POSTE_TIPOA;
	  }else{
		  result=POSTE_TIPOB;
	   }
  }
  
  return result;
}

/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPostesMD(long,pue,ven,esq,altura,areaTotal){
    var result = 0;
	
	
	if ((!isNaN(long))&&(!isNaN(altura))){
	  if (altura > 3.05){
		  	result = (areaTotal*R_POSTEMETALICO);
      }else{
	  	  result = (long/validDiv(MD_ESPACIO_POSTES))+1;
	   }
	}
	if (!isNaN(pue)){
		result+= pue *2;
	}
	if (!isNaN(ven)){
		result+= ven *2;
	}
	if (!isNaN(esq)){
		result+= esq *2;
	}

	
	return result;
    
}

/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanalesMD(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		  result = (areaTotal*validDiv(R_CANALAMARRE));
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPanelesMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesMD(areaTotal,areaPanel){
    var result = 0;
	 
	if (!isNaN(areaTotal)&&!isNaN(areaPanel)){
         result = (areaTotal / validDiv(areaPanel))*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPosteMD(numPostes){
    var result = 0;
	 
	if (!isNaN(numPostes)){
         result = (numPostes * MD_TOR_POSTE)*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPanelMD(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
         result = (numPaneles * MD_TOR_PANEL);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroTaquetesMD(long){
    var result = 0;
	 
	if (!isNaN(long)){
         result = (long / validDiv(MD_ESPACIO_POSTES))*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRolloCintaJMD(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
		 cintaCPanel = PANEL_LARGO + PANEL_ANCHO;
		 tcinta = cintaCPanel * numPaneles;		 
         result = (tcinta / validDiv(ROLLO_CINTAJ));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCompuestoMD(numPaneles,areaPanel){
    var result = 0;
	 
	if (!isNaN(numPaneles)&&!isNaN(areaPanel)){
		 tcompuesto = numPaneles * areaPanel;		 
         result = (tcompuesto / validDiv(CAJA_COMPUESTO));
	}
	
	return result;
    
}

///MURO FACHADA PERMABASE
/*
*@descripcion getNumeroPostesMF obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPostesMF(long,pue,ven,esq){
    var result = 0;
	 
	if (!isNaN(long)){		 
         result = (long / validDiv(MF_PB_ESPACIO)) +1;
	}
	if (!isNaN(pue)){
		result+= pue *2;
	}
	if (!isNaN(ven)){
		result+= ven *2;
	}
	if (!isNaN(esq)){
		result+= esq *2;
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanalesMF(long){
    var result = 0;
	 
	if (!isNaN(long)){
		if (long <= CANAL_LARGO){
			result = 3;
		} else {
	         result = (long/validDiv(CANAL_LARGO))*3;
		}
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPanelesMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesMF(long){
    var result = 0;
	 
	if (!isNaN(long)){
         result = (long / validDiv(MF_PB_ESPACIO))+1;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPosteMF(numPostes){
    var result = 0;
	 
	if (!isNaN(numPostes)){
         result = (numPostes * MF_PB_TOR_POSTE);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPanelMFP(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
         result = MF_PB_TOR_PANEL * numPaneles;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPanelMFPermabase(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
         result = MF_PB_TOR_PANELPB * numPaneles;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRolloCintaFVMFP(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
		 cintaCPanel = (PANEL_LARGO + PANEL_ANCHO) * numPaneles;		  
         result = (cintaCPanel / ROLLO_CINTA_FV);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getMallaFVMFP(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (areaTotal / validDiv(areaMalla));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getBulto(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		
         result = (areaTotal / validDiv(BULTO));
	}
	
	return result;
    
}

//MURO FACHADA DENSS GLASS
/*
*@descripcion getNumeroPostesMF obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPostesMFDG(long,pue,ven,esq){
    var result = 0;
	 
	if (!isNaN(long)){		 
         result = (long / validDiv(MF_DG_ESPACIO)) +1;
	}
	if (!isNaN(pue)){
		result+= pue *2;
	}
	if (!isNaN(ven)){
		result+= ven *2;
	}
	if (!isNaN(esq)){
		result+= esq *2;
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanalesMFDG(long){
    var result = 0;
	 
	if (!isNaN(long)){
		if (long <= CANAL_LARGO){
			result = 3;
		} else {
	         result = (long/validDiv(CANAL_LARGO))*3;
		}
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPanelesMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesMFDG(areaTotal,areaPanel){
    var result = 0;
	 
	if (!isNaN(areaTotal)&&!isNaN(areaPanel)){
         result = (areaTotal / validDiv(areaPanel));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPosteMFDG(numPostes){
    var result = 0;
	 
	if (!isNaN(numPostes)){
         result = (numPostes * MF_DG_TOR_POSTE)*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroTaquetesMFDG(long){
    var result = 0;
	 
	if (!isNaN(long)){
         result = (long / validDiv(MF_DG_ESPACIO) ) * 2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloForroMFDG(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
         result = (numPaneles*2) * MF_DG_TOR_FORRO;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRolloCintaFVMFDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 //cintaCPanel = (PANEL_LARGO + PANEL_ANCHO) * numPaneles;		  
         result = (areaTotal * R_CINTA_PAPEL);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getMallaFVMFDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 result = areaTotal * R_MALLA_FV;		        
	}
	
	return result;
    
}


/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCintaFVMFDGPB45(vNumPaneles){
    var result = 0;
	 
	if (!isNaN(vNumPaneles)){
		 //areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (vNumPaneles * 0.1);
		 //result = total / validDiv(ROLLO_CINTA_FV);
	}
	
	return result;
    
}



/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCintaFVMFDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 //areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (areaTotal * R_CINTA_FV);
		 //result = total / validDiv(ROLLO_CINTA_FV);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCompuestoDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 //areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (areaTotal * R_COMPUESTO);		 
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRebordeDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 //areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (areaTotal * R_REBORDEJ);		 
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRecubrimientoDG(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		 //areaMalla = MALLA_FV_ALTURA * MALLA_FV_LARGO;		  
         result = (areaTotal * R_RECUBRIMIENTO);		 
	}
	
	return result;
    
}



///MURO LAMBRIN
/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPostesML(long,pue,ven,esq,altura,areaTotal){
    var result = 0;
	
	if ((!isNaN(long))&&(!isNaN(altura))){
	  if (altura > 3.05){
		  	result = (areaTotal*R_POSTEMETALICO);
      }else{
	  	  result = (long/validDiv(MD_ESPACIO_POSTES))+1;
	   }
	}	
	if (!isNaN(pue)){
		result+= pue *2;
	}
	if (!isNaN(ven)){
		result+= ven *2;
	}
	if (!isNaN(esq)){
		result+= esq *2;
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPostes obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanalesML(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){
		  result = (areaTotal*validDiv(R_CANALAMARRE));
	}
	
	return result;
    
}

/*
*@descripcion getNumeroPanelesMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesML(areaTotal,areaPanel){
    var result = 0;
	 
	if (!isNaN(areaTotal)&&!isNaN(areaPanel)){
         result = (areaTotal / validDiv(areaPanel));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPosteML(numPostes){
    var result = 0;
	 
	if (!isNaN(numPostes)){
         result = (numPostes * MD_TOR_POSTE)*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloPanelML(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
         result = (numPaneles * ML_TOR_PANEL);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroTaquetesML(long){
    var result = 0;
	 
	if (!isNaN(long)){
         result = (long / validDiv(MD_ESPACIO_POSTES))*2;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getRolloCintaJML(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){
		 cintaCPanel = PANEL_LARGO + PANEL_ANCHO;
		 tcinta = cintaCPanel * numPaneles;		 
         result = (tcinta / validDiv(ROLLO_CINTAJ));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCompuestoML(numPaneles,areaPanel){
    var result = 0;
	 
	if (!isNaN(numPaneles)&&!isNaN(areaPanel)){
		 tcompuesto = numPaneles * areaPanel;		 
         result = (tcompuesto / validDiv(CAJA_COMPUESTO));
	}
	
	return result;
    
}

//PLAFON CORRIDO
/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result = (areaTotal / validDiv(R_TOT_PANELES));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanaletaPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result = (areaTotal * R_CANALETA);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroCanalListonPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result = (areaTotal * R_CANAL_LISTON);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAnguloPerimetralPC(long,altura){
    var result = 0;
	 
	if (!isNaN(long)&&!isNaN(altura)){		 
         result = ((long * 2)+(altura * 2))/validDiv(R_ANGULO_PERIMETRAL);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornillosForroPC(numPaneles){
    var result = 0;
	 
	if (!isNaN(numPaneles)){		 
         result = numPaneles * R_TOR_FORRO;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTaquetesPC(long,altura){
    var result = 0;
	 
	if (!isNaN(long)&&!isNaN(altura)){		 
         result = ((long * 2)+(altura * 2))/validDiv(R_TAQUETES);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getFijadoPremotadoPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         //result = areaTotal*R_FIJADOR_PERMONTADO;
		 result = areaTotal;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCintaPapelPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         //result = ((numPaneles * R_CINTA_PAPEL) / validDiv(R_T_CINTA_PAPEL));
		 result = areaTotal * R_CINTA_PAPEL;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getCompuestoPC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
        // result = ((numPaneles * 2) / validDiv(R_T_COMPUESTO));
		result = areaTotal * R_T_COMPUESTO;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAlambreG12PC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  areaTotal * R_ALAMBRE_G12;
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAlambreG18PC(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  areaTotal * R_ALAMBRE_G8;
	}
	
	return result;
    
}

///PLAFON  REGISTRABLE 61
/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getEspacioTotalPR61(long,altura){
    var result = 0;
	 
	if (!isNaN(long)&&!isNaN(altura)){		 
         result =  (long*2)+(altura*2);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesPR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal / validDiv(R_TOT_PR61L * R_TOT_PR61A));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTPrincipalPR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_T_PRINCIPAL);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTSecu122PR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_T_SECU22);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTSecu61PR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_T_SECU61);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAnguloPerimetralPR61(espacio){
    var result = 0;
	 
	if (!isNaN(espacio)){		 
         result =  (espacio / validDiv(R_ANG_PPR61));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloAngPerimetralPR61(espacio){
    var result = 0;
	 
	if (!isNaN(espacio)){		 
         result =  (espacio / validDiv(R_TOR_APPR61));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAnguloHiltiPR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_ANGULO_HILTI);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAlambreG12PR61(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_AG12_PR61);
	}
	
	return result;
    
}

//PLAFON REGISTRADO 61 X 122
/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getEspacioTotalPR122(long,altura){
    var result = 0;
	 
	if (!isNaN(long)&&!isNaN(altura)){		 
         result =  (long*2)+(altura*2);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getNumeroPanelesPR122(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal / validDiv(R_PR122L * R_PR122A));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTPrincipalPR122(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_TPRINCIPAL122);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTSecuPR122(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * R_TSECU122);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAnguloPerimetralPR122(espacio){
    var result = 0;
	 
	if (!isNaN(espacio)){		 
         result =  (espacio / validDiv(APPR122));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getTornilloAngPerimetralPR122(espacio){
    var result = 0;
	 
	if (!isNaN(espacio)){		 
         result =  (espacio / validDiv(TOR_ANAPPR122));
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAnguloHiltiPR122(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * ANG_HILTI_PR122);
	}
	
	return result;
    
}

/*
*@descripcion getTornilloPosteMD obtiene el numero de postes  
*@param long longuitud
*@result  
*/
function getAlambreG12PR122(areaTotal){
    var result = 0;
	 
	if (!isNaN(areaTotal)){		 
         result =  (areaTotal * ALAMBRE_GRPR122);
	}
	
	return result;
    
}
