calcWindow = null;
calcTitle = '';
calcContent = '';
calcPrice = 0;
function calculateOffer(price){
	
	myWidth = getVisibleHeight(0);
	myHeight = getVisibleHeight(1);
	
	visibleWidth = (myWidth-400)/2;
	visibleHeight = (myHeight-400)/2+document.documentElement.scrollTop;
	
	if(calcWindow){ 
		calcWindow.setPosition( visibleHeight, visibleWidth );
		calcWindow.show();
	}
	else{
		calcWindow = new mWindow( calcTitle, visibleHeight, visibleWidth ,400, 400 );
		calcWindow.setContent( calcContent );		
		calcWindow.show();
	}
	
	if(price==undefined && calcPrice!=0) price = calcPrice;
	
	if(price!=undefined){
		document.forms['kalkulator'].cena.value = price;
		licz();
	}
}

function getVisibleHeight(Mode) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  if(Mode==0) return myWidth;
  if(Mode==1) return myHeight;
}


function spr(pole) {
	var mozliwosc = "0123456789.,";
	
       i = pole.length - 1;
       j = 0; 
       err = true;
  for (var j = 0; j < mozliwosc.length; j++) {
         if (pole.charAt(i) == mozliwosc.charAt(j)) err = false;
       }
       return err; 
}

function popraw(pole) {
/*
       reg1  = new RegExp("^([0-9]+)(.*)$", "i");
       reg2  = new RegExp("[.,]", "gi"); 
       part1 = pole.replace(reg1,'$1');
       part2 = pole.replace(reg1,'$2');
       part2 = part2.replace(reg2,'');
       if (part2) part2 = '.'+part2;
       return part1+part2;
*/
  return pole;
}

function change(r1,r2) {
  if (r1.checked) r2.checked = false;
}

