////////////////////////////////////////////////////////////////////////////////
// EXPENSES - listing
////////////////////////////////////////////////////////////////////////////////
var expenses = 1;

var arr_expenses = new Array();
var arr_expense_prices = new Array();
var arr_expense_representaiton_company = new Array();
var arr_expense_representaiton_guests = new Array();
var arr_expense_altitle = new Array();


// just called once after displaying expenses to hide/show extra fields as needed
function adjust_expense_extra_fields()
{
	for (i = 1; i <= expenses; i++)
		runtime_expense_extra_fields(i);
}

function collect_expense_values()
{
	for (i = 1; i <= expenses; i++)
	{
		arr_expenses[i] = document.getElementById("expense_"+i).selectedIndex;
		arr_expense_prices[i] = document.getElementById("expense_price_"+i).value;
		
		if (document.getElementById("expense_representation_company_"+i) != undefined)
			arr_expense_representaiton_company[i] = document.getElementById("expense_representation_company_"+i).value;
		if (document.getElementById("expense_representation_guests_"+i) != undefined)	
			arr_expense_representaiton_guests[i] = document.getElementById("expense_representation_guests_"+i).value;
		if (document.getElementById("expense_altitle_"+i) != undefined)
			arr_expense_altitle[i] = document.getElementById("expense_altitle_"+i).value;
	}
}

function distribute_expense_values()
{
	for (i = 1; i < expenses; i++)
	{
		document.getElementById("expense_"+i).selectedIndex = arr_expenses[i];
		document.getElementById("expense_price_"+i).value = arr_expense_prices[i];
		if (document.getElementById("expense_representation_company_"+i) != undefined)
			document.getElementById("expense_representation_company_"+i).value = arr_expense_representaiton_company[i];
		if (document.getElementById("expense_representation_guests_"+i) != undefined)
			document.getElementById("expense_representation_guests_"+i).value = arr_expense_representaiton_guests[i];
		if (document.getElementById("expense_altitle_"+i) != undefined)
			document.getElementById("expense_altitle_"+i).value = arr_expense_altitle[i];
	}
}

function add_expense()
{
	// collect values prior to changes
	if (expenses != 0)
		collect_expense_values();
	
	expenses++;
	expenses_text = "<table border='0' width='100%' cellspacing='1' cellpadding='1'>";
	expenses_text += "<tr><td class='left' width=\"80\">Trošak #"+expenses+":</td>";
	expenses_text += "<td >";
	expenses_text += "&nbsp;<select class='down' id='expense_"+expenses+"' name='data[expense_"+expenses+"]' onChange='runtime_expense_extra_fields("+expenses+");'>";
	expenses_text += pulldown_expenses;
	expenses_text += "</select>";
	expenses_text += "&nbsp;<input class='down' type='text' id='expense_price_"+expenses+"' name='data[expense_price_"+expenses+"]' size='12' maxlength='10'> kn";
	expenses_text += "<div id='expense_ex_"+expenses+"' style='display: block;'></div>";
	expenses_text += "</td></tr></table>";

	document.getElementById("more_expenses").innerHTML += expenses_text;
	
	// return collected values after the changes
	if (expenses != 0)
		distribute_expense_values();
	
	// just fix the default visibility of a licence plate field 
	runtime_expense_extra_fields(expenses);
}

