function IsNumeric(strInput)
{
	var i
	var c
	
	if (strInput == "")
	{
		return false;
	}
	
	for (i = 0; i < strInput.length; i++)
	{
		c = strInput.charAt(i);
		if (c < "0" || c > "9" )
		{
			if( c != "." )
			{
				return false;
			}
		}
	}
	return true;
} 

function SubmitForm()
{
	var err = '';
	
	if( document.myform.area_type.value == '0' )
	{
		err += '\n-Please select area type!';
	}
	
	
	if( document.myform.face_south[0].checked == false && document.myform.face_south[1].checked == false )
	{
		err += '\n-Please select windows facing!';
	}
	
	if( document.myform.unit_type.value == "0" )
	{
		err += '\n-Please select unit ( meters or feet )!';
	}

	if( document.myform.area_width.value == "" )
	{
		err += '\n-Please enter area width!';
	}
	else
	{
		if( !IsNumeric( document.myform.area_width.value ) )
		{
			err += "\n-Please enter a valid number in width field!";
		}
	}

	if( document.myform.area_length.value == "" )
	{
		err += '\n-Please enter area length!';
	}
	else
	{
		if( !IsNumeric( document.myform.area_length.value ) )
		{
			err += "\n-Please enter a valid number in length field!";
		}
	}

	if( document.myform.area_height.value == "" )
	{
		err += '\n-Please enter area height!';
	}
	else
	{
		if( !IsNumeric( document.myform.area_height.value ) )
		{
			err += "\n-Please enter a valid number in height field!";
		}
	}

	
	if( err != '' )
	{
		err = 'Errors: ' + err;
		alert( err );
		return false;
	}
	
	document.myform.action_type.value = "calculate";
	document.myform.submit();
}
function ChangeUnits()
{
	var new_val;
	
	if( document.myform.area_height.value != "" && IsNumeric( document.myform.area_height.value ) )
	{
		if( document.myform.unit_type.value == "1" ) //meters
		{
			new_val = parseFloat( document.myform.area_height.value ) * 0.3048;
			new_val = new_val.toFixed( 2 ); 
			document.myform.area_height.value = new_val;
		}
		if( document.myform.unit_type.value == "2" ) //feet
		{
			new_val = parseFloat( document.myform.area_height.value ) / 0.3048;
			
			new_val = new_val.toFixed( 2 );
			document.myform.area_height.value = new_val;
		}
	}

	if( document.myform.area_width.value != "" && IsNumeric( document.myform.area_width.value ) )
	{
		if( document.myform.unit_type.value == "1" ) //meters
		{
			new_val = parseFloat( document.myform.area_width.value ) * 0.3048;
			new_val = new_val.toFixed( 2 );  
			document.myform.area_width.value = new_val;
		}
		if( document.myform.unit_type.value == "2" ) //feet
		{
			new_val = parseFloat( document.myform.area_width.value ) / 0.3048;
			new_val = new_val.toFixed( 2 );  
			document.myform.area_width.value = new_val;
		}
	}
	if( document.myform.area_length.value != "" && IsNumeric( document.myform.area_length.value ) )
	{
		if( document.myform.unit_type.value == "1" ) //meters
		{
			new_val = parseFloat( document.myform.area_length.value ) * 0.3048;
			new_val = new_val.toFixed( 2 ); 
			document.myform.area_length.value = new_val;
		}
		if( document.myform.unit_type.value == "2" ) //feet
		{
			new_val = parseFloat( document.myform.area_length.value ) / 0.3048;
			new_val = new_val.toFixed( 2 );
			document.myform.area_length.value = new_val;
		}
	}
}

