function validate_email(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
      return false;
   }
}

$('a[@rel*=lightbox]').lightBox();

$('.galeria .title a').click(function(){
	$(this).siblings().attr('class','');
	this.className = 'act';
	$('.galeria div.galChild').css('display','none');
	$('#'+this.rel).css('display','block');
	return false;
});

$('.reg .check').toggle(
	function () {
		$(this).attr('class','check sel');
		$(this).children().val(1);
	},
	function () {
		$(this).attr('class','check');
		$(this).children().val(0);
	}
)
$('.reg .lab').toggle(
	function () {
		$(this).get(0).previousSibling.className='check sel';
		$(this).get(0).previousSibling.firstChild.value = 1;
	},
	function () {
		$(this).get(0).previousSibling.className='check';
		$(this).get(0).previousSibling.firstChild.value = 0;
	}
)

$('.reg .radio').click(function () {
	$(this).siblings('.radio').attr('class','radio');
	$(this).attr('class','radio sel');
	$(this).siblings('input').val($(this).next().attr('rel'));
})
$('.reg .rlab').click(function () {
	$(this).siblings('.radio').attr('class','radio');
	$(this).get(0).previousSibling.className='radio sel';
	$(this).siblings('input').val($(this).attr('rel'));
})

$('a.wysz').toggle(
	function () {
		$('#tops').css('display','block');
	},
	function () {
		$('#tops').css('display','none');
	}
)

if ($('#tops.show').length > 0) $('a.znof').click();

if ($(".date").length){
$(".date").datepicker({
dateFormat: 'yy-mm-dd', firstDay: 1
});
}

$('.chdate').click(function() { 
$(this).get(0).previousSibling.firstChild.focus();
return false;
});