////////////////////////////////////////////////////////////////////////////////
// EXPENSES - extra fields
////////////////////////////////////////////////////////////////////////////////
function runtime_expense_extra_fields(ndx)
{
	if (arr_expenses_ukeys[document.getElementById("expense_"+ndx).value] == 'other')
	{
		expenses_ex_text = "<fieldset style='color: #000000; width: 300px;'>";
		expenses_ex_text += "<legend>Ostali podaci</legend>";
		expenses_ex_text += "<table border='0' cellspacing='0' cellpadding='2'><tr>";
		expenses_ex_text += "<td align='right'>Naziv troška:";
		expenses_ex_text += "<input class='down' id='expense_altitle_"+ndx+"' name='data[expense_altitle_"+ndx+"]' type='text' size='20' maxlength='255'>";
		expenses_ex_text += "</td></tr></table></fieldset>";
		
		document.getElementById('expense_ex_'+ndx).innerHTML = expenses_ex_text;
		f_show_extra_expense(ndx);
	}
	else if (arr_expenses_ukeys[document.getElementById("expense_"+ndx).value] == 'representation')
	{
		expenses_ex_text = "<fieldset style='color: #000000; width: 300px;'>";
		expenses_ex_text += "<legend>Podaci reprezentacije</legend>";
		expenses_ex_text += "<table border='0' cellspacing='0' cellpadding='2'>";
		expenses_ex_text += "<tr><td align='right'>Tvrtka:</td><td>";
		expenses_ex_text += "<input class='down' id='expense_representation_company_"+ndx+"' name='data[expense_representation_company_"+ndx+"]' type='text' size='20' maxlength='255'>";
		expenses_ex_text += "</td></tr>";
		expenses_ex_text += "<tr><td align='right'>Ugošćene osobe:</td><td>";
		expenses_ex_text += "<input class='down' id='expense_representation_guests_"+ndx+"' name='data[expense_representation_guests_"+ndx+"]' type='text' size='20' maxlength='255'>";
		expenses_ex_text += "</td></tr>";
		expenses_ex_text += "</table></fieldset>";

		document.getElementById('expense_ex_'+ndx).innerHTML = expenses_ex_text;
		f_show_extra_expense(ndx);
	}
	else
	{
		document.getElementById('expense_ex_'+ndx).innerHTML = '';
		f_hide_extra_expense(ndx);
	}
}

function f_hide_extra_expense(d)
{
	if (d.length < 1)
		return;

	document.getElementById('expense_ex_'+d).style.visibility = "hidden";
}

function f_show_extra_expense(d)
{
	if (d.length < 1)
		return;

	document.getElementById('expense_ex_'+d).style.visibility = "visible";
}

////////////////////////////////////////////////////////////////////////////////
// TRAVEL ORDERS - traveller's drafts which update certain fields when selected
////////////////////////////////////////////////////////////////////////////////
function f_tdraft()
{
	var tdraft = document.getElementById("draft_traveller").value;
	if (tdraft != 'x')
	{
		document.getElementById("name").value = arr_travellers[tdraft]['name'];
		document.getElementById("surname").value = arr_travellers[tdraft]['surname'];
		document.getElementById("occupation").value = arr_travellers[tdraft]['occupation'];
		document.getElementById("working_place").value = arr_travellers[tdraft]['working_place'];
	}
}

////////////////////////////////////////////////////////////////////////////////
// TRAVEL ORDERS - destinations
////////////////////////////////////////////////////////////////////////////////
var destination = 1;

var arr_destinations = new Array();
var arr_countries = new Array();
var arr_transports = new Array();
var arr_licence_plates = new Array();

// just called once after displaying destinations to hide/show licence plate fields as needed
function adjust_licence_plates()
{
	for (i = 1; i <= destination; i++)
		runtime_licence_plate(i);
	runtime_licence_plate('end');
}

function collect_values()
{
	for (i = 1; i <= destination; i++)
	{
		arr_destinations[i] = document.getElementById("destination_"+i).value;
		arr_countries[i] = document.getElementById("country_"+i).selectedIndex;
		arr_transports[i] = document.getElementById("transportation_"+i).selectedIndex;
		arr_licence_plates[i] = document.getElementById("licence_plate_"+i).value;
	}
}

function distribute_values()
{
	for (i = 1; i < destination; i++)
	{
		document.getElementById("destination_"+i).value = arr_destinations[i];
		document.getElementById("country_"+i).selectedIndex = arr_countries[i];
		document.getElementById("transportation_"+i).selectedIndex = arr_transports[i];
		document.getElementById("licence_plate_"+i).value = arr_licence_plates[i];
	}
}

