var myScroll;
var myScrollOpt = {
	onBeforeScrollStart: function (e) {
		var target = e.target; 
		while (target.nodeType != 1) target = target.parentNode; 
		if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA' ){ e.preventDefault(); }
		window.scrollTo(0,1);
		$('#allcontent').css( {'height' : window.innerHeight + 'px' } )
	}
}
function loaded() {
	//Hide address bar (Safari)
	window.scrollTo(0,1);
	myScroll = new iScroll('scrollable-wrap', myScrollOpt);
	$('#allcontent').css( {'height' : window.innerHeight + 'px' } )
	myScroll.refresh();
	// set initial orientation
	if( window.orientation == 90 || window.orientation == -90 ){
		changeToHorizontal();
	}
}

function resizeView(){
	window.scrollTo(0,1);
	$('#allcontent').css( {'height' : window.innerHeight + 'px' } )
	myScroll.refresh();
}

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);
window.addEventListener("orientationchange",function(){ changeOrientation() ;},false);

function changeOrientation(){
	switch( window.orientation ){
		case 0:
		case 180:
			changeToVertical();
			break;
		case 90:
		case -90:
			changeToHorizontal();
			break;
	}
}

function changeToHorizontal(){
	if( myScroll != null ){
		myScroll.destroy();
	}
	myScroll = null;
	$('#allcontent').css( {'height' : window.innerHeight + 'px' } ).addClass('horizontal');
	
	if( $('#billboard-items-horiz').is(':empty') ){
		//horizontal billboard rotation
		var bbh_imgs_cnt = bbh_imgs.length;
		var bbh_item;
		for ( var i = 0; i < bbh_imgs_cnt; i++ ) {
			bbh_item = '<div class="item loading"></div>';
			$( '#billboard-items-horiz' ).append( bbh_item );
		}
		if ( bbh_imgs_cnt >= 1 ) {
			var bbh_img = new Image();
			bbh_img.src = bb_imgs[0];
			$( bbh_img ).load( function(){
				$( '#billboard-items-horiz .item' ).eq(0).css({'background-image': 'url('+bbh_img.src+')' }).removeClass('loading');
			} );
	
			//Second image
			if ( bbh_imgs_cnt > 1 ){
				var bbh_img_2nd = new Image();
				bbh_img_2nd.src = bbh_imgs[1];
				$( bbh_img_2nd ).load( function(){
					$( '#billboard-items-horiz .item' ).eq(1).css({'background-image': 'url('+bbh_img_2nd.src+')' }).removeClass('loading');
				});
			}
			//Last image
			if ( bbh_imgs_cnt > 2 ){
				var last_n = bbh_imgs_cnt-1;
				var bbh_img_last = new Image();
				bbh_img_last.src = bbh_imgs[last_n];
				$( bbh_img_last ).load( function(){
					$( '#billboard-items-horiz .item' ).eq(last_n).css({'background-image': 'url('+bbh_img_last.src+')' }).removeClass('loading');
				});
			}
	
			//billboard rotation
			if ( bbh_imgs_cnt > 1 ){
				$('#billboard-items-horiz').cycle({
					fx: 'scrollHorz',
					firstRun: true,
					hasUnloaded: true,
					before: function(currSlideElement, nextSlideElement, options, forwardFlag) {
						if ( bbh_imgs_cnt > 3 && !options.firstRun && options.hasUnloaded ){
							var p_img_num = 0;
							//next
							if ( (options.currSlide - options.nextSlide) == -1 ) {
								p_img_num = options.nextSlide + 1;
								if ( p_img_num == bbh_imgs_cnt ) {
									p_img_num = 0;
								}
							}
							//prev
							if ( (options.currSlide - options.nextSlide) == 1  ||  (options.nextSlide - options.currSlide) == bbh_imgs_cnt-1 ) {
								p_img_num = options.nextSlide - 1;
								if ( p_img_num == -1 ) {
									p_img_num = bbh_imgs_cnt-1;
								}
							}
							if ( p_img_num != 0 && p_img_num != 1 && p_img_num != bbh_imgs_cnt-1 ) {
								if ( $( '#billboard-items-horiz .item' ).eq(p_img_num).hasClass( 'loading' ) ){
									var p_img = new Image();
									p_img.src = bbh_imgs[p_img_num];
									$( p_img ).load( function(){
										$( '#billboard-items-horiz .item' ).eq(p_img_num).css({'background-image': 'url('+p_img.src+')' }).removeClass('loading');
									});
								}
							}
						}
						if ( options.firstRun ){
							options.firstRun = false;
						}
						if ( options.hasUnloaded && $( '#billboard-items-horiz .loading' ).length == 0 ){
							options.hasUnloaded = false;
						}
					},
					speed: 1000,
					timeout: 0,
					prev: '#bb_prev-horiz',
					next: '#bb_next-horiz'
				});
	
				$("#billboard-items-horiz").touchwipe({
					wipeLeft: function() {
						$("#billboard-items-horiz").cycle("next");
					},
					wipeRight: function() {
						$("#billboard-items-horiz").cycle("prev");
					}
				});
			}
		
			$('#billboard-items-horiz .item').css({'visibility':'visible'});
			$("#billboard-items-horiz").cycle("pause");
		
		}
	}
	
	$("#billboard-items-horiz").cycle("resume");
}
function changeToVertical(){
	$('#allcontent').removeClass('horizontal');
	myScroll = new iScroll('scrollable-wrap', myScrollOpt);
	$('#allcontent').css( {'height' : window.innerHeight + 'px' } );
	myScroll.refresh();
	$("#billboard-items-horiz").cycle("pause");
}

