
function tiliaScrollUp() { 
  scroll(0,0); 
  var f = top.document.getElementById('frmIzracun'); 
  f.height = f.contentWindow.document.body.scrollHeight + 200 + 'px';
  f.contentWindow.scroll(0,0);
}


function tilia_popup(h,n)
{
  var x = arguments[2] || 530;
  var y = arguments[3] || 300;

  var w = window.open('popup/?v=' + h, n, 'width='+x+',height='+y+',status=0,toolbar=0,menubar=0,location=0,resizable=1,scrollbars=1');
  if ( w.focus ) w.focus();
}


/* form state */

var _um_formstate = [];

function um_formstate(fid, f, save)
{

	// we will save in or read from here
	var fstate = [];

	if ( save )
	{

		for ( var i = 0; i < f.elements.length; i++ )
			switch ( f.elements[i].type )
			{
				case "radio":
				case "checkbox":
					fstate[fstate.length] = [i, 1, f.elements[i].checked];
					break;

				case "button":
				case "submit":
				case "reset":
				case "file":
					// just ignore
					break;

				case "text":
				case "textarea":
					// store value, if not default
					if ( f.elements[i].value != f.elements[i].defaultValue )
						fstate[fstate.length] = [i, 2, f.elements[i].value];
					break;

				case "hidden":
				case "password":
					// store value!
					fstate[fstate.length] = [i, 2, f.elements[i].value];
					break;

				case "select-one":
					// store selectedIndex
					fstate[fstate.length] = [i, 3, f.elements[i].selectedIndex];
					break;

				case "select-multiple":
					// store options select state
					var moptions = [];
					for ( var j = 0; j < f.elements[i].options.length; j++ )
						if ( f.elements[i].options[j].selected != f.elements[i].options[j].defaultSelected )
							moptions[moptions.length] = [j, f.elements[i].options[j].selected];
					if ( moptions.length > 0 )
						fstate[fstate.length] = [i, 4, moptions];
					break;

			}
			_um_formstate[fid] = fstate;
	}
	else
		if ( _um_formstate[fid] )
		{
			fstate = _um_formstate[fid];
			if ( fstate.length )
				for ( var i = 0; i < fstate.length; i++ )
				{
					if ( fstate[i][1] )
						switch ( fstate[i][1] )
						{
							case 1: // "radio", "checkbox":
								// restore check
								f.elements[fstate[i][0]].checked = fstate[i][2];
								break;

							case 2: // "text", "textarea" [,  "hidden", "password" ]
								// restore value
								f.elements[fstate[i][0]].value = fstate[i][2];
								break;

							case 3: // "select-one"
								f.elements[fstate[i][0]].selectedIndex = fstate[i][2];
								break;

							case 4: // "select-multiple"
								for ( var j = 0; j < fstate[i][2].length; j++ )
								{
									f.elements[fstate[i][0]].options[fstate[i][2][j][0]].selected = fstate[i][2][j][1];
								}
								break;

						}
				}
	}
}

// check if formstate different than saved
function um_formstate_changed(fid, f)
{

	return false;
	// !!!
	// NOT WORKING! NEEDS DICTIONARY, PROBABLY...

	var fstate = [];

	if ( _um_formstate[fid] )
	{
		fstate = _um_formstate[fid];
		if ( fstate.length )
		{
			for ( var i = 0; i < f.elements.length; i++ )
			{
				if ( fstate[i][1] )
					switch ( fstate[i][1] )
					{
						case 1: // "radio", "checkbox":
							// restore check
							if ( f.elements[fstate[i][0]].checked != fstate[i][2] ) return false;
							break;

						case 2: // "text", "textarea" [,  "hidden", "password" ]
							// restore value
							if ( f.elements[fstate[i][0]].value != fstate[i][2] ) return false;
							break;

						case 3: // "select-one"
							if ( f.elements[fstate[i][0]].selectedIndex != fstate[i][2] ) return false;
							break;

						case 4: // "select-multiple"
							for ( var j = 0; j < fstate[i][2].length; j++ )
							{
 								if ( f.elements[fstate[i][0]].options[fstate[i][2][j][0]].selected != fstate[i][2][j][1] ) return false;
							}
							break;
					}
				else
					return false;
			}
			// all elements found equal
			return true;
		}
	}
	return false;
}