function add_destination()
{
	// collect values prior to changes
	if (destination != 0)
		collect_values();
	
	destination++;
	destination_text = "<table border='0' width='100%' cellspacing='1' cellpadding='1'>";
	destination_text += "<tr><td class='right top'>Prijevoz #"+destination+" (vrsta i registracija):</td>";
	destination_text += "<td><table border='0' cellspacing='0' cellpadding='0'><tr><td>";
	destination_text += "&nbsp;<select id='transportation_"+destination+"' name='data[transportation_"+destination+"]' onChange='runtime_licence_plate("+destination+");'>";
	destination_text += pulldown_transport;
	destination_text += "</select>";
	destination_text += "</td><td>";
	destination_text += "<div id='car_ex_"+destination+"' style='display: block;'>";
	destination_text += "&nbsp;<input id='licence_plate_"+destination+"' name='data[licence_plate_"+destination+"]' type='text' value='' size='10' maxlength='10'>";
	destination_text += "</div>";
	destination_text += "</td></tr></table></td></tr>";
	destination_text +=	"<tr><td class='right top'>";
	destination_text += "Destinacija #"+destination+" (država i mjesto):</td><td>";
	destination_text += "&nbsp;<select class='down' id='country_"+destination+"' name='data[country_"+destination+"]'>";
	destination_text += pulldown_countries;
	destination_text += "</select>";
	destination_text += "<input class='down' id='destination_"+destination+"' name='data[destination_"+destination+"]' type='text' value='' size='20' maxlength='255'>";
	destination_text += "</td></tr></table>";

	document.getElementById("traveling_route").innerHTML += destination_text;
	
	// return collected values after the changes
	if (destination != 0)
		distribute_values();
	
	// just fix the default visibility of a licence plate field 
	runtime_licence_plate(destination);
}

////////////////////////////////////////////////////////////////////////////////
// TRAVEL ORDERS - licence plate
////////////////////////////////////////////////////////////////////////////////
function runtime_licence_plate(ndx)
{
	if ((document.getElementById("transportation_"+ndx).value == 'official_vehicle') || (document.getElementById("transportation_"+ndx).value == 'personal_vehicle'))
		f_show_car_ex(ndx);
	else
		f_hide_car_ex(ndx);
}

function f_hide_car_ex(d)
{
	if (d.length < 1)
		return;

	//document.getElementById('car_ex_'+d).style.display = "none";
	document.getElementById('car_ex_'+d).style.visibility = "hidden";
}

function f_show_car_ex(d)
{
	if (d.length < 1)
		return;

	//document.getElementById('car_ex_'+d).style.display = "block";
	document.getElementById('car_ex_'+d).style.visibility = "visible";
}

////////////////////////////////////////////////////////////////////////////////
// COUNTRY SELECTION
////////////////////////////////////////////////////////////////////////////////
var countries_hr = 0;
var countries_eu = new Array();
var countries_all = new Array();

function flag_countries(nani)
{
	// first reset all countries
	for (var obj in countries_all)
	{
		document.getElementById(countries_all[obj]).checked = false;
		document.getElementById(countries_all[obj]+'_dnev').disabled = true;
	}
	if (nani == 'hr')
	{
		document.getElementById(countries_hr).checked = true;
		document.getElementById(countries_hr+'_dnev').disabled = false;
	}
	else if (nani == 'eu')
		for (var obj in countries_eu)
		{
			document.getElementById(countries_eu[obj]).checked = true;
			document.getElementById(countries_eu[obj]+'_dnev').disabled = false;
		}
	else if (nani == 'all')
		for (var obj in countries_all)
		{
			document.getElementById(countries_all[obj]).checked = true;
			document.getElementById(countries_all[obj]+'_dnev').disabled = false;
		}
}

////////////////////////////////////////////////////////////////////////////////
// GLJUBEJ
////////////////////////////////////////////////////////////////////////////////
function $(id)
{
	return document.getElementById(id);
}

function dollar(id)
{
	return document.getElementById(id);
}

