/**
 * to run multiple functions on window.onload
*/
var onLoad = {

	_events : new Array(),

	on : function() {
	  window.onload = onLoad._go;
	},

	add : function( func ) {
	  onLoad._events[onLoad._events.length] = func;
	},

	_go : function(){
	  for( var i = 0; i < onLoad._events.length; i++ )
		 eval(onLoad._events[i]);
	}
}


var Debug = {

	obj : null,

	show : function( elm ) {
		Debug.obj = document.getElementById('good');
		Debug.obj.style.display = 'block';
	},

	hide : function() {
		Debug.obj.style.display = 'none';
	}
}


function openWindow( src, w, h ) {

 w = w ? w : 550;
 h = h ? h : 400;
 var left = Math.round( ( screen.width - w ) / 2 );

 var win = window.open(src, "img",'toolbar=0,location=0,scrollbars=yes,resizable=yes,width=' + w + ',height=' + h + ',left=' + left + ',top=250');

 if (window.focus) win.focus();
 return false;
}

/**
 * table events - (de)colorize and (un)checkbox on click
 * check all boxes on bottom checkbox check
*/
var tableEvents = {

	table : null,
	tableStatus : null,    // null/changed form confirm changes before leave
	_trs : null,
	_spans : null,


	select_init : function () {	// inicializacni fce, select checkboxu po kliknuti

		tableEvents.table = document.getElementById('t-vypis-table');

		if( tableEvents.table ) {

			tableEvents._trs = tableEvents.table.getElementsByTagName('tr');
			tableEvents._spans = tableEvents.table.getElementsByTagName('span');
			tableEvents._inputs = tableEvents.table.getElementsByTagName('input');

			for( var i = 0; i < tableEvents._trs.length; i++ ) {
				tableEvents._trs[i].onclick = function() { tableEvents.selectRow( this ); }
			}

			for( var i = 0; i < tableEvents._spans.length; i++ ) {
				if ( /noclick/.test( tableEvents._spans[i].className ) ) {
					tableEvents._spans[i].onclick = function() { tableEvents.setCheckbox( this ); }
				}
			}

			if ( tableEvents._inputs ) {
				tableEvents._confirmChanges();
			}
		}
	},


	selectRow : function ( obj ) {

		var className = obj.className;
		className = className.replace( /( hover)+/, '' );
		if( className ){
			var idRow = className.replace(/\D*/g,'');
			var elm = document.getElementById('checkbox-'+idRow);		//ID checkboxu, checkbox musi mit id="select-" + ID radku
			if (elm) {
				elm.checked = elm.checked == true?false:true;
				if(elm.checked) { obj.className = !/checked/.test(className) ? className + " checked" : className; }
				else { obj.className = className.replace(/( checked)+/,''); }		//zaskrtnute pole ma tridu "checked"
			}
		}
	},


	setCheckbox : function (obj) {	//osetruje prime kliknuti DIV noclick

		var idRow = obj.className.replace(/\D*/g,'');
		var checkbox = document.getElementById('checkbox-'+idRow);
		checkbox.checked=!checkbox.checked?true:false;
	},


	checkAllBoxes : function (obj) {		//osetruje checkbox v zapati tabulky (o/odznaceni vsech checkboxu)

		for( var i = 0; i < tableEvents._inputs.length; i++ ){
			if ( tableEvents._inputs[i].type == 'checkbox' && /checkbox/.test( tableEvents._inputs[i].id )) {	//pokud ma checkbox ID checkbox-X
				if( obj.checked ) { tableEvents._inputs[i].checked = true; }
				else { tableEvents._inputs[i].checked = false; }
			}
		}

		for( i = 0; i < tableEvents._trs.length; i++ ){
			if( obj.checked ) { tableEvents._trs[i].className = !/checked/.test( tableEvents._trs[i].className ) ? tableEvents._trs[i].className + ' checked' : tableEvents._trs[i].className; }
			else { if( tableEvents._trs[i] ) tableEvents._trs[i].className = tableEvents._trs[i].className.replace( /( checked)+/, '' ); }
		}
	},


	/*
	 ** confirm changes in table on page leave
	*/
	_confirmChanges : function() {

		for( var i = 0; i < tableEvents._inputs.length; i++ ) {
			if ( !/checkbox/.test( tableEvents._inputs[i].id ) ) {   //pokud NEma checkbox ID checkbox-X
				tableEvents._inputs[i].onchange = function() { tableEvents.tableStatus = 'changed'; }
			}
		}

		var _hrefs = tableEvents.table.getElementsByTagName('a');

		for( var i = 0; i < _hrefs.length; i++ ) {
			if ( /nochange/.test( _hrefs[i].className ) ) {   //pokud NEma checkbox ID checkbox-X
				_hrefs[i].onclick = function() {
					if( tableEvents.tableStatus == 'changed' ) {
						if ( confirm( 'Změny provedené na této stránce nebyly uloženy. Uložit?' ) ) {
							document.mainForm.submit();
						}
						else {
							return false;
						}
					}
				}
			}
		}
	}
}



