﻿// Validerej integer vnos
function validateInt(element)
   {
      var value = document.getElementById(element).value;

      switch (isInteger(value))
      {
         case true:
            //alert(value+ " je pravo število")
            break;
         case false:
            alert("Vnos: ( " + value + " ) ni pravilen vnos");
            document.getElementById(element).value = '0';
            selectAll(element);
      }
   }

// Funkcija če je polje integer
function isInteger(s)
   {
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return 0;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
   }

// Funkcija če je prazen vnos
function isEmpty(s)
	{
      return ((s == null) || (s.length == 0))
	 }

// Funkcija če je vnos cifra ali pikica
function isDigit (c)
	{
      return ((c >= "0") && (c <= "9") || (c == "."))
	}
	
// Funkcija selselect = all da se ne podaljšujejo vpisi in nizi v polju
function selectAll(element)
	{
		document.getElementById(element).select();	
	}
	
function hidediv(element) 
	{
		//if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(element).style.visibility = 'hidden';
	} 
	
function GetDataFrom(element)
	{
      
	  return document.getElementById(element).value;
	}

// Show page... also generate AJAX push data to session in mudules/session_data.php to store data...! hip hip
function ShowPage(a) 
	{
		//if (document.getElementById) { // DOM3 = IE5, NS6  --  mama or papa must implement beafore someone see this mess
		
		// Ce so podatki veljavni spuščaj naprej drugače ustavi delovanje...!
		if (PreveriStran(a) == false) { exit; }

		
		var i=1;
		for (i=1;i<=9;i++)
		{ 
			if (a == i) 
			{
				//alert('container'+a+' a==i, a= '+a+'   and i= '+i);
				document.getElementById('container' + i).style.display = 'block';
				document.getElementById('container' + i).style.visibility = 'visible';
				//alert('container'+i.toString()+' is visible');
			} 
				else 
			{ 
				document.getElementById('container' + i).style.display = 'none';
				document.getElementById('container' + i).style.visibility = 'hidden'; 
				//alert('container'+i+' is hidden');

			}

		}
		sendDataToSessionPhp(a);
	} 

function sendDataToSessionPhp(page) {
	
	xmlhttp=null;
	
 	if (window.XMLHttpRequest) {// code for all new browsers
  		xmlhttp = new XMLHttpRequest();
  	}
  	else if (window.ActiveXObject) {// code for IE5 and IE6
    	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  	}
	
	
	if (xmlhttp != null) {

		var param 	= 	'?s=1';
		param 		+= 	'&page='	+	page;

	// Page 1
		for (i=1;i<=4;i++) {
			param 		+= 	'&p1_i'+ i +'='	+	GetDataFrom('p1_i' + i);
			param 		+= 	'&p1_f'+ i +'='	+	GetDataFrom('p1_f' + i);
		}
	// Page 2
		for (i=1;i<=7;i++) {
			param 		+= 	'&p2_i'+ i +'='	+	GetDataFrom('p2_i' + i);
			param 		+= 	'&p2_f'+ i +'='	+	GetDataFrom('p2_f' + i);
		}
	// Page 3
		for (i=1;i<=5;i++) {
			param 		+= 	'&p3_i'+ i +'='	+	GetDataFrom('p3_i' + i);
			param 		+= 	'&p3_f'+ i +'='	+	GetDataFrom('p3_f' + i);
		}
	// Page 4
		for (i=1;i<=5;i++) {
			param 		+= 	'&p4_i'+ i +'='	+	GetDataFrom('p4_i' + i);
			param 		+= 	'&p4_f'+ i +'='	+	GetDataFrom('p4_f' + i);
		}
	// Page 5
		for (i=1;i<=5;i++) {
			param 		+= 	'&p5_i'+ i +'='	+	GetDataFrom('p5_i' + i);
			param 		+= 	'&p5_f'+ i +'='	+	GetDataFrom('p5_f' + i);
		}

	// Page 6
		for (i=1;i<=2;i++) {
			param 		+= 	'&p6_i'+ i +'='	+	GetDataFrom('p6_i' + i);
			param 		+= 	'&p6_f'+ i +'='	+	GetDataFrom('p6_f' + i);
		}
	// Page 7
		for (i=1;i<=11;i++) {
			param 		+= 	'&p7_i'+ i +'='	+	GetDataFrom('p7_i' + i);
			param 		+= 	'&p7_f'+ i +'='	+	GetDataFrom('p7_f' + i);
		}
	// Page 8
		for (i=1;i<=4;i++) {
			param 		+= 	'&p8_i'+ i +'='	+	GetDataFrom('p8_i' + i);
			param 		+= 	'&p8_f'+ i +'='	+	GetDataFrom('p8_f' + i);
		}
		
		//alert(param);
		//xmlhttp.onreadystatechange = callBackTEST;

		xmlhttp.open('POST',"../modules/session_data.php",true);
		xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		//xmlhttp.setRequestHeader("Content-length", param.length);
    	//xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.send(param);
  }
  else {
    alert("Vaš brskalnik ne podpira naprednih AJAX tehnologij...");
  
 }	
	CalculateMoney();					
} 