////////////////////////////////////////////////////////////////////////////////
// AJAX
////////////////////////////////////////////////////////////////////////////////
var ajax_population_field = null;
var ajax_indicator = null;
var dont_do_tips = false;

function post_ajax(url, indicator_field, form, population_field)
{
	if(indicator_field != null && indicator_field != undefined && indicator_field != '')
		indicator_field.style.display = 'block';

	ajax_population_field = population_field;
	ajax_indicator = indicator_field;

	url += '&ajax=1';
	if (form != undefined && form != null)
		var post_body = get_form_values(form);
	else
		var post_body = '';

	new ajax(url, { postBody:post_body, onComplete: process_ajax});
}

function process_ajax(req)
{
	if(ajax_population_field != null)
		ajax_population_field.innerHTML = req.responseText;
	else alert('Wrong population field given, AJAX cannot execute correctly!');
	
	if(ajax_indicator != null && ajax_indicator != undefined && ajax_indicator != '')
		ajax_indicator.style.display = 'none';
		
	if(!dont_do_tips)
	{
		var Tips1 = new Tips($$('.Tips1'));
	}
	else	dont_do_tips = false;
}

function get_form_values(form)
{
	var types = ['input', 'select', 'textarea'];
	var fval = [];
	for(var i = 0; i < types.length; i++)
	{
		var els = form.getElementsByTagName(types[i]);
		for(var j = 0; j < els.length; j++)
		{
			if(types[i] == 'select')
			{
				fval[fval.length] = els[j].name+'='+els[j].options[els[j].selectedIndex].value;
			}
			else if(types[i] == 'input')
			{
				if((els[j].type == 'checkbox' || els[j].type == 'radio'))
				{
					if(els[j].checked == true)
						fval[fval.length] = els[j].name+'='+els[j].value;
				}
				else if(els[j].value != '' && els[j].type != 'submit')
					fval[fval.length] = els[j].name+'='+els[j].value;
			}
			else if(types[i] == 'textarea')
			{
				fval[fval.length] = els[j].name+'='+els[j].value;
			}
		}
	}
	fval = fval.join('&');
	
	return fval;
}

function newsletter_additional(data)
{
	if (data == true)
		document.getElementById('additional').style.display = 'block';
	else
		document.getElementById('additional').style.display = 'none';
}

function newsletter_validation(email_poruka)
{
	var reg = /([a-z,0-9,_]{1,64})@([a-z,0-9,_]{1,64})\.([a-z]{1,6})/;
	var counter = 0;
	
	if (reg.exec(document.getElementById('newsletter_email').value) == null)
	{
		alert(email_poruka);
		counter++;
	}
	
	if (counter > 0)
		return false;
	else
		return true;
}

function bookmarksite(title, url, message) {
	if (document.all) 
		window.external.AddFavorite(url, title); 
	else
		alert(message);
}

function set_homepage(url, message)
{
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		pocetna.style.behavior='url(#default#homepage)';
		pocetna.setHomePage(url);
	}
	else
		alert(message);
}

function save_marker(imgel, url, weburl, pn_id)
{
	var old_mark = imgel.getAttribute("mark");
	var new_mark = old_mark == 1 ? 0 : 1;
	imgel.setAttribute('mark', new_mark);
// 	imgel.title = (new_mark ? 'Ovaj nalog je označen' : 'Ovaj nalog nije označen');
	url = url + '&set_pn_mark='+new_mark+'&pn_id='+pn_id;
	var post_body = '';
	ajax_population_field = $('temp');
	dont_do_tips = true;
	var t  = new ajax(url, { postBody:post_body, onComplete: process_ajax});
	imgel.src = weburl+'/star'+new_mark+'.gif';
	
}

function save_as_draft(url, form)
{
	url += '&ajax=1';
	if (form != undefined && form != null)
		var post_body = get_form_values(form);
	else
		var post_body = '';

	new ajax(url, { postBody:post_body, onComplete: after_save_draft});
}

function after_save_draft(req)
{
	alert(req.responseText);
}