function Calculate()
{
	if(  IsNumeric( document.myform.area_width.value ) && IsNumeric( document.myform.area_height.value ) && IsNumeric( document.myform.area_length.value ) )
	{ 
		var the_result = '';
		var area_type = document.myform.area_type.value;
		var a_type = 0;
		var south_face_yes = document.myform.face_south[0].checked;
		var area_width = parseFloat( document.myform.area_width.value );
		var area_length = parseFloat( document.myform.area_length.value );
		var area_height = parseFloat( document.myform.area_height.value );
		var area_p = 0;

		if( document.myform.unit_type.value == '2' )
		{
			area_width = ( area_width * 0.3048 );
			area_length = (area_length * 0.3048);
			area_height = (area_height * 0.3048);
		}
		
		switch( area_type )
		{
			case '1': a_type = 120 / 2.4;
					  area_p = 120;
					break;
			case '2': a_type = 170 / 2.4;
					  area_p = 170;
					break;
			case '3': a_type = 300 / 2.4;
					  area_p = 300;
					break;
			case '4': a_type = 250 / 2.4;
					  area_p = 250;
					break;
			case '5': a_type = 350 / 2.4;
					  area_p = 350;
					break;
		}
		
		area_height = a_type * area_height;
		var power = area_width * area_length * area_height;
		var the_result_btu = 0;
		
		if( south_face_yes == true )
		{
			power = power + ( power * (20 / 100) );

		}
		power = power / 1000;
		var the_power = power;
		
		the_result = power.toFixed( 2 );
		the_result_btu = ((the_power * 13.648) / 0.004);
		
/*		the_result_btu = the_result_btu.toFixed( 2 );
		the_result_btu = FormatNumber( the_result_btu,2 );
		
		var the_result_string = the_result_btu.toString();
		var len = the_result_string.length;
		
		var subs = the_result_string.substring(  0, len-2 );
		
		subs = subs + "00";
*/

		the_result_btu = the_result_btu.toFixed( 2 );
		the_result_btu = (Math.ceil( the_result_btu/100 )) * 100;

		
		the_result_btu = the_result_btu.toFixed( 0 );
		the_result_btu = FormatNumber( the_result_btu,2 );
		subs = the_result_btu;
		
		
		document.getElementById("Layer1").innerHTML = 'Cooling Power needed : <font color=red><b>' + subs + ' BTU / h </b></font>( ' + the_result + ' kW )';
	}
	else
	{
		document.getElementById("Layer1").innerHTML = "&nbsp;";

	}
}

function GetDecimalDelimiter(nCountryCode)
{

       var sRet='';

       switch (nCountryCode)
       {

            case 3:   
                           
                           sRet = '#';
                           break;
            
            case 2:   
                           
                           sRet = ',';
                           break;
            default:
                           sRet = '.';
                           break;
 
        }

      return sRet;

}

function GetCommaDelimiter(nCountryCode)
{

       var sRet='';

       switch (nCountryCode)
       {
            
            case 3:   
                           
                           sRet = '*';
                           break;
            case 2:   
                           
                           sRet = ',';
                           break;
            default:
                           sRet = ',';
                           break;
 
        }

      return sRet;

}

function FormatClean(num)
{
     var sVal='';
     var nVal = num.length;
     var sChar='';
     
   try
   {
       for(i=0;i<nVal;i++)
      {
         sChar = num.charAt(i);
         nChar = sChar.charCodeAt(0);
         if ((nChar >=48) && (nChar <=57))  { sVal += num.charAt(i);   }
      }
   }
    catch (exception) { AlertError("Format Clean",e); }
    return sVal;
}
 

function FormatCurrency(num,nCountryCode)
{       
        var sVal='';
        var minus='';
        var Decimal='';
        Decimal = GetDecimalDelimiter(nCountryCode);
        if (num.lastIndexOf("-") == 0) { minus='-'; }
        if (num.lastIndexOf(Decimal) < 0) { num = num + '00'; }
        num = FormatClean(num);
        sVal = minus + FormatDollar(num,GetCommaDelimiter(nCountryCode)) + GetDecimalDelimiter(nCountryCode) + FormatCents(num); 
        return sVal;
}

function FormatNumber(num,nCountryCode)
{       
        var sVal='';
        var minus='';
        var CommaDelimiter='';

        try 
       {

           CommaDelimiter = GetCommaDelimiter(nCountryCode);

           if (num.lastIndexOf("-") == 0) { minus='-'; }

           num = FormatClean(num);

           num = parseInt(num);

           var samount = new String(num);
             
           for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
          {
             samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
           }

        }
         catch (exception) { AlertError("Format Number",e); }
        return minus + samount;
}

function FormatCents(amount)
{
     var cents = '';

      try
      {
           amount = parseInt(amount);
           var samount = new String(amount);

           if (samount.length == 0) { return '00'; }
           if (samount.length == 1) { return '0' + samount; }
           if (samount.length == 2) { return samount; }
         
           cents =  samount.substring(samount.length -2,samount.length);
          
      }
      catch (exception) { AlertError("Format Cents",e); }
      return cents;
}

function FormatDollar(amount,CommaDelimiter)
{
   try 
   {
  
        amount = parseInt(amount);

        var samount = new String(amount);

        if (samount.length < 3) { return 0; }  

        samount =  samount.substring(0,samount.length -2);
             
        for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
        {
           samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
         }

   }
    catch (exception) { AlertError("Format Comma",e); }
    return samount;
}

 function AlertError(MethodName,e)
 {
            if (e.description == null) { alert(MethodName + " Exception: " + e.message); }
            else {  alert(MethodName + " Exception: " + e.description); }
 }