var Form = {

	/*
	 ** hlavni vypisova tabulka
	*/

	delConfirm : function( action, count ) {

		switch( action ) {
			case 'trash':

				if( count == 1 ) {
					return confirm('Opravdu chcete tuto položku přesunout do koše?');
				}
				else {
					return confirm('Opravdu chcete označené položky přesunout do koše?');
				}

			break;
			case 'delete':

				return confirm( 'Opravdu smazat?' );

			break;
		}
	},


	/*
	 ** special function for <select> in table-bottom
	*/
	checkList : function( form ) {

		var action = form.action;

		if( action.value == -1 ) {
			return false;
		}

		var table = document.getElementById('t-vypis-table');
		var inputs = table.getElementsByTagName('input');

		for( var i = 0; i < inputs.length; i++ ){
			if ( inputs[i].type=='checkbox' && /checkbox/.test( inputs[i].id ) ) {   //pokud ma checkbox ID checkbox-X
				if( inputs[i].checked ) {

					if( action.value == 'delete' || action.value == 'trash' ) {
						if( Form.delConfirm( action.value ) ) {
							form.submit();
							return;
						}
						else {
							action.value = -2;   // back to default value
							return;
						}
					}
					else {
						submit();
						return;
					}
				}
			}
		}

		alert( 'Nebyla označena žádná položka!' );
		action.value = -2;   // back to default value
	},


	/*
	 ** check required fields before submit in detail
	*/

	check : function () {

		var table = document.getElementById('t-detail');

		if( table ) {

			var tdsRequired = new Array();
			var inputRequired;
			var tds = table.getElementsByTagName('td');

			for( var i = 0; i < tds.length; i++ ) {
				if ( /required/.test( tds[i].className ) ) {
					tdsRequired.push(tds[i]);
				}
			}

			if( tdsRequired ) {
				for( i = 0; i < tdsRequired.length; i++ ) {

					inputRequired = tdsRequired[i].getElementsByTagName('input');

					if ( inputRequired ) {
						for( j = 0; j < inputRequired.length; j++ ) {
							if( inputRequired[j].value == '' ) {
								alert('Vyplňte, prosím, všechna povinná pole');
								return false;
							}
						}
					}
				}
			}
		}

		return true;
	},


	confirm : function( text, fcTrue, fcFalse ) {

		if( window.confirm( text ) ) {
			eval( fcTrue );
		}
		else {
			eval( fcFalse );
		}
	}
}



/**
actions form <select multiple>
**/

var Multiple = {

	SelectAll : function( thefield, value ) {
		thefield = document.getElementById(thefield);
		for( var i=0; i<thefield.length; i++ ) {
			 thefield.options[i].selected = value;
		}
	},

	SelectInvert : function( thefield ) {
		thefield = document.getElementById(thefield);
		for( var i=0; i<thefield.length; i++ ) {
			thefield.options[i].selected = !thefield.options[i].selected;
		}
	}
}

function OpenJSLWindow()
{
    Fokus = window.open('', 'tisk','resizable=0,top=20,left=20,menubar=0,width=640,height=340');
    Fokus.focus();
 
}

