document.observe("dom:loaded", function() {
  $$('#middle #leftcol ul li').each(function (el) {
	Event.observe(el, "mouseover", function(event) {
		Element.addClassName(el, "selected");
	});
	Event.observe(el, "mouseout", function(event) {
		Element.removeClassName(el, "selected");
	});
  })
  $$('#middle #leftcol li ul').each(function (el) {
	Event.observe(el.parentNode, "mouseover", function(event) {
		Element.show(el);
		Element.addClassName(el.parentNode, "selected");
	});
	Event.observe(el.parentNode, "mouseout", function(event) {
		Element.hide(el);
		Element.removeClassName(el.parentNode, "selected");
	});
  })   
});

String.prototype.trim = function() {
	var str=this;
	str=str.replace(/^\s*(.*)/, "$1");
	str=str.replace(/(.*?)\s*$/, "$1");
	return str;
}
function validate(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email);
}


function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(hour,mins,day,month, year){
	var daysInMonth = DaysArray(12)
	hour=parseInt(hour);
	mins=parseInt(mins);
	month=parseInt(month)
	day=parseInt(day)
	year=parseInt(year)
		
	var date = new Date();

	var cday = date.getDate();
	var cmonth = date.getMonth()+1;
	var cyear = date.getFullYear();
	date.setDate(day);
	date.setMonth(month-1);
	date.setFullYear(year);
	var wday = date.getDay();
	
	if (cyear == year && ((cmonth == month && day == cday+1) || (month == cmonth+1 && day == 1 && cday == daysInMonth[cmonth]))
			&& (new Date()).getHours() >= 15) {
		alert("Schůzka na tento den již není možné sjednat. Zvolte pozdější termín.");
		return false;
	}
	
	if (cyear > year || ((cyear == year)&&(cmonth > month)) || ((cday >= day)&&(cmonth == month)&&(cyear == year))) {
		alert("Schůzka na tento den již není možné sjednat. Zvolte pozdější termín.");
		return false;
	}
	if (wday == 0 || wday == 6) {
		alert("Schůzka se může konat pouze v pracovní den. Zvolte jiný termín.");
		return false;
	}

	holiday = new Array(10,1);
	holiday[0] = [1,1];
	holiday[1] = [1,5];
	holiday[2] = [8,5];
	holiday[3] = [5,7];
	holiday[4] = [6,7];
	holiday[5] = [28,9];
	holiday[6] = [28,10];
	holiday[7] = [17,11];
	holiday[8] = [24,12];
	holiday[9] = [25,12];
	holiday[10] = [26,12];
	
	for (i = 0; i < 11; i++) {
		if ((holiday[i][0] == day) && (holiday[i][1] == month)) {
			alert('Schůzka se může konat pouze v pracovní den. Zvolte jiný termín.');
			return false
		}
	} 
	easter = new Array(6,1);
	easter[0] = [13,4];
	easter[1] = [5,4];
	easter[2] = [25,4];
	easter[3] = [9,4];
	easter[4] = [1,4];
	easter[5] = [21,4];
	easter[6] = [6,4];
	
	for (i = 0; i < 7; i++) {
		if ((easter[i][0] == day) && (easter[i][1] == month) && ((2009 + i) == year)) {
			alert('Schůzka se může konat pouze v pracovní den. Zvolte jiný termín.');
			return false;
		}
	} 	
	
	
	if ((month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Toto datum neexistuje, zadejte prosím jiné")
		return false;
	}

	
	if ((mins < 0) || (mins > 59)) {
		alert("Čas schůzky není platný. Zadejte správný čas.");
		return false;
	}	
	if ((hour < 8) || ((hour > 18) && (mins == 0)) || ((hour > 17) && (mins > 0))) {
		alert("Čas schůzky musí být mezi 8:00 a 18:00. Zvolte jiný čas schůzky.");
		return false;
	}
	
return true;
}


function meeting(){
	if (document.getElementById) {
			
			

		var name = $F('name');
		var email = $F('email');
		var city = $F('city');
		var text = $F('message');
		var day = $F('day');
		var month = $F('month');
		var year = $F('year');
		var hours = $F('hours');
		var minutes = $F('minutes');
		 if (!isDate(hours, minutes, day, month, year)) {
			return false;
		 }
		 
		 
		
		if (name.trim() == "" || email.trim() == "" || text.trim() == "") {
			alert("Vyplňte, prosím, všechny položky formuláře.")
			return false;
		}
		
		var url = '/wp-content/themes/classic/ajax.php ';
     	var pars = "meeting=1&name=" + encodeURI(name) + "&" + "email=" + encodeURI(email) + "&" + "town=" + encodeURI(city) + "&" + "text=" + encodeURI(text) + "&" + "hr=" + encodeURI(hours) + "&" + "ms=" + encodeURI(minutes) + "&" + "day=" + encodeURI(day) + "&" + "month=" + encodeURI(month) + "&" + "year=" + encodeURI(year);

   
     	var success = function(t) {
			pageTracker._trackPageview("/schuzka.html"); 
     		$('meetres').innerHTML = "Žádost o schůzku byla úspěšně odeslána. V nejbližší možné době Vás budeme kontaktovat pro potvrzení termínu";
			new Effect.Highlight('meetres',{ startcolor: '#ffeee7',endcolor: '#f0eee7' });
			$('name').value = "";
			$('email').value = "";
			$('city').value = "";
			$('message').value = "";
     	}
	    var failure = function(t) {
	    	$('meetres').innerHTML = "Při odesílání nastala chyba. Zkuste to později, prosím, nebo využijte jiného spojení uvedeného v kontaktech.";
			new Effect.Highlight('meetres',{ startcolor: '#f70000',endcolor: '#f7eee7' });
	    }
	
	    var myAjax = new Ajax.Request(url, {method:'post',
	          postBody:pars, onSuccess:success, onFailure:failure});
     	
		return false;
	}
	return false;
}
