

function gradient(id, level)
{
	var box = document.getElementById(id);
	box.style.opacity = level;
	box.style.MozOpacity = level;
	box.style.KhtmlOpacity = level;
	box.style.filter = "alpha(opacity=" + level * 100 + ")";
	box.style.display="block";
	return;
}


function fadein(id) 
{
	var level = 0;
	while(level <= 1)
	{
		setTimeout( "gradient('" + id + "'," + level + ")", (level* 1000) + 10);
		level += 0.04;
	}
}

function openbox_vc(fadin)
{
  var box = document.getElementById('box'); 
  document.getElementById('filter').style.display='block';


  
  if(fadin)
  {
	 gradient("box_vc", 0);
	 fadein("box_vc");
  }
  else
  { 	
    box.style.display='block';
  }  	
}

function closebox_vc()
{
   document.getElementById('box_vc').style.display='none';
   document.getElementById('filter').style.display='none';
   clearInput();
   document.getElementById('position').value = 'index';
   
}

/*
 * 	VALUE CALCULATOR
 * 
*/

function commify(inputNum) {
	
    var Num = inputNum;
    var newNum = "";
    var newNum2 = "";
    var count = 0;
    
    
    //check for decimal number
    if (Num.indexOf('.') != -1){  //number ends with a decimal point
        if (Num.indexOf('.') == Num.length-1){
            Num += "00";
        }
        if (Num.indexOf('.') == Num.length-2){ //number ends with a single digit
            Num += "0";
        }
        
        var a = Num.split("."); 
        Num = a[0];   //the part we will commify
        var end = a[1] //the decimal place we will ignore and add back later
    }
    else {var end = "00";}  
 
    //this loop actually adds the commas   
    for (var k = Num.length-1; k >= 0; k--){
      var oneChar = Num.charAt(k);
      if (count == 3){
        newNum += ",";
        newNum += oneChar;
        count = 1;
        continue;
      }
      else {
        newNum += oneChar;
        count ++;
      }
   }  //but now the string is reversed!
   
  //re-reverse the string
  for (var k = newNum.length-1; k >= 0; k--){
      var oneChar = newNum.charAt(k);
      newNum2 += oneChar;
  }
   
   // add dollar sign and decimal ending from above
   
   newNum2 = "$" + newNum2 + "." + end;
   
   return newNum2;
}

function Comma(number) {
	
var newnum = document.getElementById('aptc_clean').value	= number;
	
	if(newnum != ''){
	
	number = newnum;	
		
	}
	
	
number = '' + number;
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}


