function isNumeric(p){
	if (p == "") 
		return false;
	var l = p.length;
	var count=0;
	for(var i=0; i<l; i++){
		var digit = p.charAt(i);
		if(digit == "." ) {
			++count;
			if(count>1) return false;
		}
		else if(digit < "0" || digit > "9")
			return false;
	}
	return true;
}

function trim(s){
	var l=s.length;
	var r = "";
	for(var i=0; i<l; i++){ 
		var digit = s.charAt(i);
		if(digit != ' '){
			r = r + digit;
		}
	}
	return r;
}

function checkPrice(){
	var price = trim(document.getElementById("price").value);
		
	var ErrMsg="";
	var flag=true;
	
	if(price){
		if(!isNumeric(price)) {
			ErrMsg=ErrMsg+"請 輸 入 正 確 樓 價 ! ";
			flag=false;
		}else if (price <=0) {
			ErrMsg=ErrMsg+"請 輸 入 正 確 樓 價 ! ";
			flag=false;
		}
	}else{
		ErrMsg=ErrMsg+"請 輸 入 樓 價 ! ";
		flag=false;
	}
	if(flag==false) 
		//alert(ErrMsg);
	
	return flag;
}

function CalStamp(price){
    var stamp = 0;
    var plan = "";
	if (price <= 2000000){
		stamp = 100;
	}else if (price <= 2351760){	
		stamp = Math.round((100 + (price - 2000000) * 0.1) * 100)/100; 
	}else if (price <= 3000000){	
		stamp = Math.round((price * 0.015) * 100)/100; 
	}else if (price <= 3290320){	
		stamp = Math.round((45000 + (price - 3000000) * 0.1) * 100)/100; 
	}else if (price <= 4000000){	
		stamp = Math.round((price * 0.0225) * 100)/100; 
	}else if (price <= 4428570){	
		stamp = Math.round((90000 + (price - 4000000) * 0.1) * 100)/100; 
	}else if (price <= 6000000){
		stamp = Math.round((price * 0.03) * 100)/100; 
	}else if (price <= 6720000){	
		stamp = Math.round((180000 + (price - 6000000) * 0.1) * 100)/100; 
	
	}else {	
		stamp = Math.round((price * 0.0375) * 100)/100; 
	}
	return stamp;
}

function CalInsurance() {
  var insur = new Array(4);
  
  insur[0] = new Array(5);
  insur[0][0] = 1;
  insur[0][1] = 1.15;
  insur[0][2] = 1.4;
  insur[0][3] = 1.5;
  insur[0][4] = 1.65;

  insur[1] = new Array(5);
  insur[1][0] = 1.55;
  insur[1][1] = 1.8;
  insur[1][2] = 2.15;
  insur[1][3] = 2.3;
  insur[1][4] = 2.4;

  insur[2] = new Array(5);
  insur[2][0] = 2.15;
  insur[2][1] = 2.5;
  insur[2][2] = 2.98;
  insur[2][3] = 3.35;
  insur[2][4] = 3.55;
  
  insur[3] = new Array(5);
  insur[3][0] = 2.48;
  insur[3][1] = 2.88;
  insur[3][2] = 3.38;
  insur[3][3] = 3.78;
  insur[3][4] = 3.98;
  
  var ind01 = -1;
  var ind02 = -1;
  
  var price = document.getElementById("price").value;
  var rate = document.getElementById("loanrate").value;
  var year = document.getElementById("yr").value;
    
  if (rate > 70 && rate <= 80)
    ind01 = 0;
  else if (rate > 80 && rate <= 85)
    ind01 = 1;
  else if (rate > 85 && rate <= 90)
    ind01 = 2;
  else if (rate > 90 && rate <= 95)
    ind01 = 3;
  
  if (year == 10)
    ind02 = 0;
  else if (year == 15)
    ind02 = 1;
  else if (year == 20)
    ind02 = 2;
  else if (year == 25)
    ind02 = 3;
  else if (year == 30)
    ind02 = 4;
      
  if (ind01 != -1 && ind02 != -1)
    document.getElementById("mortcharge").innerHTML = '$ ' + price * 10000 * insur[ind01][ind02] / 100 + '';
  else
    document.getElementById("mortcharge").innerHTML = "";
}

