// for exchange rates, please change the following three values







var cdnusd =  0.933;



var cdneuro = 0.650;



var usdeuro = 0.698;











var usdcdn =  1/cdnusd;



var eurocdn = 1/cdneuro;



var eurousd = 1/usdeuro;







///////////////////////////////////////////////////



// currency functions



///////////////////////////////////////////////////







function cdn2usd()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * cdnusd); 



    return(x);



}







function cdn2euro()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * cdneuro ); 



    return(x);



}







function usd2euro()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * usdeuro); 



    return(x);



}







function usd2cdn()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * usdcdn); 



    return(x);



}







function euro2cdn()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * eurocdn); 



    return(x);



}







function euro2usd()



{ 



    var x = (document.calculator.currX.value); 



    x = (x * eurousd); 



    return(x);



}















// used to control precision



function fixNum(x)



{



  if (Number.prototype.toFixed) {



    x = x.toFixed(7);



    x = parseFloat(x);



  }



  else



  {



   var leftSide = Math.floor(x);



   var rightSide = x - leftSide;



   x = leftSide + Math.round(rightSide *10000000)/10000000;



  }







  return(x);



}











///////////////////////////////////////////////////



// area functions



///////////////////////////////////////////////////











function acr2sqm()



{ 



    var x = (document.calculator.areaX.value); 



    x = (x*4046873000); 



    x = (x/1000000); 		



    return(fixNum(x));



}







function acr2sqf()



{



    var x= (document.calculator.areaX.value); 



    x = (x*4046873000); x = (x/92903.04); 



    return (fixNum(x));



}







function acr2hec()



{



    var x= (document.calculator.areaX.value); 



    x= (x*4046873000); x= (x/10000000000);  



    return (fixNum(x));



}







function sqf2sqm()



{



    var x= (document.calculator.areaX.value); 



    x= (x*92903.04); x = (x/1000000); 



    return (fixNum(x));



}











function sqf2hec()



{



    var x= (document.calculator.areaX.value); 



    x= (x*92903.04); x= (x/10000000000); 



    return (fixNum(x));



}







function sqm2hec()



{



    var x= (document.calculator.areaX.value); 



    x= (x*1000000); x= (x/10000000000); 



    return (fixNum(x));



}







function sqm2acr()



{



    var x= (document.calculator.areaX.value); 



    x= (x*1000000); x= (x/4046873000); 



    return (fixNum(x));



}







function sqf2acr()



{



   var x= (document.calculator.areaX.value); 



   x= (x*92903.04); x= (x/4046873000); 



   return (fixNum(x));



}







function hec2acr()



{



   var x= (document.calculator.areaX.value); 



   x= (x*10000000000); x= (x/4046873000); 



   return (fixNum(x));



}







function sqm2sqf()



{



  var x= (document.calculator.areaX.value); 



  x= (x*1000000); x= (x/92903.04); 



  return (fixNum(x));



}







function hec2sqf()



{



  var x= (document.calculator.areaX.value); 



  x= (x*10000000000); x= (x/92903.04);



  return (fixNum(x));



}







function hec2sqm()



{



  var x= (document.calculator.areaX.value); 



  x= (x*10000000000); x= (x/1000000);



  return (fixNum(x));



}











///////////////////////////////////////////////////



// distance functions



///////////////////////////////////////////////////







function met2fee()



{



  var x= (document.calculator.distanceX.value); 



  x= (x * 1000); x= (x/304.8);



  return (fixNum(x));



}











function met2yar()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000); x= (x/914.4); 



  return (fixNum(x));



}







function met2kil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000); x= (x/1000000); 



  return (fixNum(x));



}







function met2mil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000); x= (x/1609344);



  return (fixNum(x));



}











function fee2yar()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*304.8); x= (x/914.4); 



  return (fixNum(x));



}







function fee2kil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*304.8); x= (x/1000000); 



  return (fixNum(x));



}







function fee2mil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*304.8); x= (x/1609344);



  return (fixNum(x));



}







function kil2yar()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000000); x= (x/914.4);



  return (fixNum(x));



}







function kil2mil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000000); x= (x/1609344);



  return (fixNum(x));



}







function mil2yar()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1609344); x= (x/914.4); 



  return (fixNum(x));



}







function fee2met()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*304.8); x= (x/1000);



  return (fixNum(x));



}







function yar2met()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*914.4); x= (x/1000); 



  return (fixNum(x));



}







function kil2met()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000000); x= (x/1000);



  return (fixNum(x));



}







function mil2met()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1609344); x= (x/1000);



  return (fixNum(x));



}







function yar2fee()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*914.4); x= (x/304.8);



  return (fixNum(x));



}







function kil2fee()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1000000); x= (x/304.8);



  return (fixNum(x));



}







function mil2fee()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1609344); x= (x/304.8);



  return (fixNum(x));



}







function yar2kil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*914.4); x= (x/1000000);



  return (fixNum(x));



}







function mil2kil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*1609344); x= (x/1000000);



  return (fixNum(x));



}







function yar2mil()



