var max_page_height = 700;
var agt=navigator.userAgent.toLowerCase();
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
               && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
               && (agt.indexOf('webtv')==-1));
var is_major = parseInt(navigator.appVersion);
var is_opera = (agt.indexOf("opera") != -1);
var not_nav6 = (is_nav && (is_major < 5));
var isNN=(navigator.appName=="Netscape");

var is_opera7 = (is_opera && agt.indexOf("7.")!=-1);
var is_opera6 = (is_opera && !is_opera7);

if(!document.getElementById){
	if(eval){
	   document.getElementById = eval
	}
}

var my_height;
function detect_height()
{/*   version 1.4.0.00 */
	if(isNN){
		if(not_nav6){
			my_height=window.innerHeight+5;
		}else{
			my_height=window.innerHeight;
		}
	}else if(is_opera){
		my_height=window.innerHeight;
	}else{
		my_height=document.body.clientHeight;
	}
}
//detect_height()
function detect_width()
{/*   version 1.4.0.00 */
	if(isNN){
//		if(not_nav6){
//			my_width=window.innerHeight+5;
//		}else{
			my_width=window.innerWidth;
//		}
	}else if(is_opera){
		my_width=window.innerWidth;
	}else{
		my_width=document.body.clientWidth;
	}
	return my_width;
}

//window.onresize = resizer
//window.onerror = handle_error
var msg_array = new Array()
var url_array = new Array()
var lno_array = new Array()

function handle_error(msg,url,lno)
{/*   version 1.4.0.01 */
   msg_array[msg_array.length] = msg
   url_array[url_array.length] = url
   lno_array[lno_array.length] = lno
   pom = "*** Mssg No. : "+msg_array.length
   pom+= (lno_array.length>0) ? " (ln:"+lno_array[0]+")" : ""
   window.status = pom
   return true
}

function starer(){
	detect_height()
	sredi_sadrzaj()
}
function starerHome(){
	detect_height()
	sredi_sadrzajHome()
}
function resizer(){
	detect_height()
//	setTimeout("sredi_sadrzaj()",100)
	sredi_sadrzaj()
}
function sredi_sadrzaj()
{/*   version 1.4.0.01 */
	var otherElementsH = 60 + 1 + 30 + 1 + 1 + 1 + 1 + 17 + 25 + 30;
	if(document.getElementById && my_height > document.getElementById("leftPane").offsetHeight + otherElementsH)
	  document.getElementById("centralTemplatePart").style.height = my_height - otherElementsH - 44;

}
function sredi_sadrzajHome()
{/*   version 1.4.0.01 */
	var otherElementsH = 60 + 1 + 30 + 1 + 1 + 1 + 1 + 17 + 25 + 30;
	if(document.getElementById && my_height > document.getElementById("leftPane").offsetHeight + otherElementsH)
	  document.getElementById("centralTemplatePart").style.height = my_height - otherElementsH - 95;

}
function printOrder(_url)
{/*   version 1.4.0.00 */
	printWindow = window.open(_url,
							  "printWindow","toolbar=0, location=0, status=1, resizable=1, menubar=1, "+
							  "scrollbars=1, width=750, height=540");
	printWindow.focus();
}

function statusWrite(_what, _when)
{/*   version 1.4.0.00 */
   if(_what == null)
      _what = "";
   if(_when == null)
      _when = 10;
   statusTimeout = setTimeout("window.status='"+_what+"'",_when)
}

function popup(_url)
{/*   version 1.4.0.00 */
	popupWindow = window.open(_url,
							  "popupWindow","toolbar=0, location=0, status=1, resizable=1, menubar=0, "+
							  "scrollbars=1, width=790, height=540");
	popupWindow.focus();
}

function notification(_text)
{/*   version 1.4.0.00 */
	alert(_text);
}

function sendmail(_to,_subject,_body)
{
//   _code = "utf-8";
//   _to = "kontakt@delos.co.yu"
//   _subject = "Posetilac%20sajta"
//
//   mail_str += "mailto:"+_to+"?subject="+_subject;
//   mail_str = "mailto:kontakt@delos.co.yu?subject=Posetilac%20sajta";
   self.location.href = "mailto:Delta%20Osiguranje<kontakt@deltagenerali.rs>?subject=Posetilac%20sajta"
}


function backfrompopup()
{
//   mrt
}

function table_data_over(id,lvl)
{
   // uradjeni samo overi nad tabelom, treba uraditi overe nad linkovima!?!?!?
   if(id==null)
      return
   if(lvl==null)
      return
   if(!id.hasChildNodes())
		return
   for(var i=0; i<id.childNodes.length; i++){
      switch(id.childNodes[i].nodeType){
         // element node
         case 1:
            t_tabl = id.childNodes[i];
            break;
         // text node
         case 3:
            break;
      }
   }
   t_klas = t_tabl.className;
	if(t_klas)
		if(	t_klas.indexOf("item")!=-1 &&
			t_klas.indexOf("Level")!=-1)
			if(	t_klas.substr(t_klas.length-2,t_klas.length-1)!="on" &&
				t_klas.substr(t_klas.length-2,t_klas.length-1)!="ov")
				t_tabl.className = t_klas + "ov"
}

