var DFR=2.7;
var DRate;
var DRateBest=0;
var DRateBestID="";
var DH1rate;
var DRateBestID2="";
var DRateBest2=0;
var CR2=false;
var DFRvalue=0;
var IEformbug=true;
var DFRbank=0;
var mindep;
var TMPelement;
var AgeLoaded=false;
var Percent2=new Array();

$(document).ready(function(){
	/*
	Slider params
	start - start from
	end - end value
	current - current value
	fixed - count of numbers after comma
	unit - units for value of slider
	output - where to pass new value of slider (id of element || false)
	callback - callback function
	*/


	$('.libor > .select').sliderScada({
		start: -0.3,
		end: 0.3,
		current: 0,
		fixed: 2,
		unit: '%',
		unitForCallback: ' %',
		zeroAmplitude: 0.02, // amplitude neaer zero where the value will be zero always

		callback: function(slider, value, settings) {
		   var rel = $(slider).attr('rel');
		   var value = parseFloat(value);
		DFRvalue=value;
			CRates2 (rel,value,'');
		}
	});


 $("#summ").keypress(function (e)  { 
 if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57) && e.which!=32)  {return false;} // && e.which!=46
});

 $("#DH1m").keypress(function (e)  { 
 if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57) && e.which!=32 && e.which!=46)  {return false;}
 });

 $("#summ").keyup(function (e)  {
	document.forms['frm'].summ.value=FormatNumberSP2(document.forms['frm'].summ.value);
	var cu=document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
	var pe=document.forms['frm'].summ.value;
	bigamountMSG(pe,cu);
	FillRates();
 });

 $("#DH1m").keyup(function (e)  {
document.getElementById('DH1m').value=FormatNumberSP2(document.getElementById('DH1m').value);
IEformbug=false;
FillRates();

 });
 
$("#libor-2tmp").mouseup(function ()  {
FillRates();
});
$("#summ").focus(function (e)  {TMPelement=$('#summ').val();$('#summ').val("");});
$("#summ").blur(function (e)  {if ($('#summ').val()=="") $('#summ').val(TMPelement);});

	var cu=document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
	var pe=document.forms['frm'].summ.value;
	bigamountMSG(pe,cu);
FillAge();
});

function FormatNumberSP(nStr){
nStr=TrimNum(nStr);
var inD=".";
var outD=".";
var sep="&nbsp;";
	nStr += '';
	var dpos = nStr.indexOf(inD);
	var nStrEnd = '';
	if (dpos != -1) {
		nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
		nStr = nStr.substring(0, dpos);
	}
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(nStr)) {
		nStr = nStr.replace(rgx, '$1' + sep + '$2');
	}
	return nStr + nStrEnd;
}

function FormatNumberSP2(nStr){
nStr=TrimNum(nStr);
var inD=".";
var outD=".";
var sep=" ";
	nStr += '';
	var dpos = nStr.indexOf(inD);
	var nStrEnd = '';
	if (dpos != -1) {
		nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
		nStr = nStr.substring(0, dpos);
	}
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(nStr)) {
		nStr = nStr.replace(rgx, '$1' + sep + '$2');
	}
	return nStr + nStrEnd;
}

function TrimNum(a){
return a.split(' ').join('');
}

function GetDepRate() {
var cu=document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var pe=document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value;
$.ajax({
   type: "GET",
   url: "/lvl.nsf/FormDepoRatesJSON?OpenAgent&curr="+cu+"&per="+pe+"&ch="+new Date().getTime(),
   data: "",
   success: function(msg){
	if (msg.charAt(0)=="{") {
		var tmp=eval("var DRate2="+msg);
		DRate=DRate2;
		FillRates();
	}
	return;
	}
});
}

// ******************* oxford *********************
function GetAgeRate() {
$.ajax({
   type: "GET",
   url: "/FormChildDepoRatesJSON?ch="+new Date().getTime(),
   data: "",
   success: function(msg){
	if (msg.charAt(0)=="{") {
		var tmp=eval("var DRate3="+msg);
		Percent2=DRate3;
		AgeLoaded=true;
		FillAge();
	}
	return;
	}
});
}