function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {

		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


function clearInput(){
		
		
		document.getElementById('UCfrom').value = '';
		document.getElementById('UCto').value = '';
		document.getElementById('PCfrom').value = '';
		document.getElementById('PCto').value = '';
		document.getElementById('SAVEfrom').value = '';
		document.getElementById('SAVEto').value = '';
		document.getElementById('SAVINGfrom').value = '';
	    document.getElementById('SAVINGto').value = '';	
	   	document.getElementById('ACPT').value  = '';
	   	

	
	}



function removeChar(){
	
  var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?qwertyuiopasdfghjklzxcvbnm";

  for (var i = 0; i < document.getElementById('ACPT').value.length; i++) {
  	if (iChars.indexOf(document.getElementById('ACPT').value.charAt(i)) != -1) {
  	alert ("Please input numbers only!");
  	document.getElementById('ACPT').value = '';
  	return false;
  	}
  }
 
	
}



	
function selPosition(Pos) {
	var ACPT = document.getElementById('ACPT').value;
	
	var UsFrom   = document.getElementById(Pos + '_US_FROM').value;
	var UsTo     = document.getElementById(Pos + '_US_TO').value;
	var PhFrom   = document.getElementById(Pos + '_PH_FROM').value;
	var PhTo     = document.getElementById(Pos + '_PH_TO').value;
	
	
		// Comparative saving Total Cost of Employment 
	var tceLOW  = (UsFrom - PhFrom) / UsFrom;
	var tceHIGH  = (UsTo - PhTo) / UsTo;


	// Low and High range saving

    var SaveFrom  = (ACPT * tceLOW);
    var SaveTo    = (ACPT * tceHIGH);
    
    
    //display commify US and PH cost
	UsFrom = commify(UsFrom);
	UsTo   = commify(UsTo);
	PhFrom = commify(PhFrom);
	PhTo   = commify(PhTo);
	
	document.getElementById('UCfrom').value = UsFrom;
	document.getElementById('UCto').value = UsTo;
	document.getElementById('PCfrom').value = PhFrom;
	document.getElementById('PCto').value = PhTo;
	
	
	ntceLOW = tceLOW * 100; 
	ntceHIGH = tceHIGH * 100;
	
	newtceLOW  = Number(ntceLOW).toFixed(2);
	newtceHIGH = Number(ntceHIGH).toFixed(2) ;
	
	document.getElementById('SAVINGfrom').value = newtceLOW + '%';
	document.getElementById('SAVINGto').value = newtceHIGH + '%';	
	
	//added 11-24-2009 3:30pm
	
	 document.getElementById('ACPT').value = '';
	 document.getElementById('SAVEfrom').value = '';
	 document.getElementById('SAVEto').value = '';
	

}




function changePosition(Pos) {
	
	var ACPT = document.getElementById('ACPT').value;
	
	if(( Pos == 'index') || (ACPT == '')) {
		if( Pos == 'index'){
		alert("Please Select Position");
	    }else{
	    alert("Anual Cost of Payroll is required!");	
	    }
		//clearInput();

		
	
		
	}else{

	xfrom = ACPT * 0.60;
	xto = ACPT * 0.67;

	document.getElementById('SAVEfrom').value  = Number(xfrom).toFixed(2); 
	document.getElementById('SAVEto').value  = Number(xto).toFixed(2); 

		
	zfrom = document.getElementById('SAVEfrom').value; 
	zto  = document.getElementById('SAVEto').value; 
	
	document.getElementById('SAVEfrom').value = commify(zfrom); 
	document.getElementById('SAVEto').value = commify(zto);
	
	
		
		
	}


}








	
function changePosition2(Pos) {
	
	
	var ACPT = document.getElementById('ACPT').value;
	
	if(( Pos == 'index') || (ACPT == '')) {
		if( Pos == 'index'){
		alert("Please Select Position");
	    }else{
	    alert("Anual Cost of Payroll is required!");	
	    }
		clearInput();
	
		
	}else{
			
	
	
	var UsFrom   = document.getElementById(Pos + '_US_FROM').value;
	var UsTo     = document.getElementById(Pos + '_US_TO').value;
	var PhFrom   = document.getElementById(Pos + '_PH_FROM').value;
	var PhTo     = document.getElementById(Pos + '_PH_TO').value;
	
	// Low & High range saving
	//var tceLOW     = document.getElementById(Pos + '_TCE_LOW').value;
	//var tceHIGH     = document.getElementById(Pos + '_TCE_HIGH').value;
 
 
   // var ACPT = document.getElementById('ACPT').value;
    // Typical saving based on payroll expense 
	//var ACPT = 400000.00;

	// Comparative saving Total Cost of Employment 
	var tceLOW  = (UsFrom - PhFrom) / UsFrom;
	var tceHIGH  = (UsTo - PhTo) / UsTo;

	
	// Low and High range saving
	//var SaveFrom  = (ACPT * tceLOW) / 100;
    //var SaveTo    = (ACPT * tceHIGH) / 100;
    var SaveFrom  = (ACPT * tceLOW);
    var SaveTo    = (ACPT * tceHIGH);
	
	//display commify US and PH cost
	UsFrom = commify(UsFrom);
	UsTo   = commify(UsTo);
	PhFrom = commify(PhFrom);
	PhTo   = commify(PhTo);
	
	document.getElementById('UCfrom').value = UsFrom;
	document.getElementById('UCto').value = UsTo;
	document.getElementById('PCfrom').value = PhFrom;
	document.getElementById('PCto').value = PhTo;
	
	// store the value
	document.getElementById('SAVEfrom').value = SaveFrom;
	document.getElementById('SAVEto').value = SaveTo;

	ntceLOW = tceLOW * 100; 
	ntceHIGH = tceHIGH * 100;
	
	newtceLOW  = Number(ntceLOW).toFixed(2);
	newtceHIGH = Number(ntceHIGH).toFixed(2) ;
	
	document.getElementById('SAVINGfrom').value = newtceLOW + '%';
	document.getElementById('SAVINGto').value = newtceHIGH + '%';	

	//commify the final output
	var NewSaveFrom = document.getElementById('SAVEfrom').value
	var NewSaveTo = document.getElementById('SAVEto').value
	
	// trim 2 decimal only
	NewSaveFrom = Number(NewSaveFrom).toFixed(2);
	NewSaveTo = Number(NewSaveTo).toFixed(2);
	
	
	document.getElementById('SAVEfrom').value  = commify(NewSaveFrom); 
	document.getElementById('SAVEto').value  = commify(NewSaveTo); 
	
	
	
    document.getElementById('ACPT').value = ACPT; 
	
    }
	
}
