$(document).ready(function(){

	$('a.fancybox').fancybox({
		zoomSpeedIn: 500,
		zoomSpeedOut: 500,
		width: 640,
		height: 480,
		overlayOpacity: 0.35,
		overlayColor: '#330F33',
		transitionIn: 'elastic',
		transitionOut: 'elastic',
		onStart:function(){$('#offerSpecial').hide()},
		onClosed:function(){$('#offerSpecial').show()}
	});


	$('a.calendar').fancybox({
		zoomSpeedIn: 500,
		zoomSpeedOut: 500,
		width: 900,
		height: 720,
		overlayOpacity: 0.35,
		overlayColor: '#330F33',
		transitionIn: 'elastic',
		transitionOut: 'elastic',
		onStart:function(){$('#offerSpecial').hide()},
		onClosed:function(){$('#offerSpecial').show()}
	});

	$('.date-pick').datepicker({
		showOn: 'both',
		buttonImage: '/images/layout/date.png',
		buttonImageOnly: true,
		dateFormat: 'dd/mm/yy'
	});
	
	$('a.new').click(function(){
		window.open($(this).attr('href'));
		return false;
	});
	
	searchHandler();
	searchByNameHandler();
	commentsHandler();
	newsletterHandler();
	
	$("#dialog-nearbyVillas").dialog({
		autoOpen: false,
		modal: true
	});
	
	$('#nearbyvillas').click(function(){		
		$("#dialog-nearbyVillas").dialog('open');			
		return false;
	});
	
	$('a.buttonTellFriend').click(tellAFriend);
	
	$("#translate input[type=submit]").button();
	
	$.skype(function(){
		$('#contacts p').addClass('skypeActive');
	});

	if(window.location.href.indexOf("booksorrentovillas.com")==11){
		$("#translator select").change(function(){
			$("#translator").submit();
		})
	}else{
		$("#lang .translate").html('<a href="http://www.booksorrentovillas.com" target="_top">&laquo; Return to original</a>');
	}
	
	if($('#nav .lastminute').length>0 && $('#nav .lastminute').hasClass('active')==false){
		setInterval(function(){
			$('#nav .lastminute .fl').stop()
									 .show()
									 .css({opacity:0})
									 .animate({opacity:0.75},1000,'swing',function(){
										 $(this).delay(250).animate({opacity:0},1000,'swing');
									 });
		},3500);
	}
	
	/*
	$("#translate select").selectmenu({
		style:'dropdown',
		width:150
	});	
	*/
});

function newsletterHandler(){
	$('#sidebar #newsletter input:submit').button();
	$('#sidebar #newsletter input').not(':submit').addClass('text ui-state-default ui-corner-all ui-text');
}

function commentsHandler(){
	if(document.getElementById('comments')==undefined) return;
	var gbdata = $('#comments').attr('rel').split(',');
	$('#comments').fancybox({
		zoomSpeedIn: 500,
		zoomSpeedOut: 500,
		width: 760,
		height: 520,
		overlayColor: '#330F33',
		autoDimensions: false,
		hideOnContentClick: false,
		hideOnOverlayClick: false,
		type: 'ajax',
		padding: 1,
		onStart:function(){$('#offerSpecial').hide()},
		onClosed:function(){$('#offerSpecial').show()},
		href: "/"+gbdata[1]+"/comments/",
		ajax: {
			cache: false,
			data: {
				id: gbdata[0]
			}
		}
	});
}