function CalInsurance_floating_owner() {
  var insur = new Array(5);
  
  insur[0] = new Array(7);
  insur[0][0] = 0.55;
  insur[0][1] = 0.60;
  insur[0][2] = 0.65;
  insur[0][3] = 0.70;
  insur[0][4] = 0.75;
  insur[0][5] = 0.80;
  insur[0][6] = 0.85;  
   
  insur[1] = new Array(7);
  insur[1][0] = 1;
  insur[1][1] = 1.15;
  insur[1][2] = 1.4;
  insur[1][3] = 1.5;
  insur[1][4] = 1.65;
  insur[1][5] = 1.75;
  insur[1][6] = 1.85;  

  insur[2] = new Array(7);
  insur[2][0] = 1.55;
  insur[2][1] = 1.8;
  insur[2][2] = 2.15;
  insur[2][3] = 2.3;
  insur[2][4] = 2.4;
  insur[2][5] = 2.5;
  insur[2][6] = 2.6;

  insur[3] = new Array(7);
  insur[3][0] = 2.15;
  insur[3][1] = 2.5;
  insur[3][2] = 2.98;
  insur[3][3] = 3.35;
  insur[3][4] = 3.55;
  insur[3][5] = 3.75;
  insur[3][6] = 3.95;
  
  insur[4] = new Array(7);
  insur[4][0] = 2.48;
  insur[4][1] = 2.88;
  insur[4][2] = 3.38;
  insur[4][3] = 3.78;
  insur[4][4] = 3.98;
  insur[4][5] = 4.28;
  insur[4][6] = 4.58;
  
  var ind01 = -1;
  var ind02 = -1;
  
  var price = document.getElementById("price").value;
  var rate = document.getElementById("loanrate").value;
  var year = document.getElementById("yr").value;  
  var loan = price * rate / 100;	
      
  if (rate > 70 && rate <= 75)
    ind01 = 0;
  else if (rate > 75 && rate <= 80)
    ind01 = 1;
  else if (rate > 80 && rate <= 85)
    ind01 = 2;
  else if (rate > 85 && rate <= 90)
    ind01 = 3;
  else if (rate > 90 && rate <= 95)
    ind01 = 4;
  
  if (year <= 10)
    ind02 = 0;
  else if ( year > 10 && year <= 15)
    ind02 = 1;
  else if (year > 15 && year <= 20)
    ind02 = 2;
  else if (year > 20 && year <= 25)
    ind02 = 3;
  else if (year > 25 && year <= 30)
    ind02 = 4;
  else if (year > 30 && year <= 35)
    ind02 = 5;
  else if (year > 35 && year <= 40)
    ind02 = 6;
        
  if (ind01 != -1 && ind02 != -1)
    document.getElementById("mortcharge_owner").innerHTML = '$ ' + (loan * 10000 * insur[ind01][ind02] / 100).toFixed(2);
  else
    document.getElementById("mortcharge_owner").innerHTML = "N/A";
}

function CalInsurance_floating_renter() {
  var insur = new Array(3);
  
  insur[0] = new Array(7);
  insur[0][0] = 0.95;
  insur[0][1] = 1.00;
  insur[0][2] = 1.05;
  insur[0][3] = 1.10;
  insur[0][4] = 1.15;
  insur[0][5] = 1.20;
  insur[0][6] = 1.25;  
   
  insur[1] = new Array(7);
  insur[1][0] = 1.6;
  insur[1][1] = 1.75;
  insur[1][2] = 2.0;
  insur[1][3] = 2.1;
  insur[1][4] = 2.25;
  insur[1][5] = 2.35;
  insur[1][6] = 2.45;  

  insur[2] = new Array(7);
  insur[2][0] = 2.55;
  insur[2][1] = 2.8;
  insur[2][2] = 3.15;
  insur[2][3] = 3.3;
  insur[2][4] = 3.4;
  insur[2][5] = 3.5;
  insur[2][6] = 3.6;  
  
  var ind01 = -1;
  var ind02 = -1;
  
  var price = document.getElementById("price").value;
  var rate = document.getElementById("loanrate").value;
  var year = document.getElementById("yr").value;  
  var loan = price * rate / 100;	
      
  if (rate > 70 && rate <= 75)
    ind01 = 0;
  else if (rate > 75 && rate <= 80)
    ind01 = 1;
  else if (rate > 80 && rate <= 85)
    ind01 = 2;

  
  if (year <= 10)
    ind02 = 0;
  else if ( year > 10 && year <= 15)
    ind02 = 1;
  else if (year > 15 && year <= 20)
    ind02 = 2;
  else if (year > 20 && year <= 25)
    ind02 = 3;
  else if (year > 25 && year <= 30)
    ind02 = 4;
  else if (year > 30 && year <= 35)
    ind02 = 5;
  else if (year > 35 && year <= 40)
    ind02 = 6;
        
  if (ind01 != -1 && ind02 != -1)
    document.getElementById("mortcharge_renter").innerHTML = '$ ' + (loan * 10000 * insur[ind01][ind02] / 100).toFixed(2);
  else
    document.getElementById("mortcharge_renter").innerHTML = "N/A";
}