$(function(){
	$.superbox();
});
function langSwitch (p) {
	var comm = document.location.pathname.match(/^\/([a-z]{2})\//);
	switch (comm[1]) {
		case "en": return p[0];
		case "pl": return p[1];
	}
}
function roomrez () {
	inps = $('#chroomc select').get();
	if (!inps) return;
	ret = '';
	for (var i = 0; i < inps.length; i++) {
		val = $(inps[i]).val();
		if (val > 0) {
			if (inps[i].previousSibling.value==1) ret += $(inps[i]).attr('name')+':'+val+':1'+', ';
			else ret += $(inps[i]).attr('name')+':'+val+':0'+', ';
		}
	}
	$('#chooroomsi').val(ret);
	if ($('#superbox-wrapper').css('display') != 'none') $('#superbox .close a').click();
}
function rez_updatuj_selecty() {
	var diff = Math.floor(date_beetween($('#ardate input').val(),$('#depdate input').val()));
	var inps = $('#chroomc select').get();
	var ile = 0;
	var sum = ile;
	var parent = '';
	var txttmp = langSwitch([/([0-9]+) PLN per bed(.*)/,/([0-9]+) PLN za łóżko(.*)/]);
	var txttmps = langSwitch([/([0-9]+) PLN per room(.*)/,/([0-9]+) PLN za pokój(.*)/]);
	for (var i = 0; i < inps.length; i++) {
		ile += inps[i].selectedIndex;
		parent = $(inps[i]).parent().get(0);
		vals = $(parent).prev().html().match(txttmp);
		vals = vals ? vals[1] : 0;
		vals2 = $(parent).prev().html().match(txttmps);
		vals2 = vals2 ? vals2[1] : 0;
		if ((vals2>0&&vals<1) || ($(parent.previousSibling).find('input').get(0) && $(parent.previousSibling).find('input').get(0).checked)) {
			val = (inps[i].selectedIndex>0?vals2*1:0);
			parent.firstChild.value = 1;
		}
		else {
			val = (inps[i].selectedIndex>0?vals*inps[i].selectedIndex:0);
			parent.firstChild.value = 0;
		}
		$(parent).next().html(val*diff);
		sum += val;
	}
	$('#days').val(diff);
	$('#chroomsum').val(diff*sum);
	$('#chroomsum2').text(diff*sum);
	brakuje = $('#chroomc .maxpeople').text() - ile;
	$('#chroomc .remainingpeople').text(brakuje);
	if (brakuje < 0) {
		var txt = langSwitch([' people too much',' osób za dużo']);
		$('#choorooms').text((-1*brakuje)+txt);
	} else if (brakuje > 0) {
		var txt = langSwitch([' people remaining','pozostało osób']);
		if (txt == ' people remaining') $('#choorooms').text(brakuje+txt);
		else $('#choorooms').text('pozostały '+brakuje+' łóżka do rezerwacji');
	} else if (brakuje == 0) {
		$('#choorooms').text('ok');
		roomrez();
	}
}
function rez_sprawdz_form() {
	$('#chooroomb').css('display','none');
	if (!$('#npeop').val()) {
		$('#choorooms').text(langSwitch(['fill number of people','wpisz liczbę osób']));
	}
	else if (!$('#ardate input').val()) $('#choorooms').text(langSwitch(['choose arrival date','wybierz datę przyjazdu']));
	else if (date_inpast($('#ardate input').val())) $('#choorooms').text(langSwitch(['incorrect arrival date','nieprawidłowa data przyjazdu']));
	else if (!$('#depdate input').val()) $('#choorooms').text(langSwitch(['choose departure date','wybierz datę wyjazdu']));
	else if (Math.floor(date_beetween($('#ardate input').val(),$('#depdate input').val())) < 1) $('#choorooms').text(langSwitch(['incorrect date','złe daty']));
	else {
		$('#choorooms').text('');
		$('.maxpeople, .remainingpeople').text($('#npeop').val());
		rez_updatuj_selecty();
		sprawdz_wolne_pokoje();
	}
}
$('#npeop, #ardate input, #depdate input').keyup(rez_sprawdz_form);
$('#ardate input, #depdate input').change(rez_sprawdz_form);
$('.chroomc select').change(rez_updatuj_selecty);
$('.chroomc input[type="checkbox"]').change(rez_updatuj_selecty);
$(window).load(rez_sprawdz_form);

$.preloadImages = function() {
	for(var i = 0; i<arguments.length; i++) {
		$("<img>").attr("src", arguments[i]);
	}
}
function animate_gallery () {
	galkey++;
	if (galkey >= galtab.length) {
		galkey = 0;
		galstoppreload = 1;
	}
	if (!galstoppreload) $.preloadImages(galtab[galkey]);
	$("#rgal2 a img").attr('src',$("#rgal a img").attr('src'));
	$("#rgal2").css('display','');
	$("#rgal a img").attr('src',galtab[galkey]);
	$("#rgal2").fadeOut(1500);
	setTimeout("animate_gallery()", galtime);
}
function start_gallery () {
	galtime = 5000;
	galkey = 0;
	galstoppreload = 0;
	galtab = $("#rgal a").attr('rel').split(";");
	$("#rgal").clone(true).attr('id','rgal2').insertBefore("#rgal");
	$("#rgal2").css('position','absolute');
	setTimeout("animate_gallery()", galtime);
}
$(window).load(start_gallery);

function date_beetween (d1,d2) {
	var minutes = 1000*60;
	var hours = minutes*60;
	var days = hours*24;
	var years = days*365;
	d1 = d1.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	d2 = d2.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	
	var d = new Date();
	d.setFullYear(d1[1],d1[2],d1[3]);
	var e = new Date();
	e.setFullYear(d2[1],d2[2],d2[3]);
	
	var t = e.getTime() - d.getTime();
	var y = t/days;
	return y;
}
function date_inpast (d1) {
	var minutes = 1000*60;
	var hours = minutes*60;
	var days = hours*24;
	var years = days*365;
	d1 = d1.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	
	var d = new Date();
	d.setFullYear(d1[1],d1[2]-1,d1[3]);
	var e = new Date();
	
	var t = e.getTime() - d.getTime();
	var y = t/days;
	if (y < 0) return false;
	else return true;
}
$('input.checkmail').parents('form').submit(function () {
	var vals = $(this).find('input.checkmail').val();
	if (typeof(vals) != 'object') vals = [vals];
	var vl = vals.length;
	var txt = langSwitch(['incorrect email address','błędny adres email']);
	if (vl > 0) {
		for (var i=0;i<vl;i++) {
			if (validate_email(vals[i]) == false) {
				alert(txt);
				return false;
			}
		}
	}
});
$('input[name="ardate"]').parents('form').submit(function () {
	var ardate = $(this).find('input[name="ardate"]').val();
	var depdate = $(this).find('input[name="depdate"]').val();
	if (depdate.length != 10 || ardate.length != 10) {
		alert(langSwitch(['incorrect date','nieprawidłowa data']));
		return false;
	}
	var db = date_beetween(ardate,depdate);
	if (date_inpast(ardate)) {
		alert(langSwitch(['incorrect arrival date','nieprawidłowa data przyjazdu']));
		return false;
	} else if (db < 1) {
		alert(langSwitch(['incorrect date','nieprawidłowa data']));
		return false;
	} 
});


function finish_form () {
	$(this).attr('disabled','disabled');
}
$('.finish_form_s').click(finish_form);

$('.finish_form_s2').click(function(){
	setTimeout(function () {
		$(this).attr('disabled','disabled');
		$('#finish_form').submit();
	},50);
});

function sprawdz_wolne_pokoje () {
	var npeop = $('#npeop').val();
	var ardate = $('#ardate input').val();
	var depdate = $('#depdate input').val();
	$.ajax({
	  type: "GET",
	  url: "/ajax.php?mod=freerooms&npeop="+npeop+"&ardate="+ardate+"&depdate="+depdate,
	  error: function () {
	  },
	  success: function(data) {
		var tab = [];
		var chr = $('#chooroomsi').val().split(', ');
		for ( var d in chr ) {
			var c = chr[d].split(':');
			if (c.length<2) continue;
			var e = c[0].match(/[0-9]+/);
			tab[e] = [c[1],c[2]];
		}
		var split = data.split(',');
		for ( var s in split ) {
			var ss = split[s].split(':');
			var ropt='';
			var td = $('#chroomc select[name="room'+ss[0]+'"]').get(0).parentNode.previousSibling.previousSibling;
			if (tab[ss[0]]) for (var i=0;i<=ss[1];i++) {
				if (tab[ss[0]][0]==i) ropt += '<option selected="">'+i+'</option>';
				else ropt += '<option>'+i+'</option>';
				if (tab[ss[0]][1]==1 && $(td.nextSibling).find('input').length) $(td.nextSibling).find('input').attr('checked','checked');
			}
			else for (var i=0;i<=ss[1];i++) ropt += '<option>'+i+'</option>';
			$('#chroomc select[name="room'+ss[0]+'"]').html(ropt);
			var txt = td.innerHTML.match(/^([0-9]+)(.*)/);
			td.innerHTML = (i-1)+txt[2];
		}
		$('#chooroomb').css('display','block');
	  }
	});
	return;
}