function searchHandler(){
	var values = new Array();
	
	function setDDLActive(el){
		if(el.selectedIndex>0){
			$(el).parent().find('a').addClass('ui-state-active');
		}
	}
	
	function onClose(){
		setDDLActive(this);
	}
	
	$('#search fieldset.search').hide();
	
	$("#search select[name=guests]").selectmenu({
		style:'dropdown',
		width:85,
		close: onClose
	});
	$("#search select[name=property]").selectmenu({
		style:'dropdown',
		width:150,
		close: onClose
	});
	$("#search select[name=area]").selectmenu({
		style:'dropdown',
		width:350,
		close: onClose
	});
	$("#search select[name=budget]").selectmenu({
		style:'dropdown',
		width:150,
		close: onClose
	});
	
	$("#search .facilities").removeClass("noJS");
	$("#search .facilities input").each(function(i,el){
		$(el).button({
            icons: {
                primary: $(el).parent().attr('class')
            },
            text: true
        });
        $(el).parent().removeClass('ico');
	});
	
	$('#search select').each(function(i,el){
		setDDLActive(el);
	});
	
	$('#search select, #search input:checkbox').change(function(){
		var time = ($.browser.msie) ? 250 : 750;
		$.blockUI({ 
					theme:     true, 
					title:    Localization.getTranslation("WAIT"), 
					message:  '<p style="font-size:120%"><img src="/images/ajax-loader.gif" alt="" style="margin-right:10px" />'+Localization.getTranslation("SEARCH")+'</p>'
					});
		setTimeout(function(){
			$('#search form').submit();
		},time);
	});
	
	function updateSelectedFacilities(){
		$('#dialog').dialog("close");
		var selected = $('#dialog').find('input:checked').length;
		$('.facilities .total').text('('+selected+' selected)');
		
		$('.facilities .container').empty();
		$('#dialog').find('input:checked').each(function(i,el){
			var el = $(el).parent().clone();
			var item = $('<p></p>').append(el).hide().fadeIn('slow');
			$('.facilities .container').append(item);
		});
	}
	updateSelectedFacilities();
}


function searchByNameHandler(){
	var form = $('#searchByName');
	form.submit(function(){
		return false;
	});
	form.find('input:submit').hide();
	form.find('input[name=terms]')
	.addClass('ui-state-default')
	.addClass('ui-corner-all')
	.autocomplete({
		minLength: 2,
		source: function(request, response){
			$.get(form.attr('action'), request, function(r) {
				var data = eval(r);//$("<div/>").html(r).text();
				if(data.length==0){
					$('#propertiesResult').html(Localization.getTranslation("VILLA NOT FOUND"));	
				}else{
					for(var d in data){
						data[d].label=data[d].value= $("<div/>").html(data[d].label).text();
					}
					$('#propertiesResult').empty();
				}
				response(data);
			});
		},
		select: function(event, ui) {
			$.blockUI({ 
				theme:     true, 
				title:    Localization.getTranslation("WAIT"), 
				message:  '<p style="font-size:120%"><img src="/images/ajax-loader.gif" alt="" style="margin-right:10px" />'+Localization.getTranslation("LOADING")+'</p>'
				});
			setTimeout(function(){
				window.location = ui.item.url;
			},500);			
		}
	});

}

function tellAFriend(){
	var structureData = $(this).attr('rel').split('|');
	var subject = Localization.getTranslation("MAIL_TELLAFRIEND_OBJECT");
	var message = Localization.getTranslation("MAIL_TELLAFRIEND_MESSAGE")
					+ "%0D'" + structureData[0]+"' "+structureData[1];
	var mailto_link = 'mailto:?subject='+subject+'&body='+message;
	var win = window.open(mailto_link,'TellAFriend');
	win.close();
}

var Localization = {
		currentLang: null,
		translations : {
			it : {
				"WAIT": "Attendere",
				"LOADING": "Caricamento in corso...",
				"VILLA NOT FOUND": "Villa non trovata!",
				"SEARCH": "Ricerca in corso...",
				"MAIL_TELLAFRIEND_OBJECT": "Dai uno sguardo a questa proprietà",
				"MAIL_TELLAFRIEND_MESSAGE": "Ciao, ti consiglio di guardare"
			},
			en : {
				"WAIT": "Please wait",
				"LOADING": "Loading...",
				"VILLA NOT FOUND": "Villa not found!",
				"SEARCH": "Searching...",
				"MAIL_TELLAFRIEND_OBJECT": "Take a look at this property",
				"MAIL_TELLAFRIEND_MESSAGE": "Hi, I suggest you to look"
			}
		},
		getTranslation : function(key){
			if(this.currentLang==null){
				this.currentLang = $('html').attr('lang');
			}
			return this.translations[this.currentLang][key];
		}
}

jQuery.extend({
    skype : function(successFunction,failureFunction) {
        var $ = jQuery;

        if ($.browser.safari || $.browser.opera) {
            return true;
        } else if ($.browser.msie) {
            try {
                if (new ActiveXObject("Skype.Detection")) return true;
            } catch(e) { }
        } else {
            if (typeof(navigator.mimeTypes["application/x-skype"]) == "object") {
                return true;
            }
        }
        $('a[href^="skype:"]').click(function() {
        	if(typeof(failureFunction)=='function') failureFunction();
            return false;
        });
        if(typeof(successFunction)=='function') successFunction();
        return false;
    }
});
