// idealcover/static/global.js
//
// SWFObject v2.1 <http://code.google.com/p/swfobject/>
//	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
//	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
//
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
//
// addEvent - Written by John Resig
// http://ejohn.org/projects/flexible-javascript-events/
// addEvent( document.getElementById('foo'), 'click', doSomething );
//
if ( !window.addEvent ) {
 function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
   obj['e'+type+fn] = fn;
   obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
   obj.attachEvent( 'on'+type, obj[type+fn] );
  } else obj.addEventListener( type, fn, false );
 }
}
if ( !window.removeEvent ) {
 function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
   obj.detachEvent( 'on'+type, obj[type+fn] );
   obj[type+fn] = null;
  } else obj.removeEventListener( type, fn, false );
 }
}
//
// getElementsByClassName - Written by Jonathan Snook,
// http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
//
function getElementsByClassName(oElm, strTagName, oClassNames){
 var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
 var arrReturnElements = new Array();
 var arrRegExpClassNames = new Array();
 if(typeof oClassNames == "object"){
  for(var i=0; i<oClassNames.length; i++){
   arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
  }
 }
 else{
  arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
 }
 var oElement;
 var bMatchesAll;
 for(var j=0; j<arrElements.length; j++){
  oElement = arrElements[j];
  bMatchesAll = true;
  for(var k=0; k<arrRegExpClassNames.length; k++){
   if(!arrRegExpClassNames[k].test(oElement.className)){
    bMatchesAll = false;
    break;
   }
  }
  if(bMatchesAll){
   arrReturnElements.push(oElement);
  }
 }
 return (arrReturnElements)
}
//
// returns parental node of given [parentTag] (default is 'FORM')
// of given node [e]
//
if ( !window.getParentOf ) {
 var getParentOf =
  function ( e , parentTag ) {
   if ( !e ) return false;
   if ( !parentTag ) parentTag = 'form';
   parentTag = parentTag.toUpperCase();
   while ( e.tagName != parentTag ) {
    e = e.parentNode;
    getParentOf( e , parentTag );
   }
   if ( e === document ) {
    return false;
   }
   return e;
  }
 ;
}
//
// § fmb.js
// tohle musí být definované aby nelítaly errory z flashového menu
//
window.ShowMenu = function ( id ) { } ;
window.HideMenu = function () { } ;
window.GetUrl = function ( id ) { } ;
//
// onload
// § popup.js
//
addEvent
( window
, 'load'
, function()
  { if ( document.all && !window.opera ) { dynamizeByClassName('ul','menu','li'); }
  ; formHelper.init()
  }
);
addEvent
( window
, 'load'
, focusRelevantInput //musí tu být takhle extra neboť některé stránky si ho zase removují
);
//
// § operaStyle.js
//
if ( window.opera ) {
 var cssNode = document.createElement('link');
 cssNode.type = 'text/css';
 cssNode.rel = 'stylesheet';
 cssNode.href = '/static/css/opera.css';
 cssNode.media = 'screen';
 cssNode.title = 'dynamicLoadedSheet';
 document.getElementsByTagName("head")[0].appendChild(cssNode);
}
//
// qk
// cookie utils
//
window.qk =
{ get: function( name )
  { if ( name === undefined || /\W/.test(name) ) throw new Error('Strange key to look for.')
  ; name = name + '=';
  ; if ( document.cookie.indexOf(name) < 0 ) return false
  ; name = new RegExp( '(?:^|;\\s*)' + name + '([^;]+)' )
  ; if( !name.test(document.cookie) ) return false
  ; return decodeURIComponent( document.cookie.match(name)[1] )
  }
, set: function( name, value, hours )
  { if ( name === undefined || /\W/.test(name) ) throw new Error('Only alphanumeric key allowed!')
  ; hours = Number(hours) || 24
  ; var date = new Date()
  ; date.setTime( date.getTime()+(hours*60*60*1000) )
  ; date = date.toGMTString()
  ; document.cookie = name
    + '=' + encodeURIComponent(value)
    + '; expires=' + date +'; path=/'
  }
, remove: function ( name )
  { this.set(name,'', -48)
  }
, removeAll: function( )
  { var that = this
  ; document.cookie.replace
    ( /(?:^|;\s*)([^=;]+)/g
    , function(m,n){ that.remove(n) }
    )
  }
}
//
// legacy support, probably deletable
//
function saveCookie(name,value,days) {
 window.qk.set(name,value,days*24)
}
function readCookie(name) {
 window.qk.get(name)
}
function deleteCookie(name) {
 window.qk.remove(name)
}
//
// lite
// přepínátko a registr pro lite verzi bez dekoračních flashů
//
window.lite =
{ cookieKey: 'asdasd'
, inLiteVersion: false
, writeToggle: function ()
  { document.write
    ( '<a href="#switch" onclick="window.lite.toggle();return false" class="liteSwitch '
    + ( this.inLiteVersion
      ? ( 'goFull" title="' + locales.get('toFullVersion') + '">'+ locales.get('toFullVersion') )
      : ( 'goLite" title="' + locales.get('toLitelVersion') +  '">'+ locales.get('toLiteVersion') )
      )
    + '</a>'
    )
  }
, toggle: function ()
  { if ( this.inLiteVersion )
    { qk.remove(this.cookieKey)
    } else
    { qk.set(this.cookieKey)
    }
  ; document.location.reload()
  }
, embed: function( conf )
  { if ( this.inLiteVersion || (typeof conf!='object') || !conf.flashUrl ) return
  ; swfobject.embedSWF
    ( conf.flashUrl
    , conf.objectId || this.conf_default.objectId
    , conf.width || this.conf_default.width
    , conf.height || this.conf_default.height
    , conf.flashVersion || this.conf_default.flashVersion
    , conf.install || this.conf_default.install
    , conf.flashvars || this.conf_default.flashvars
    , conf.params || this.conf_default.params
    , conf.attrs || this.conf_default.attrs
    )
  }
, conf_default:
  // výchozí nastavení pro embed. flashUrl je jediný povinný
  { objectId: '__flash_embed_container__'
  , width: '100'
  , height: '100'
  , flashVersion: '6.0.0'
  , install: '/images/swf/expressInstall.swf'
  , flashvars: {}
  , params:
    { "loop": "true"
    , "menu": "false"
    , "wmode": "opaque"
    , "bgcolor": "#ffffff"
    , "allowScriptAccess": "sameDomain"
    , "quality": "high"
    }
  , attrs: {}
  }
, conf_lib:
  // knihovna použitých flashů; u vložení pak stačí
  // v parametru lite.embed() použít místní objekt:
  { map: // /contacts.html
    { flashUrl: '/images/swf/mapa-europe.swf'
    , objectId: 'flashMapHolder'
    , width: '500'
    , height: '402'
    }
  , brilix: // box_brilix.inc
    { flashUrl: undefined // nadefinuje se před embedem
    , objectId: 'flashBrilixHolder'
    , width: '200'
    , height: '127'
    }
  , packing: // /why-pool-cover.html , !nemá alternativu!
    { flashUrl: '/images/swf/moviePlayer.swf'
    , width: '300'
    , height: '300'
    , flashvars:
      { movieSource: '/images/why-pool-cover/krabice.swf'
      }
    , attrs:
      { 'id': 'player'
      , 'align': 'middle'
      , 'class': 'noFX'
      }
    }
  , menu: // genPage.tpl , alternativa je přímo v menu
    { flashUrl: undefined // nadefinuje se před embedem
    , objectId: "flashLogoContainer_flash"
    , width: "800"
    , height: "93"
    , flashVersion: "6.0.0"
    , attrs:
      { "id": "flashLogo"
      }
    }
  , homepage: // homepage.tpl , alternativou je background-image
    { flashUrl: "/index.swf"
    , objectId: "collageHolder"
    , width: "600"
    , height: "280"
    , flashvars:
      { "SOURCE": "/index.xml"
      , "go": "0"
      }
    , attrs:
      { "align": "center"
      }
    }
  , catalogue:
    { flashUrl: "/images/swf/katalog-banner.swf"
    , objectId: "catalogueHolder"
    , width: "170"
    , height: "257"
    , flashvars:
      { TITLE: '<font size="12" face="Verdana">CATALOGUE</font>' // tohle se přepíše před embedem
      , url: '/data/admin/catalog_en.pdf' // tohle se přepíše před embedem
      }
    }
  , login:
    { flashUrl: "" // přepíše se před embedem
    , objectId: "flashSlecna_container"
    , width: 468
    , height: 100
    }
  , whyToDoIt:
    { flashUrl: "/images/swf/moviePlayer.swf" // přepíše se před embedem
    , objecId: "whyToDoIt_container"
    , width: 352
    , height: 230
    , flashvars:
      { movieSource: "/cs/login/why-to-do-it.flv"
      , autoplay: "true"
      }
    , attrs:
      { name: "player"
      , swliveconnect: "true"
      }
    }
  }
}
window.lite.inLiteVersion = qk.get(lite.cookieKey);
//
// dynamize By Class Name
// prida danym elementum udalosti
// (uzito pro menu)
//
function dynamizeByClassName(elTag,elClass,concEls) {
 var oElm = document; //.getElementById('header');
 var els = getElementsByClassName(oElm,elTag,elClass);
 for ( var i=0; i<els.length; i++ ) {
  lis = els[i].getElementsByTagName(concEls);
  for ( var j=0; j<lis.length; j++ ) {
   addEvent( lis[j], 'mouseover', showChildUl );
   addEvent( lis[j], 'mouseout', hideChildUl );
  }
 }
}
window.menuLIhoverClass = 'hover';
function showChildUl() {
 childUl = this.getElementsByTagName('ul')[0];
 if ( childUl ) {
//  if (this.className.indexOf(window.menuLIhoverClass)<0) {
//   this.className += ' ' + window.menuLIhoverClass;
//  }
  childUl.style.top = '21px';
 }
}
function hideChildUl() {
 childUl = this.getElementsByTagName('ul')[0];
 if ( childUl ) {
//  var RX = new RegExp(window.menuLIhoverClass,'gi');
//  this.className = this.className.replace( RX , '');
  childUl.style.top = '-1000px';
 }
}
//
// § idealcover/static/myFalidate.js
//
// if ( window.addEvent ) {
//  window.addEvent( window, 'load', focusRelevantInput ); // přesunuto výše
//  // addEvent( window, 'load', menuFlasBindInit );
// }
//zc z url vytvori pole, tak sa da pristupovat k jednotlivym premenam s url (GET)
var pole = window.location.search.substr(1).split("&");
var httpGetVars = new Array();
for(i = 0; i < pole.length; i++){
 httpGetVars[pole[i].split("=")[0]] = unescape(pole[i].split("=")[1]);
}
//ak existuje tak ju ulozi
if( httpGetVars["locale"] && /^(cs|en|de|fr|es|ru|it)$/.test(httpGetVars["locale"]) ) window.qk.set("locale",httpGetVars["locale"],2*24);
//
// najde první textový nereadonly ani nedisabled input a focusne ho
//
function focusRelevantInput() {
 if ( document.forms[0] ) {
  for ( var j = 0; j < document.forms[0].elements.length; j++) {
   if (document.forms[0].elements[j].name
   && !document.forms[0].elements[j].getAttribute('readonly')
   && document.forms[0].elements[j].type == 'text' ) {
    document.forms[0].elements[j].focus();
    break
   }
  }
 }
}
//
// myfalidate([formulář=objekt],[class povinných inputů=string])
// předpokládá, že všechny testované inputy mají vlastního parenta (např <p>)
// testované inputy musí mít jako první class [reqInputClassName]
// v druhém classu může být konkrétní typ (number|date|email|string)
// přidané je testování vypnlěnosti "jedné z" (pouze pro jedinou skupinu)
// warning se vypíše do (prvního) tagu ([warningTagName]) v daném kontejneru
//
function myfalidate(thisForm,reqInputClassName) {
 if ( !thisForm ) { return }
 reqInputClassName = reqInputClassName || 'required';
 var warningTagName = 'strong';
 var result = true;
 var oneOfCnt = 0;
 var oneOfCntValue = 0;
 var oneOfTxtBuffer = [];
 var allUsedClassesRX = new RegExp('(' + reqInputClassName + '|email|date|number|oneOf|mustBeChecked)');
 for( var i = 0; i < thisForm.elements.length; i++) {
  curr = thisForm.elements[i];
  if ( !allUsedClassesRX.test(curr.className) ) {
   continue
  }
  currClassNames = curr.className.split(/\s+/);
  // přidáme prázdný / vymažeme warning
  clearWarning(curr);
  for ( var j = 0; j < currClassNames.length; j++) {
   currClassName = currClassNames[j];
   if ( currClassName == 'oneOf' ) {
    oneOfTxtBuffer.push(
     curr.parentNode.getElementsByTagName('label')[0].innerHTML.replace(/\W+$/,'')
    )
    oneOfCnt++;
   }
   if ( curr.value.length > 0 ) {
    if ( currClassName == 'email' ) {
     if ( !jcv_checkEmail(curr.value) ) {
      setWarning(curr,locales.get('insertEmail'));
     }
    } else if ( currClassName == 'number' ) {
     if ( curr.value.search(/^\d+$/) == -1 ) {
      setWarning(curr,locales.get('inserNumber'));
     }
    } else if ( currClassName == 'date' ) {
     if ( curr.value.search(/^\d\d\.\d\d\.\d\d\d\d$/) == -1 ) {
      setWarning(curr,locales.get('insertDate'));
     }
    } else if ( currClassName == 'oneOf' ) {
     oneOfCntValue++;
    }
   } else {
    if ( currClassName == reqInputClassName
    // +BASTL:
       && !/(^|\s+)oneOf(\s+|$)/.test(curr.className)
    // /+bastl
       ) {
     setWarning(curr,locales.get('fillIn'));
    }
   }
   if ( currClassName == 'mustBeChecked' ) {
    if ( curr.checked == false ) {
     setWarning(curr,locales.get('mustBeChecked'));
    }
   }
  }
 }
 if ( oneOfCnt > 0 && oneOfCntValue == 0 ) {
  for( var i = 0; i < thisForm.elements.length; i++) {
   curr = thisForm.elements[i];
   currClassNames = curr.className.split(/\s+/);
   for ( var j = 0; j < currClassNames.length; j++) {
    currClassName = currClassNames[j];
    if ( currClassName == 'oneOf' ) {
     setWarning(curr,locales.get('fillInOneOf') + oneOfTxtBuffer.join(', ') + '.' );
    }
   }
  }
 }
 // přidá text [str] za [obj]ekt do tagu [warningTagName] (viz začátek)
 function setWarning(obj,str) {
  obj.parentNode.getElementsByTagName(warningTagName)[0].innerHTML = str;
  result = false;
 }
 function clearWarning(obj) {
  if ( obj.parentNode.getElementsByTagName(warningTagName).length == 0 ) {
   var novyObj = document.createElement(warningTagName);
   obj.parentNode.appendChild(novyObj);
  }
  obj.parentNode.getElementsByTagName(warningTagName)[0].innerHTML = '';
 }
 return result
}
//
// Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
// http://javascript.internet.com
//
function jcv_checkEmail(emailStr) {
 if (emailStr.length == 0) {
     return true;
 }
 // TLD checking turned off by default
 var checkTLD=0,
  knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/,
  emailPat=/^(.+)@(.+)$/,
  specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]",
  validChars="\[^\\s" + specialChars + "\]",
  quotedUser="(\"[^\"]*\")",
  ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/,
  atom=validChars + '+',
  word="(" + atom + "|" + quotedUser + ")",
  userPat=new RegExp("^" + word + "(\\." + word + ")*$"),
  domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"),
  matchArray=emailStr.match(emailPat);
 if (matchArray==null) return false
 var user=matchArray[1],
  domain=matchArray[2];
 for (i=0; i<user.length; i++) {
  if (user.charCodeAt(i)>127) return false
 }
 for (i=0; i<domain.length; i++) {
  if (domain.charCodeAt(i)>127) return false
 }
 if (user.match(userPat)==null) return false
 var IPArray=domain.match(ipDomainPat);
 if (IPArray!=null) {
  for (var i=1;i<=4;i++) {
   if (IPArray[i]>255) return false
  }
  return true
 }
 var atomPat=new RegExp("^" + atom + "$");
 var domArr=domain.split(".");
 var len=domArr.length;
 for (i=0;i<len;i++) {
  if (domArr[i].search(atomPat)==-1) return false
 }
 if (checkTLD && domArr[domArr.length-1].length!=2
 && domArr[domArr.length-1].search(knownDomsPat)==-1) return false
 if (len<2) return false
 return true;
}
//
// § formHelper-hint.js
//
// addEvent( window, 'load', function(){formHelper.init()} ); // přesunuto výše
var formHelper =
// z titlů fomlulářových prvků udělá ikonky "?"
// které při hoveru ukáží příslušný popisek v bublině
// potřebuje: addEvent() , getParentOf()
{ iconSource: // innerHTML ikonky "?"
  '<b>[?]<\/b>'
, iconClassName: // class ikonky "?"
  'icon'
, hintClassName: // class hintové bubliny
  'hint'
, init:
  // všem INPUTům (formulářovým prvnkům)
  // které mají TITLE, udělá bublinovací ikonky
  function ( )
  { var counter = 0, form_index = -1 , the_form
  ; while ( the_form = document.forms[++form_index] )
    { var elem_index = -1, the_elem
    ; while ( the_elem = the_form.elements[++elem_index] )
      { if ( the_elem.title && the_elem.title != '' )
        { this.makeIcon( the_elem , ++counter );
        }
      }
    }
  }
, makeIcon:
  // uďá icoonky
   function ( inputEl , idNr ) {
    // unikátní Id:
    var UID = 'helpBubble' + idNr;
    // ikonka:
    var icon = document.createElement('i');
    icon.innerHTML = this.iconSource;
    icon.className = this.iconClassName + ' ' + UID ;
    // - vysledné html bude asi tovéto:
    //  <i class="{this.iconClassName} {UID}">{this.iconSource}</i>, tj:
    //  <i class="icon helpBubble1"><b>[?]</b></i>
    //  přičemž druhý class ke klíčový pro hledání příslušné bubliny
    // navěsit eventy:
    addEvent( icon , 'mouseover' , formHelper.showHint )
    addEvent( icon , 'mouseout' , formHelper.hideHint )
    // … a vepsat:
    this.insertAfter( icon , inputEl );
    // hintová bublina:
    var hint = document.createElement('i');
    hint.setAttribute( 'id' , UID );
    hint.className = this.hintClassName;
    hint.innerHTML = inputEl.title;
    // - vysledné html bude asi tovéto:
    //  <i class="{this.hintClassName}" id="{UID}">{inputEl.title}</i>, tj:
    //  <i class="hint" id="helpBubble1">blabla</i>
    // smazat title inputu, aby "nedráždil":
    inputEl.title = '';
    // … a vepsat!
    getParentOf( inputEl , 'fieldset').appendChild( hint );
   }
  ,
  showHint:
  // ukáže element s ID stejným jako druhý class elementu v this
   function () {
    document.getElementById(this.className.split(' ')[1]).style.display = 'block';
   }
  ,
  hideHint:
  // schová element s ID stejným jako druhý class elementu v this
   function () {
    document.getElementById(this.className.split(' ')[1]).style.display = 'none';
   }
  ,
  insertAfter:
  // vloží DOM nodu newEl za tgtEl
   function ( newEl , tgtEl ) {
    var p = tgtEl.parentNode;
    if ( p.lastchild == tgtEl ) {
     p.appendChild( newEl );
    } else {
     p.insertBefore( newEl, tgtEl.nextSibling );
    }
   }
  // ,
 }
;
window.captcha =
{
 image:
 // reference na pic
  undefined
 ,
 origUrl:
 // URL 'jak bylo' (bez parametrů)
  undefined
 ,
 getNew:
 // samotná fce
  function ( imageID ) {
   if( !this.image ) {
    this.image = document.getElementById( imageID );
    this.origUrl = this.image.src;
   }
   if ( !this.origUrl ) {
    return false
   }
   var tmpDate = new Date();
   var tmpISODate =
    tmpDate.getFullYear()
    + '-' + tmpDate.getMonth()
    + '-' + tmpDate.getDate()
    + 'T' + tmpDate.getHours()
    + '-' + tmpDate.getMinutes()
    + '-' + tmpDate.getSeconds()
    + '-' + tmpDate.getMilliseconds()
   ;
   this.image.src = this.origUrl + '?timestamp=' + tmpISODate;
   return true
  }
 //,
}
window.reCaptcha =
 function ( imageID ) {
  return window.captcha.getNew( imageID );
 }
;
// EOF idealcover/static/global.js
