$(function(){
	
	// Main menu hover
	$("#Mainmenu li").hover(
        function () {
        	$(this).addClass('hover');
        }, 
        function () {
        	$(this).removeClass('hover');
        }
	);
	
	// Stylish Select
	$('#Tray .booking select').sSelect({'defaultText' : '1'});
	$('#Tray .booking select').getSetSSValue(1);
	
	// Stay connected placeholder
	var defaultConnectWidgetInputText = $("#Container .stayconnected .text").val();
	$("#Container .stayconnected .text").focus(function() { if ($(this).val() == defaultConnectWidgetInputText) $(this).val("").removeClass('inactive'); });
	$("#Container .stayconnected .text").blur(function() { if ($(this).val() == "") $(this).val(defaultConnectWidgetInputText).addClass('inactive'); });

	// Booking / Online Reservations Datepicker
	if($(".date-pick").length) $('.date-pick').datePicker({'clickInput' : false, startDate:'01/01/1996' });
	if($("#arrival").length) $('#arrival').datePicker({'clickInput' : true }).val(new Date().asString());

	// Google Map

	if($("#map_canvas").length>0){
		$("#map_canvas").gMap({
			latitude:  40.732649116743225,
		    longitude: -74.54039096832275,
			markers: [{
				latitude: 40.732649116743225,
				longitude: -74.54039096832275,
				html: "<h3>The Olde Mill Inn and Grain House Restaurant</h3><p>225 Route 202 (Morristown Road I-287, Exit 30B)<br>Basking Ridge, NJ 07920<br>800-585-4461</p>",
				popup: true
			}],
			zoom: 15,
			mapTypeControl : true,
			scrollwheel: false,
			maptype: google.maps.MapTypeId.ROADMAP,
			icon: {
				image:              "images/pointer.png",
				iconsize:           [31, 39],
				shadowsize:         [31,39],
				iconanchor:         [10, 39],
				infowindowanchor:   [8, 2]
			}
		});
	}
	
	// target="_blank"
	$('a[rel="external"], form.form-external').attr({'target':'_blank'});
	
	// Ping Pong
	$("#ping").after($('<input>').attr({'name': 'pong', 'value': $("#ping").val(), 'class': 'hide'}));

	if ($('#Topimage .slider img').length > 1) {
		$('#Topimage .slider').nivoSlider({
			controlNav: false,
			directionNavHide: false,
			animSpeed:1500,
			pauseTime:5000,
			effect:'fade',
			captionOpacity: 1,
			afterLoad: function(){
				$("#Topimage .image").append('<div class="prev"></div><div class="next"></div>');;
			}
		});
	} else {
		var title = $("#Topimage .slider img").attr("title");
		if (title && title != "") $("#Topimage .slider").append("<span>" + title + "</span>");
	}
	
	$("#Topimage .prev").click(function(){$(".nivo-directionNav .nivo-prevNav").click()});
	$("#Topimage .next").click(function(){$(".nivo-directionNav .nivo-nextNav").click()});


	$("a.gal, a.img").bind('click', function(event){
		event.preventDefault();
		var categ = $(this).attr('rev');

		getData('assets/gallery/gallery.json?v=1', categ);

	});
	
	
	if($(".fancybox").length) {
		$("a.fancybox").fancybox({
			'transitionIn'	:	'elastic',
			'transitionOut'	:	'elastic',
			'speedIn'		:	600, 
			'speedOut'		:	200,
			'cyclic' : true,
			'centerOnScroll' : true,
			'overlayOpacity' : 0.8,
			'overlayColor' : '#000',
			'overlayShow'	:	true
		});
	}
	
	// Facebook Like

	var current_url = $('#fb-index').attr("title");
	if (!current_url) {	current_url = window.location.protocol + "//" + window.location.hostname + window.location.pathname; }
	$('#fb-index').html('<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://www.facebook.com/plugins/like.php?app_id=155528857859795&amp;href=' +current_url+ '&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35" style="border:none; overflow:hidden; width:450px; height:35px;"></iframe>');

	// Fix kerning
	$('#Tray .promo dfn a').each(function() {
		var t = $(this).html(); 
		$(this).html(t.replace(/([A-Z0-9])/g,'<ins class="cl-$1">$1</ins>'));
	});

});

function emailCheck(emailFormField, showerror) {

	var txt = emailFormField.value;
	var error = "";

	var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
	var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/

	if (!(emailRe.test(txt))) {
		error = "Please enter a valid email address.\n";
	}

	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (txt.match(illegalChars)) {
		error += "The email address contains illegal characters.\n";
	}

	if (error.length > 0) {
		if (showerror) {
			emailFormField.focus();
			alert(error);
		}
		return false;
	}
	return true;
}

var log = true;
var src = 'images/photos/gallery/';
var smpref = 'sm';
var phpref = 'ph';

function getData(url, cat){
	
	var result = $.getJSON(url, function(data){
		
		var imgs = [];
		
		$.each(data[cat], function(i, val) {
			imgs.push(val);
		});
		
		initImgs(imgs);
		
	});
	
}

function initImgs(imgs){

	var div = $("<div/>");
	
	for(var i=0; i< imgs.length; i++){
		div.append('<a href="'+src+phpref+imgs[i]+'"><img src='+src+smpref+imgs[i]+' alt=""></a>');
	}
	$.when( 
		div.galleria({
			data_source: div,
			transitionSpeed: 300,
			queue: false,
			preload: 3,
			imageCrop: 'width',
			imagePan: true,
			imagePosition: 'top left',
			width:780,
			height: 475,
			thumbFit:false,
			thumbCrop:true
		})
	).then(function(){
		$.fancybox({
			padding: 10,
			autoDimensions: false,
			centerOnScroll: true,
			titleShow: false,
			width: 780,
			height: 475,
			overlayColor: '#222',
			content: div,
			onClosed: function(){
				div.empty();
			}
		});
		
	});
}

function tripadvisor(url,id) {
	TripAdvisor = $.getJSON(url+"assets/tripadvisor.php?id="+id, function(data) {
	  	$('#tripadvisor')
		.append('<a href="http://www.tripadvisor.com/' + data.url + '" class="ta-logo notxt" rel="nofollow" target="_blank">Tripadvisor</a>')
		.append('<div><strong>TripAdvisor Traveler Rating:</strong></div>')
		.append('<div class="ta-rating r' + data.stars*2 + '"><div class="notxt" title="' + data.stars + ' of 5 stars"></div></div>')
		.append('<small>Based on ' + data.reviews + ' traveler reviews</small>');
	});	
}
function printCalendar() {
	print();
}