function lawyer_changename(){
 
	 var price = document.getElementById("price").value * 10000;
	 var segment = 0;
	 var mod = 0;
	 var charges = 0;
	 
	 if (price >= 250001 && price <= 500000){
		 price = price - 250000;
		 mod = price % 10000;		 
		 segment = (price - mod) / 10000;
		 if (mod>0) segment += 1;
		 charges = 3750 + segment * 100;
		 
	 } else if (price >= 500001 && price <= 1000000){
		 price = price - 500000;
		 mod = price % 10000;
		 segment = (price - mod) / 10000;
		 if (mod>0) segment += 1;
		 charges = 6250 + segment * 75;
		 
	 } else if (price >= 1000001 && price <= 5000000){
		 price = price - 1000000;
		 mod = price % 10000;
		 segment = (price - mod) / 10000;
		 if (mod>0) segment += 1;
		 charges = 10000 + segment * 50;
		 
	 } else if (price >= 5000001 && price <= 50000000){
		 price = price - 5000000;
		 mod = price % 10000;
		 segment = (price - mod) / 10000;
		 if (mod>0) segment += 1;
		 charges = 30000 + segment * 25;
	 }
	if (charges != 0 )
		document.getElementById("changename_charge").innerHTML = '$ ' + (charges).toFixed(2);
	else
		document.getElementById("changename_charge").innerHTML = "N/A";
}

function StampDuty(){
	//if (checkPrice()){
	   document.getElementById("stampDuty").innerHTML ='$ ' + CalStamp(document.getElementById("price").value*10000);
	//}
	//document.getElementById("m_cost").style.display='block';
}

function cal_contract_lawyer_fee(){
	var price = document.getElementById('price').value *10000 / 1;
	var fee = 0;
	if (price > 250001 && price <= 500000){
		fee = 1250;
	}
	if (price > 500001 && price <= 1000000){
		fee = 1500;
	}
	if (price > 1000001 && price <= 2000000){
		fee = 1750;
	}
	if (price > 2000001 && price <= 5000000){
		fee = 2000;
	}
	if (price > 5000001 && price <= 10000000){
		fee = 2500;
	}
	if (price > 10000001){
		fee = 3000;
	}
	document.getElementById('contract_lawyer_fee').innerHTML = '$ ' + fee.toFixed(2);	
}

function cal_mortgage_deed(){
	var loan = document.getElementById('loan').value * 10000;
	var mortgage_deed = 0;
	if (loan <= 250000){
		mortgage_deed = 3750;
	}
	if (loan>250000 && loan <=500000){
		mortgage_deed = 3750;
		var remain = loan - 250000;		
		while (remain>0){
			if (remain>=10000)	mortgage_deed = mortgage_deed + 100;
			remain = remain - 10000;
		}
	}
	if (loan>500000 && loan <=1000000){
		mortgage_deed = 6250;
		var remain = loan - 500000;		
		while (remain>0){
			if (remain>=10000)	mortgage_deed = mortgage_deed + 75;
			remain = remain - 10000;
		}
	}
	if (loan>1000000 && loan <=5000000){
		mortgage_deed = 10000;
		var remain = loan - 1000000;		
		while (remain>0){
			if (remain>=10000)	mortgage_deed = mortgage_deed + 50;
			remain = remain - 10000;
		}
	}
	if (loan>5000000){
		mortgage_deed = 30000;
		var remain = loan - 5000000;		
		while (remain>0){
			if (remain>=10000)	mortgage_deed = mortgage_deed + 25;
			remain = remain - 10000;
		}
	}	
	document.getElementById('mortcharge_deed').innerHTML = '$ ' + mortgage_deed.toFixed(2);	
}

