var d = document;
var w = window;




function setMouseOverOut(activator,fncOver,fncOut) {
  var el;
  if (activator.nodeType==1) el = activator;
  else el = d.getElementById(activator);
  if (fncOver) addEvent(el,'mouseover',function(){eval(fncOver)});
  if (fncOut) addEvent(el,'mouseout',function(){eval(fncOut)});
}
function setMouseDown(activator,fnc) {
  var el;
  if (activator.nodeType==1) el = activator;
  else el = d.getElementById(activator);
  if (fnc) addEvent(el,'mousedown',function(){eval(fnc)});
}
function setClass(id,c) {
  d.getElementById(id).className = c;
}
function findNodeType(el,type) {
  var child = el.firstChild
  while (child!=null) {
    if (child.nodeType==type) return child;
    child = child.nextSibling;
  }
  return false;
}

// unification of browsers's functions
if (!d.getElementsByClassName) {
  d.getElementsByClassName = function(cl) {
    var a = [];
    var reg = new RegExp('\\b'+cl+'\\b');
    var els = this.getElementsByTagName('*');
    for (var i=0; i<els.length; i++) {
      var c = els[i].className;
      if (reg.test(c)) a.push(els[i]);
    }
    return a;
  }
}
if (!w.getComputedStyle) {
  w.getComputedStyle = function(el,pseudo) {
    this.el = el;
    this.getPropertyValue = function(prop) {
      var reg = /(\-([a-z]){1})/g;
      if (prop=='float') prop = 'styleFloat';
      if (reg.test(prop)) {
        prop = prop.replace(reg, function () {
          return arguments[2].toUpperCase();
        });
      }
      return el.currentStyle[prop] ? el.currentStyle[prop] : null;
    }
    return this;
  }
}
function colorToHex(str) {
  var hex = '';
  if (str.substr(0,1)=='#') {
    hex = str.substr(1);
    if (hex.length==3) hex += hex;
  } else {
    var re = /[^0-9,]/g;
    var rgb = str.replace(re, '').split(',');
    for (var i=0; i<rgb.length; i++) {
      hex += Number(rgb[i]).toString(16);
    }
  }
  return hex;
}
function addEvent(o,eventName,fnc) {
  if(o.addEventListener) {
    o.addEventListener(eventName,fnc,true);
    return true;
  } else if (o.attachEvent) {
    var r = o.attachEvent('on'+eventName,fnc);
    return r;
  } else {
    return false;
  }
}
function removeEvent(o,eventName,fnc) {
  if(o.removeEventListener) {
    o.removeEventListener(eventName,fnc,true);
    return true;
  } else if (o.detachEvent) {
    var r = o.detachEvent('on'+eventName,fnc);
    return r;
  } else {
    return false;
  }
}

/* Kontrola formuláře;  */

function check_email(element) {
    /* Mail check */
if (element == null){
element = event.target.id;
}    
    
    re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$/;
    if (document.getElementById(element).value.search(re) == -1)
      {/* Unhide error div */
     // $("."+event.target.id+".err").toggleClass("hide",false);
     $("."+element+".err").toggleClass("hide",false);
       return false;
      }else {
      $("."+element+".err").toggleClass("hide",true);
      return true;
      }
    /* Check for input empty values */    
}

function check_input(element) {
/* check if input has a value */
if (element == null){
element = event.target.id;
}

if (document.getElementById(element).value == ""){
$("."+element+".err").toggleClass("hide",false);
return false;
}else {
      $("."+element+".err").toggleClass("hide",true);
      return true;
    }

}

function ajaxForm(form){
 
/* Check form elements before submit */
//function checkForm() {
var returnFromFnc = false;
$('#contactform :input').each(function() {
   if (!check_input(this.id) || !check_email('email')){
     returnFromFnc = true;
     return false;
   }
});
if (returnFromFnc) {
  return;
}
//}

//checkForm();

	var req;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		req = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
			//	alert("Your browser broke!");
				return false;
			}
		}
	}
	          if (form == "contact"){   //action for contact form
            var name = document.getElementById("name").value;
            var tel = document.getElementById('tel').value;
            var email = document.getElementById('email').value;
            var msg = document.getElementById('msg').value;
            var params = "name="+name+"&"+"tel="+tel+"&"+"email="+email+"&"+"msg="+msg;
            }
            if (form == "feedback") {  //action for feedback form
            var msg = document.getElementById('msgfeed').value;
            var form = document.getElementById('formtype_feed').value;
            var params = "form="+form+"&"+"msg="+msg;
            }
            
            
            req.abort();
            req.open("POST","form.php",true);
            req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	
            req.send(params);
            
            //Check if the data is submitted correctly
            req.onreadystatechange=function(){
                    if (req.readyState==4 && req.status==200){
                    
                    
                    if (form == "contact"){
                     $("#submit").hide(200);
                    // 
                     $("#confirm").toggleClass("hide",false);
                     $("#confirm").show(100);
                      }
                    if (form == "feedback") {
                    $("#submitfeed").hide(200);
                    $("#confirmfeed").toggleClass("hide",false);
                    $("#confirmfeed").show(100);   
                      }
                    }
                    /*
                    else{
                    // chyba když se neodešle skript
                    $("#submit").hide(200);
                     $("#error").toggleClass("hide",false);
                     $("#contactsubmit").toggleClass("hide",false);
                   
                    } */
                }            
}

function closeMsg(form) {
if (form == "contact"){
$("#confirm").toggleClass("hide",true);
$("#submit").show(100);
}

if (form == "feedback") {
$("#confirmfeed").toggleClass("hide",true);
$("#submitfeed").show(100);
}
}
/*
function closeMsg() {
$("#confirm").toggleClass("hide",true);
$("#submit").show(100);
}
 */
 
 
function closeDivs(){

  
 $(".text_hide").toggleClass("hide",true);
 el.animate({height:""+height+""},100);
 $(".sipka").toggleClass("open",false);

}

function expandDiv() {
    elem=$(".roll");
 
    
    if( elem.hasClass("open") ){
    elem.animate({height:""+height+""},600).toggleClass("open",false);
     $(".sipka").toggleClass("open",false);
     $(".hide").toggleClass("open",true);
     closeDivs();
     
    }else{
    
   elem.animate({height:""+open_height+""},600).toggleClass("open",true);
     $(".sipka").toggleClass("open",true);
      $(".text_hide").toggleClass("hide",false);
    }
    

}



/* smooth scrolling */ 
jQuery(document).ready(function($){
     
    $('a[href*=#]').click(function() {
     
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
    && location.hostname == this.hostname) { 
    var $target = $(this.hash); 
    $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
     
    if ($target.length) {
    var targetOffset = $target.offset().top;
    $('html,body').animate({scrollTop: targetOffset}, 1000);
    return false;
     
    }
     
    }
     
    });
     
    });


/*

  if( elem.hasClass("open") ){
    elem.animate({height:"490px"},600).toggleClass("open",false);
     $(".sipka").toggleClass("open",false);
     $(".hide").toggleClass("open",true);
     $(".hide").animate()
    }else{
    elem.animate({height:"800px"},600).toggleClass("open",true);
     $(".sipka").toggleClass("open",true);
    }

*/
