/**
 * MATESIONE library 
 * version: 1.7  
 **/
function id(name){return document.getElementById(name);}
function tag(name,element){return(element||document).getElementsByTagName(name);}
function className(name,element){var classRegular=new RegExp("(^|\\s)"+name+"(\\s|$)");var allTags=tag("*",element);var classField=[];var y=0;for(var x=0;x<allTags.length;x++){if(classRegular.test(allTags[x].className)){classField.push(allTags[x]);}}
return classField;}
function hasClass(element,className){var classRegular=new RegExp("(^|\\s)"+className+"(\\s|$)");if(classRegular.test(element.className))
return true;else
return false;}
function addClass(element,className){var classRegular=new RegExp("(^|\\s)"+className+"(\\s|$)");if(!classRegular.test(element.className)){if(element.className=="")
element.className=className;else
element.className+=" "+className;}}
function removeClass(element,className){var classRegular=new RegExp("(^|\\s)"+className+"(\\s|$)");if(element.className==className){element.className="";}else{var tempClass=element.className;var newClass=tempClass.replace(classRegular,"");element.className=newClass;}}
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);}
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);}
function prev(element){do{element=element.previousSibling;}while(element&&element.nodeType!=1)
return element;}
function next(element){do{element=element.nextSibling;}while(element&&element.nodeType!=1)
return element;}
function first(element){element=element.firstChild;return element&&element.nodeType!=1?next(element):element;}
function last(element){element=element.lastChild;return element&&element.nodeType!=1?prev(element):element;}
function parent(element,number){number=number||1;for(var i=0;i<number;i++){if(element!=null)element=element.parentNode;}
return element;}
function add(element){return document.createElementNS?document.createElementNS('http://www.w3.org/1999/xhtml',element):document.createElement(element);}
function remove(element){if(element)element.parentNode.removeChild(element);}
function truncate(element){while(element.firstChild)
remove(element.firstChild)}
function overElement(element){var r=[];if(element.constructor!=Array)element=[element];for(var i=0;i<element.length;i++){if(element[i].constructor==String){var div=add("div");div.innerHTML=element[i];for(var j=0;j<div.childNodes.length;j++)
r[r.length]=div.childNodes[j];}else if(element[i].length){for(var j=0;j<element[i].length;j++)
r[r.length]=element[i][j];}else{r[r.length]=element[i];}}
return r;}
function before(parent,prev,element){if(element==null){element=prev;prev=parent;parent=prev.parentNode;}
var elements=overElement(element);for(var i=elements.length-1;i>=0;i--){parent.insertBefore(elements[i],prev);}}
function append(parent,element){var elements=overElement(element);for(var i=0;i<elements.length;i++){parent.appendChild(elements[i]);}}
function getCss(element,name){if(element.style[name])
return element.style[name];else if(element.currentStyle)
return element.currentStyle[name];else if(document.defaultView&&document.defaultView.getComputedStyle){name=name.replace(/([A-Z])/g,"-$1");name=name.toLowerCase();var s=document.defaultView.getComputedStyle(element,"");return s&&s.getPropertyValue(name);}else
return null;}
function pageX(element){return element.offsetParent?element.offsetLeft+pageX(element.offsetParent):element.offsetLeft;}
function pageY(element){return element.offsetParent?element.offsetTop+pageY(element.offsetParent):element.offsetTop;}
function parentX(element){return element.parentNode==element.offsetParent?element.offsetLeft:pageX(element)-pageX(element.parentNode);}
function parentY(element){return element.parentNode==element.offsetParent?element.offsetTop:pageY(element)-pageY(element.parentNode);}
function posX(element){return parseInt(getCss(element,"left"));}
function posY(element){return parseInt(getCss(element,"top"));}
function setX(element,position){element.style.left=position+"px";}
function setY(element,position){element.style.top=position+"px";}
function addX(element,position){setX(element,posX(element)+position);}
function addY(element,position){setY(element,posY(element)+position);}
function getWidth(element){return parseInt(getCss(element,"width"));}
function getHeight(element){return parseInt(getCss(element,"height"));}
function getMaxWidth(element){if(getCss(element,"display")!="none"){return element.offsetWidth||getWidth(element);}
var old=presetCss(element,{display:"",visibility:"hidden",position:"absolute"});var width=element.clientWidth||getWidth(element);resetCss(element,old);return width;}
function getMaxHeight(element){if(getCss(element,"display")!="none"){return element.offsetHeight||getHeight(element);}
var old=presetCss(element,{display:"",visibility:"hidden",position:"absolute"});var height=element.clientHeight||getHeight(element);resetCss(element,old);return height;}
function addWidth(element,width){setWidth(element,getWidth(element)+width);}
function setWidth(element,width){element.style.width=width+"px";}
function addHeight(element,height){setHeight(element,getHeight(element)+height);}
function setHeight(element,height){element.style.height=height+"px";}
function presetCss(element,settings){var old={};for(var i in settings){old[i]=element.style[i];element.style[i]=settings[i];}
return old;}
function resetCss(element,settings){for(var i in settings){element.style[i]=settings[i];}}
function setOpacity(element,level){if(window.ActiveXObject)
element.style.filter='alpha(opacity='+level+')';else
element.style.opacity=level/100;}
function getMouseX(e){e=e||window.event;return e.pageX||e.clientX+document.body.scrollLeft;}
function getMouseY(e){e=e||window.event;return e.pageY||e.clientY+document.body.scrollTop;}
function getMouseElementX(e){return(e&&e.layerX)||window.event.offsetX;}
function getMouseElementY(e){return(e&&e.layerY)||window.event.offsetY;}
function getPageWidth(){return document.body.scrollWidth;}
function getPageHeight(){return document.body.scrollHeight;}
function getWindowWidth(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;}
function getWindowHeight(){var de=document.documentElement;return self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;}
function scrollbarX(){var de=document.documentElement;return self.pageXOffset||(de&&de.scrollLeft)||document.body.scrollLeft;}
function scrollbarY(){var de=document.documentElement;return self.pageYOffset||(de&&de.scrollTop)||document.body.scrollTop;}
function show(element){element.style.display="block";}
function hide(element){element.style.display="none";}
function fadeIn(element){setOpacity(element,0);show(element);for(var i=0;i<=100;i+=5){(function(){var position=i;setTimeout(function(){setOpacity(element,position);},(position+1)*8);})();}}
function fadeOut(element){setOpacity(element,100);show(element);for(var i=100;i>=0;i-=5){(function(){var position=i;setTimeout(function(){setOpacity(element,position);if(position==0)hide(element);},(100-position+1)*8);})();}}
function slideDown(element){show(element);var height=getMaxHeight(element);element.style.height="0px";for(var i=0;i<=100;i+=5){(function(){var position=i;setTimeout(function(){element.style.height=(position/100)*height+"px";},(position+1)*10);})();}}
function ajax(options){options={type:options.type||"",url:options.url||"",method:options.method||"GET",timeout:options.timeout||5000,onComplete:options.onComplete||function(){},onError:options.onError||function(){},onSuccess:options.onSuccess||function(){},data:options.data||null};if(typeof XMLHttpRequest=="undefined"){XMLHttpRequest=function(){return new ActiveXObject(navigator.userAgent.indexOf("MSIE 5")>=0?"Microsoft.XMLHTTP":"Msxml2.XMLHTTP");};}
var xml=new XMLHttpRequest();if(options.method=="GET"){if(options.data==null){var connection=options.url;}else{var connection=options.url+"?"+options.data;}
xml.open(options.method,connection,true);}else{xml.open(options.method,options.url,true);}
var requestDone=false;setTimeout(function(){requestDone=true;},options.timeout);xml.onreadystatechange=function(){if(xml.readyState==4&&!requestDone){if(httpSuccess(xml)){options.onSuccess(httpData(xml,options.type));}else{options.onError();}
options.onComplete();xml=null;}};if(options.method!="GET"){xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");if(xml.overrideMimeType)
xml.setRequestHeader("Connection","close");xml.send(options.data);}else{xml.send(null);}
function httpSuccess(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||navigator.userAgent.indexOf("Safari")>=0&&typeof r.status=="undefined";}catch(e){}
return false;}
function httpData(r,type){var ct=r.getResponseHeader("Content-Type");var data=!type&&ct&&ct.indexOf("xml")>=0;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script")
eval.call(window,data);return data;}}
function getCookie(name){var cookies=document.cookie;var startIndex=cookies.indexOf(name+"=");if(startIndex!=-1){startIndex=startIndex+name.length+1;var endIndex=cookies.indexOf("; ",startIndex);if(endIndex==-1){endIndex=cookies.length;}
return cookies.substring(startIndex,endIndex);}else{return false;}}
function setCookie(name,value,expiration,path,domain,secure){var cookie=name+"="+value;if(expiration){cookie+="; expires="+expiration.toGMTString();}
if(path){cookie+="; path="+path;}
if(domain){cookie+="; domain="+domain;}
if(secure){cookie+="; secure="+secure;}
document.cookie=cookie;}
function removeCookie(name,path,domain){var cookie=name+"=";if(path){cookie+="; path="+path;}
if(domain){cookie+="; domain="+domain;}
cookie+="; expires=Fri, 02-Jan-1970 00:00:00 GMT";document.cookie=cookie;}
function isMail(mail){var pattern_mail=/\S+@\S+\.\w{2,3}$/;if(pattern_mail.test(mail))
return true;else
return false;}
function isPhone(phone){var pattern_phone=/^(\+420\s*)?[1-7](\s*\d\s*){8}$/;if(pattern_phone.test(phone))
return true;else
return false;}
function isZipcode(zipcode){var pattern_zipcode=/^[0-9]{3} ?[0-9]{2}$/;if(pattern_zipcode.test(zipcode))
return true;else
return false;}
addEvent(window,"load",function(){var targetblanks=className("targetblank");for(var i=0;i<targetblanks.length;i++){targetblanks[i].onclick=function(){if(typeof(window.open(this.href))=="object")return false;}}
var default_border="1px solid #9F9E9E";var check_val=function()
{var go_thru=true;var go_thru_mail=true;var go_thru_phone=true;var go_thru_zipcode=true;var go_thru_mail_or=true;var go_thru_phone_or=true;var inputs=this.getElementsByTagName("input");for(var z=0;z<inputs.length;z++)
{var classRegular=new RegExp("(^|\\s)"+"check-is-blank"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border=default_border;if(inputs[z].value=="")
{go_thru=false;inputs[z].style.border="1px solid red";}}
var classRegular=new RegExp("(^|\\s)"+"check-is-checked"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border="none";if(inputs[z].checked!=true)
{go_thru=false;inputs[z].style.border="1px solid red";}}
var classRegular=new RegExp("(^|\\s)"+"check-is-mail"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border=default_border;if(!(isMail(inputs[z].value)))
{go_thru_mail=false;inputs[z].style.border="1px solid red";}}
var classRegular=new RegExp("(^|\\s)"+"check-is-phone"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border=default_border;if(!(isPhone(inputs[z].value)))
{go_thru_phone=false;inputs[z].style.border="1px solid red";}}
var classRegular=new RegExp("(^|\\s)"+"try-is-mail-or"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border=default_border;if(!(isMail(inputs[z].value)))
{go_thru_mail_or=false;inputs[z].style.border="1px solid red";}
for(var q=0;q<inputs.length;q++)
{var classRegular=new RegExp("(^|\\s)"+"try-is-phone-or"+"(\\s|$)");if(classRegular.test(inputs[q].className))
{inputs[q].style.border=default_border;if(!((go_thru_mail_or==true)&&(inputs[q].value=='')))
{if(!(isPhone(inputs[q].value)))
{go_thru_phone_or=false;inputs[q].style.border="1px solid red";}}
if((go_thru_mail_or==false)&&(inputs[z].value==''))
{if(!(isPhone(inputs[q].value)))
{go_thru_phone_or=false;inputs[q].style.border="1px solid red";}
else
{inputs[z].style.border=default_border;go_thru_mail_or=true;}}}}}
var classRegular=new RegExp("(^|\\s)"+"check-is-zipcode"+"(\\s|$)");if(classRegular.test(inputs[z].className))
{inputs[z].style.border=default_border;if(!(isZipcode(inputs[z].value)))
{go_thru_zipcode=false;inputs[z].style.border="1px solid red";}}}
var select=this.getElementsByTagName("select");for(var z=0;z<select.length;z++)
{var classRegular=new RegExp("(^|\\s)"+"check-is-selected-first"+"(\\s|$)");if(classRegular.test(select[z].className))
{select[z].style.background="#ffffff";if(select[z].options[0].selected==true)
{go_thru=false;select[z].style.background="red";}}}
var textareas=this.getElementsByTagName("textarea");for(var z=0;z<textareas.length;z++)
{var classRegular=new RegExp("(^|\\s)"+"check-is-blank"+"(\\s|$)");if(classRegular.test(textareas[z].className))
{textareas[z].style.border=default_border;if(textareas[z].value=="")
{go_thru=false;textareas[z].style.border="1px solid red";}}}
var message="";if(go_thru_phone_or==false&&go_thru_mail_or==false)message+="Zadejte E-mail nebo Telefoní číslo!! \n";else if(go_thru_phone_or==true&&go_thru_mail_or==false)message+="Zadejte E-mail ve správném tvaru!! \n";else if(go_thru_phone_or==false&&go_thru_mail_or==true)message+="Zadejte Telefoní číslo ve správném tvaru!! \n";if(go_thru_mail==false)message+="Zadejte E-mail ve správném tvaru!! \n";if(go_thru_phone==false)message+="Zadejte Telefoní číslo ve správném tvaru!! \n";if(go_thru_zipcode==false)message+="Zadejte PSČ ve správném tvaru!! \n";if(go_thru==false)message+="Musíte vyplnit všechny povinné údaje označené hvězdičkou!! \n";if(message=="")
{return true;}
else
{alert(message);return false;}};var forms=document.getElementsByTagName("form");for(var x=0;x<forms.length;x++)
{var classRegular=new RegExp("(^|\\s)"+"form-validation"+"(\\s|$)");if(classRegular.test(forms[x].className))
{forms[x].onsubmit=check_val;}}});
