function picWin(){
  var url=(typeof(arguments[0])=="string")?arguments[0]:"URL_MISSING";
  var width=arguments[1] || 100;
  var height=arguments[2] || 100;
  var title=arguments[3] || "";
  var winParams=arguments[4] || "";
  var closeTitle=(document.lang=="cs")?"Kliknutím zavřete okno":"Click to close the window";
  var encoding="iso-8859-2";
  if(typeof(arguments[0])=="object"){
    var assign=function(data){
      var vars=["url","width","height","title","winParams","closeTitle","encoding"];
      var vl=vars.length;
      for(var i=0;i<vl;i++)if(!isUndefined(data[vars[i]]))eval(vars[i]+"=data."+vars[i]);
    };
    assign(arguments[0]);
  }
  var win=window.open("about:blank","","width="+width+",height="+(60+height)+((winParams=="")?"":(","+winParams)));
  if(typeof(win)!="object")return true;
  var html='<html><head><title>'+title+'</title><meta http-equiv="content-type" content="text/html; charset='+encoding+'"></head><body style="background-color:#e7eff4;margin:0;"><h1 style="margin:0;background-color:#fff;"><img src="/cs/images/layout/logo/logo_popup.gif" width="180" height="35" alt="" style="display:block;"></h1><img src="'+url+'" style="cursor:pointer;display:block;" width="'+width+'" height="'+height+'" alt="'+title+'" title="'+closeTitle+'"><div style="font-family:Arial,sans-serif;font-size:11px;padding:5px;color:#186090;">'+title+'</div></body></html>';
  win.document.open();
  win.document.write(html);
  win.document.onclick=function(){
    win.close();
  };
  win.document.close();
  win.focus();
  return false;
}



