	function fnReplaceSubstring(inputString, fromString, toString){
		var tempString = inputString;
		for(var i=0;i<inputString.length;i++) {tempString = tempString.replace(fromString,toString);}
		return tempString;
	}
	
	function fnValidateNumber(strInput){
		for (i=0; i<strInput.length; i++){
			if (!isFinite(strInput.substring(i, i+1)) && strInput.substring(i, i+1)!='.'){
				strInput = strInput.substring(0, i) + strInput.substring(i+1);
			}
		}
		var intDecimalPoint = strInput.indexOf('.');
		if (intDecimalPoint>0){
			if (strInput.substring(intDecimalPoint+1).length > 2){
				strInput = strInput.substring(0, intDecimalPoint) + '.' + strInput.substr(intDecimalPoint+1, 2);
			}else{
				strInput = strInput.substring(0, intDecimalPoint) + '.' + strInput.substring(intDecimalPoint+1);
			}
		}
		return strInput;
	}
	
	function format_number(p,d) 
	{
		var r;
		if(p<0){p=-p;r=format_number2(p,d);r="-"+r;}
		else   {r=format_number2(p,d);}
		return r;
	}
	
	function format_number2(pnumber,decimals) 
	{
	  var strNumber = new String(pnumber);
	  var arrParts = strNumber.split('.');
	  var intWholePart = parseInt(arrParts[0],10);
	  var strResult = '';
	  if (isNaN(intWholePart))
		intWholePart = '0';
	  if(arrParts.length > 1)
	  {
		var decDecimalPart = new String(arrParts[1]);
		var i = 0;
		var intZeroCount = 0;
		 while ( i < String(arrParts[1]).length )
		 {
		   if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
		   {
			 intZeroCount += 1;
			 i += 1;
		   }
		   else
			 break;
		}
		decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
		Math.round(decDecimalPart); 
		decDecimalPart = parseInt(decDecimalPart)/10; 
		decDecimalPart = Math.round(decDecimalPart); 
	
		//If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
		//then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 
	
		if(decDecimalPart==Math.pow(10, parseInt(decimals)))
		{ 
		  intWholePart+=1; 
		  decDecimalPart="0"; 
		} 
		var stringOfZeros = new String('');
		i=0;
		if( decDecimalPart > 0 )
		{
		  while( i < intZeroCount)
		  {
			stringOfZeros += '0';
			i += 1;
		  }
		}
		decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
		var dot = decDecimalPart.indexOf('.');
		if(dot == -1)
		{
		  decDecimalPart += '.'; 
		  dot = decDecimalPart.indexOf('.'); 
		} 
		var l=parseInt(dot)+parseInt(decimals); 
		while(decDecimalPart.length <= l) 
		{
		  decDecimalPart += '0'; 
		}
		strResult = decDecimalPart;
	  }
	  else
	  {
		var dot; 
		var decDecimalPart = new String(intWholePart); 
	
		decDecimalPart += '.'; 
		dot = decDecimalPart.indexOf('.'); 
		var l=parseInt(dot)+parseInt(decimals); 
		while(decDecimalPart.length <= l) 
		{
		  decDecimalPart += '0'; 
		}
		strResult = decDecimalPart;
	  }
	  return strResult;
	}
	
	function format_number3(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
	/**********************************************************************
		IN:
			NUM - the number to format
			decimalNum - the number of decimal places to format the number to
			bolLeadingZero - true / false - display a leading zero for
											numbers between -1 and 1
			bolParens - true / false - use parenthesis around negative numbers
			bolCommas - put commas as number separators.
	 
		RETVAL:
			The formatted number!
	 **********************************************************************/
	{ 
			if (isNaN(parseInt(num))) return "NaN";
	
		var tmpNum = num;
		var iSign = num < 0 ? -1 : 1;		// Get sign of number
		
		// Adjust number so only the specified number of numbers after
		// the decimal point are shown.
		tmpNum *= Math.pow(10,decimalNum);
		tmpNum = Math.round(Math.abs(tmpNum))
		tmpNum /= Math.pow(10,decimalNum);
		tmpNum *= iSign;					// Readjust for sign
		
		
		// Create a string object to do our formatting on
		var tmpNumStr = new String(tmpNum);
	
		// See if we need to strip out the leading zero or not.
		if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
			if (num > 0)
				tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
			else
				tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
			
		// See if we need to put in the commas
		if (bolCommas && (num >= 1000 || num <= -1000)) {
			var iStart = tmpNumStr.indexOf(".");
			if (iStart < 0)
				iStart = tmpNumStr.length;
	
			iStart -= 3;
			while (iStart >= 1) {
				tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
				iStart -= 3;
			}		
		}
	
		// See if we need to use parenthesis
		if (bolParens && num < 0)
			tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";
	
		// doesn't format to 2 decimal places :(  Fix...
		
		var intDecimalPoint = tmpNumStr.indexOf('.');
		//alert (intDecimalPoint);
		if (intDecimalPoint>0){
			var tmpNumStr2 = tmpNumStr.substring(intDecimalPoint+1);			
		}else{
			var tmpNumStr2 = ''
		}
		
		if (tmpNumStr2.length < decimalNum){
			for (i=0;i<decimalNum;i++){
				tmpNumStr2 = tmpNumStr2 + '0';
			}
		}
		
		if (intDecimalPoint>0){
			tmpNumStr = tmpNumStr.substring(0, intDecimalPoint) + '.' + tmpNumStr2
		}else{
			tmpNumStr = tmpNumStr + '.' + tmpNumStr2
		}
		
		return tmpNumStr;		// Return our formatted string!
	}
	
	function fnAgreeConditions() 
	{
		var sConditions = document.getElementById("cbConditions");
		var sNext = document.getElementById("btnNext");
		
		if (sConditions.checked)
			sNext.disabled = false;
		else
			sNext.disabled = true;
	}
	
	
	
	
	
	
	
