var xmlHttp;
var ajaxFile = '/ajax_includer.php';

var intress_1 = 21.9;
var intress_2 = 19.9;
var intress = intress_1;


function test() {
	alert(1)
}

function GetXmlHttpObject() {
	  var xmlHttp=null;
	  try
		{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
		}
	  catch (e)
		{
		// Internet Explorer
		try
		  {
		  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		  }
		catch (e)
		  {
		  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		}
	  return xmlHttp;
}

	/**********************************************************/
	function getTarget(element_id) {
		
			return document.getElementById(element_id);
		
	}

	/**********************************************************/
	function selectedVal(drop_id) {
		var target = getTarget(drop_id)
		if(target) {
			var sel;
			for(i=0;i<target.length;i++) {
				if(target.options[i].selected == true)
					sel = target.options[i].value;
			}
			return sel;
		}
		else return '-';
	}



/**********************************************************/
function ajax(url_addon, elementToFill, valueToSet, reloadPage) {
		
			//alert(url_addon)
		
				
		xmlHttp=GetXmlHttpObject()
			if (xmlHttp==null)
			{
			alert ("Browser does not support HTTP Request")
			return
			}    
			var	url=ajaxFile;
				url=url+"?sid="+Math.random()
				url=url+url_addon;
				

			
			xmlHttp.onreadystatechange=function() {
				
				if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
					
					if(reloadPage) {
						parent.location=currentUrl;	
					}
					
					var vastus = xmlHttp.responseText;
					
					target = getTarget(elementToFill);

					if(vastus != '') {
						
						if(target) {
							if(!valueToSet)
								target.innerHTML = vastus;
							else
								target.value = vastus;
						}
					}
				} 
			}
				
			xmlHttp.open("GET",url,true)
			xmlHttp.send(null)

}




/**********************************************************/
function showHide(id, mode){
	
	var target = getTarget(id);
	var disp = target.style.display;
	var new_disp;
	
	if(disp == 'none') {
		new_disp = 'block';
	}
	else { 
		new_disp = 'none';
	}

	if(mode == 1) {
		new_disp = 'block';
	}
	else if (mode == 2){
		new_disp = 'none';
	}

	target.style.display=new_disp;

}


function changeColor(element_id, new_color) {

	var target = getTarget(element_id);

	if(target) {
		target.setAttribute('bgcolor', new_color, 0);
	}

}

function do_calc() {

	var vastus = getTarget('kuumakse');
	var summa = getTarget('summa').value;
	var sissemaks = getTarget('sissemaks').value;
	var sissemaks_pr = getTarget('sissemaks_pr').value;
	var periood = selectedVal('periood');
	var summa_jaak = summa-sissemaks;
	var kulu;
	var intressikulu = getTarget('intressikulu');
	var intr = intress;

	if(summa_jaak < 2000 || summa_jaak > 150000) {
		alert('Järelmaksu summa peab olema vahemikus 2000 – 150 000 EEK');
		return;
	}
	
	if(!intr) {
		alert('Intress');
		return;
	}
	
	intr = intr/100;

	if(!sissemaks || !summa || !periood || !intress) {
		return false;
	}

	var kuumaks = ((summa_jaak) * (intr / 12)) / (1 - Math.pow((1 + intr / 12), -periood));
	
	if(kuumaks) {
		
		kuumaks = roundNumber(kuumaks, 2);
		kulu = (periood*kuumaks)-summa_jaak;	
		
		vastus.innerHTML = number_format(kuumaks, 2);
		
		if(kulu) {
			kulu = roundNumber(kulu, 2);				
			intressikulu.innerHTML = number_format(kulu, 2);
		}
		
	}
}

function set_sissemaks_pr() {
	
	var summa = getTarget('summa').value;
	var sissemaks = getTarget('sissemaks').value;
	var sissemaks_pr = getTarget('sissemaks_pr');
	var pr;

	if(summa && sissemaks) {
		pr = (sissemaks/summa)*100;
		pr = roundNumber(pr, 2);
	}
	else {
		pr = '';
	}

	sissemaks_pr.value = pr;
}

function set_sissemaks() {
	
	var summa = getTarget('summa').value;
	var sissemaks = getTarget('sissemaks');
	var sissemaks_pr = getTarget('sissemaks_pr').value;
	var sm;
	
	if(summa && sissemaks_pr) {
		sm = summa*(sissemaks_pr/100);
		sm = roundNumber(sm, 2);
	}
	else {
		sm = '';
	}
	
	sissemaks.value = sm;
}

function set_intress() {
	
	var summa = getTarget('summa').value;
	
	if(summa < 20000) {
		intress = intress_1;
	}
	else {
		intress = intress_2;
	}

	if(intress) {
		getTarget('intress_pr').innerHTML = intress+' % ';
	}
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function number_format (number, decimals, dec_point, thousands_sep) {
   
    var n = number, prec = decimals;
 
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);    var sep = (typeof thousands_sep === 'undefined') ? ' ' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
     var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);    } else {
        s = s.replace('.', dec);
    }
 
    var decPos = s.indexOf(dec);    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';    }
    return s;
}

