$(document).ready(function(){

	// Main menu hover
	$("#mainmenu > li").hover(
	function(){
		$(this).children("ul").show();
	},
	function(){
		$(this).children("ul").hide();
	});


	/*** PROMO FLASH ***/
	$('#shirazflashpromo').flash({
		src: '/swf/shiraz_promo.swf',
		width: 590,
		height: 296,
		wmode: 'transparent',
		allowScriptAccess: 'always',
		flashvars: { lang: lang }
	});

	/*** set equal height for offers at the index page ***/
	if ($("#indexpage").length > 0) {
		var maxh = 0;
		var offers = $("#indexpage .offer");
		offers.each(function(){
			var h = $(this).height();
			if (h > maxh) maxh = h;
		});
		offers.height(maxh);
	}

	/*** RÉSZLETEK + BEZÁRÁS GOMBOK ***/
	$(".offerbox").each(function(){
		var $this = $(this);
		var $offerpanel = $(".offercontent",this);
		var $detailspanel = $(".offerdetails",this);
		var $offerbottom = $(".offerbottom",this);
		var $detailsbtn = $(".details",this);
		$(".details",this).click(function(){
			var height = $offerpanel.height();
			$detailsbtn.hide();
			$offerpanel.height(height);
			$detailspanel.slideDown(300, function(){
				$('html,body').animate({scrollTop: $this.offset().top + 'px'}, 600);
			});
			$offerbottom.css('background-image', 'url(/img/offerboxbottom_light.png)');
		});
		$(".close",this).click(function(){
			$detailspanel.slideUp(300, function(){ $detailsbtn.show(); });
			$offerbottom.css('background-image', 'url(/img/offerboxbottom.png)');
		});
		$(".details",this).filter(".click").click();
	});
	$(function() {
		if ($(".scrollhere").length>0) {
			$('html,body').animate({scrollTop: $(".scrollhere").offset().top + 'px'}, 600);
		}
		var myFile = document.location.toString();
		if (myFile.match('#')) {
			var myAnchor = myFile.split('#')[1];
			$("#details_button_"+myAnchor).click();
		}
	});

	/*** VENDÉGKÖNYV FORM ***/
	$("form#form_guestbook").submit(function() {
		$.post("/ajax_guestbook.php",
			{
				lang: $("#guestbook_lang").val(),
				name: $("#guestbook_name").val(),
				email: $("#guestbook_email").val(),
				message: $("#guestbook_message").val()
			},
			function(data){
				if (data.error) alertError(error_title, data.error);
				else if (data.message) {
					$("div#rightguestbookdiv").html(data.message);
					Cufon.replace('#mainmenu > li > a > span > em, .customfont');
					Cufon.now();
				}
			},
			"json"
		);
		return false;
	});

	/*** MESSAGE FORM ***/
	$("form#form_message").submit(function() {
		$.post("/ajax_message.php",
			{
				lang: $("#message_lang").val(),
				name: $("#message_name").val(),
				email: $("#message_email").val(),
				message: $("#message_message").val()
			},
			function(data){
				if (data.error) alertError(error_title, data.error);
				else if (data.message) {
					$("div#rightcontactdiv").html(data.message);
					Cufon.replace('#mainmenu > li > a > span > em, .customfont');
					Cufon.now();
				}
			},
			"json"
		);
		return false;
	});

	/*** ORDER FORM ***/
	$("form#form_order").submit(function() {
		$.post("/ajax_order.php",
			{
				lang: $("#order_lang").val(),
				type: $("#order_type").val(),
				id: $("#order_id").val(),
				period_id: $("#order_period_id").val(),
				fullname: $("#order_fullname").val(),
				email: $("#order_email").val(),
				phone: $("#order_phone").val(),
				arrive: $("#arrive").val(),
				alt_arrive: $("#alt_arrive").val(),
				departure: $("#departure").val(),
				alt_departure: $("#alt_departure").val(),
				rooms: $("#rooms").val(),
				adults: $("#adults").val(),
				children: $("#children").val(),
				message: $("#order_message").val()
			},
			function(data){
				if (data.error) alertError(error_title, data.error);
				else if (data.message) {
					$("div#requestform").html(data.message);
					Cufon.replace('#mainmenu > li > a > span > em, .customfont');
					Cufon.now();
				}
			},
			"json"
		);
		return false;
	});
	$(".integer").numeric();
	$(".phone").constrain({ allow: {regex: "[0-9+ /]"} });
	$(".email").constrain({ limit: {"@":1} });

	/*** NEWSLETTER FORM ***/
	$("form#form_newsletter").submit(function() {
		$.post("/ajax_newsletter.php",
			{
				lang: $("#newsletter_lang").val(),
				name: $("#newsletter_name").val(),
				email: $("#newsletter_email").val()
			},
			function(data){
				if (data.error) alertError(error_title, data.error);
				else if (data.message) {
					$("div#rightnewsletterdiv").html(data.message);
					Cufon.replace('#mainmenu > li > a > span > em, .customfont');
					Cufon.now();
				}
			},
			"json"
		);
		return false;
	});

	/*** DATEPICKER ***/
	$("#arrive").datepicker({
		altField: '#alt_arrive',
		altFormat: 'yy-mm-dd',
		showOn: 'both',
		buttonImage: '/img/calendar.png',
		buttonImageOnly: true,
		duration: 'normal',
		showAnim: 'fadeIn'
	});
	$("#departure").datepicker({
		altField: '#alt_departure',
		altFormat: 'yy-mm-dd',
		showOn: 'both',
		buttonImage: '/img/calendar.png',
		buttonImageOnly: true,
		duration: 'normal',
		showAnim: 'fadeIn'
	});

	/*** CUSTOM TEXT ***/
	Cufon.replace('#mainmenu > li > a > span > em, .customfont');
	Cufon.now();

	/*** Feliratkozás, leiratkozás ***/
	if (newsletter_message!='') alertError(newsletter_title, newsletter_message);

	/*** PrettyPhoto ***/
	$(function() {
		$("a[rel^='prettyPhoto']").prettyPhoto({
			theme: 'facebook',
			opacity: 0.50
		});
	});
});

