
/* JS: mod_form_main*/
function validate_form(formular) {
  try {
    // kvuli captcha je zde skip_validation
	  if (skip_validation) {
		  return true;
	  }
	} catch(e) {
	
	var inputs = formular.elements;
    var error = -1; //-1 = OK, jinak index prvniho chybneho inputu
    var tp,val,errorMsg = "";
    for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].nodeName.toLowerCase() == 'textarea') {
			tp = 'text';
		} else if (inputs[i].nodeName.toLowerCase() == 'select') {
			tp = 'select';
		} else {
			tp = inputs[i].type;
		}
		//nesmi se pouzit 2,n protoze zasrany zkurveny svine
		mailRegExp = new RegExp('^[^@]{2,}@[_a-zA-Z0-9\.\-]{2,}\.[a-zA-Z]{2,4}$');
    	switch (tp) {
			case 'checkbox':
				if (inputs[i].className.match('mandatory') && !inputs[i].checked) {
					if (error == -1) {error = i;}
					errorMsg += "Please fill item "+inputs[i].title+". \n";
				}
			case 'password':
			case 'file':
			case 'text':
				if (inputs[i].nodeName.toLowerCase() == 'textarea') {
				    val = inputs[i].innerHTML;
				} else {
				    val = inputs[i].value;
				}
				if (inputs[i].className.match('mandatory') && (inputs[i].value == '')) {
            		if (error == -1) {error = i;}
					errorMsg += "Please fill item "+inputs[i].title+". \n";
        		}
        		if (inputs[i].className.match('email') && (inputs[i].value != '') && (!inputs[i].value.match(mailRegExp))) {
					if (error == -1) {error = i;}
            		errorMsg += "Input valid email please. "+"\n";
        		}
        		if (inputs[i].className.match('number') && (inputs[i].value != '') && (!inputs[i].value.match("^[0-9]+$"))) {
					if (error == -1) {error = i;}
            		errorMsg += "Input valid number please. "+"\n";
        		}
			case 'select':
			    if (inputs[i].className.match('mandatory') && (inputs[i].selectedIndex == 0)) {
            		if (error == -1) {error = i;}
					errorMsg += "Please fill item "+inputs[i].title+". \n";
				}
        }
    }
    if (error != -1) {
    	alert(errorMsg);
        inputs[error].focus();
        return false;
    } else {
		return true;
	}

	}
}

/* JS: mod_form_fill*/
//http://dean.edwards.name/weblog/2006/06/again/
// Dean Edwards/Matthias Miller/John Resig
function init() {
  // quit if this function has already been called
  if (arguments.callee.done) return;

  // flag this function so we don't do the same thing twice
  arguments.callee.done = true;

  // kill the timer
  if (_timer) clearInterval(_timer);

  // do stuff
  fillForm();
};

/* for Mozilla/Opera9 */
if (document.addEventListener) {
  document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
  document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
  var script = document.getElementById("__ie_onload");
  script.onreadystatechange = function() {
    if (this.readyState == "complete") {
      init(); // call the onload handler
    }
  };
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
  var _timer = setInterval(function() {
    if (/loaded|complete/.test(document.readyState)) {
      init(); // call the onload handler
    }
  }, 10);
}

/* for other browsers */
window.onload = init;

// vycisti formular - zrusi vyber u checkboxu, radiobuttonu a optionu
function clearForm() {
  var inputs = document.getElementsByTagName('input');
  for(var i=0; i<inputs.length; i++) {
    if (inputs[i].form.id.indexOf('mod_form') != -1 && (inputs[i].type=='checkbox' || inputs[i].type=='radio'))
      inputs[i].checked = false;
  }
  var options = document.getElementsByTagName('option');
  for(var i=0; i<options.length; i++) {
    if (options[i].form.id.indexOf('mod_form') != -1)
      options[i].selected = false;
  }
}

// vyplni formular daty ulozenymi v hiddenech, ktere zacinaji _mod_form_fill_
function fillForm() {
  var inputs = document.getElementsByTagName('input');
  var count = 0;
  for (var i=0; i<inputs.length; i++) {
    // filtr hiddenu
    if (inputs[i].form.id.indexOf('mod_form') == -1 || inputs[i].type != 'hidden' ||
      inputs[i].name.indexOf('_mod_form_fill_') == -1)
      continue;
    
    // pri prvnim vyskytu spravneho hiddenu, promazeme formular
    if (!count++)
      clearForm();
    
    // nyni nam zustali jen potrebne hiddeny
    var elements = document.getElementsByName(inputs[i].name.substr(('_mod_form_fill_').length));
    var element = elements[0];
    switch(element.type) {
      case 'textarea':
        element.innerHTML = inputs[i].value; break;
      case 'text':
        element.value = inputs[i].value; break;
      case 'checkbox':
        element.checked = (inputs[i].value!='0' ? true : false); break;
      case 'radio':
        for (var j=0; j<elements.length; j++) {
          if (elements[j].value == inputs[i].value) {
            elements[j].checked = true;
            break;
          }
        }
        break;
      case 'select-one':
        var options = element.getElementsByTagName('option');
        for (var j=0; j<options.length; j++) {
          if (options[j].value == inputs[i].value) {
            options[j].selected = true;
            break;
          }
        }
        break;
      default:
    }
  }
}

/* JS: mod_login_main*/
function mod_login_on_submit() {
	var form;
	if (form = document.getElementById('form_id_login')) {
		var inputs = form.elements;	var err = '';
		for (var i = 0; i < inputs.length; i++) {
			if ((inputs[i].name == 'ed_login') && (inputs[i].value == '')) {
				err = err + "Enter your login";
			}
			if ((inputs[i].name == 'ed_password') && (inputs[i].value == '')) {
				err = err + "Enter password";
			}
		}
		if (err != '') {alert(err);	return false;} else {return true;}
	}
}

