/**********************************************************   Module Name         coolcalc.js                      **   Content             Finding the right cooler         **   Author              Mathias GrŠdler                  **   Last edited by      Mathias GrŠdler (27.01.2004)     **   Build               30.06.2003                       **   Version             1.1                              **********************************************************//**********************************************************  useCooler( Cooler Name,                               **             FRC max size,                              **             FNA max size,                              **             isCar a Cooler?,                           **             Link to page);                             **********************************************************/var myData = new Array(); var noCoolersFound = "l&aumlmpligt kylaggregat kunde tyv&aumlrr inte hittas";var my2ndErrorLine = "bekanta dig med fšljande av v&ara produkter:" ;var resHeader="<p><font size=\"1\"><span class=\"lblue\">s&oumlkresultat</span></font><br><img src=\"images/otsviiva.gif\" height=\"3\" width=\"400\" border=\"0\" vspace=\"5\"><br></p>";var invalidData    = "ERR";useCooler("L15D",		25,	50,	false,	"/swe/produkter/bilkylaggregat/15d_plus.html");useCooler("L45D Plus",	55,	90,	false,	"/swe/produkter/bilkylaggregat/45d_plus.html");useCooler("L80D",		97,	97,	false,	"/swe/produkter/bilkylaggregat/80d.html");useCooler("L300DS (PV)",	97,	97,	true,	"/swe/produkter/bilkylaggregat/300ds.html");useCooler("CITY HYDR.",	30,	60,	false,	"");/* Don't change anything below *//********************************************************** check if enties are valid and calculate the cube size  **********************************************************/function myCooler(name,frc,fna,isCar,link){	this.name	=	name;	this.frc	=	frc;	this.fna	=	fna;	this.isCar	=	isCar;	this.link	=	link;}function useCooler(name,frc,fna,isCar,link){	var index = myData.length;     myData[index] = new myCooler(name,frc,fna,isCar,link); }function startCoolCalc(){	var cLength, cWidth, cHeight, isCar;	var isData, coolTyp, cubeSize;		isData=true;	cLength=checkKomma(document.forms['coolCalcFrm'].cLength.value);	cWidth=checkKomma(document.forms['coolCalcFrm'].cWidth.value);	cHeight=checkKomma(document.forms['coolCalcFrm'].cHeight.value);		if (document.forms['coolCalcFrm'].isCar[0].checked){isCar=true;		   									      }else{isCar=false;}	if (document.forms['coolCalcFrm'].coolTyp[0].checked){coolTyp='FNA';													}else{coolTyp='FRC';}		if (!checkNumber(cLength,"cLength")){isData=false;}	if (!checkNumber(cWidth,"cWidth")){isData=false;}	if (!checkNumber(cHeight,"cHeight")){isData=false;}	if (!isData){return false;}	cubeSize=cLength*cWidth*cHeight;		findSuitableCooler(cubeSize,coolTyp,isCar)	return false;}/********************************************************** find a suitable cooler                                 **********************************************************/function findSuitableCooler(cubeSize,coolTyp,isCar){	var i=0;	var res="";	if (isCar){ //check if car cooler		for (i=0;i<=myData.length-1;i++){			if (cubeSize<=myData[i].frc && myData[i].isCar){				res+=makeEntry(myData[i].name, myData[i].link);			}		}	}else{		if (coolTyp=="FRC"){ //check type FRC			for (i=0;i<=myData.length-1;i++){				if (cubeSize<=myData[i].frc && !myData[i].isCar){					res+=makeEntry(myData[i].name,myData[i].link);				}			}		}else{ // check type FNA			for (i=0;i<=myData.length-1;i++){				if (cubeSize<=myData[i].fna && !myData[i].isCar){					res+=makeEntry(myData[i].name, myData[i].link);				}			}		}	}		// if no result found	if (res.length==0){ 		res="<font size=\"1\"><b>"+noCoolersFound+"</b><br>\n";		res+=my2ndErrorLine+"</font><br><br>\n";		for (i=0;i<=myData.length-1;i++){			res+=makeEntry(myData[i].name, myData[i].link);		}	}		showSearchResult(res);}/********************************************************** Output on the layer cResult                            **********************************************************/function showSearchResult(showText){	var obj = null;		showText=resHeader+showText;		if(typeof document.layers != 'undefined') obj = document.layers['cResult'];	else if(typeof document.all != 'undefined') obj = document.all['cResult'];	else if (document.getElementById) obj = document.getElementById('cResult');	if(obj){		if(typeof document.layers != 'undefined'){			 with(obj.document){				 open();				 write(showText);				 close();			 }		}		else{			 obj.innerHTML=showText;		}	}}/********************************************************** Returns a proper html statement                        **********************************************************/function makeEntry(name,link){	var res="";	if (link!=""){		res="<a href=\""+link+"\">"+name+"</a><br>\n";	}else{		res=name+"<br>\n";	}	return res;}/********************************************************** Check if entries are numeric                           **********************************************************/function checkNumber(numbers,field){   	allowed = "0123456789.";	for (i =0; i <= numbers.length-1; i++) {		if (allowed.indexOf(numbers.charAt(i)) == -1) {			document.forms['coolCalcFrm'].elements[field].value=invalidData;			document.forms['coolCalcFrm'].elements[field].focus;			return false;		} 	} 	return true}/********************************************************** Replace , with .                                       **********************************************************/function checkKomma(numbers){	if (numbers.indexOf(",")>0){		numbers_array=numbers.split(",");		numbers= numbers_array[0]+"."+numbers_array[1];	}	return numbers;}
