/*********************************************************
*   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 = "Sopivaa j&auml;&auml;hdytint&auml; ei valitettavasti l&ouml;ytynyt!";
var my2ndErrorLine = "Ole hyv&auml; ja tutustu seuraaviin tuotteisiimme:" ;
var resHeader="<p><font size=\"1\"><span class=\"lblue\">Etsinn&auml;n tulos</span></font><br><img src=\"images/otsviiva.gif\" height=\"3\" width=\"400\" border=\"0\" vspace=\"5\"><br></p>";
var invalidData    = "ERR";


useCooler("15D",		25,	50,	false,	"t_vetoautoratkaisut.html#15d");
useCooler("45D",	55,	90,	false,	"t_vetoautoratkaisut.html#45DL");
useCooler("90DS",		97,	97,	false,	"t_vetoautoratkaisut.html#90ds");
useCooler("L300DS (PV)",	97,	97,	true,	"t_peravaunuratkaisut.html#300DS");
useCooler("400GS",		97,	97,	false,	"t_peravaunuratkaisut.html#400GS");
useCooler("CITY HYDR.",	30,	60,	false,	"t_suoravetolaitteet.html#Lumikko CH");




/* 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;
}