function cal_comm(){
	var price = document.getElementById('price').value *10000 / 1;
	var comm = price /100;
	//alert(comm.toFixed(2));
}

function show_tips(j){
	var tips = '';
	switch(j){
		case 3:
			tips = '';
		case 1:
			tips += '<b>按揭保險費<br>Mortgage Insurance</b><br><br>按揭保險計劃乃協助有意置業人士獲取首期資金達至自置居所的有效工具。該計劃能讓銀行借出比樓價更高成數的按揭貸款。';
			break;
		case 2:
			tips  = '<b>買賣合約律師費<br>Sales & Purchase Agreement</b><br><br>';
			tips += '<table border="1"><tr>';
			tips += '<td>樓 價</td><td>律 師 費</td></tr>';
			tips += '<tr><td>$250,001至$500,000</td><td> $1,250</td></tr>';
			tips += '<tr><td>$500,001至$1,000,000 </td><td> $1,500</td></tr>';
			tips += '<tr><td>$1,000,001至$2,000,000</td><td> $1,750</td></tr>';
			tips += '<tr><td>$2,000,001至$5,000,000</td><td> $2,000</td></tr>';
			tips += '<tr><td>$5,000,001至$10,000,000</td><td> $2,500</td></tr>';
			tips += '<tr><td>$10,000,001或以上</td><td> $3,000</td></tr>';
			tips += '</table>';
			break;
		case 3:
			tips += '<b>物業查冊<br>Landsearch</b><br><br>物業查冊確保業權資料及面積無誤';
			break;
					
	}
	document.getElementById('tips_area').innerHTML = tips;
	document.getElementById('tips_box').style.display = 'block';
	document.getElementById('tips_box').style.left = event.clientX + document.body.scrollLeft;
	document.getElementById('tips_box').style.top = event.clientY + document.body.scrollTop;
}

function cal_remain(yr,loan,interestrate,total_year,category) {
	
	//alert(yr + '' + loan + '' + '' + interestrate + '' + category);
	var rate = interestrate;
	var year = total_year;
	var st_mth = '01';
	var st_yr = '1';
	
	var inst = cal_inst(loan, rate, year);
	var ttlPay = cal_ttl_pay(inst, year);
	var ttlInt = ttlPay - loan;
	var phase = 12 * yr;
	
	var remain = loan;
	var phInt = 0;
	var phLoan = 0;
	var sumInt = 0;
	var sumLoan = 0;  
	
	for (var i = 0; i < phase; i++) {
		phInt = cal_interest(remain, rate);
		phLoan = inst - phInt;
		remain -= phLoan;
		remain = remain;	
		sumLoan += phLoan;
		sumInt += phInt;
	}
	if (category=='remain')	return remain;
	if (category=='interest')	return sumInt;
}