function table_data_out(id,lvl)
{
   // uradjeni samo overi nad tabelom, treba uraditi overe nad linkovima!?!?!?
   if(id==null)
      return
   if(lvl==null)
      return
   if(!id.hasChildNodes())
		return
   for(var i=0; i<id.childNodes.length; i++){
      switch(id.childNodes[i].nodeType){
         // element node
         case 1:
            t_tabl = id.childNodes[i];
            break;
         // text node
         case 3:
            break;
      }
   }
   t_klas = t_tabl.className;
	if(t_klas)
		if(	t_klas.indexOf("item")!=-1 &&
			t_klas.indexOf("Level")!=-1)
			if(	t_klas.substr(t_klas.length-2,t_klas.length-1)!="on" &&
				t_klas.substr(t_klas.length-2,t_klas.length-1)=="ov")
				t_tabl.className = t_klas.substr(0,t_klas.length-2)
}

function table_data_click(targetAddress,targetWindow)
{
	if(targetAddress != "empty"){
		if(targetWindow == "_self"){
			location = targetAddress;
		}else if(targetWindow == "_blank"){
			window.open(targetAddress);
		}
	}
}

function checkPrinos(obj, defaultVal) {
   if(isNaN(obj * 1)) obj = defaultVal;
   obj = Math.round(obj * 100)/100;
   if(obj < 0.25) obj = 0.25;
   if(obj > 20) obj = 20;
   var prinosArray = obj.toString().split(/\./);
   if(prinosArray[1] && prinosArray[1].length) {
      if(prinosArray[1].toString().length < 2) prinosArray[1] = prinosArray[1] + 0;
      if(prinosArray[1] < 13) prinosArray[1] = 0;
      if(prinosArray[1] >= 13 && prinosArray[1] < 38) prinosArray[1] = 25;
      if(prinosArray[1] >= 38 && prinosArray[1] < 63) prinosArray[1] = 50;
      if(prinosArray[1] >= 63 && prinosArray[1] < 88) prinosArray[1] = 75;
      if(prinosArray[1] >= 88) {
         prinosArray[0] = Math.round(prinosArray[0]) + 1;
         prinosArray[1] = 0;
      }
      obj = Math.round(prinosArray[0]) + Math.round(prinosArray[1]*1)/100;
   }
   return obj;
}
function checkUplata(obj, defaultVal) {
   if(isNaN(obj * 1)) obj = defaultVal;
   return obj;
}
function checkNaknada(obj, defaultVal) {
   if(isNaN(obj * 1)) obj = defaultVal;
   obj = Math.round(obj * 100)/100;
   if(obj < 0) obj = 0;
   if(obj > 3) obj = 3;
   var naknadaArray = obj.toString().split(/\./);
   if(naknadaArray[1] && naknadaArray[1].length && naknadaArray[1].toString().length == 2) {
      if(naknadaArray[1].toString().charAt(1) < 3)
         naknadaArray[1] = naknadaArray[1].toString().charAt(0) + 0;
      else if(naknadaArray[1].toString().charAt(1) < 8)
         naknadaArray[1] = naknadaArray[1].toString().charAt(0) + 5;
      else {
         naknadaArray[1] = Math.round(naknadaArray[1].toString().charAt(0)) + 1;
         if(naknadaArray[1] == 10) {
            naknadaArray[0] = Math.round(naknadaArray[0]) + 1;
            naknadaArray[1] = 0;
         }
         naknadaArray[1] = naknadaArray[1].toString().charAt(0) + 0;
      }
      obj = Math.round(naknadaArray[0]) + Math.round(naknadaArray[1]*1)/100;
   }
   return obj;
}
function checkPeriodUplate(obj, defaultVal) {
   if(isNaN(obj * 1)) obj = defaultVal;
   obj = Math.round(obj);
   if(obj < 1) obj = 1;
   if(obj > 70) obj = 70;
   return obj;
}
function checkGodineIsplate(obj, defaultVal) {
   if(isNaN(obj * 1)) obj = defaultVal;
   obj = Math.round(obj);
   if(obj < 1) obj = 1;
   if(obj > 50) obj = 50;
   return obj;
}
function doCalc(calctype) {
   document.CalcForm.GodisnjiPrinosI.value = checkPrinos(document.CalcForm.GodisnjiPrinosI.value, 8.5);
   document.CalcForm.GodisnjiPrinosII.value = checkPrinos(document.CalcForm.GodisnjiPrinosII.value, 8.5);
   document.CalcForm.MesecnaUplataI.value = checkUplata(document.CalcForm.MesecnaUplataI.value, 10000);
   document.CalcForm.JednokratnaUplataII.value = checkUplata(document.CalcForm.JednokratnaUplataII.value, 3500000);
   document.CalcForm.UlaznaNaknadaI.value = checkNaknada(document.CalcForm.UlaznaNaknadaI.value, 3);
   document.CalcForm.UlaznaNaknadaII.value = checkNaknada(document.CalcForm.UlaznaNaknadaII.value, 3);
   document.CalcForm.PeriodUplateI.value = checkPeriodUplate(document.CalcForm.PeriodUplateI.value, 20);
   document.CalcForm.PeriodClanstvaII.value = checkPeriodUplate(document.CalcForm.PeriodClanstvaII.value, 5);
   document.CalcForm.PeriodIsplateI.value = checkGodineIsplate(document.CalcForm.PeriodIsplateI.value, 22);
   document.CalcForm.PeriodIsplateII.value = checkGodineIsplate(document.CalcForm.PeriodIsplateII.value, 22);

   C3  = document.CalcForm.GodisnjiPrinosI.value;
   C4  = document.CalcForm.MesecnaUplataI.value;
   C5  = document.CalcForm.UlaznaNaknadaI.value;
   C6  = document.CalcForm.PeriodUplateI.value;
   C11 = document.CalcForm.PeriodIsplateI.value;

   C18 = document.CalcForm.GodisnjiPrinosII.value;
   C19 = document.CalcForm.JednokratnaUplataII.value;
   C20 = document.CalcForm.UlaznaNaknadaII.value;
   C21 = document.CalcForm.PeriodClanstvaII.value;
   C26 = document.CalcForm.PeriodIsplateII.value;

   if(calctype == 1){
//       ((C4*(1-C5/100)*((((1+C3/100)^(1/12))^(C6*12)-1)/((1+C3/100)^(1/12)-1))*(1+C3/100)^(1/12)))
      document.CalcForm.AkumuliranaSumaI.value =
         Math.round(
            (
               C4*(1-C5/100)*
               (
                  (Math.pow(Math.pow((1+C3/100),(1/12)),(C6*12))-1)/
                  (Math.pow((1+C3/100),(1/12))-1)
               )*
               Math.pow((1+C3/100),(1/12))
            )*100
         )/100;
      C9  = document.CalcForm.AkumuliranaSumaI.value;
      document.getElementById('AkumuliranaSumaIDiv').innerHTML = formatNum(C9,2);

//       (C9*(((1+C3/100)^(1/12))-1))/((1-(1/(((1+C3/100)^(1/12))^(C11*12)))))
      document.CalcForm.MesecnaIsplataI.value =
         Math.round(
            (
               (C9*(Math.pow((1+C3/100),(1/12))-1))/
               ((1-(1/Math.pow(Math.pow((1+C3/100),(1/12)),(C11*12)))))
            )*100
         )/100;
      C12 = document.CalcForm.MesecnaIsplataI.value;
      document.getElementById('MesecnaIsplataIDiv').innerHTML = formatNum(C12,2);
   }else if(calctype == 2) {
//       C19*(1-C20/100)*(1+C18/100)^C21
      document.CalcForm.AkumuliranaSumaII.value =
         Math.round(
            (
               C19*(1-C20/100)*Math.pow((1+C18/100),C21)
            )*100
         )/100;
      C24 = document.CalcForm.AkumuliranaSumaII.value;
      document.getElementById('AkumuliranaSumaIIDiv').innerHTML = formatNum(C24,2);

//       (C24*(((1+C18/100)^(1/12))-1))/((1-(1/(((1+C18/100)^(1/12))^(C26*12)))))
      document.CalcForm.MesecnaIsplataII.value =
         Math.round(
            (
               (C24*(Math.pow((1+C18/100),(1/12))-1))/
               ((1-(1/Math.pow(Math.pow((1+C18/100),(1/12)),(C26*12)))))
            )*100
         )/100;
      C27 = document.CalcForm.MesecnaIsplataII.value;
      document.getElementById('MesecnaIsplataIIDiv').innerHTML = formatNum(C27,2);
   }
}
function format (expr, decplaces) {
   // raise incoming value by power of 10 times the
   // number of decimal places; round to an integer; convert to string
   var str = "" + Math.round (eval(expr) * Math.pow(10,decplaces))
   // pad small value strings with zeros to the left of rounded number
   while (str.length <= decplaces) {
   str = "0" + str
   }
   // establish location of decimal point
   var decpoint = str.length - decplaces
   // assemble final result from: (a) the string up to the position of
   // the decimal point; (b) the decimal point; and (c) the balance
   // of the string. Return finished product.
   return str.substring(0,decpoint) + "," + str.substring(decpoint,str.length);
}
function formatNum(expr,decplaces) {
   var str = (Math.round(parseFloat(expr) * Math.pow(10,decplaces))).toString();
   while (str.length <= decplaces) {
      str = "0" + str;
   }
   for(i=0; i<str.length; i++){

   }
   var decpoint = str.length - decplaces;
   var nr = Math.floor((str.length - decplaces)/3);
   var resto = (str.length - decplaces) - nr*3;
   var returnStr = str.substring(0,resto);
   for(i=1; i<=nr; i++){
      if(returnStr != "")
         returnStr += ".";
      returnStr += str.substring(3*(i-1)+resto,(3*i)+resto);
   }
   returnStr += "," + str.substring(decpoint,str.length);
//      alert(returnStr)
   return returnStr;
//      return str.substring(0,decpoint) + "," + str.substring(decpoint,str.length);
}
