/***** BEGIN LICENSE BLOCK *****
  main.js v.0.1.1 JavaScript Helper Functions for web sites

  Copyright (C) 2007  Vassil Baroff, Ratola Corp.

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
***** END LICENSE BLOCK *****/

//Cross browser apply event function.
//Usage: addEvent(window, 'load', funcName, false|true);
function addEvent(obj, evt, fu, useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fu,useCapture);
		return true;
	} else if (obj.attachEvent){
    obj.attachEvent("on"+evt,fu);
    return true;
	}
  return false;
}

var $ = document.getElementById ? function(oID){ return document.getElementById(oID) } : document.all ? function(oID){ return document.all[oID] } : function(){ return null }

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*86400000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
//dump("cookies.js LOADED ---------"+"\n");

function cfu(){
//    Лизинг БПБ Евро:
//1-5г,//минимална ПВ - 10% физически лица, 20% юридически лица Лихва: 7.5%
//6,7г.//минимална ПВ - 30% Лихва: 7.95%
//[Петър Кръстев]
  var interest = 7.5;// lihva
  var iprc=$("in_prc").value;
  var iyrs=$("in_years").value;
  var idwn=$("in_downpmt").value;
  var ifl=$("in_fizlice").value;
  if (iprc.length > 4){
  iprc = iprc.replace(/[^\d]/g, '');
  iprc = parseInt(iprc,10);
    if (isNaN(iprc)) {
      return;
    }
// Първоначална вноска:
// Такса за лизингови услуги:
// Общо първоначално плащане:
//id="in_prc" id="in_years" id="in_downpmt"
//id="out_downpmt" "out_downtax" "out_downtotal" id="out_mpmt" id="out_opmt"
//  Такса за лизингови услуги: if(srok>25meseca){2.5%}else{2%}*Сума за разсрочване
//    $("in_prc").value = iprc;
    $("in_prc").value = iprc.toString().replace(/([\d]{1,3})([\d]{3})$/g, "$1"+"'"+"$2");
    var dtc = 2;
    if (iyrs>25){
      dtc = 2.5;
    }
    if (ifl=="yl"&&idwn<20){idwn=20;$("in_downpmt").selectedIndex = 2}
    if (iyrs>60){
      interest = 7.95;
      if (idwn<30){idwn=30;$("in_downpmt").selectedIndex = 4}
    }

    var downpayment =  (iprc*idwn/100).toFixed(2);
//dump("downpayment: "+downpayment+"\n");
    var downtax = ((iprc-downpayment)*dtc/100).toFixed(2);
//dump("downtax: "+downtax+"\n");
    var downtotal = (parseFloat(downpayment)+parseFloat(downtax)).toFixed(2);
//dump("downtotal: "+downtotal+"\n");

    interest /= 100.0;
    interest /= 12;
//dump("interest: "+interest+"\n");
    var pow = 1;
    for (var j = 0; j < iyrs; j++){
        pow = pow * (1 + interest);
    }
    var mpmt = (((iprc-downpayment) * pow * interest) / (pow - 1)).toFixed(2);
    var out_opmt = (((iyrs*mpmt+parseInt(downtotal,10))/iprc - 1)*100/(iyrs/12)).toFixed(2);
    function makeThSep(n){
      return n.toString().replace(/([\d]{1,3})([\d]{3}).([\d]{2})$/g, "$1"+"'"+"$2"+"."+"$3");
    }
    var o=$("out_downpmt");
    o.innerHTML = makeThSep(downpayment);
    var o=$("out_downtax");
    o.innerHTML = makeThSep(downtax);
    var o=$("out_downtotal");
    o.innerHTML = makeThSep(downtotal);
    var o=$("out_mpmt");
    o.innerHTML = makeThSep(mpmt);
    var o=$("out_opmt");
    o.innerHTML = out_opmt;
  }
}
function goFu(){
  getPrcTable();
  var o=$("jswarn");
  if (o){
    o.parentNode.removeChild(o);
  }
  o=$("in_prc");
  addEvent(o, 'keyup', cfu, false);
  addEvent(o, 'mouseout', cfu, false);
  o=$("in_years");
  addEvent(o, 'keypress', cfu, false);
  addEvent(o, 'click', cfu, false);
  o=$("in_downpmt");
  addEvent(o, 'keypress', cfu, false);
  addEvent(o, 'click', cfu, false);
}

var curFontSize = 13;
var baseFontSize = 13;
var minSize = 8;
var maxSize = 28;

function goZoomFu(){
  var o=$("zbp");
  if (o){
    addEvent(o, 'click', setZP, false);
    o=$("zb0");
    addEvent(o, 'click', setZ0, false);
    o=$("zbm");
    addEvent(o, 'click', setZM, false);
  }
  getFontSize();
}
function getFontSize() {
	var x = parseInt(readCookie("ratolaFontSize"));
  if (!x){
    x=baseFontSize;
  }
  if (x>=minSize&&x<=maxSize) {
    setFontSize(x);
  }
}
function setZP() {
  if (curFontSize < maxSize){
    setFontSize(curFontSize+1);
  };
  this.focus();
}
function setZM() {
  if (curFontSize > minSize){
    setFontSize(curFontSize-1);
  };
  this.focus();
}
function setZ0() {
  setFontSize(baseFontSize);
  this.focus();
}
function setFontSize(s) {
  var pars = $("mainContent").getElementsByTagName("p");
  for (var i=0;i<pars.length;i++) {
    pars[i].style.fontSize = s + "px";
  };
  curFontSize = s;
  setCookie("ratolaFontSize",s,30);
}
addEvent(window,'load',goZoomFu,false);
//prc_table
function getPrcTable(){
  var t=$('prc_table');
  var r = t.getElementsByTagName('tr');
  function getSubStyle(e){
    for (var i=0;i<e.length;i++){
      e[i].className+=' tablewhitetext';
    }
  }
  getSubStyle(r[0].cells);
  getSubStyle(r[r.length-1].cells);

  for (var i=0;i<r.length;i++){
    var c = r[i].getElementsByTagName('td');
    for (var j=0;j<c.length;j++){
      if (!c[j].hasChildNodes()) {
        getSubStyle(c);
        break;
      }
      if (c[j].innerHTML == '●'){
        c[j].className='greenFont';
      }
      if (c[j].innerHTML == '×'){
        c[j].className='redFont';
      }
    }
  }
}
function setMailto(aUser, aSubj, aBody, aHost){
  if(aUser){
    aHost = aHost || "ratola.bg";
    aSubj = aSubj || "web%20request";
    return "<a href=" + "mailt" + "o:" + aUser + "&#64;" + aHost + "?subject=" + aSubj +
    (aBody?"&amp;body=" + aBody:"") + ">" +aUser+"&#64;"+aHost+"</a>";
  }
  return "";
}