/*** POPUP ALERT ***/
function alertError(title, message) {
	$("body").append('<div id="error-message" title="'+title+'"></div>');
	$("#error-message").html(message);
	$("#error-message").dialog({
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});
}

/*** GOOGLE MAP ***/
var map;
var marker;
var to_html;
var from_html;
var infowindow;
function initialize() {
	var latlng = new google.maps.LatLng(47.869687,20.32212);
	var myOptions = {
		zoom: 17,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.SATELLITE
	};
	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	to_html = '<div style="width: 200px; height: 150px"><strong>' + infoString_title + '</strong><br /><br />' +
		directions + ': <strong>' + to_here + '</strong> - <a href="javascript:changeContent(from_html)">' + from_here + '</a>' +
		'<br />' + start_address + ':<form action="http://maps.google.com/maps" method="get" target="_blank">' +
		'<input type="hidden" name="hl" id="hl" value="' + lang + '" />' +
		'<input type="text" size="30" maxlength="48" name="saddr" id="saddr" value="" /><br />' +
		'<input value="'+get_directions+'" type="submit">' +
		'<input type="hidden" name="daddr" value="' + latlng.lat() + ',' + latlng.lng() +
		'"/></div>';
	from_html = '<div style="width: 200px; height: 150px"><strong>' + infoString_title + '</strong><br /><br />' +
		directions + ': <a href="javascript:changeContent(to_html)">' + to_here + '</a> - <strong>' + from_here + '</strong>' +
		'<br />' + end_address + ':<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
		'<input type="hidden" name="hl" id="hl" value="' + lang + '" />' +
		'<input type="text" size="30" maxlength="48" name="daddr" id="daddr" value="" /><br />' +
		'<input value="'+get_directions+'" type="submit">' +
		'<input type="hidden" name="saddr" value="' + latlng.lat() + ',' + latlng.lng() +
		'"/></div>';
	infowindow = new google.maps.InfoWindow({
    content: to_html
	});
	marker = new google.maps.Marker({
    position: latlng,
    map: map,
    title: infoString_title
	});
	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map,marker);
	});
	infowindow.open(map,marker);
}
function changeContent(content_html) {
	infowindow.setContent(content_html);
}