{



  var x= (document.calculator.distanceX.value); 



  x= (x*914.4); x= (x/1609344);



  return (fixNum(x));



}







// MAIN functions to calculate currency, area, and distance







function doCurrency()



{



    // concatenate the selected values



    var  left = (document.calculator.currLeft.value);



    var  right = (document.calculator.currRight.value);







    if ( (left == right) && (left != "") )   // no conversion necessary



    {



         document.calculator.currY.value = document.calculator.currX.value ;  



         return;



    }



                                                    



    var patt =  left + right ;







    if (patt == "CDNUSD")



      document.calculator.currY.value= fixNum(cdn2usd());



    else if (patt == "CDNEURO")



      document.calculator.currY.value= fixNum(cdn2euro());



    else if (patt == "USDEURO")



      document.calculator.currY.value= fixNum(usd2euro()); 



    else if (patt == "USDCDN")



      document.calculator.currY.value= fixNum(usd2cdn());



    else if (patt == "EUROCDN")



      document.calculator.currY.value= fixNum(euro2cdn());



    else if (patt == "EUROUSD")



      document.calculator.currY.value= fixNum(euro2usd());



    else



        // one of the values was not selected



      document.calculator.currY.value=  "";



}











function doArea()



{



    // concatenate the selected values



    var  left = (document.calculator.areaLeft.value);



    var  right = (document.calculator.areaRight.value);







    if ( (left == right) && (left != "") )   // no conversion necessary



    {



         document.calculator.areaY.value = 



         document.calculator.areaX.value  ; 



         return;



    }



                                                    



    var patt =  left + right ;







    if (patt == "acrsqm")



      document.calculator.areaY.value= acr2sqm();



    else if (patt == "acrsqf")



      document.calculator.areaY.value= acr2sqf();



    else if (patt == "acrhec")



      document.calculator.areaY.value= acr2hec(); 



    else if (patt == "sqfsqm")



      document.calculator.areaY.value= sqf2sqm();



    else if (patt == "sqfhec")



      document.calculator.areaY.value= sqf2hec();



    else if (patt == "sqmhec")



      document.calculator.areaY.value= sqm2hec(); 



    else if (patt == "sqmacr")



      document.calculator.areaY.value=  sqm2acr();



    else if (patt == "sqfacr")



      document.calculator.areaY.value=  sqf2acr();



    else if (patt == "hecacr")



      document.calculator.areaY.value=  hec2acr(); 



    else if (patt == "sqmsqf")



      document.calculator.areaY.value=  sqm2sqf();



    else if (patt == "hecsqf")



      document.calculator.areaY.value=  hec2sqf();    



    else if (patt == "hecsqm")



      document.calculator.areaY.value=  hec2sqm(); 



    else



        // one of the values was not selected



      document.calculator.areaY.value=  "";



}







function doDistance()



{







    // concatenate the selected values



    var  left = (document.calculator.distanceLeft.value);



    var  right = (document.calculator.distanceRight.value);







    if ( (left == right) && (left != "") )   // no conversion necessary



    {



      document.calculator.distanceY.value = document.calculator.distanceX.value; 



      return;



    }



                                                    



    var patt =  left + right ;







    if (patt == "metfee")



      document.calculator.distanceY.value= met2fee();



    else if (patt == "metyar")



      document.calculator.distanceY.value= met2yar();



    else if (patt == "metkil")



      document.calculator.distanceY.value= met2kil(); 



    else if (patt == "metmil")



      document.calculator.distanceY.value= met2mil();



    else if (patt == "feeyar")



      document.calculator.distanceY.value= fee2yar();



    else if (patt == "feekil")



      document.calculator.distanceY.value= fee2kil(); 



    else if (patt == "feemil")



      document.calculator.distanceY.value=  fee2mil();



    else if (patt == "kilyar")



      document.calculator.distanceY.value=  kil2yar();



    else if (patt == "kilmil")



      document.calculator.distanceY.value=  kil2mil(); 



    else if (patt == "milyar")



      document.calculator.distanceY.value=  mil2yar();



    else if (patt == "feemet")



      document.calculator.distanceY.value= fee2met();



    else if (patt == "yarmet")



      document.calculator.distanceY.value= yar2met();



    else if (patt == "kilmet")



      document.calculator.distanceY.value= kil2met(); 



    else if (patt == "milmet")



      document.calculator.distanceY.value= mil2met();



    else if (patt == "yarfee")



      document.calculator.distanceY.value= yar2fee();



    else if (patt == "kilfee")



      document.calculator.distanceY.value= kil2fee(); 



    else if (patt == "mil2fee")



      document.calculator.distanceY.value=  mil2fee();



    else if (patt == "yarkil")



      document.calculator.distanceY.value=  yar2kil();



    else if (patt == "milkil")



      document.calculator.distanceY.value=  mil2kil(); 



    else if (patt == "yarmil")



      document.calculator.distanceY.value=  yar2mil();



    else



        // one of the values was not selected



      document.calculator.distanceY.value=  "";



}











function doCalc()



{



  doCurrency();



  doArea();



  doDistance();



  return false;



}