function callBackTEST() {
  if (xmlhttp.readyState==4) {// 4 = "loaded"
    if (xmlhttp.status==200) {// 200 = OK
      alert(xmlhttp.responseText);  
    }
    else {
      alert("Problem z pridobitvijo povratne informacije...");
    }
  }
}


function CalculateMoney() {
// Calc income first
	var i1 = parseFloat(GetDataFrom('p1_i1'));
	var i2 = parseFloat(GetDataFrom('p1_i2'));
	var i3 = parseFloat(GetDataFrom('p1_i3'));	
	var i4 = parseFloat(GetDataFrom('p1_i4'));
	var f1 = parseFloat(GetDataFrom('p1_f1'));
	var f2 = parseFloat(GetDataFrom('p1_f2'));
	var f3 = parseFloat(GetDataFrom('p1_f3'));
	var f4 = parseFloat(GetDataFrom('p1_f4'));
	var res 	= 0;	
	var p2_res 	= 0;
	var p3_res 	= 0;
	var p4_res 	= 0;
	var p5_res 	= 0;
	var p6_res 	= 0;
	var p7_res 	= 0;
	var p8_res 	= 0;

		if (isNaN(f1)) {
			f1 = 1;
		} 	
		if (isNaN(f2)) {
			f2 = 2;
		} 
		if (isNaN(f3)) {
			f3 = 3;
		} 
		if (isNaN(f4)) {
			f4 = 4;
		} 
		i1 *= f1;
		i2 *= f2;
		i3 *= f3;
		i4 *= f4;

	dohodek = (i1 + i2 + i3 + i4).toFixed(2);
	// Prevei ali je dohodek sploh izračunljiv čene mu dej default vrednost !
	if (isNaN(dohodek)) {
		document.getElementById('result_skupnidohodki').value = '0.00';
	} else {
		document.getElementById('result_skupnidohodki').value = dohodek;	
	}

	for (i=1;i<=7;i++) {		
			var data = parseFloat(GetDataFrom('p2_i' + i) * GetDataFrom('p2_f' + i)) ;
			res = res + data;
			p2_res += data; 
	} 	
	for (i=1;i<=5;i++) {
		var data = parseFloat(GetDataFrom('p3_i' + i) * GetDataFrom('p3_f' + i)) ;
			res = res + data;
			p3_res += data;
	}
	for (i=1;i<=5;i++) {
		var data = parseFloat(GetDataFrom('p4_i' + i) * GetDataFrom('p4_f' + i)) ;
			res = res + data;
			p4_res += data;
	}
	for (i=1;i<=5;i++) {
		var data = parseFloat(GetDataFrom('p5_i' + i) * GetDataFrom('p5_f' + i)) ;
			res = res + data;
			p5_res += data;
	}
	for (i=1;i<=2;i++) {
		var data = parseFloat(GetDataFrom('p6_i' + i) * GetDataFrom('p6_f' + i)) ;
			res = res + data;
			p6_res += data;
	}
	for (i=1;i<=11;i++) {
		var data = parseFloat(GetDataFrom('p7_i' + i) * GetDataFrom('p7_f' + i)) ;			
			res = res + data;
			p7_res += data;
	}
	for (i=1;i<=4;i++) {
		var data = parseFloat(GetDataFrom('p8_i' + i) * GetDataFrom('p8_f' + i)) ;
			res = res + data;
			p8_res += data;
	}

 	
 // Nafilej podatke v polja na strani 9 !
	if ((res).toFixed(2).length == 0) {
			document.getElementById('result_skupnistroski').value = 0;		
	} else {
			document.getElementById('result_skupnistroski').value = (res).toFixed(2);
	}

	if (isNaN((res / 12))) {
		document.getElementById('result_mesecnistroski').value = '0.00';		
	} else {
		document.getElementById('result_mesecnistroski').value = (res / 12).toFixed(2);
	}
	//alert(dohodek - res);
	// Letni saldo check
	if (isNaN(dohodek - res)) {
		document.getElementById('result_letnisaldo').value = '0.00';		
	} else {
		document.getElementById('result_letnisaldo').value = (dohodek - res).toFixed(2);
	}
	// Mesecni saldo check
	if (isNaN(dohodek - res)) {
		document.getElementById('result_povprecnimesecnisaldo').value = '0.00';		
	} else {
		document.getElementById('result_povprecnimesecnisaldo').value = ((dohodek - res) / 12 ).toFixed(2);
	}

// nafilej še sub stroške	
	document.getElementById('result_sub_stanovanje').value 	= (p2_res).toFixed(2);
	document.getElementById('result_sub_prevoz').value 		= (p3_res).toFixed(2);
	document.getElementById('result_sub_zavarovanje').value = (p4_res).toFixed(2);
	document.getElementById('result_sub_varcevanje').value 	= (p5_res).toFixed(2);
	document.getElementById('result_sub_davki').value 		= (p6_res).toFixed(2);
	document.getElementById('result_sub_redni').value 		= (p7_res).toFixed(2);
	document.getElementById('result_sub_pocitnice').value 	= (p8_res).toFixed(2);
}