function compare_buy_rent(){
	
	var reside_year = document.getElementById('reside_year').value;
	var rent_rate = document.getElementById('rent_rate').value/100;
	var price_rate = document.getElementById('price_rate').value/100;
	var rent = document.getElementById('rent').value;
	var total_month = reside_year * 12;
	var investment_return_rate = document.getElementById('investment_return_rate').value/100;
	var yearly_rent = total_month * rent;	
	
	//計總租金
	document.getElementById('total_month').innerHTML = total_month;
	document.getElementById('total_rent').innerHTML = '$ ' + (12 * rent * (Math.pow(1+rent_rate,reside_year) - 1) / (1+rent_rate - 1)).toFixed(2);
	//計租約印花稅
	var stamp_rent = 0;
	if (reside_year <=1 ){
		stamp_rent = document.getElementById('total_rent').innerHTML.substr(2)/1 * 0.25 / 100;
	}
	if (reside_year > 1 && reside_year <= 3 ){
		stamp_rent = 12 * rent * 0.5 / 100;
	}
	if (reside_year > 3 ){
		stamp_rent = 12 * rent * 1 / 100;
	}
	document.getElementById('stamp_rent').innerHTML =  '$ ' + stamp_rent.toFixed(2);
	//計首期投資率
	document.getElementById('reside_year2').innerHTML = reside_year;
	document.getElementById('reside_year3').innerHTML = reside_year;	
	document.getElementById('downpayment').innerHTML = '$ ' + (document.getElementById('price').value * 10000 * (1 - document.getElementById('loanrate').value / 100)).toFixed(2);
	var downpayment = document.getElementById('downpayment').innerHTML.substr(2);
	document.getElementById('investment_return').innerHTML = '$ ' + (downpayment * Math.pow(1+investment_return_rate,reside_year) - downpayment).toFixed(2);
	
	document.getElementById('stampDuty2').innerHTML = '$ ' + (document.getElementById('stampDuty').innerHTML.substr(2)/1).toFixed(2);
	document.getElementById('contract_lawyer_fee2').innerHTML = document.getElementById('contract_lawyer_fee').innerHTML;
	document.getElementById('changename_charge2').innerHTML = document.getElementById('changename_charge').innerHTML;
	document.getElementById('mortcharge_deed2').innerHTML = document.getElementById('mortcharge_deed').innerHTML;
	document.getElementById('mortcharge_owner2').innerHTML = document.getElementById('mortcharge_owner').innerHTML;
	document.getElementById('paid_payment').innerHTML = '$ ' + (document.getElementById('flow').value * reside_year * 12).toFixed(2);
	document.getElementById('owe_bank').innerHTML = '$ ' + (cal_remain(reside_year,document.getElementById('loan').value/1,document.getElementById('interestrate').value/1,document.getElementById('yr').value/1,'remain') * 10000).toFixed(2);
	document.getElementById('sell_price').innerHTML = '$ ' + (document.getElementById('price').value * 10000 * Math.pow(1 + price_rate,reside_year)).toFixed(2); 
	
	var rent_total_cost = 0;
	rent_total_cost += document.getElementById('total_rent').innerHTML.substr(2)/1;
	rent_total_cost += document.getElementById('stamp_rent').innerHTML.substr(2)/1;
	rent_total_cost -= document.getElementById('investment_return').innerHTML.substr(2)/1;
	document.getElementById('rent_total_cost').innerHTML = '$ ' + rent_total_cost.toFixed(2);
	
	var buy_total_cost = 0;
	buy_total_cost +=  document.getElementById('downpayment').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('stampDuty2').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('contract_lawyer_fee2').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('changename_charge2').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('mortcharge_deed2').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('mortcharge_owner2').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('paid_payment').innerHTML.substr(2)/1;
	buy_total_cost +=  document.getElementById('owe_bank').innerHTML.substr(2)/1;
	buy_total_cost -=  document.getElementById('sell_price').innerHTML.substr(2)/1;
	document.getElementById('buy_total_cost').innerHTML = '$ ' + buy_total_cost.toFixed(2);
	
	var buy_rent_conclusion = '跟據以上資料，<br>以居住 ' + reside_year + ' 年計算，';	
	
	if (buy_total_cost == rent_total_cost){
		buy_rent_conclusion += '「買入」與「租用」沒有顯著分別';
	} else if (buy_total_cost > rent_total_cost){
		buy_rent_conclusion += '「租用」比「買入」節省 $' + (buy_total_cost - rent_total_cost).toFixed(2);
	} else {
		buy_rent_conclusion += '「買入」比「租用」節省 $' + (rent_total_cost - buy_total_cost).toFixed(2);
	}	
	document.getElementById('buy_rent_conclusion').innerHTML = buy_rent_conclusion;
}


