  
  function print_form(f)
  {
	calculate(f);
	window.print();
  }
  
  function check_family(days,adults,kids,students)
  {
  	var min_days_for_family = 3; //min # of days for family card
  	var max_days_for_family = 11; //max # of days for family card (if 11 then also 5-7 & 10-14 ticket)
  	if (days >= min_days_for_family && days <= max_days_for_family && adults-students >=2 && kids >=1)
  	{
  		return true;
  	}
  	else
  	{
  		return false;
  	}
  }
  
  function is_xday_ticket_better(ticket_price,pricesArray,days)
  {
  	//calc optimal # of days that X-Day ticket would be cheaper than X 1-day tickets
	var actual_days = days;
	if (days == 11) //5-7 ticket
	{
		actual_days = 5;
	}
	if (ticket_price*actual_days >= pricesArray[days])
	{
		return true;
	}
	else
	{
		return false;
	}
  }
  
  function check_days(days)
  {
  	if (days == 10)
  	{
  		alert("Izbrali ste vozovnico, kjer lahko smučate 10 poljubnih dni v 14 dneh.");
  	}
  	
  	if (days == 11)
  	{
  		alert("Izbrali ste vozovnico, kjer lahko smučate 5 poljubnih dni v 7 dneh.");
  	}
  }
  
  function calculate(f) {
  	
  	var sum = 0;
  	var sum_eur =0;
  	var eur = 239.64;
  	var discount = 0.15;
  	
  	var family_card = check_family(f.days.value, f.adults.value, f.kids_4_14.value, f.students.value); //can family cards be used?
  	
  	var today=new Date();
	var year=today.getFullYear();
	
	if (year < 2007)
	{  	
  		var currency_txt = " SIT\n";
  		var exchange_rate = eur;
  	}
  	else
  	{
  		var currency_txt = " EUR\n";
  		var exchange_rate = 1;
  	}
  	
  	
  	  	
  	//PRICES DEFINITION
  	var surfer = new Array(13);
  	surfer[0] = Math.round(0*exchange_rate*100)/100;
  	surfer[12] = Math.round(15.00*exchange_rate*100)/100; //half-day ticket
  	surfer[1] = Math.round(19.00*exchange_rate*100)/100;
  	
  	var surfer_kid = new Array(13);
  	surfer_kid[0] = Math.round(0*exchange_rate*100)/100;
  	surfer_kid[12] = Math.round(11.00*exchange_rate*100)/100; //half-day ticket
  	surfer_kid[1] = Math.round(14.00*exchange_rate*100)/100;

  	var kid = new Array(13);
  	kid[0] = Math.round(0*exchange_rate*100)/100;
  	kid[12] = Math.round(15.00*exchange_rate*100)/100; //half-day ticket
  	kid[1] = Math.round(18.00*exchange_rate*100)/100;
  	kid[2] = Math.round(34.00*exchange_rate*100)/100;
  	kid[3] = Math.round(50.00*exchange_rate*100)/100;
  	kid[4] = Math.round(66.00*exchange_rate*100)/100;
  	kid[5] = Math.round(81.00*exchange_rate*100)/100;
  	kid[6] = Math.round(95.00*exchange_rate*100)/100;
  	kid[7] = Math.round(108.00*exchange_rate*100)/100;
  	kid[11] = Math.round(84.00*exchange_rate*100)/100; //5-7 ticket
  	kid[10] = Math.round(165.00*exchange_rate*100)/100; //10-14 ticket
  	  	
  	var adult = new Array(13);
  	adult[0] = Math.round(0*exchange_rate*100)/100;
  	adult[12] = Math.round(20.00*exchange_rate*100)/100; //half-day ticket
  	adult[1] = Math.round(25.00*exchange_rate*100)/100;
  	adult[2] = Math.round(49.00*exchange_rate*100)/100;
  	adult[3] = Math.round(72.00*exchange_rate*100)/100;
  	adult[4] = Math.round(94.00*exchange_rate*100)/100;
  	adult[5] = Math.round(115.00*exchange_rate*100)/100;
  	adult[6] = Math.round(135.00*exchange_rate*100)/100;
  	adult[7] = Math.round(154.00*exchange_rate*100)/100;
  	adult[11] = Math.round(129.00*exchange_rate*100)/100; //5-7 ticket
	adult[10] = Math.round(242.00*exchange_rate*100)/100; //10-14 ticket
  	  	
  	var family_adult = new Array(12);
  	family_adult[3] = Math.round(57.60*exchange_rate*100)/100;
  	family_adult[4] = Math.round(75.20*exchange_rate*100)/100;
  	family_adult[5] = Math.round(92.00*exchange_rate*100)/100;
  	family_adult[6] = Math.round(108.00*exchange_rate*100)/100;
  	family_adult[7] = Math.round(123.20*exchange_rate*100)/100;
  	family_adult[11] = Math.round(96.00*exchange_rate*100)/100; //5-7 ticket
	family_adult[10] = Math.round(188.00*exchange_rate*100)/100; //10-14 ticket
  	
  	var family_kid = new Array(12);
  	family_kid[3] = Math.round(40.00*exchange_rate*100)/100;
  	family_kid[4] = Math.round(52.80*exchange_rate*100)/100;
  	family_kid[5] = Math.round(64.80*exchange_rate*100)/100;
  	family_kid[6] = Math.round(76.00*exchange_rate*100)/100;
  	family_kid[7] = Math.round(86.40*exchange_rate*100)/100;
  	family_kid[11] = Math.round(67.20*exchange_rate*100)/100; //5-7 ticket
  	family_kid[10] = Math.round(132.00*exchange_rate*100)/100; //10-14 ticket
  	//END PRICES DEFINITION
    
  	if (f.days.value == 0)
  	{
  		alert("Stevilo dni je 0!");
  		return; //end function
  	}
  	
  	if (f.students.value > f.adults.value)
  	{
  		alert ("Stevilo Studentov/dijakov ne sme biti večje od Stevila odraslih!");
  		return; //end function
  	}


  	if (f.students_surfer.value > f.surfer.value)
  	{
  		alert ("Stevilo Studentov/dijakov ne sme biti večje od Stevila deskarjev!");
  		return; //end function
  	}
	
  	
  	//initialize result form
  	f.tickets.value = "";
  	f.sum.value = 0;
  	
  	//KIDS 0-4
  	//no processing necessary
  	
  	//KIDS 4-14
  	if(f.kids_4_14.value > 0)
  	{
  		if(family_card == false)
  		{
  			sum = sum + (f.kids_4_14.value * kid[f.days.value]);
  			if (f.days.value == 12)
  			{
  				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Otroci 1/2-dnevna po: " + kid[f.days.value] + currency_txt;
  			}
  			else if (f.days.value == 11)
  			{
  				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Otroci 5/7 vozovnica po: " + kid[f.days.value] + currency_txt;
  			}
  			else if (f.days.value == 10)
  			{
  				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Otroci 10/14 vozovnica po: " + kid[f.days.value] + currency_txt;
  			}
  			else
  			{
  				f.tickets.value = f.tickets.value + "OTROCI:" + f.kids_4_14.value + "x Otroci " + f.days.value + "-dnevna po: " + kid[f.days.value] + currency_txt;
	  		}
	  	}	
		else
  		{
  			sum = sum + (f.kids_4_14.value * family_kid[f.days.value]);
			if (f.days.value == 11)
			{
				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Druzinska-otroci 5/7 vozovnica po: " + family_kid[f.days.value] + currency_txt;
			}
			else if (f.days.value == 10)
			{
				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Druzinska-otroci 10/14 vozovnica po: " + family_kid[f.days.value] + currency_txt;
			}
			else
			{
				f.tickets.value = f.tickets.value + "OTROCI: " + f.kids_4_14.value + "x Druzinska-otroci " + f.days.value + "-dnevna po: " + family_kid[f.days.value] + currency_txt;
			}
  		}
  	}
  	
  	//ADULTS
  	if(f.adults.value-f.students.value > 0)
  	{
  		if(family_card == false)
  		{
  			sum = sum + ((f.adults.value-f.students.value) * adult[f.days.value]);
  			if (f.days.value == 12)
	  		{
	  			f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Odrasli 1/2-dnevna po: " + adult[f.days.value] + currency_txt;
	  		}
	  		else if (f.days.value == 11)
	  		{
	  			f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Odrasli 5/7 vozovnica po: " + adult[f.days.value] + currency_txt;
	  		}
	  		else if (f.days.value == 10)
	  		{
	  			f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Odrasli 10/14 vozovnica po: " + adult[f.days.value] + currency_txt;
	  		}
	  		else
	  		{
	  			f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Odrasli " + f.days.value + "-dnevna po: " + adult[f.days.value] + currency_txt;
	  		}
		}
  		else
  		{
  			sum = sum + ((f.adults.value-f.students.value) * family_adult[f.days.value]);
  			if (f.days.value == 11)
			{
				f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Druzinska-odrasli 5/7 vozovnica po: " + family_adult[f.days.value] + currency_txt;
			}
			else if (f.days.value == 10)
			{
				f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Druzinska-odrasli 10/14 vozovnica po: " + family_adult[f.days.value] + currency_txt;
  			}
  			else
  			{
  				f.tickets.value = f.tickets.value + "ODRASLI: " + (f.adults.value-f.students.value) + "x Druzinska-odrasli " + f.days.value + "-dnevna po: " + family_adult[f.days.value] + currency_txt;
  			}
  		}
  	}
  	
  	//STUDENTS
  	if(f.students.value > 0)
  	{
		var xdaybetter_s = is_xday_ticket_better(adult[1]*(1-discount), adult, f.days.value); //indicating if x-day ticket is cheaper than x 1-day tickets
		if (xdaybetter_s == true)
		{
  			if (f.days.value != 12)
  			{
  				sum = sum + (f.students.value * adult[f.days.value]);
  				f.tickets.value = f.tickets.value + "STUDENTI: " + f.students.value + "x Odrasli " + f.days.value + "-dnevna po: " + adult[f.days.value] + currency_txt;
  			}
  			else //half-day tickets
  			{
  				sum = sum + (f.students.value * adult[f.days.value]*(1-discount));
  				f.tickets.value = f.tickets.value + "STUDENTI: " + f.students.value + "x Studenti 1/2-dnevna po: " + Math.round(adult[f.days.value]*(1-discount)*100)/100 + currency_txt;
  			}
  		}
  		else
  		{
  			if (f.days.value == 11) //5-7 ticket
  			{
  				sum = sum + (f.students.value * adult[1]*(1-discount) * 5);
  				f.tickets.value = f.tickets.value + "STUDENTI: " + f.students.value*5 + "x Studenti 1-dnevna po: " + Math.round(adult[1]*(1-discount)*100)/100 + currency_txt;
  			}
  			
  			else
  			{
  				sum = sum + (f.students.value * adult[1]*(1-discount) * f.days.value);
  				f.tickets.value = f.tickets.value + "STUDENTI: " + f.students.value*f.days.value + "x Studenti 1-dnevna po: " + Math.round(adult[1]*(1-discount)*100)/100 + currency_txt;
  			}
  		}	
  	}
  	
  	//RETIRED
  	if(f.retired.value > 0)
  	{
		var xdaybetter_r = is_xday_ticket_better(adult[1]*(1-discount), adult, f.days.value); //indicating if x-day ticket is cheaper than x 1-day tickets
		if (xdaybetter_r == true)
		{
  			if (f.days.value == 12) //half-day tickets
  			{
  				sum = sum + (f.retired.value * adult[f.days.value]*(1-discount));
  				f.tickets.value = f.tickets.value + "UPOKOJENCI: " + f.retired.value + "x Upokojenci 1/2-dnevna po: " + Math.round(adult[f.days.value]*(1-discount)*100)/100 + currency_txt;
  			}
  			else
  			{
  				sum = sum + (f.retired.value * adult[f.days.value]);
				f.tickets.value = f.tickets.value + "UPOKOJENCI: " + f.retired.value + "x Odrasli " + f.days.value + "-dnevna po: " + adult[f.days.value] + currency_txt;
  			}
  			
  		}
  		else
  		{
  			if (f.days.value == 11) //5-7 ticket
  			{
  				sum = sum + (f.retired.value * adult[1]*(1-discount) * 5);
  				f.tickets.value = f.tickets.value + "UPOKOJENCI: " + f.retired.value*5 + "x Upokojenci 1-dnevna po: " + Math.round(adult[1]*(1-discount)*100)/100 + currency_txt;
  			}
  			else
  			{
  				sum = sum + (f.retired.value * adult[1]*(1-discount) * f.days.value);
  				f.tickets.value = f.tickets.value + "UPOKOJENCI: " + f.retired.value*f.days.value + "x Upokojenci 1-dnevna po: " + Math.round(adult[1]*(1-discount)*100)/100 + currency_txt;
  			}
  		}	
  	}
  	
  	//SURFER-KIDS
  	if(f.surfer_4_14.value > 0)
  	{
  		if (f.days.value == 12) //half-day ticket
  		{
			sum = sum + (f.surfer_4_14.value * surfer_kid[f.days.value]);
			f.tickets.value = f.tickets.value + "OTROCI-DESKARJI: " + f.surfer_4_14.value+ "x Otrok-Deskar 1/2-dnevna po: " + surfer_kid[f.days.value] + currency_txt;
  		}
  		else if (f.days.value == 11) //5-7 ticket
  		{
  			sum = sum + (f.surfer_4_14.value * surfer_kid[1] * 5);
 			f.tickets.value = f.tickets.value + "OTROCI-DESKARJI: " + 5*f.surfer_4_14.value + "x Otrok-Deskar 1-dnevna po: " + surfer_kid[1] + currency_txt;
  		}
  		else
  		{
  			sum = sum + (f.surfer_4_14.value * surfer_kid[1] * f.days.value);
 			f.tickets.value = f.tickets.value + "OTROCI-DESKARJI: " + f.days.value*f.surfer_4_14.value + "x Otrok-Deskar 1-dnevna po: " + surfer_kid[1] + currency_txt;
  		}
  	}
  	
  	//SURFER-ADULTS
  	if(f.surfer.value-f.students_surfer.value > 0)
  	{
  		if (f.days.value == 12)//half-day ticket
  		{
			sum = sum + ((f.surfer.value-f.students_surfer.value) * surfer[f.days.value]);
			f.tickets.value = f.tickets.value + "DESKARJI: " + (f.surfer.value-f.students_surfer.value) + "x Deskar 1/2-dnevna po: " + surfer[f.days.value] + currency_txt;
  		}
  		else if (f.days.value == 11) //5-7 ticket
  		{
  			sum = sum + ((f.surfer.value-f.students_surfer.value) * surfer[1] * 5);
 			f.tickets.value = f.tickets.value + "DESKARJI: " + 5*(f.surfer.value-f.students_surfer.value) + "x Deskar 1-dnevna po: " + surfer[1] + currency_txt;
  		}
  		else
  		{
  			sum = sum + ((f.surfer.value-f.students_surfer.value) * surfer[1] * f.days.value);
 			f.tickets.value = f.tickets.value + "DESKARJI: " + f.days.value*(f.surfer.value-f.students_surfer.value) + "x Deskar 1-dnevna po: " + surfer[1] + currency_txt;
  		}
  		
  	}
  	
  	//SURFER-STUDENTS
  	if(f.students_surfer.value > 0)
  	{
  		if (f.days.value == 12) //half-day ticket
  		{
			sum = sum + ((f.students_surfer.value) * surfer[f.days.value]*(1-discount));
			f.tickets.value = f.tickets.value + "STUD.-DESKARJI: " + f.students_surfer.value + "x Stud.-Deskar 1/2-dnevna po: " + Math.round(surfer[f.days.value]*(1-discount)*100)/100 + currency_txt;
  		}
  		else if (f.days.value == 11) //5-7 ticket
  		{
  			sum = sum + ((f.students_surfer.value) * surfer[1]*(1-discount) * 5);
 			f.tickets.value = f.tickets.value + "STUD.-DESKARJI: " + 5*f.students_surfer.value + "x Stud.-Deskar 1-dnevna po: " + Math.round(surfer[1]*(1-discount)*100)/100 + currency_txt;
  		}
  		else
  		{
  			sum = sum + ((f.students_surfer.value) * surfer[1]*(1-discount) * f.days.value);
 			f.tickets.value = f.tickets.value + "STUD.-DESKARJI: " + f.days.value*f.students_surfer.value + "x Stud.-Deskar 1-dnevna po: " + Math.round(surfer[1]*(1-discount)*100)/100 + currency_txt;
  		}
  	}
  	
	//ENTER SUM in SIT and EUR to FORM
	f.sum.value = Math.round(sum*100)/100 + currency_txt;
  	
  	/*if (exchange_rate > 1)
  	{
  		sum_eur = Math.round(sum/eur*10)/10; 
  		if (sum_eur == Math.round(sum_eur))
  		{
  			f.sum_eur.value = sum_eur + ".00 EUR";
  		}
  		else
  		{
  			f.sum_eur.value = sum_eur + "0 EUR";
  		}
  	}
  	else
  	{
  		sum_eur = Math.round(sum*eur*10)/10; 
  		if (sum_eur == Math.round(sum_eur))
  		{
  			f.sum_eur.value = sum_eur + ".00 SIT";
  		}
  		else
  		{
  			f.sum_eur.value = sum_eur + "0 SIT";
  		}
  	}*/
  	
 }
 
 function reset(f) {
  f.days.value = 0;
  f.kids_0_4.value = 0;
  f.kids_4_14.value = 0;
  f.adults.value = 0;
  f.surfer.value = 0;
  f.students_surfer.value = 0;
  f.students.value = 0;
  f.retired.value = 0;
  f.sum.value = 0;
  f.sum_eur.value = 0;
  f.tickets.value = "";
  }