function FormValidator(el,mode,errClass){


  var mailRE=/^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$/;
  var iso_dateRE=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
  var czech_dateRE=/^([0-9]{1,2}\ *\.){2}\ *[0-9]{4}$/;
  var phoneRE=/^(\ *[0-9]\ *){9}$/;
  var intRE=/^[0-9]+$/;


  this.mode=isUndefined(mode)?1:mode;
  if(this.mode==1)this.errClass=isUndefined(errClass)?"error":errClass;

// var errClass=errClass || "error";

  if(typeof(el)=="string")el=gE(el);
  this.inps=[];

  if(isFunction(el.onsubmit))el.originalOnsubmit=el.onsubmit;

  this.labels=[];
  var labelEls=el.getElementsByTagName("label");
  for(var i=0;i<labelEls.length;i++){
    if(!isUndefined(labelEls[i].htmlFor) && labelEls[i].htmlFor!="")this.labels[labelEls[i].htmlFor]=labelEls[i].firstChild.data;
  }

 // el.checkform=this;

  var self=this;

  el.onsubmit=function(){
    var emptys=[];
    var invalids=[];
    var usermessages=[];

    var imess="Následující položky mají chybný formát:";
    var emess="Následující položky nebyly vyplněny:";

    if(document.lang=="en"){
      var imess="The following items have invalid format:";
      var emess="The following items are required:";
    }

    var imess_0='Položka "%" má chybný formát';
    var emess_0='Položka "%" není vyplněna';
    if(document.lang=="en"){
      var imess_0='The item "%" has incorrect format';
      var emess_0='The item "%" is required';
    }

    var inps=self.inps;

    var modeEnabled=function(mode,modearray){
      for(var i=0;i<modearray.length;i++){
        if(modearray[i]==mode)return true;
      }
      return false;
    }

    var alrt="";



    for(var i=0;i<inps.length;i++){

      if(isUndefined(inps[i][4]) || eval(inps[i][4])){

        if(typeof(inps[i][0])=="string")inps[i][0]=getEl(inps[i][0]);
        var el=inps[i][0];
        var mode=inps[i][1].toLowerCase().replace(/\ /gi,"");


        var modesdef=["require","validate","radios","checkboxes","user"];


        var modes=mode.split("&");

        for(var j=0;j<modesdef.length;j++)eval("var mode_"+modesdef[j]+"="+(modeEnabled(modesdef[j],modes)?"true":"false"));

        var type=inps[i][2];
        if(typeof type=="string" && type.trim()!="")var typeRE=eval(type+"RE");else var typeRE=type;

        var label="";
        if(!isUndefined(inps[i][3]) && !isNull(inps[i][3]))label=inps[i][3]; else if(!isUndefined(self.labels[el.id]))label=self.labels[el.id];

        label=label.replace(/\:$/,"");

        if(mode_require){
          if(el.value.trim()==""){
            emptys[emptys.length]=label;

            if(self.mode==0){
              alert(emess_0.replace(/%/,label));
              el.focus();
              return false;
            }
            el.className+=" "+self.errClass;
            el.onchange=new Function('if(isFunction(this.originalOnchange))this.originalOnchange(); if(this.value.trim()!="")this.className=this.className.replace(/\\b'+self.errClass+'\\b/,""); else if(!/\\b'+self.errClass+'\\b/.test(this.className))this.className+=" '+self.errClass+'";');
          }
        }


        if(mode_validate){
          if(el.value.trim()!="" && !typeRE.test(el.value)){
            invalids[invalids.length]=label;
             if(self.mode==0){
              alert(imess_0.replace(/%/,label));
              el.focus();
              return false;
            }
            el.className+=" "+self.errClass;
            el.onchange=new Function('if(isFunction(this.originalOnchange))this.originalOnchange(); if(this.value.trim()!="" && '+typeRE+'.test(this.value))this.className=this.className.replace(/\\b'+self.errClass+'\\b/,""); else if(this.value.trim()!="" && !'+typeRE+'.test(this.value) && !/\\b'+self.errClass+'\\b/.test(this.className))this.className+=" '+self.errClass+'";');
          }
        }


        if(mode_radios){
          var ins=el.parentNode.getElementsByTagName("input");
          var miss=true;
          for(var j=0;j<ins.length;j++)if(ins[j].checked)miss=false;
          if(miss){
            emptys[emptys.length]=label;
            el.parentNode.className+=" "+self.errClass;
            var fc=new Function('if(isFunction(this.originalOnclick))this.originalOnclick(); this.parentNode.className=this.parentNode.className.replace(/\\b'+self.errClass+'\\b/gi,"");');
            for(var j=0;j<ins.length;j++)ins[j].onclick=fc;
          }
        }


        if(mode_checkboxes){
          var ins=el.parentNode.getElementsByTagName("input");
          var miss=true;
          for(var j=0;j<ins.length;j++)if(ins[j].checked)miss=false;
          if(miss){
            emptys[emptys.length]=label;
            el.parentNode.className+=" "+self.errClass;
            var fc=new Function('if(isFunction(this.originalOnclick))this.originalOnclick(); var inps=this.parentNode.getElementsByTagName("input");  var miss=true;for(var i=0;i<inps.length;i++)if(inps[i].checked)miss=false;   if(!miss) this.parentNode.className=this.parentNode.className.replace(/\\b'+self.errClass+'\\b/,""); else this.parentNode.className+=" '+self.errClass+'"');
            for(var j=0;j<ins.length;j++)ins[j].onclick=fc;
          }
        }




     		 if(mode_user){
       			if(eval(inps[i][5])){
         			usermessages.push(inps[i][6]);
        				if(el.type.toLowerCase()=="text" || el.type.toLowerCase()=="password" || el.tagName.toLowerCase()=="textarea")el.className+=" "+self.errClass;
          		el.onchange=new Function('if(isFunction(this.originalOnchange))this.originalOnchange(); if('+inps[i][5]+'){if(!/\\b'+this.className+'\\b/.test(this.className))this.className=this.className+" '+self.errClass+'";}else this.className=this.className.replace(/\\b'+self.errClass+'\\b/,"");');
        		}
        }


      }
    }



    if(emptys.length>0 || invalids.length>0 || usermessages.length>0){
      if(emptys.length>0){
        alrt+=emess+"\n\n";
        for(var i=0;i<emptys.length;i++)alrt+=emptys[i]+"\n";
      }

      if(invalids.length>0){
        if(emptys.length>0)alrt+="\n\n";
         alrt+=imess+"\n\n";
        for(var i=0;i<invalids.length;i++)alrt+=invalids[i]+"\n";
      }

      if(usermessages.length>0){
        if(emptys.length>0||invalids.length>0)alrt+="\n";
        for(var i=0;i<usermessages.length;i++)alrt+=usermessages[i]+"\n";
      }

      alert(alrt);
      return false;
    }

    if(!isUndefined(this.originalOnsubmit))return this.originalOnsubmit();

  }

}



FormValidator.prototype.registerInput=function(){
  if(el=gE(arguments[0])){
    if(isFunction(el.onchange))el.originalOnchange=el.onchange;
    if(isFunction(el.onclick))el.originalOnclick=el.onclick;
    this.inps[this.inps.length]=arguments;
    
   if(arguments[1]!="user" && arguments[1]!="validate"){ var asterisk=document.createElement("span");
    asterisk.className="asterisk";
    asterisk.appendChild(document.createTextNode("*"));
    el.parentNode.insertBefore(asterisk,el.nextSibling);
    }
  }else alert('"'+arguments[0]+'" not found');
}







registerEvent(window,"domready",function(){

  if(getEl("discussion_form")){
    var nums=gE(gE("discussion_form").getElementsByClassName("jsnocss","div")[0]).firstEl().firstChild.data.match(/(\d+)[^\d]+(\d+)\s*$/);
    getEl("f_number").value=parseInt(nums[1])+parseInt(nums[2]);
  }
  
  gE("global").getElementsByClassName("targetblank","a").registerEvent("click",function(e){e=getEvent(e);if(typeof window.open(this.href)=="object")e.preventDefault();});


});

    
    
    
    
    