function PreveriStran(pageNum) {
	// Za vsako stran posebej preveri ali so polja denarja z frekvenco parna čene pokaži alert ter ne spusti naprej !
	// Zdej preverjamo že 3-tič po funkcijah... lahko bi se dalo že v array vendar zaradi same aplikacija pač to ni potrebno !
	pageNum = pageNum-1;
	var msg = ('Opozorilo: vpisana polja so nezadostna. V kolikor ste v polje vrednost vpisali podatek potem mora biti frekvenca določena in večja kot 0 (nič)');
	switch (pageNum) {
		case 1:	for (i=1;i<=4;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;	
						}
					}break;
					
		case 2:	for (i=1;i<=7;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;
						}
					}break;	
							
		case 3:	for (i=1;i<=5;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;
						}
		
					}break;
					
		case 4:	for (i=1;i<=5;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;	
						}
					}break;	
					
		case 5:	for (i=1;i<=5;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;
						}
					}break;				
		case 6:	for (i=1;i<=2;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;	
						}
					}break;	
		case 7:	for (i=1;i<=11;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;	
						}
					}break;	
		case 8:	for (i=1;i<=4;i++) { 
						if 	(( 	document.getElementById('p' + pageNum + '_i' + i).value > 0 ) && 
							(( 	document.getElementById('p' + pageNum + '_f' + i).value.length == 0 ) ||
							(	document.getElementById('p' + pageNum + '_f' + i).value == 0 ))) {
							alert(msg);
							return false;
						}
					}break;	
}
}


