function toggle(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

function showHide(elementId)
{
	var element = document.getElementById(elementId);
	if (element.style.display == 'none') {
		element.style.display = 'block';
	} else {
		element.style.display = 'none';
	}
	return true;
}

var tooltip=function(){
	var id = 'tt';
	var top = 3;
	var left = 3;
	var maxw = 300;
	var speed = 10;
	var timer = 20;
	var endalpha = 95;
	var alpha = 0;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
			tt.style.display = 'block';
			c.innerHTML = v;
			tt.style.width = w ? w + 'px' : 'auto';
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			h = parseInt(tt.offsetHeight) + top;
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(1)},timer);
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
		}
	};
}();

function omezSelect(ridiciSelect, omezovanySelectId, map) {
	var ridiciId = ridiciSelect.options[ridiciSelect.selectedIndex].value;
	var omezenaIds = map[ridiciId];
	var omezovanySelectObject = document.getElementById(omezovanySelectId);
	//alert(ridiciId);
	//alert(vyrobceId[6].length);
	//omezovanySelectObject.options[0].selected = true;
	
	for (x = 0 ; x < omezovanySelectObject.options.length ; x++) {
		var value = omezovanySelectObject.options[x].value;
		
		if (value) {
			
			var inArray = false;
			
			if (omezenaIds) {
				for(i=0; i < omezenaIds.length; i++) {
					if(omezenaIds[i] == value) inArray = true;
				}
			}
			if (inArray) {
				omezovanySelectObject.options[x].style.display = 'block';
			} else {
				omezovanySelectObject.options[x].style.display = 'none';
				omezovanySelectObject.options[x].selected = false;
			}
		}
	} 
}

// funkce na js kontrolu formularu
function isValidNumber(number) {
	return (number.search(/^[\d]*[,|\.]?[\d]*$/) != -1); 
}

function isValidEmail(email) {
	return (email.search(/^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,6}$/) != -1);
}

function isValidDate(date) {
	return (date.search(/^(0?[1-9]|[12][0-9]|3[01])\. *(0?[1-9]|1[0-2])\. *([0-9]{2,4}) *([0-9]{0,2}):?([0-9]{0,2}):?([0-9]{0,2})$/) != -1);
}

function addClass(element, cls) {
	if(element.className.indexOf(cls) == -1) {
		element.className = element.className + ' ' + cls;
	}
}

function removeClass(element, cls) {
	element.className = element.className.replace(cls, '');
}

function check_fields(frm, nonempty, number, email, date, locale) {
	var nnState = nuState = emState = daState = true;
	var text = '';
	var invalidClass = 'err';
	var valid = Array();
	var invalid = Array();
	
	
	if(frm._back) {
		if(frm._back.title == '1') return true;
	}
	
	if(nonempty) {	
		for(var i = 0; i < nonempty.length; i++) {
			nn = frm[nonempty[i]];
			if(!nn) continue;
			if(nn.value == '') {
				invalid.push(nn); nnState = false;
			}  else {
				valid.push(nn);
			}
		}
	}
	if(number) {
		for(var i = 0; i < number.length; i++) {
			nu = frm[number[i]];
			if(!isValidNumber(nu.value) && nu.value != '') {
				invalid.push(nu); nuState = false;
			} else {
				valid.push(nu);
			}
		}
	}
	if(email) {
		for(var i = 0; i < email.length; i++) {
			em = frm[email[i]];
			if(!isValidEmail(em.value) && em.value != '') {
				invalid.push(em); emState = false;
			}  else {
				valid.push(em);
			}
		}
	}
	
	if(date) {
		for(var i = 0; i < date.length; i++) {
			da = frm[date[i]];
			if(!isValidDate(da.value) && da.value != '') {
				invalid.push(da); daState = false;
			}  else {
				valid.push(da);
			}
		}
	}
	
	
	for(var i = 0; i < valid.length; i++) {
		removeClass(valid[i], invalidClass);
	}
	
	for(var i = 0; i < invalid.length; i++) {
		addClass(invalid[i], invalidClass);
	}
	
	if (locale == 'en') {
	if(!nnState) text = text + "Fill in all compulsory fields.\n";
	if(!nuState) 	text = text + "Fill in valid numeric values.\n";
	if(!emState) 	text = text + "Fill in valid e-mail.\n"; 
	if(!daState) 	text = text + "Fill in valid date.\n"; 
	} else {
	if(!nnState) text = text + "Vyplňte všechny povinné položky.\n";
	if(!nuState) 	text = text + "Vyplňte platné číselné hodnoty.\n";
	if(!emState) 	text = text + "Vyplňte platný email.\n"; 
	if(!daState) 	text = text + "Vyplňte platné datum.\n";
	} 
	
	if(!nnState || !nuState || !emState || !daState) {
		alert(text); return false;
	} else {
		return true;
	}
}


