/*
	zjisti typ promenne (identifikuje i pole, i html element)
*/
function get_type(variable) {
	var return_type=typeof(variable);
	if (return_type=='object') return_type=(typeof(variable.tagName)=='string') ? 'html_element' : 'array';
	return return_type;
	}

/*
vrati typ prohlizece, ktery je prave pouzivan
*/
function get_userAgent() {
	var userAgent,agent=navigator.appName.toLowerCase();
	if ((agent.indexOf('explorer')>-1) && document.getElementById && document.childNodes) userAgent='ie';
		else if ((agent.indexOf('netscape')>-1) && document.getElementById && document.childNodes) userAgent='ns';
		else userAgent='na';
	return userAgent;
	}
/*
nastavi unikatni id u elementu a vrati ho
*/
function set_htmlElement_id(htmlElement) {
	var newId;
	if (typeof(htmlElement.id)=='string') newId=(htmlElement.id=='') ? true : false;
		else newId=true;
	if (newId) {
		switch (get_userAgent()) {
			case 'ie':
				htmlElement.id=htmlElement.uniqueID;
			break;
			case 'ns':
				var tmp_id=Math.floor(Math.random()*100000);
				while (document.getElementById('OKi98_uniqueId_'+tmp_id)) tmp_id=Math.floor(Math.random()*100000);
				htmlElement.id='OKi98_uniqueId_'+tmp_id;
			break;
			}
		}
	return htmlElement.id;
	}

/*
Podle change=minus/plus prida nebo odebere 1 od hodnoty path_field.value a zavola call_function
*/

function minus_plus(change,path_field,call_function) {
	var actualValue=parseInt(path_field.value);
	switch (change) {
		case 'plus':
			path_field.value=actualValue+1;
		break;
		case 'minus':
			path_field.value=actualValue-1;
		break;
		}
	eval(call_function);
	}

/*
Otestovani, zdali pri udalosti byla zadana cislice, vraci true/false
OKi98
*/
function event_checkNumber(curEvent) {
	var return_value,pushedKey,numbers=new Array(),userAgent=get_userAgent();
	numbers['0']=1;
	numbers['1']=1;
	numbers['2']=1;
	numbers['3']=1;
	numbers['4']=1;
	numbers['5']=1;
	numbers['6']=1;
	numbers['7']=1;
	numbers['8']=1;
	numbers['9']=1;
	switch (userAgent) {
		case 'ie':
			pushedKey=String.fromCharCode(curEvent.keyCode);
		break;
		case 'ns':
			pushedKey=String.fromCharCode(curEvent.charCode);
		break;
		}
	if (typeof(numbers[''+pushedKey+''])=='undefined') {
//		projistotu reseno takto, kdyby se objevila znakova sada, ktera nema cisla na obvyklych mistech		
		if (userAgent=='ns') {
			if (((curEvent.charCode==0) && (curEvent.keyCode!=0)) || curEvent.ctrlKey) {
//				pustim dal shift, delete apod.	
				return_value=true;
				}
				else {
					curEvent.preventDefault();
    				curEvent.stopPropagation();
    				return_value=false;
    				}
    		}
    		else return_value=false;
    	}
		else return_value=true;
	return return_value;
	}

/*
these scripts were created by OKi98, all are tested for IE and Mozilla. I dont care about other browsers.
Scripts can be freely used but keep this note intact.
*/