function FillAge(){
if (AgeLoaded==false){
	GetAgeRate()
	return;
}
var cu=document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
if (cu=='EUR' || cu=='USD'){
	if (cu=='EUR') $('#OX1').html(FormatNumberSP(Percent2.ratesEUR[0].toFixed(2))+'-'+FormatNumberSP(Percent2.ratesEUR[17].toFixed(2)));
	if (cu=='USD') $('#OX1').html(FormatNumberSP(Percent2.ratesUSD[0].toFixed(2))+'-'+FormatNumberSP(Percent2.ratesUSD[17].toFixed(2)));
	$('#OX1tr').css('display','');
} else {
	$('#OX1tr').css('display','none');
}
}


function bigamountMSG(summ,currency){
summ=TrimNum(summ);
var show=false;
var show2=false;
var showsumm="";
var MinSum='';
$('#bigamount').css('display','none');
$('#smallamount').css('display','none');
if (currency=="EUR" || currency=="USD"){
	if (summ>499999) {
		show=true;
		showsumm="500 000";
	}
	if (summ<5000) {
		MinSum='5 000';
		show2=true;
	}	
}
if (currency=="LVL"){
	if (summ>99999) {
		show=true;
		showsumm="100 000";
	}
	if (summ<3000) {
		MinSum='3 000';
		show2=true;
	}
}

if (currency=="GBP"){
	if (summ>99999) {
		show=true;
		showsumm="100 000";
	}
	if (summ<5000) {
		MinSum='5 000';
		show2=true;
	}
}

if (currency=="RUB"){
	if (summ<1000000) {
		MinSum='1 000 000';
		show2=true;
	}
}

// for DTS

if (currency=="EUR"){
	mindep=100000;
	if (summ<100000) {
		$("#DTS75").html('Minim\u0101l\u0101 noguld\u012Bjuma summa - EUR 100 000. ');
	} else {
		$("#DTS75").html('');
	}
}
if (currency=="USD"){
	mindep=150000;
	if (summ<150000) {
		$("#DTS75").html('Minim\u0101l\u0101 noguld\u012Bjuma summa - USD 150 000. ');
	} else {
		$("#DTS75").html('');
	}
}

// end for DTS

if (show){
	$('#bigamount').html('Noguld\u012Bjumiem virs '+showsumm+' '+currency+' m\u0113s pied\u0101v\u0101jam \u012Bpa\u0161i labv\u0113l\u012Bgus nosac\u012Bjumus. Papildu inform\u0101cija - bankas Depoz\u012Btu noda\u013C\u0101.');
	$('#bigamount').css('display','');
}
if (show2){
	$('#smallamount').html('Minim\u0101l\u0101 noguld\u012Bjuma summa ir '+MinSum+' '+currency+'.');
	$('#smallamount').css('display','');
}


}

var tbtr=new Array("DA1","DB1","DH1","DFE","DFT","libor-2","DC1","EE","DTS");

function FillRates() {
	for (i=0;i<tbtr.length;i++) {
		if (IEformbug) $('#'+tbtr[i]+'tr').css('display','none');
		BestOFF(tbtr[i]); 
	}
IEformbug=true;
DRateBestID='';
DRateBest='';
	for (i=0;i<DRate.rates.length;i++) {
		if (DRate.rates[i].depID=="DA1") { CRates ('DA1',DRate.rates[i].rate,'');}
		if (DRate.rates[i].depID=="DTS") { CRates ('DTS',DRate.rates[i].rate,'');}
		if (DRate.rates[i].depID=="EE") { CRates ('EE',DRate.rates[i].rate,'');}
		if (DRate.rates[i].depID=="DB1") { CRatesDB1 (DRate.rates[i].rate);}
		if (DRate.rates[i].depID=="DH1") {
			DH1rate=DRate.rates[i].rate;
			CRatesDH1();
		}
		if (DRate.rates[i].depID=="DFE") {
			if ((document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1)==60) {
				if (DRate.rates[i].rate!=""){ CRatesDFE (DRate.rates[i].rate);}
			}
		}
		
		if (DRate.rates[i].depID=="DFR2") {
			DFR=DRate.rates[i].rate[0].libor+DRate.rates[i].rate[1].libor;
			DFRbank=DRate.rates[i].rate[1].libor;
			$('#libor-2info').html(DRate.rates[i].rate[1].libor+"% + 3M Libor");

			CRates2 ('libor-2',DFRvalue,'');
		}

		if (DRate.rates[i].depID=="DFT") {
			CRates ('DFT',DRate.rates[i].rate,'');
			var sum1=(TrimNum(document.forms['frm'].summ.value)*0.75);
			$('#DFT75').html(FormatNumberSP(sum1.toFixed(2))+"&nbsp;"+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value);
		}
		if (DRate.rates[i].depID=="DC1") { CRates ('DC1',DRate.rates[i].rate,'');}
	}
BestON(DRateBestID);
HideBV();  
}