function change_mort(){
	var mort1_loan = document.getElementById('mort1_loan').value/1;	
	var mort1_rate = document.getElementById('mort1_rate').value/1;
	var mort2_rate = document.getElementById('mort2_rate').value/1;
	var mort1_length = document.getElementById('mort1_length').value/1;
	var mort2_length = document.getElementById('mort2_length').value/1;
	var mort1_begin_year = document.getElementById('mort1_begin_year').value/1;
	var mort2_begin_year = document.getElementById('mort2_begin_year').value/1;
	var mort1_begin_month = document.getElementById('mort1_begin_month').value/1;
	var mort2_begin_month = document.getElementById('mort2_begin_month').value/1;
	
	document.getElementById('mort1_flow').innerHTML = '$ ' + cal_inst(mort1_loan,mort1_rate,mort1_length).toFixed(2);
	var paid_period = (mort2_begin_year * 12 + mort2_begin_month - mort1_begin_year * 12 - mort1_begin_month)/12;
	
	document.getElementById('mort2_loan').value = (cal_remain(paid_period,mort1_loan,mort1_rate,mort1_length,'remain')).toFixed(2);
	var mort2_loan = document.getElementById('mort2_loan').value/1;
	document.getElementById('mort2_flow').innerHTML = '$ ' + cal_inst(mort2_loan,mort2_rate,mort2_length).toFixed(2);
	
	document.getElementById('mort1_paid_period').innerHTML = mort2_begin_year * 12 + mort2_begin_month - mort1_begin_year * 12 - mort1_begin_month;
	document.getElementById('mort1_unpaid_period').innerHTML = mort1_length * 12 - document.getElementById('mort1_paid_period').innerHTML/1;
	document.getElementById('mort2_unpaid_period').innerHTML = mort2_length * 12;
	
	document.getElementById('mort1_paid_interest').innerHTML = '$ ' + (cal_remain(paid_period,mort1_loan,mort1_rate,mort1_length,'interest')).toFixed(2);
	document.getElementById('mort2_paid_interest').innerHTML = '$ 0';
	
	document.getElementById('mort1_unpaid_interest').innerHTML = '$ ' + ( (cal_remain(mort1_length,mort1_loan,mort1_rate,mort1_length,'interest')).toFixed(2) - (cal_remain(paid_period,mort1_loan,mort1_rate,mort1_length,'interest'))).toFixed(2);
	document.getElementById('mort2_unpaid_interest').innerHTML = '$ ' + (cal_remain(mort2_length,mort2_loan,mort2_rate,mort2_length,'interest')).toFixed(2);
	
	
	var mort2_flow = document.getElementById('mort2_flow').innerHTML.substr(2)/1;
	var mort1_flow = document.getElementById('mort1_flow').innerHTML.substr(2)/1;
	var change_mort_conclusion = '跟據以上資料，';
	//alert(mort1_flow);
	if (mort2_flow == mort1_flow){
		change_mort_conclusion += '「買入」與「租用」沒有顯著分別';
	} else if (mort2_flow > mort1_flow){
		change_mort_conclusion += '「轉按後」比「轉按前」多付 $' + (mort2_flow - mort1_flow).toFixed(2);
	} else {
		change_mort_conclusion += '「轉按後」比「轉按前」少付 $' + (mort1_flow - mort2_flow).toFixed(2);
		if (document.getElementById('mort2_expense').value/1>0){
			var makeup_month =0;
			makeup_month = Math.ceil(document.getElementById('mort2_expense').value / (mort1_flow - mort2_flow).toFixed(2));
			var y = Math.floor(makeup_month / 12);
			var z = makeup_month % 12;
			if (y>0){
				y = y + '年 ';
			} else {
				y = '';
			}
			if (z>0){
				z = z + '個月';
			} else {
				z = '';
			}
			change_mort_conclusion = change_mort_conclusion + '，<br>並需要約 ' + y + z + '就可抵消雜費開支';
		}
	}
	
	//change_mort_conclusion +=
	document.getElementById('change_mort_conclusion').innerHTML = change_mort_conclusion;
	
}

function sortTable(tgtTable, onCol, hasHeading, asNumber, Descending, skipLastRow){
	tgtTable = document.getElementById(tgtTable);
	if(!onCol) onCol=0;
	if(skipLastRow)
		skipLastRow = 1;
	else
		skipLastRow = 0;
	var i=0;
	if(hasHeading) i=1;
	var nRows = tgtTable.rows.length;
	var t, ele1, ele2;
	for(; i < nRows-1-skipLastRow; i++){
		t=i;
		for(var j=i+1; j < nRows-skipLastRow; j++)
			{
			ele1 = tgtTable.rows[j].cells[onCol].innerText;
			ele2 = tgtTable.rows[t].cells[onCol].innerText;
			if(asNumber)
				{
				ele1 = parseFloat(ele1);
				ele2 = parseFloat(ele2);
				}
			if(!Descending  &&  ele1 < ele2)
				t=j;
			else if(Descending  &&  ele1 > ele2)
				t=j;
			}
		tgtTable.tBodies[0].insertBefore(tgtTable.rows[t], tgtTable.rows[i]);
	}
}