function ispisi_nalog(url, img_field)
{
	window.open(url, 'ispis', 'status=0,toolbar=0,location=0,menubar=1,directories=0,scrollbars=1,resizable=1,width=850');
}

function ispisi_popis(url)
{
	window.open(url, 'ispisi_popis', 'status=0,toolbar=0,location=0,menubar=1,directories=0,scrollbars=1,resizable=1,width=1000');
}

function toggle_show(id, hidden)
{
// 	alert(mySlide);
	mySlide.toggle('vertical');
// 	var tmp = $(id);
	var _hidden = $(hidden);
	if(_hidden.value == 0)
	{
// // 		tmp.style.display = 'block';
// alert(1);
// 		mySlide.slideIn();
// 		alert(2);
		_hidden.value = 1;
	}
	else 	
	{
// // 		tmp.style.display = 'none';
// 		mySlide.slideOut();
		_hidden.value = 0;
	}
}

function go_to(url)
{
	window.location=url;
}

function toggle_checkboxes(form_id, chk)
{
	var frm = $(form_id);
	var turn = chk.checked;
	var inpts = frm.getElementsByTagName('input');
	for(key in inpts)
	{
		if(inpts[key].type == 'checkbox')
			inpts[key].checked = turn;
	}
}

function delete_drafts(forma_id)
{
	var inpts = $(forma_id).getElementsByTagName('input');
	var total_checked = 0;
	for(var i=0; i < inpts.length; i++)
	{
		if(inpts[i].type == 'checkbox' && inpts[i].checked)
			total_checked++;
	}
	
	if(total_checked && confirm('Jeste li sigurni da želite izbrisati odabrane predloške?'))
		$(forma_id).submit();
	else
	{
		if(total_checked == 0)
			alert('Niste odabrali niti jedan predložak');				
		return false;
	}
}

function select_continent(cont, forma, only)
{
	if(form = $(forma))
	{
		var inpts = form.getElementsByTagName('input');
		for(var key=0; key < inpts.length; key++)
		{
			if(inpts[key].type == 'checkbox')
			{
				if(inpts[key].getAttribute('continent') == cont || cont == 'all')
					inpts[key].checked = true;
				else if(only && inpts[key].getAttribute('continent') != 'hrvatska')
					inpts[key].checked = false;
			}
			else if(inpts[key].type == 'text')
			{
				if(inpts[key].getAttribute('continent') == cont || cont == 'all')
					inpts[key].disabled = false;
				else if(only && inpts[key].getAttribute('continent') != 'hrvatska')	
					inpts[key].disabled = true;
			}
		}
	}
}


function set_tips()
{
// 	var Tips1 = new Tips($$('.Tips1'),{fixed:true});
}


// reload graph data on statistics
function reloadData(year) 
{
	if (flashMovies) 
	{          
		for(var i = 0; i < flashMovies.length; i++)
		{  
// 			alert(i);
// 			alert(flashMovies[i]);
// 			alert(flashBaseUrl+i+'/data/'+year);
			flashMovies[i].reloadData(flashBaseUrl+i+',data,'+year,true,true);          // reloadData(new_data_file_name, show_all, show_preloader)
		}
	}
}

function postavi_aplikacijsku_dnevnicu(val, id)
{
	var chkbx = $('cid_'+id);
	
	if(chkbx.checked)
	{
		$('cid_'+id+'_dnev').value = val;
	}
}

function reports_toggle_all(tbl, el)
{
	tbl = $(tbl);
	var els = tbl.getElementsByTagName('input');
	for(var i = 0; i < els.length; i++)
	{
		if(els[i].type == 'checkbox' && els[i].name)
			els[i].checked = el.checked;
	}
}

function storniraj_odabrane(url, form)
{
	if(confirm('Jeste li sigurni da želite stornirati odabrane naloge?'))
	{
		form.action = url;
		form.submit();
	}
}

function obrisi_odabrane(url, form)
{
	if(confirm('Jeste li sigurni da želite zauvijek izbrisati odabrane naloge?'))
	{
		form.action = url;
		form.submit();
	}
}