	

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 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++){
		simgurl = src+smpref+'/'+phpref;
		limgurl = src+phpref;
		scaption = '';
		
		if(imgs[i].name) {
			simgurl+=imgs[i].name;
			limgurl+=imgs[i].name;
			scaption = imgs[i].title;
		}
		else {
			simgurl+=imgs[i];
			limgurl+=imgs[i];
		}
		
		div.append('<a href="'+limgurl+'"><img src='+simgurl+' title="" alt="'+scaption+'"></a>');
	}
	
	$.when(
		div.galleria({
			data_source: div,
			transitionSpeed: 300,
			queue: false,
			preload: 3,
			imageCrop: true,
			imagePan: true,
			width:800,
			height: 500,
			showInfo: true
		})
	).then(function(){
		$.fancybox({
			padding: 0,
			autoDimensions: false,
			centerOnScroll: true,
			titleShow: false,
			width: 800,
			height: 500,
			overlayColor: '#222',
			content: div,
			onClosed: function(){
				div.empty();
			}
		});

	});
	
}

$(function(){
	
	
	
	$('#real_estate .photos img').wrap('<a href="http://www.oakbaycondos.com" rel="external" />');
		
	
	if($('#fx img').length > 1) {
		
		
		$('#fx').nivoSlider({
			effect:'fade', //Specify sets like: 'sliceDown, sliceDownLeft, sliceUp, sliceUpLeft, sliceUpDown, sliceUpDownLeft, fold, fade, random, slideInRight ,slideInLeft'
			slices:5,
			animSpeed:500, //Slide transition speed
			pauseTime:3000,
			startSlide:0, //Set starting Slide (0 index)
			directionNav:false, //Next & Prev
			directionNavHide:false, //Only show on hover
			controlNav:false, //1,2,3...
			controlNavThumbs:false, //Use thumbnails for Control Nav
			controlNavThumbsFromRel:false, //Use image rel for thumbs
			controlNavThumbsSearch: '.jpg', //Replace this with...
			controlNavThumbsReplace: '_thumb.jpg', //...this in thumb Image src
			keyboardNav:false, //Use left & right arrows
			pauseOnHover:false, //Stop animation while hovering
			manualAdvance:false, //Force manual transitions
			captionOpacity:0.8, //Universal caption opacity
			beforeChange: function(){},
			afterChange: function(){
				nivoSliderModSweepstakes($('#fx').data('nivo:vars').currentSlide);
			},
			slideshowEnd: function(){}, //Triggers after all slides have been shown
			lastSlide: function(){}, //Triggers when last slide is shown
			afterLoad: function(){
				nivoSliderModSweepstakes($('#fx').data('nivo:vars').currentSlide);
			} //Triggers when slider has loaded
		});
	} else {		
		var title = $('.photo img').attr('title');
		
		if (typeof title !== 'undefined' && title !== false && title != '') {
			$('.photo').append($('<div class="nivo-caption"></div>').html(title));
			$('.photo img').removeAttr('title');
		}

	}
	
	var current_url = $('#fb-index').attr("title");
	$('#fb-index').html('<iframe src="http://www.facebook.com/plugins/like.php?href=' +current_url+ '&amp;layout=standard&amp;show_faces=false&amp;width=530&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" allowTransparency="true" class="facebook-like"></iframe>');
	
	$("#ping").after($('<input>').attr({'name':'pong','value':$("#ping").val(),'class':'hide'}));

	$('a[rel="external"], .form-external').attr({'target':'_blank'});
	if($(".fancybox").length) {
		$("a.fancybox").fancybox({
				'transitionIn'	:	'elastic',
				'transitionOut'	:	'elastic',
				'speedIn'		:	600, 
				'speedOut'		:	200,
				'cyclic' : true,
				'centerOnScroll' : true,
				'overlayOpacity' : 0.8,
				'overlayColor' : '#fff',
				'overlayShow'	:	true
			});
	}
	if($("a[rel=OurHotel]").length) {
		$("a[rel=OurHotel]").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200,
		'cyclic' : true,
		'centerOnScroll' : true,
		'overlayOpacity' : 0.8,
		'overlayColor' : '#fff',
		'titlePosition' 	: 'over',
		'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
		}
		});
	}
	
	$(".form select").attr("size", "22");
	$('.reservations select, .form select').sSelect();
	
	$("ul#mainmenu li, .button, #submit").hover(
		 function () {
			$(this).addClass('hover');
		 }, 
		 function () {
			$(this).removeClass('hover');
		 }
	);
	$("#topmenu a").hover(
		 function () {
			$(this).parent().addClass('hover');
		 }, 
		 function () {
			$(this).parent().removeClass('hover');
		 }
	);
	$(".specials dl dt").addClass("hover");
	setTimeout(function(){$(".specials dl dt").removeClass("hover")},400);
	if($("#map_canvas").length>0){
		$("#map_canvas").gMap({
			markers: [{
				latitude: 48.41995204780633,
				longitude: -123.29953908920288,
				html: "<h3>Oak Bay Beach Hotel</h3><p>1175 Beach Drive<br>Victoria, BC V8S 2N2<br>Phone: (800) 668-7758</p>",
				popup: false
			}],
			zoom: 15,
			scrollwheel: false,
			maptype: G_PHYSICAL_MAP,
			icon:
			{
				image:              "images/pointer.png",
				shadow:             "images/pointer-shadow.png",
				iconsize:           [31, 39],
				shadowsize:         [31,39],
				iconanchor:         [10, 39],
				infowindowanchor:   [8, 2]
			}
		});
	}
	
	/** booking **/
	
		var HeBS_Link_Checkin_Checkout_Inputs = function HeBS_Link_Checkin_Checkout_Inputs_function(checkin_selector, checkout_selector, minimal_date) {
			Date.format = 'mm/dd/yyyy';
	
			$(checkin_selector).bind('dateSelected', function(e, selectedDate, $td, state) {
				var t = new Date(selectedDate);
				var dt = new Date.fromString($(checkin_selector).val());		
			    var edate = new Date.fromString($(checkout_selector).val());			
			    var one_day=1000*60*60*24;
			    var days_diff = Math.ceil((edate.getTime() - dt.getTime())/(one_day));
			    
			    if(edate.getTime() <= dt.getTime()) {
			        $(checkout_selector).val(t.addDays(1).asString());
					$(checkout_selector).dpSetStartDate(t.asString());
			    }
			});
			
			$(checkout_selector).bind('dateSelected', function(e, selectedDate, $td, state) {
				var t = new Date(selectedDate);
				var dt = new Date.fromString($(checkin_selector).val());	
			    var edate = new Date.fromString($(checkout_selector).val());				
			    var one_day=1000*60*60*24;
			    var days_diff = Math.ceil((edate.getTime() - dt.getTime())/(one_day));
			    
			    var edate = new Date.fromString($(checkout_selector).val());			
			    if(edate.getTime() <= dt.getTime()) {
			        $(checkin_selector).val(t.addDays(-1).asString());
					$(checkin_selector).dpSetStartDate(t.asString());
			    }		
			});
			
			var today = new Date();
			
			if (typeof(minimal_date) != 'undefined') {
				var minDate = new Date();
				minDate.setFullYear(minimal_date[0], minimal_date[1], minimal_date[2]);
				
				if (today < minDate) today = minDate;
			}
			
			$(checkin_selector).val(today.asString());
			$(checkin_selector).dpSetStartDate(today.asString());
			
			$(checkout_selector).val(today.addDays(1).asString());
		    $(checkout_selector).dpSetStartDate(today.asString());
		};
		
		$('#checkin, #checkout, .date-pick').datePicker({'clickInput' : true });
		
		HeBS_Link_Checkin_Checkout_Inputs('#checkin', '#checkout', [2012,04,1]);
		HeBS_Link_Checkin_Checkout_Inputs('#arrival_date', '#departure_date');
		HeBS_Link_Checkin_Checkout_Inputs('#preferred_date', '#flexible_date');
	//	end of booking
	
	/* Floor Plans & Panoramas */
	
	$('#m3s4').parent().removeAttr('class')
	.after('<li><a href="' + rootURL + 'floorplans/index.html" id="floor-plans">Floor Plans</a></li><li class="last"><a href="' + rootURL + 'panoramaviews/index.html" id="panorama-views">Panorama Views</a></li>');
	
	$("#floor-plans, #panorama-views").fancybox({
		'type'	: 'iframe',
		'width'	: 936,
		'height'	: 300,
		'transitionIn'	:	'elastic',
		'overlayOpacity' : 0.8,
		'overlayColor' : '#fff',
		'overlayShow'	:	true
	});
	
	/* Gallery video */
	
	var flashvars = {
		file: "Animation-June2007.flv",
		searchbar: "false",
		showdigits: "false",
		autostart: "false",
		height: "322",
		width: "484",
		shownavigation: "false",
		image: "images/virt-tour-preview.jpg",
		repeat: "false",
		stretching: "uniform"
	};
	var params = {
		allowscriptaccess: "always",
		allowfullscreen: "false",
		wmode: "transparent"
	};
	var attributes = false;
	swfobject.embedSWF("assets/mediaplayer.swf", "hotel-video", "484", "322", "9.0.0", false, flashvars, params, attributes);
	
});

var sweepstakesLink = $('<a/>', {id: 'sweepstakes-link', href: 'http://sweeps.oakbaybeachhotel.com/index.php?chebs=site_oakbaybeach_slide', title: 'Enter the Oak Bay Beach Hotel Sweepstakes for the Chance to Win an iPad 2!', target: '_blank'}).html('Enter the Oak Bay Beach Hotel Sweepstakes for the Chance to Win an iPad 2!');
function nivoSliderModSweepstakes(slideNum) {
	if (slideNum == 0) {
		$('#fx').append(sweepstakesLink);
	} else {
		sweepstakesLink.remove();
	}
}