function checkEmail(email) {
	var re = new
	RegExp("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$");
	if (!email.match(re)) {
		alert('Please provide a valid email address');
		return false;
	}
}

function cufon_remove( selector ) {
	$( selector ).each( function(){
		var g = '';
		$( this ).find( 'cufon cufontext' ).each( function(){
			g = g + $( this ).html();
		} );
		$( this ).html( $.trim( g ) );
	} );
	return true;
}

// ajax loader icon
function showLoader(){
	$('#ajax-loader').show();
}
function hideLoader(){
	$('#ajax-loader').hide();
}

// pseudo class for links
function psAct( el ) {
	$(el).toggleClass('active');
}

$(window).load( function(){

} );

$(document).ready( function(){

	//billboard rotation
	var bb_imgs_cnt = bb_imgs.length;
	var bb_item;
	for ( var i = 0; i < bb_imgs_cnt; i++ ) {
		bb_item = '<div class="item loading"></div>';
		$( '#billboard-items' ).append( bb_item );
	}
	if ( bb_imgs_cnt >= 1 ) {
		var bb_img = new Image();
		bb_img.src = bb_imgs[0];
		$( bb_img ).load( function(){
			$( '#billboard-items .item' ).eq(0).css({'background-image': 'url('+bb_imgs[0]+')' }).removeClass('loading');
		} );

		//Second image
		if ( bb_imgs_cnt > 1 ){
			var bb_img_2nd = new Image();
			bb_img_2nd.src = bb_imgs[1];
			$( bb_img_2nd ).load( function(){
				$( '#billboard-items .item' ).eq(1).css({'background-image': 'url('+bb_imgs[1]+')' }).removeClass('loading');
			});
		}
		//Last image
		if ( bb_imgs_cnt > 2 ){
			var last_n = bb_imgs_cnt-1;
			var bb_img_last = new Image();
			bb_img_last.src = bb_imgs[last_n];
			$( bb_img_last ).load( function(){
				$( '#billboard-items .item' ).eq(last_n).css({'background-image': 'url('+bb_imgs[last_n]+')' }).removeClass('loading');
			});
		}

		//billboard rotation
		if ( bb_imgs_cnt > 1 ){
			$('#billboard-items').cycle({
				fx: 'scrollHorz',
				firstRun: true,
				hasUnloaded: true,
				before: function(currSlideElement, nextSlideElement, options, forwardFlag) {
					if ( bb_imgs_cnt > 3 && !options.firstRun && options.hasUnloaded ){
						var p_img_num = 0;
						//next
						if ( (options.currSlide - options.nextSlide) == -1 ) {
							p_img_num = options.nextSlide + 1;
							if ( p_img_num == bb_imgs_cnt ) {
								p_img_num = 0;
							}
						}
						//prev
						if ( (options.currSlide - options.nextSlide) == 1  ||  (options.nextSlide - options.currSlide) == bb_imgs_cnt-1 ) {
							p_img_num = options.nextSlide - 1;
							if ( p_img_num == -1 ) {
								p_img_num = bb_imgs_cnt-1;
							}
						}
						if ( p_img_num != 0 && p_img_num != 1 && p_img_num != bb_imgs_cnt-1 ) {
							if ( $( '#billboard-items .item' ).eq(p_img_num).hasClass( 'loading' ) ){
								var p_img = new Image();
								p_img.src = bb_imgs[p_img_num];
								$( p_img ).load( function(){
									$( '#billboard-items .item' ).eq(p_img_num).css({'background-image': 'url('+p_img.src+')' }).removeClass('loading');
								});
							}
						}
					}
					if ( options.firstRun ){
						options.firstRun = false;
					}
					if ( options.hasUnloaded && $( '#billboard-items .loading' ).length == 0 ){
						options.hasUnloaded = false;
					}
				},
				speed: 1000,
				timeout: 0,
				prev: '#bb_prev',
				next: '#bb_next'
			});

			$("#billboard-items").touchwipe({
				wipeLeft: function() {
					$("#billboard-items").cycle("next");
				},
				wipeRight: function() {
					$("#billboard-items").cycle("prev");
				}
			});
		}
	
		$('#billboard-items .item').css({'visibility':'visible'});
		
	
	}


	$('input[type="text"]').focus( function( e ){
		if( $(this).attr('value') == $(this).attr('title') ){
			$(this).attr('value', '');
		};
	} );
	$('input[type="text"]').blur( function(){
		if( $(this).attr('value') == '' && $(this).attr('title') != '' ){
			$(this).attr('value', $(this).attr('title') );
		};
	} );

	$('input, textarea').blur( function(){
		window.scrollTo(0,1);
	} );

	//debug
	if( $( '#debug' ).length ){
		$( '#debug' ).click( function( e ){
			e.preventDefault();
			$( this ).toggleClass( 'expanded' );
		} );
	}

	//Urban at Glance
	if( $( '#open-urban-at-glance' ).length ){
		$( '#open-urban-at-glance' ).click( function( e ){
			e.preventDefault();
			if( $( '#urban-at-glance' ).hasClass( 'closed' ) ){
				$( '#urban-at-glance' ).removeClass( 'closed' ).addClass( 'opened' );
				myScroll.refresh();
				myScroll.scrollToElement('#bottom-menu', 100);
			} else {
				$( '#urban-at-glance' ).removeClass( 'opened' ).addClass( 'closed' );
				myScroll.refresh();
				myScroll.scrollTo(0,0, 100);
			}
		} );
		$( '#close-urban-at-glance' ).click( function( e ){
			e.preventDefault();
			$( '#urban-at-glance' ).removeClass( 'opened' ).addClass( 'closed' );
			myScroll.refresh();
			myScroll.scrollTo(0,0, 100);
		} );
	}
	
	//Custom selects
	if( $( '#choose-room_num_of_rooms' ).length ){
		$('#choose-room_num_of_rooms').sSelect();
	}
	if( $( '#choose-room_num_of_adults_1' ).length ){
		$('#choose-room_num_of_adults_1').sSelect();
	}
	if( $( '#choose-room_num_of_children_1' ).length ){
		$('#choose-room_num_of_children_1').sSelect();
	}
	if( $( '#guest-details-add-ons' ).length ){
		$( '#guest-details-add-ons select' ).sSelect();
	}
	//Reservations menu
	if( $('#res_menu_open').length ){
		$('#res_menu_open').click( function(e) {
			e.preventDefault();
			$('#maincontent').hide();
			$('#reservation_menu').show();
		} );
		$('#res_menu_close').click( function(e) {
			e.preventDefault();
			$('#reservation_menu').hide();
			$('#maincontent').show();
		} );
	}

} );


$(window).resize( function(){
	resizeView();
} );