function CRates (id,rate,add) {
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
var time1=(document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1);
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var sum2=0;
var sum3=0;
	$('#' +id).html(rate.toFixed(2)+add);
	if (time1<12) {
		sum2=((((sum1/100)*rate)/360)*(30*time1));
	} else {
		sum2=((((sum1/100)*rate)/360)*(365*(time1/12)));
	}
	$('#' +id+'p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
	sum3=(sum2+sum1);
// modify for DTS min dep summ
if (sum2>=DRateBest) {
	if (id=="DTS") {
		if (mindep<=sum1) {
			DRateBest=sum2;
			DRateBestID=id;
		}
	} else {
		DRateBest=sum2;
		DRateBestID=id;	
	}
}
// end modify
	$('#' +id+'s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
$('#' +id+'tr').css('display','');
}

function CRatesDH1 () {
var id="DH1";
var rate=DH1rate;
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
var sumM=(TrimNum(document.getElementById('DH1m').value)*1);
var time1=(document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1);
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var sum2=0;
var sum3=0;
var sum4=0;
for (j=0;j<time1;j++) {
	sum4+=sumM;
	sum2+=(((((sum1+sum4)/100)*rate)/360)*30);
}
	$('#' +id).html(rate.toFixed(2));
	$('#' +id+'p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
	sum3=(sum2+sum1+(sumM*time1));
	if (sum2>=DRateBest) {
		DRateBest=sum2;
		DRateBestID=id;
	}
	$('#' +id+'s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
	$('#' +id+'tr').css('display','');
}


function CRatesDFE (rate) {
var id="DFE";
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
var time1=(document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1);
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var sum2=0;
var sum3=0;
var sum4=0;
for (j=0;j<rate.length;j++) {
	sum2+=((((sum1/100)*rate[j].year)/360)*365);
}
switch(rate.length) {
case 1:
	$('#' +id).html((rate[0].year).toFixed(2));
  	break;
case 2:
	$('#' +id).html("no "+(rate[rate.length-1].year).toFixed(2)+ " l\u012Bdz "+(rate[1].year).toFixed(2));
	break;
case 3:
	$('#' +id).html("no "+(rate[rate.length-1].year).toFixed(2)+ " l\u012Bdz "+(rate[2].year).toFixed(2));
	break;
default:
	$('#' +id).html("no "+(rate[rate.length-1].year).toFixed(2)+ " l\u012Bdz "+(rate[3].year).toFixed(2));
}
	$('#' +id+'p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
	sum3=(sum2+sum1);
	if (sum2>=DRateBest) {
		DRateBest=sum2;
		DRateBestID=id;
	}
	$('#' +id+'s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
	$('#' +id+'tr').css('display','');
}

function CRatesDFR (id,rates,add) {
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
var time1=(document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1);
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;

var rate=rates[0].libor+rates[1].libor;
var sum2=0;
var sum3=0;
	$('#' +id).html(rate.toFixed(2)+add);

	sum2=((((sum1/100)*rate)/360)*(365*(time1/12)));

	$('#' +id+'p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
	sum3=(sum2+sum1);
if (sum2>=DRateBest) {
	DRateBest=sum2;
	DRateBestID=id;
	}
	$('#' +id+'s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
	$('#libor-2info').html("\u043E\u0442 " +rates[0].libor+"% + Libor");
$('#' +id+'tr').css('display','');
}


function CRates2 (id,rate,add) {
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
var time1=(document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1);
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var sum2=0;
var sum3=0;

var ratefirst=DFR;
var rateend=DFR;
sum2=(((sum1/100)*ratefirst)/360)*90;

for (j=3;j<time1;j++) {
	rateend+=rate;
	if (rateend<DFRbank) rateend=DFRbank;
	sum2+=(((sum1/100)*rateend)/360)*30;
}

$('#' +id+'p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
sum3=(sum2+sum1);
if (sum2>=DRateBest) {
	BestOFF(DRateBestID); 
	if (CR2==false) {
		DRateBest2=DRateBest;	
		DRateBestID2=DRateBestID;
	}
	DRateBest=sum2;
	DRateBestID=id;
	BestON(id); 
	CR2=true;
} else {
	if (CR2==true) {
	DRateBest=DRateBest2;
	DRateBestID=DRateBestID2;
	BestOFF(id); 
	BestON(DRateBestID); 
	CR2=false;
	}
}
$('#' +id+'s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
if (rate==0) {
	$('#' +id).html(ratefirst.toFixed(2)+'&nbsp;%');
} else {
	$('#' +id).html('\u043E\u0442&nbsp;'+ratefirst.toFixed(2)+'&nbsp;\u0434\u043E&nbsp;'+rateend.toFixed(2)+'&nbsp;%');
}
$('#' +id+'tr').css('display','');
}


function BestON(a){
$('#'+a+'tr').addClass("best");
$('#'+a+'e').html('<img src="images/blank.gif" alt="" class="tTip" title="Visliel\u0101kais ienes\u012Bgums"/>');
processTooltips();
return;
}
function BestOFF(a){
$('#'+a+'tr').removeClass("best");
$('#'+a+'e').html('<img src="images/blank.gif" alt="" />');
return;
}

function numval(val,digits,minval,maxval){
	val = makeNumeric(val);
	if (val == "" || isNaN(val)) val = 0;
	val = parseFloat(val);
	if (digits != null)
	{
		var dec = Math.pow(10,digits);
		val = (Math.round(val * dec))/dec;
	}
	if (minval != null && val < minval) val = minval;
	if (maxval != null && val > maxval) val = maxval;
	return parseFloat(val);
}

function basicInvestment(p,r,y,c){
	if (c == null) c = 0;
	return futureValue(p,r,y) + c*geomSeries(1+r,1,y);
}

function futureValue(p,r,y) {
	return p*Math.pow(1+r,y);
}

function geomSeries(z,m,n){
	var amt;
	if (z == 1.0) amt = n + 1;
	else amt = (Math.pow(z,n + 1) - 1)/(z - 1);
	if (m >= 1) amt -= geomSeries(z,0,m-1);
	return amt;
}
function makeNumeric(s){
	return filterChars(s, "1234567890.-");
}

function filterChars(s, charList){
	var s1 = "" + s;
	var i;
	for (i = 0; i < s1.length; )
	{
		if (charList.indexOf(s1.charAt(i)) < 0)
			s1 = s1.substring(0,i) + s1.substring(i+1, s1.length);
		else
			i++;
	}
	return s1;
}

function CRatesDB1(rate) {
var cur1=" "+document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
var sum1=(TrimNum(document.forms['frm'].summ.value)*1);
	var p = numval((TrimNum(document.forms['frm'].summ.value)*1));
	var c = numval("0");
	var r = numval(((document.forms['frm'].month[document.forms['frm'].month.selectedIndex].value*1)/12)/100);
	var y = numval(rate);
	var n = numval("12");
var sum2=basicInvestment(p,r/n,y*n,c/n)-p;
	$('#DB1').html(rate.toFixed(2));
	$('#DB1p').html(FormatNumberSP(sum2.toFixed(2))+cur1);
	sum3=(sum2+sum1);
if (sum2>=DRateBest) {
	DRateBest=sum2;
	DRateBestID='DB1';
	}
	$('#DB1s').html(FormatNumberSP(sum3.toFixed(2))+cur1);
$('#DB1tr').css('display','');
}


function Changecurrtxt(){
$('#currtxt').html($('#currency').val());
	var cu=document.forms['frm'].currency[document.forms['frm'].currency.selectedIndex].value;
	var pe=document.forms['frm'].summ.value;
if (cu=="RUB") {
	if (pe=="100 000") {
		document.forms['frm'].summ.value="1 000 000";
		pe="1 000 000";
	}
} else {
	if (pe=="1 000 000") {
		document.forms['frm'].summ.value="100 000";
		pe="100 000";
	}
}
	bigamountMSG(pe,cu);

}

function HideBV(){
var st1=$('#DFTtr').css('display')+$('#libor-2tr').css('display')+$('#DFEtr').css('display')+$('#EEtr').css('display');
if (st1=='nonenonenonenone') {
	$('#bvtextNone').css('display','');
	$('#bvtext').css('display','none');
} else {
	$('#bvtextNone').css('display','none');
	$('#bvtext').css('display','');
}
}