function licz() {
	var mozliwosc = "0123456789.,";
	var form = document.forms['kalkulator'];
  //zerowanie danych
  var taksa_notarialna = 0;
  var oplata_skarbowa = 0;
  var VAT_od_taksy = 0;
  var prowizja = 0;
       var prowizja_procent = 0;       var prowizja_procent_start = 0;
  var oplata_sadowa = 0;
  var oplaty_dod = 0;
  var suma = 0;

  //ustalenie danych podstawowych
  cena = form.cena.value; wartosc = cena;
  waluta = form.elements['waluta'].value;

  //sprawdzenie poprawnosci ceny
  err = spr(wartosc);
  if (err) form.elements['cena'].value = wartosc.substring(0,i);
  if ((wartosc.length == 1) && (wartosc == 0)) form.elements['cena'].value = wartosc.substring(0,i);
  form.elements['cena'].value = popraw(form.elements['cena'].value);
  cena = parseFloat(wartosc) * parseFloat(waluta);
  if (wartosc.length == 0) cena = 0;

  //sprawdzenie poprawnosci oplaty skarbowej
  if (form.elements['oplata1'].checked) oplata_skarbowa = cena * 0.02;
  else oplata_skarbowa = cena * 0.02;
  oplata_skarbowa = (Math.round(oplata_skarbowa * 100))/100;
  if (!isNaN(oplata_skarbowa)) form.elements['oplata_skarbowa'].value = oplata_skarbowa.toString(10);

  //sprawdzenie poprawnosci taksy notarialnej
  if (form.elements['oplata1'].checked) {
         if ((cena > 0) && (cena <= 3000))       taksa_notarialna = 50;
         if ((cena > 3000) && (cena <= 10000)) taksa_notarialna = (100 + ((cena - 3000)*0.03))/2;
         if ((cena > 10000) && (cena <= 30000)) taksa_notarialna = (310 + ((cena - 10000)*0.02))/2;
         if ((cena > 30000) && (cena <= 60000)) taksa_notarialna = (710 + ((cena - 30000)*0.01))/2;
         if ((cena > 60000) && (cena <= 1000000)) taksa_notarialna = (1010 + ((cena - 60000)*0.005))/2;
         if (cena > 1000000) taksa_notarialna = (5710 + ((cena - 1000000)*0.0025))/2;
  } else if (form.elements['oplata2'].checked) {
         if ((cena > 0) && (cena <= 3000)) taksa_notarialna = 100;
         if ((cena > 3000) && (cena <= 10000))       taksa_notarialna = (100 + ((cena - 3000)*0.03));
         if ((cena > 10000) && (cena <= 30000)) taksa_notarialna = (310 + ((cena - 10000)*0.02));
         if ((cena > 30000) && (cena <= 60000)) taksa_notarialna = (710 + ((cena - 30000)*0.01));
         if ((cena > 60000) && (cena <= 1000000)) taksa_notarialna = (1010 + ((cena - 60000)*0.005));
         if (cena > 1000000) taksa_notarialna = (5710 + ((cena - 1000000)*0.0025));
  }
  taksa_notarialna = (Math.round(taksa_notarialna * 100))/100;
  if (!isNaN(taksa_notarialna))
  form.elements['taksa_notarialna'].value = taksa_notarialna.toString(10);

  //sprawdzenie poprawnosci vat-u od taksy       
  VAT_od_taksy = taksa_notarialna * 0.22;
  VAT_od_taksy = (Math.round(VAT_od_taksy * 100))/100;
  if (!isNaN(VAT_od_taksy))
  form.elements['vat_od_taksy_notarialnej'].value = VAT_od_taksy.toString(10);

  //sprawdzenie poprawnosci procent prowizji
  prowizja_procent = form.elements['prowizja_agencji_procent'].value;
  i = prowizja_procent.length - 1; err = true; j = 0;
  for (var j = 0; j < mozliwosc.length; j++) if (prowizja_procent.charAt(i) == mozliwosc.charAt(j)) err = false;
  if ((prowizja_procent.charAt(i) == ",") || (prowizja_procent.charAt(i) == ".")) {
    form.elements['prowizja_agencji_procent'].value = prowizja_procent.substring(0,i) + ".";
    err = false
  }
  if (err) form.elements['prowizja_agencji_procent'].value = prowizja_procent.substring(0,i);
  if ((wartosc.length == 1) && (wartosc == 0)) form.elements['prowizja_agencji_procent'].value = prowizja_procent.substring(0,i);
       //if (prowizja_procent=='')  form.elements['prowizja_agencji_procent'].value= prowizja_procent_start;
  prowizja_procent = parseFloat(prowizja_procent);
  if (prowizja_procent.length == 0) prowizja_procent = 0;

  //sprawdzenie poprawnosci prowizji
       prowizja = cena * prowizja_procent * 0.01;
  prowizja = (Math.round(prowizja * 100))/100;
  if (!isNaN(prowizja)) form.elements['prowizja_agencji'].value = prowizja.toString(10);
    prowizjavat=prowizja * 0.22;
  //sprawdzenie poprawnosci oplaty sadowej
  if (form.elements['oplata1'].checked && form.elements['ksiega'].checked==false) {
    oplata_sadowa = 0;
    form.elements['oplata_sadowa'].value = "nie ma";
  }
  else if (form.elements['oplata2'].checked || form.elements['ksiega'].checked==true) {
              if ((cena > 0) && (cena <= 10000)) oplata_sadowa = cena * 0.08;
         if ((cena > 10000) && (cena <= 50000)) oplata_sadowa = 800 + ((cena - 10000) * 0.07);
         if ((cena > 50000) && (cena <= 100000))       oplata_sadowa = 3600 + ((cena - 50000) * 0.06);
         if (cena > 100000)       oplata_sadowa = 6600 + ((cena - 100000) * 0.05);
         oplata_sadowa = oplata_sadowa * 0.2;
              if (oplata_sadowa>100000) oplata_sadowa=100000;
              if (oplata_sadowa<20) oplata_sadowa = 20;
    oplata_sadowa = (Math.round(oplata_sadowa * 100))/100;
    oplata_sadowa = 200;
    if (!isNaN(oplata_sadowa)) form.elements['oplata_sadowa'].value = oplata_sadowa.toString(10);
    else form.elements['oplata_sadowa'].value = "";
  }

  //sprawdzenie poprawnosci oplaty dodatkowe
  oplaty_dod = taksa_notarialna + oplata_skarbowa + VAT_od_taksy + oplata_sadowa + prowizja + prowizjavat;
  oplaty_dod = (Math.round(oplaty_dod * 100))/100;
  if (!isNaN(oplaty_dod))
  form.elements['razem_oplaty_dodatkowe'].value = oplaty_dod.toString(10);

  //sprawdzenie poprawnosci suma
  suma = cena + oplaty_dod;
  suma = (Math.round(suma * 100))/100;
  if (!isNaN(suma))
  form.elements['suma'].value = suma.toString(10);
}