// Rozkoduje e-mailovou adresu
function reemail() {
	var mails = document.getElementsByTagName("a");
	var reHref = /http:\/\/.+\/\/.+\/[a-z]{2,}$/;
	var reClass = /\bdo\b/;
	var reHttp = /http:\/\//;
	var reAt =  /\/\//g;
	var reDot = /\//g;
	var reMailto = /^mailto:/;

	for (var i=0; i<mails.length; i++) {
		if (mails[i].href.match(reHref)) {
			mails[i].href = mails[i].href.replace(reHttp, "mailto:").replace(reAt, "@").replace(reDot, ".");
			if (mails[i].className.match(reClass)) {
				if (mails[i].innerText) {
					mails[i].innerText = mails[i].href.replace(reMailto, "");
				}
        else {
					mails[i].textContent = mails[i].href.replace(reMailto, "");
				}
			}
		}
	}
}

//--------------------------------------------------Form Validation ----------------------------------------//
/* form validation part                                       */
/*    validates form fields against diferent conditions       */
/*                                                            */    

function FormValidator(form){
this.cform=document.forms[form];
  if (!this.cform){
    alert("No form selected.");
  }
  this.cform.onsubmit=form_submit;
  this.add=add_validation;
  //alert(this.cform.onsubmit);
}

function form_submit(){
 for (var i=0;i<this.elements.length;i++){
  //resultt=eval(this.elements[i].val());
  //alert("result= "+" has= "+this.elements[i].has_validation);
    //alert(this.elements[i].name+i);
    //alert(this.elements[i].has_validation);
    if (this.elements[i].has_validation==true && !this.elements[i].val()){
        //alert('eeroor'+this.elements[i].val);
        return false;
    }
    //alert("done"+i);    
  }
  return true;
}

function add_validation(item,condition,err){
if (!this.cform){
  alert("No form selected. Contact admin.");
}
var cItem=this.cform[item];
if (!cItem){
  alert("Could not get form element "+item);
}

cItem.has_validation=true;
cItem.val=function(){ return validate_this(condition,cItem,err);}
//alert(cItem.val+condition+cItem);
//cItem.onchange=function(){ validate_this(condition,cItem,err);}

}

function validate_this(a,b,c){
if (!ValidateItems(a,b,c)){
    b.focus();
    return false;
}
return true;
}

function ValidateItems(strValidateStr,objValue,strError) { 
  //  var strpos = strValidateStr.search(";"); 
  //alert(strValidateStr+"_"+objValue.value+"_"+strError);
    var  command  = ""; 
   // var  command_2 = ""; 
/*    if(strpos >= 0)     { 
     command_1  = strValidateStr.substring(0,strpos); 
     command_2 = strValidateStr.substr(strpos+1); 
    } else { 
    
    }
   */ 
  command = strValidateStr; 
   // alert(command_1+"/"+command_2);
    switch(command)  { 
        case "notnull":   { 
            if(eval(objValue.value.length) == 0) { 
                alert(strError); 
                return false; 
            } 
           break;             
         }
        case "int": { 
            //alert("int");
              var charpos = objValue.value.search("[^0-9]"); 
              if(objValue.value.length > 0 &&  charpos >= 0)  { 
                alert(strError); 
                return false; 
              }
              break;               
           }
        case "int;notnull": { 

            //alert("int;notnull");
              var charpos = objValue.value.search("[^0-9]"); 
              if(eval(objValue.value.length) == 0 ||(objValue.value.length > 0 &&  charpos >= 0))  { 
                alert(strError); 
                return false; 
              }
              break;               
           } 
   
    		case "text":{
    		 //alert("text");
              //var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); 
              //alert(charpos);
              if(eval(objValue.value.length)==0) {//objValue.value.length > 0 &&  charpos >= 0)  {                    
                alert(strError); 
                return false; 
              } 	              	
    			break;
    			} 
          case "text;notnull":{
           //alert("text;notnull");
              //var charpos = objValue.value.search("[^A-Za-z0-9\-_ ]"); 
              //alert(charpos+"_"+eval(objValue.value.length));
              if(eval(objValue.value.length)==0){// || (objValue.value.length > 0 &&  charpos >= 0))  {                    
                alert(strError); 
                return false; 
              }	              	
    			break;
    			}         
        case "dontselect":    { 
         //alert("donselect");
                if(objValue.selectedIndex == null) 
                { 
                  alert("Nelze nalést požadovaný formulářový prvek. Kontrola nebude provedena");
                  return true; 
                } 
                if(objValue.selectedIndex == eval("")) {                                                         
                  alert(strError); 
                  return false;                                   
                 } 
                 break; 
             }
    }
    //alert("OK");
    return true; 
}

