function checkRequired(frmData) {
	var bFail;
	bFail = false; // Default to pass

	for(iElement = 0; iElement < frmData.elements.length; iElement++) {
		if(frmData.elements[iElement].className == 'form_required_field' || frmData.elements[iElement].className == 'form_failed_field') {
			if(frmData.elements[iElement].value == '') {
			bFail = true;

			frmData.elements[iElement].className = 'form_failed_field';
			} else {
					if(frmData.elements[iElement].id == "email"){
						if (validEmail(frmData.elements[iElement].value) == false) {
							bFail = true;
							frmData.elements[iElement].className = 'form_failed_field';
						}
						else{
							frmData.elements[iElement].className = 'form_required_field';
						}
					} else if(frmData.elements[iElement].title == 'num'){
					if(validNum(frmData.elements[iElement].value) == false){
						bFail = true;
						frmData.elements[iElement].className = 'form_failed_field';
					}
					else{
						frmData.elements[iElement].className = 'form_required_field';
					}

					}
					else {
						frmData.elements[iElement].className = 'form_required_field';
					}
			}
		}
	}
	return !bFail;
}


function validNum(number){
	pat = /^[ \-0-9]*$/;
	number = number.replace(" ",'');
	return pat.test(number);
}


function validEmail(emailaddr){
var i = ">" + emailaddr + ">";

var r = />([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*@([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z])+>/;
return r.test(i);
alert(r.test(i));
} 


function checkCheckboxes(className){
  var count=false;
  $$(className).each(function(e){
    if(e.checked){
      count=true;
    }
  });
  return count;
}


dejavnost = false;
function checkForm() {
  
  
  if(!checkCheckboxes('.req_chk') && ($type($('req_text')) != false && $('req_text').value.length == 0) ){
        document.getElementById('spanError').innerHTML = 'Izberite vsaj eno dejavnost! '+fillforms;
		return false;
  }
  
  /*if(!checkCheckboxes('.req_chk')){
        document.getElementById('spanError').innerHTML = 'Izberite vsaj eno dejavnost! '+fillforms;
		return false;
  }*/
  
  if(!checkRequired(document.forms['form'])){
  		document.getElementById('spanError').innerHTML = fillforms;
		return false;
  }
  
  document.getElementById('spanError').innerHTML = '';
  
    return true;

  
  /*if($type($('req_text')) != false && $$('.req_chk').length > 0){
    if(!checkCheckboxes('.req_chk') && $('req_text').value.length == 0){
    		document.getElementById('spanError').innerHTML = 'Izberite vsaj eno dejavnost! '+fillforms;
      return false;
    }
    if($('req_text').value.length == 0)
          $('req_text').value = ' ';
  }else if(!checkRequired(document.forms['form'])) {
		if(document.all) {
		document.all.spanError.innerText = fillforms;
		} else {
		document.getElementById('spanError').innerHTML = fillforms;
		}
	return false;
	} else {
	return true;
	}*/
} 

function validate(forma) {
	var send = true;
	var form = forma;
	for(f = 0, fl = form.length; f < fl; f++) {
		if(form[f].className.match('fail')) form[f].className = form[f].className.replace(' fail','');
		if(form[f].type=='checkbox') form[f].parentNode.className = form[f].parentNode.className.replace('fail','');
		if(form[f].className.match('val_')) {
			var options=form[f].className.split("_");
			for(op = 1, opl = options.length; op < opl; op++) {
				var check = options[op].split("-");
				check[0] = check[0].split(" ")[0];
				if(check[1]) check[1] = check[1].split(" ")[0];
				switch(check[0]) {
					case 'min': if(form[f].value.length < check[1]) { form[f].className +=' fail'; send = false; } break;
					case 'max': if(form[f].value.length > check[1]) { form[f].className +=' fail'; send = false; } break;
					case 'num': pat = /^[ \-0-9]*$/; if(!pat.test(form[f].value)) { form[f].className +=' fail'; send = false; } break;
					case 'phone': pat = /^[- 0-9]*$/; if(!pat.test(form[f].value)) { form[f].className +=' fail'; send = false; } break;
					case 'notnum': pat = /^[0-9]*$/; if(pat.test(form[f].value)) { form[f].className +=' fail'; send = false; } break;
					case 'nosp': if(form[f].value.match(' ')) { form[f].className +=' fail'; send = false; } break;
					case 'alp': pat = /^[a-zA-Z]*$/; if(!pat.test(form[f].value) || !form[f].value.length) { form[f].className +=' fail'; send = false; } break;
					case 'alpnum': pat = /^[0-9a-zA-Z]*$/; if(!pat.test(form[f].value) || !form[f].value.length) { form[f].className +=' fail'; send = false; } break;
					case 'date': pat = /(?:0[1-9]|[12][0-9]|3[01])\.(?:0[1-9]|1[0-2])\.(?:19|20\d{2})/; if(!pat.test(form[f].value)) { form[f].className +=' fail'; send = false; } break;
					case 'email': pat = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; if(!pat.test(form[f].value)) { form[f].className +=' fail'; send = false; } break;
					case 'money': pat = /^[0-9.,-]*$/; if(!pat.test(form[f].value) || !form[f].value.length) { form[f].className +=' fail'; send = false; } break;
					case 'checked': if(!form[f].checked) { form[f].parentNode.className +=' fail'; send = false; } break;
					case 'selected': if(form[f].selectedIndex==0) { form[f].className +=' fail'; send = false; } break;
				}
			}
		}
	}
	return send;
}

