function browserWidth() {
  var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
  } else if( document.documentElement && document.documentElement.clientWidth ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && document.body.clientWidth ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  return myWidth;
  
}

if(navigator.userAgent.search(new RegExp('(Android|iPhone|palm|palmos|palmsource|blackberry|nokia|phone|midp|pda|wap|java|nokia|hand|symbian|chtml|wml|ericsson|lg|audiovox|motorola|samsung|sanyo|sharp|telit|tsm|mini|windows ce|smartphone|mobileexplorer|j2me|sgh|portable|sprint|vodafone|docomo|kddi|softbank|pdxgw|jphone|astel|minimo|plucker|netfront|xiino|mot-v|mot-e|portalmmm|sagem|sie-s|sie-m|ipod)','gi')) > -1 &&  browserWidth() < 1024)
{
	window.location = 'http://mobileportal.ihotelier.com/rixos/';
	document.write('');
}

CufonFontList = new Array(
	new Array('.cufon-GothamLight','GothamLight'),
	new Array('.cufon-GothamMedium','GothamMedium'),
	new Array('.cufon-GothamBook','GothamBook'),
	new Array('.cufon-GothamBold','GothamBold')
);
var openCount 				= 0;
var reservationFrameLoad 	= false;

function cufonReplace()
{	
	
	for(i=0;i < CufonFontList.length;i++){
		cufonReReplace(CufonFontList[i][0], {fontFamily: CufonFontList[i][1], hover: true});
	}	
}


function openHeaderMask(val){
	
	
	openCount += val;
	//console.log('val :'+val,'openCount :'+openCount);

		if(openCount < 1){
			$('#headermask').stop(1,1).fadeOut();
			openCount = 0;
		}else{		
			$('#headermask').stop(1,1).fadeIn();
		};
	
};

function cufonReReplace(item,ops){
	if( navigator.userAgent.indexOf('MSIE') > 0 ){
		return false;	
	}
	Cufon.replace(item,ops);
}


// Plug-in's


////////////////////////////////////yeti tab menu

(function($) {
	$.fn.extend({

		tabmenu : function(options) {

			var defaults = {
				global		: '.tabs:not(.noJS)',
				container 	: '.heading',
				selector 	: 'ul li a',
				active		: 'active'
			};

			var options 	= $.extend(defaults, options);
			var selected 	= null;
			var selectedId 	= null;

			var o 			= options;
			var obj			= $(o.global);
			var clickObj	= obj.find(o.selector);
			var tabCont		= obj.find(o.container);
			
			var selectedTab = null;
			var selectedId 	= null;
			var setUrl 		= null;
			
			selectedTab = tabCont.find('ul li.active a');
			clickObj.click(function(){
				
				if(selectedTab != null){
					selectedTab.parent().removeClass('active');
					obj.find(selectedId).removeClass('active');
				}
				
				selectedTab = $(this);	
				selectedId  = $(this).attr('tabID');
				selectedTab.addClass(o.active);

				var splitHref = selectedTab.attr('href').split('/');
				
				setUrl = splitHref[splitHref.length - 1];		
				
				$(selectedTab).parent().addClass('active');
				$(selectedId).addClass('active');
				
				headingChanger();
				cufonReReplace($('.tabs .heading a.cufon-GothamLight'),{fontFamily: 'GothamLight', hover: true});
				locationChanger(splitHref[splitHref.length - 1]);
				
				return false;
			});
			
			function clickFirsItem(obj){	
				//console.log(obj);
				if(tabCont.find('ul li').hasClass('active')){
					selectedTab.click();
				}else{
					if(window.location.hash == ''){
						$(obj+':first').click();
					}else{
						//console.log($(obj).parent().parent());
						$(obj).parent().parent().find('a[href="'+window.location.href+'"]').click();
					}
				}
			}
			
			function locationChanger(str)
			{
				window.location.hash = '/'+str.replace('#','');
			}
			
			/*function headingChanger(){
				
				span = tabCont.find('span');
				if(span.html() != null){
					span.html(selectedTab.attr('total') + ' ' + selectedTab.text());
				}
			}*/
			
			function headingChanger(){
				
				span = tabCont.find('span');
				if(span.html() != null)
				{
					span.html(selectedTab.attr('total') + ' ' + span.text().replace(new RegExp('[0-9]','g'),''));
				}
			}
			
			clickFirsItem(o.global+' '+o.container+' '+o.selector);
		}
	});
})(jQuery);

//////////////////////////////////////yeti explorerMenuHoverPlugin
(function($) {
	$.fn.extend({
		explorerHover : function(options) {

			var defaults = {
				content		: '',
				imgContent	: '',
				selectItem	: ''
			};

			var options 		= $.extend(defaults, options);
			var selected 		= null;
			var selectedImg 	= null;

			return this.each(function() {
				var o 			= options;
				var obj			= $(this);
				var content		= $(o.content);
				var imgContent	= $(o.imgContent);
				var selectItem	= o.selectItem;
				var hoverObj	= content.find(selectItem);
				
				selected 		= content.find('.active');
				
				var splitId = selected.attr('id').split('-');
				var id = splitId[splitId.length-1];
				selectedImg = $(imgContent.find('#img-' + id));
				selectedImg.addClass('hover');

				hoverObj.hover(overHandler,outHandler);
								
				function overHandler(){
									
					if(selectedImg != null){
						selectedImg.removeClass('hover');
					}
					
					selected = $(this);	
					splitId = selected.attr('id').split('-');
					
					id = splitId[splitId.length-1];
					selectedImg = $(imgContent.find('#img-' + id));	
					selectedImg.addClass('hover');
					
					imgContent.find('.heading p.h1').text(selected.text());														
				}
				
				function outHandler(){			
					$(content.find('#a-' + id).addClass('active'));					
				}
						
				return false;			
			});
		}
	});
})(jQuery);
//////////////////////////////////////yeti timeline
(function($) {
	$.fn.extend({

		timeline : function(options) {

			var defaults = {
				content		: '.box-top',
				year		: '.year'
			};

			var options = $.extend(defaults, options);
			var selected = null;
			var selectedId = null;

			return this.each(function() {
				var o 			= options;
				var obj			= $(this);
				var clickObj	= obj.find('li');
				var content		= $(o.content);
				var year		= $(o.year);
				
				selected 		= obj.find('.active');
				selectedId 		= 'y-' + selected.text();

				clickObj.click(function(){
					
					if(selected){
						selected.removeClass('active');
						content.find('#'+selectedId).removeClass('active');
					}
					
					selected = $(this);
					selected.addClass('active');
					selectedId = 'y-' + selected.text();
					content.find('#'+selectedId).addClass('active');
					
					year.find('span').text(selected.text());
					
					cufonReReplace(obj.find('a'),{fontFamily: 'GothamBook', hover: true});
					cufonReReplace(year.find('span'),{fontFamily: 'GothamBook', hover: true});
					
					return false;
				});				
			});
		}
	});
})(jQuery);

///////////////////////////////////////////modalWin 

// soranlar için kaymayı Ömer Bey bozdurdu.. :) 
(function($) {
	$.fn.extend({

		modalWindow : function(options) {

			var defaults = {
				modal			: '',
				close			: '',
				maskTopPos		: 400,
				mask			: '',				
				maskType 		: 'normal',
				maskH			: '150',
				align			: 'center',
				callBack		: function(){},
				callBefore		: function(){},
				callClose		: function(){},
				callCloseBefore : function(){ return true; },
				ajax			: null,
				fixTop 			: false
				
			};

			var options = $.extend(defaults, options);
			var o 		= options; 
			var obj     = $(o.modal);
			var mask	= $(o.mask);
			var close	= obj.find(o.close);
			
			var objW	= obj.width();
			var objH	= obj.height();		
			
			var winW 	= $(window).width();
			var winH 	= $(window).height();									
			var docW 	= $(document).width();
			var docH 	= $(document).height();
			
		
			
			function openModal()
			{
				obj.stop(0,1).fadeIn('normal');
				if(o.align == 'center'){
					obj.css({
						'left': winW/2 - objW/2,
						'top' : (o.fixTop ? o.fixTop : (winH/2 - objH/2)+$(window).scrollTop()+40) 	
					});
				}
				
				close.click(function(){
					if(!o.callCloseBefore()){ con('Wait bro');return false; }
					obj.stop(0,1).fadeOut('normal');
					openHeaderMask(-1);
					//mask.stop(0,1).fadeOut('normal');
					$(window).unbind('scroll',popWindowEvent);
					
					if($('#ajaxContentPopup')){
						$('#ajaxContentPopup').remove();
					};			
					o.callClose();
					return false;
				});
				
				maskClickEvent = function(){
					close.click();
				};
				
				mask.click(maskClickEvent);
				
				mask.css({
					'display'	: 'block'
				});		
				
				popWindowEvent = function(){
					if($(window).scrollTop() < docH){
						$(window).resize();
					}
				};
				
				$(window).scroll(popWindowEvent);
				
				$(window).resize(function(){
					
					winW 	= $(window).width();
					winH 	= $(window).height();									
					docW 	= $(document).width();
					docH 	= $(document).height();
					
					if(winH < 1050){
						return true;
					}
					
					mask.css({
						width	: winW +'px',
						height	: docH +'px'
					});
					
					obj.stop(0,1).animate({
						'left': winW/2 - objW/2,
						'top' : (o.fixTop ? o.fixTop : (winH/2 - objH/2 +  $(window).scrollTop()+40))
					},300);
				});
				
				$(window).resize();
				
				o.callBack();
			}
			
			$(this).click(function(){
				
				openHeaderMask(1);
				
				o.callBefore();
				if(o.ajax != null)
				{
					$.ajax({
					  url		: o.ajax,
					  context	: document.body,
					  success	: function(data){
						
						$('body').append(data);
						obj     = $(o.modal);
						mask	= $(o.mask);
						close	=  obj.find(o.close);
						objW	= obj.width();
						objH	= obj.height();
						modalType = $(o.modalType);
						openModal();
					  }
					});
					
					return false;
				}
				openModal();
				return false;
			});
		}
	});
})(jQuery);

//////////////////////////////////////yeti booking

(function($) {
	$.fn.extend({

		booking : function(options) {

			var defaults = {
				selectBoxes			: '',
				selectBoxText		: '.div_selectbox_selected',
				selectBoxCont		: '.div_option',
				getque				: '.getquote',
				chechIn				: '.datepicker'
					
			};

			var options 				 = $.extend(defaults, options);
			
			var selectedBox 			 = null;
			var selectedItem 			 = null;
			var selectText 				 = null;
			var travelClickId 			 = $('#TRAVELCLICK_ID').val()?$('#TRAVELCLICK_ID').val():'17157';
			var alink 					 = "http://www.tripadvisor.com/Search?q=rixos&sub-search=SEARCH&geo=&returnTo=__2F__";

			return this.each(function() {
				var o 				= options;
				var obj				= $(this);
				var boxes 			= obj.find(o.selectBoxes);
				var clickObj		= boxes.find(o.selectBoxCont + ' ul li');				
				var chechInObj		= obj.find(o.chechIn);		
				var getque			= obj.find(o.getque);		
				
				selectText = $(boxes[0]).find(o.selectBoxText).text();			
				getque.click(function(){	
					switch (travelClickId) {
						case '72822':
							alink = "http://www.tripadvisor.com/Hotel_Review-g298656-d295615-Reviews-Rixos_Grand_Hotel_Ankara-Ankara.html";
							break;
						case '17163':	
							alink = "http://www.tripadvisor.com/Hotel_Review-g293944-d598199-Reviews-Rixos_President_Hotel_Astana-Astana.html";
							break;
						case '74155':	
							alink = "http://www.tripadvisor.com/Hotel_Review-g293807-d1838765-Reviews-Rixos_Al_Nasr_Tripoli-Tripoli.html";
							break;
						case '17162':		
							alink = "http://www.tripadvisor.com/Hotel_Review-g295371-d651125-Reviews-Rixos_Hotel_Libertas-Dubrovnik.html";
							break;
						case '73859':			
							alink = "http://www.tripadvisor.com/Hotel_Review-g297962-d1758129-Reviews-Rixos_Lares-Antalya_Turkish_Mediterranean_Coast.html";
							break;
						case '17159':
							alink = "http://www.tripadvisor.com/Hotel_Review-g297969-d508059-Reviews-Rixos_Hotel_Tekirova-Tekirova_Turkish_Mediterranean_Coast.html";
							break;
						case '75160':		
							alink = "http://www.tripadvisor.com/Hotel_Review-g297962-d295124-Reviews-Rixos_Downtown_Antalya-Antalya_Turkish_Mediterranean_Coast.html";
							break;
						case '72850':		
							alink = "http://www.tripadvisor.com/Hotel_Review-g678226-d573203-Reviews-Rixos_Sungate_Hotel-Beldibi_Turkish_Mediterranean_Coast.html";
							break;
						case '17160':	
							alink = "http://www.tripadvisor.com/Hotel_Review-g298663-d507984-Reviews-Rixos_Premium_Bodrum-Torba_Bodrum_Peninsula_Mugla_Province_Turkish_Aegean_Coast.html";
							break;
						case '17157':	
							alink = "http://www.tripadvisor.com/Hotel_Review-g312725-d507974-Reviews-Rixos_Premium_Belek-Belek_Turkish_Mediterranean_Coast.html";
							break;
						case '73374':
							alink = "http://www.tripadvisor.com/Hotel_Review-g298251-d1723972-Reviews-Rixos_Almaty-Almaty.html";
							break;
						case '17161':		
							alink = "http://www.tripadvisor.com/Hotel_Review-g298014-d298870-Reviews-Rixos_Konya-Konya.html";
							break;
						case '75760':		
							alink = "http://www.tripadvisor.com/Search?q=rixos&sub-search=SEARCH&geo=1&returnTo=__2F__";
							break;
						default:
							break;
					}
					
					$('#trip-advisor').attr('href',alink);
					
					params = '';
					
					if($(chechInObj[0]).find('input').val())
					{
						params += 'DateIn='+$(chechInObj[0]).find('input').val()+'&DateOut='+$(chechInObj[1]).find('input').val();
					}
					
					params += '&lang='+$('#UI_LANG').val();
					
					if($('#REFER_ID').val())
					{
						params += '&ReferID='+$('#REFER_ID').val();
					}
					reservationFrameLoad = false;
					url = 'reservation.php?'+(typeof($(this).attr('url')) == 'string' ? 'url='+escape($(this).attr('url')) : 'hotel_id='+ travelClickId +'&'+ params);
					
					
					//For iPad new page open.
					if(navigator.userAgent.indexOf('iPad') > 0)
					{
						$(o.getque).each(function()
						{
							if($(this).get(0).tagName == 'A')
							{
								window.open(url);
								return false;
							}
							else
							{
								console.log('this is not anchor : '+$(this).get(0).tagName);
							}
						});
					}
					else
					{
						$('#online-rev').attr('src',url);
					}
					//$('#online-rev').attr('src','reservation.php?hotel_id='+ travelClickId + params);
				});
								
				clickObj.click(function(){

					if(selectedBox){
						selectedBox.removeClass('selectedbox');
					};				
										
					selectedBox = $(this).parent().parent().parent();
										
					if(selectedBox.parent().parent().index() == 2){
						travelClickId = $(this).attr('travelclick_id');
					};					
					
					if(selectedBox.parent().parent().index() == 0){
						boxes.each(function(i,v){
							if(i > 0){	
								$(v).find(o.selectBoxText).text(selectText);
							}
						});
					};
					
					selectedBox.addClass('selectedbox');
			
					selectedItem = $(this);
									
					boxes.each(function(i,v){
						
						if(i > 0){					
							
							if(! $(v).hasClass('selectedbox')){
								$(v).find(o.selectBoxCont + ' li').each(function(j,k){
									if(!$(k).hasClass(selectedItem.attr('key'))){
										$(this).hide();
									}
									else
									{
										$(this).show();
									}
								});
							};	
						};
					});		
				});	
			});
		}
	});
})(jQuery);


//////////////////////////////////////////////////////////////////////////////////////// navigation

(function($) {
	$.fn.extend({

		navigation : function(options) {

			var defaults = {
				slideButtons		: '',
				slideInfo			: '',
				slideDiv			: 'li',
				easing				: '',
				delay				: 800,
				itemHeight			: 162,
				itemWidth			: 178,
				itemPadding			: 25,
				viewItem			: 3
			};

			var options = $.extend(defaults, options);
			var selected = null;
			var selectedId = null;

			return this.each(function() {
				
				var o 				= options;
				var obj				= $(this);
				var objButtons 		= obj.find(o.slideButtons);
				var itemContainer	= obj.find(o.slideDiv);							
				
				var step = 0;
				var itemTotal = 0;
				var itemContW = 0;
				var isBound = false;
				var totalW = 0;	
				var viewItem = o.viewItem;
				
				itemTotal = itemContainer.find('li').length;
				itemContW = $(this).width();
				
								
				itemContainer.find('li').each(function(i,v){
					if($(this).hasClass('hover')){			
						if(i>=viewItem){				
							itemContainer.find('li').each(function(j,a){
								if(j < (itemTotal - viewItem)) {					
									totalW +=  $(a).width();
								}
							});
							
							itemContainer.css({
								left: - totalW
							});							
						}	
					}
				});
					
				objButtons.children('a').click(function(){							
					var val	= ($(this).attr('class'));
					
					switch (val) {
					case 'prev':
						menuSlider(-1,1);
						break;
					case 'next':
						menuSlider(1,-1);
						break;
					default:
						break;
					}
					return false;
				});
								
				function menuSlider(val,direc){
					isBound = false;
										
					var itemVal = val == 1? val : 0;
						
					step += val;
				
					if(step  > itemTotal - viewItem){
						step = itemTotal - viewItem;
						isBound = true;
					}
					
					if(step < 0  ){
						step = 0;
						isBound = true;
					}
					
					if(isBound) return;			
										
					totalW += direc * ($(itemContainer.find('li')[step-itemVal]).width() + o.itemPadding);
					
					itemContainer.stop().animate({
						left:(totalW)	
					},1000,'easeOutExpo');
					
					return false;		
				};
			
			});
		}
	});
})(jQuery);

(function($) {
	$.fn.extend({

		focuser : function(options) {

			var defaults = {
				input		: '.input:not(.datepicker) input,.textarea textarea'
			};

			var options = $.extend(defaults, options);

			var o 			= options;
			var input		= $(o.input);
			
			input.each(function(){
				$(this).attr('orjVal',($(this).text() ? $(this).text() : $(this).val()));
				
				$(this).focus(function(){
					if($(this).val() == $(this).attr('orjVal'))
					{
						$(this).val('');
					}
				});
				$(this).focusout(function(){
					if($(this).val() == '')
					{
						$(this).val($(this).attr('orjVal'));
					}
				});
			});
		}
	});
})(jQuery);

/**
 * Validation Engine Trigger
 * 
 * Belli class'a sahip bütün formlara validationEngine'i ekler.
 * Ajax submit destekler.
 * 
 * @author Uğur Erkan
 */
(function($) {
	$.fn.extend({

		validationEngineTrigger : function(options) {

			var defaults = {
				formClass				: '.formValidationEngine',
				elements 				: 'textarea,input',
				ajaxFormClass 			: 'ajaxSubmit',
				messageElementClassID 	: 'validationEngineAjaxMessageElement',
				ajaxLoader 				: '.ajaxLoader',
				securimageClass 		: '.securimageRefresh',
				securimageRefresh 		: true,
				addRandomID 			: true,
				resetForm 				: true,
				validationEngineOptions : {}
			};

			var options 	= $.extend(defaults, options);
			var o 			= options;
			

			if(!$().validationEngine){
				alert('Validation Engine Trigger Plug-in is needs validation engine dude.');
				return;
			}
			
			$(o.formClass).each(function()
			{
				if(o.addRandomID)
				{
					//Validation engine id olmadan çalışmıyor bu nedenle id veriyoruz idsiz her form elemanına
					$(this).find(o.elements).each(function(){
						
						if(!$(this).attr('id'))
						{
							$(this).attr('id','ajaxFormElementID_rnd'+Math.floor(Math.random()*9999999));
						}
						
					});
				}
				
				
				if($(this).hasClass(o.ajaxFormClass))
				{
					//Ajax durum mesajını formun ilk emenanında göstermek için ilk inputu bulup seçiyorum.
					$(this).find('input[type="text"]:first').addClass(o.messageElementClassID);
					
					$().extend(o.validationEngineOptions,
							{
								onValidationComplete : function(form, status)
								{
									if(status)
									{
										$.ajax({
											type 		: 'POST',
											url 		: $(form).attr('action'),
											data 		: $(form).serialize(),
											beforeSend 	: function()
														  {
															$(form).find(o.ajaxLoader).fadeIn();
														  },
										    success 	: function(status) 
										   				  {
										    				$(form).find(o.ajaxLoader).fadeOut();
										    				firstElementID = $(form).find('.'+o.messageElementClassID).attr('id');
														    status = status.split('[|split|]');
														    $('#'+firstElementID).validationEngine('showPrompt', status[0], status[1], true);
														    $('.'+firstElementID+'formError').delay(5000).fadeOut();
														    
														    if(o.resetForm && status[1] == 'pass')
														    {
														    	$(form).find(o.elements).each(function(){
														    		$(this).val($(this).attr('orjVal'));
														    	});
														    }
														    
														    if(o.securimageRefresh)
														    {
														    	$(form).find(o.securimageClass).trigger('click');
														    }
														    
														  }
										});
									}
								    
								}
							}
					);
				}
				
				$(this).validationEngine(o.validationEngineOptions);
		});
		}
	});
})(jQuery);

/**
 * Securimage Refresh Button
 * 
 * Sayfadaki tüm captchaların yenilenebilmesini ve biri yenilendiğinde 
 * diğerlerinden güncellenmesini sağlayan plugin
 * Class içim bkz: http://www.phpcaptcha.org/
 * 
 */
(function($) {
	$.fn.extend({

		securimageRefreshButton : function(options) {

			var defaults = {
				buttonClass				: '.securimageRefresh',
				imageClass 				: 'img.securimage',
				captchaURL 				: 'captcha',
				animButton 				: 'assets/securimage/images/refresh-anim.gif',
				normalButton 			: 'assets/securimage/images/refresh.gif'
			};

			var options 	= $.extend(defaults, options);
			var o 			= options;
			
			$(o.buttonClass).click(function(){
				if($(this).attr('disabled') == 'true'){ return false; }
				
				$(o.imageClass+':first').attr('src',o.captchaURL+'?'+Math.round(Math.random()*9999999995));

				obj = $(this);
				obj.css('background-image','url('+o.animButton+')');
				obj.attr('disabled','true');
				
				$(o.imageClass+':first').bind('load error',function(){
					image = $(o.imageClass+':first').attr('src');
					
					if($(o.imageClass).length > 1)
					{
						$(o.imageClass).each(function(){ $(this).attr('src',image); });
					}
						
					obj.css('background-image','url('+o.normalButton+')');
					obj.attr('disabled','false');
				});
				
				return false;
			});
		}
	});
})(jQuery);

/**
 * Google Search Plugin
 * @author Uğur Erkan
 */


(function($) {
	$.fn.extend({
		
		googleSearch : function(options,method) {

			var defaults = {
				input			: '.searchinput input',
				result 			: '.results .content',
				loader  		: '.loading',
				notfound 		: '.not-found',
				navigation  	: '.results .navigation',
				prevPage 		: 'a.prev',
				nextPage 		: 'a.next',
				pageInfo 		: 'span',
				description 	: false,
				resultCount 	: '.resultcount',
				
				siteURL     : '',    // Change this to your site
				type        : 'web',
				perPage     : 8,     // A maximum of 8 is allowed by Google
				page        : 0,
				term 		: ''	 // Search text
			};
			
			_methods = {
				_doSearch : function(param)
				{
					
					var obj 			= param.obj;
					var o 	 			= (typeof param.o == 'undefined' ? obj.data('options') : param.o);
					var input 			= obj.find(o.input);
					var result 	 		= obj.find(o.result);
					var navigation 	 	= obj.find(o.navigation);
					var resultCount 	= obj.find(o.resultCount);
					var searchResult	= false;
					
					o.term = (o.siteURL ? 'site:'+o.siteURL+' '+input.val() : input.val());
					o.page = (input.data('page') > 0 ? input.data('page') : 0);
					
					con('Json request sending.');
					con('Search term is '+o.term+', result area is '+o.result);
					con('Page : '+o.page);
					
					// Loader and clean
					navigation.hide();
					resultCount.hide();
					result.hide();
					result.html('');
					resultCount.find('span').html(0);
					obj.find(o.loader).stop(1,1).fadeIn();
					obj.find(o.notfound).hide();
					con(input.data('xhr'));
					if(input.data('xhr') != null)
					{
						con('Old XHR aborted');
						con(input.data('xhr'));
						input.data('xhr').abort();
					}
					/*
					 @todo jQ xhr alınamıyor ve üst üste istekler bloke edilemiyor.
					$(document).ajaxComplete( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );
					$(document).ajaxError( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );
					$(document).ajaxSend( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );
					$(document).ajaxStart( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );
					$(document).ajaxStop( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );
					$(document).ajaxSuccess( function(event, jqXHR, ajaxOptions){ console.log(event, jqXHR, ajaxOptions); } );*/
					xhr = $.ajax({
						type 		: 'GET',
						cache 		: false,	
						url  		: 'http://ajax.googleapis.com/ajax/services/search/'+o.type+'?',
						data 		: {
										 v 		: '1.0',
										 q   	: o.term,
										 rsz 	: o.perPage,
										 start  : o.page * o.perPage
									},
						dataType 	: 'jsonp',
						timeout 	: 4000,
						error 		: function(jqXHR, textStatus, errorThrown){
										alert(textStatus);
									},
						success 	: function(r, textStatus, jqXHR){
							
							if(r.responseStatus == 200)
							{
								if(r.responseData.cursor.resultCount > 0)
								{
									var totalPage   = parseInt(Math.round(r.responseData.cursor.resultCount/o.perPage));
									
									searchResult 	= true;
									// Parsing result
									$.each(r.responseData.results,function(i,v){
										liClass = (i % 2 == 0 ? 'line1' : 'line2' );
										if(o.description)
										{
											p = '<p>'+v.content+'</p>';
										}
										else
										{
											p = '';
										}
										result.append('<li class="'+liClass+'"><a href="'+v.url+'" title="'+(o.description ? v.titleNoFormatting : v.content.replace(new RegExp('(<b>|</b>)','gi'),''))+'">'+v.title+'</a>'+p+'</li>\n\n');
									});
									
									// Write total result
									resultCount.find('span').html(r.responseData.cursor.resultCount);
									
									// Pagination changes
									// Page ınfo
									navigation.find(o.pageInfo).html(
											parseInt(r.responseData.cursor.currentPageIndex+1)
											+'/'+
											(totalPage)
											+' '+
											navigation.find(o.pageInfo).html().split(' ')[1]
									);
									
									// Prev page attr
									navigation.find(o.prevPage).attr('page',(r.responseData.cursor.currentPageIndex > 0 ? r.responseData.cursor.currentPageIndex -1 : 0));
									
									// Next page attr
									navigation.find(o.nextPage).attr('page',(r.responseData.cursor.currentPageIndex+1 < totalPage ? r.responseData.cursor.currentPageIndex+1 : totalPage));
									
								}
								
							}
							else
							{
								con('Search Error');
								con(o);
								con(r);
							}
							// Close loader and show result
							obj.find(o.loader).fadeOut(function(){
								if(searchResult)
								{
									resultCount.fadeIn();
									navigation.show();
									result.show();
								}
								else
								{
									obj.find(o.notfound).stop(1,1).fadeIn();
								}
								
							});
						}
					});
					input.data('xhr',xhr);
					
				}
				
			};
			
			if(typeof _methods["_"+arguments[0]] != 'undefined')
			{
				_methods["_"+arguments[0]](arguments[1]);
			}
			else
			{
				con('googleSearch Plugin initialized.');
				
				this.each(function(){
					var o 					= $.extend(defaults, options);
					var keydownTimer 		= setTimeout('void(0)',0);
					var obj 				= $(this);
					var navigation 	 		= obj.find(o.navigation);
					
					con(o.input+' Listening for google search',this);
					
					obj.find(o.input).data('xhr',null);
					obj.find(o.input).keydown(function(e){
						con(o.input+' keydown '+e.keyCode);
						clearTimeout(keydownTimer);
						if(e.keyCode == 13)
						{
							$.fn.googleSearch('doSearch',{'obj':obj,'o':o});
						}
						else if( (e.keyCode <= 90 && e.keyCode >= 48) || (e.keyCode <= 111 && e.keyCode >= 96))
						{
							keydownTimer = setTimeout(function(){ $.fn.googleSearch('doSearch',{'obj':obj,'o':o}); },300);
						}
					});
					
					// Pagination click listen
					var paginationClick = function()
					{
						obj.find(o.input).data('page',$(this).attr('page'));
						$.fn.googleSearch('doSearch',{'obj':obj,'o':o});
					};
					navigation.find(o.prevPage).click(paginationClick);
					navigation.find(o.nextPage).click(paginationClick);
					
					
					obj.data('options',o);
					
				});
			}

		}
	});
})(jQuery);



//-----------------------------------------------------------------------------------------

$(document).ready(function(){
	
	$('#searchbox').googleSearch({
		input			: '.searchinput input',
		result 			: '.results .content',
		loader  		: '.loading',
		notfound 		: '.not-found',
		navigation  	: '.results .navigation',
		prevPage 		: 'a.prev',
		nextPage 		: 'a.next',
		pageInfo 		: 'span',
		resultCount 	: '.resultcount',
		siteURL     	: 'rixos.com',
		type       		: 'web'
	});
	
	cufonReplace();
	// Datepicker 
	if($().datepick)
	{
		$('.line-col .datepicker input').datepick({changeMonth: false,alignment:'bottomLeft'});
		
		$('.smallcol .input input').datepick({changeMonth: false, minDate: 0,alignment:'top',onSelect:function(target){
			$(target).css('top','850');
		}});
	}
	
		 
	$('.reservationbox-inner .div_selectbox').customSelectbox();
	
	$('#bookingarea .div_selectbox').customSelectbox({
		'direction':'up'
	});
	
	exploreTimer = setTimeout('void(0)',1);	
	$('#topmenu ul li.exploreRixos').mouseenter(explorerMenuOver).mouseleave(explorerMenuOut);	
	
	function explorerMenuOver()
	{
		
		$(this).addClass('hover');
		$(this).children('a').css({
			'color':'#fff'
		});
		
		cufonReReplace($(this).children('a'),{fontFamily: 'GothamMedium', hover: true});//	
		
		window.clearTimeout(exploreTimer);
		exploreTimer = setTimeout(setTime, 100);
		
		function setTime()
		{
			
			if( navigator.userAgent.indexOf('MSIE 7') > 0 ){
				$('.header-outer').css({
					'z-index':'5'
				});
			};	
			
			$('#exploreRixos').stop(1,1).slideDown(500,'easeInOut');
			openHeaderMask(1);
		}		
	};
	
	function explorerMenuOut()
	{
		if( navigator.userAgent.indexOf('MSIE 7') > 0 ){
			$('.header-outer').css({
				'z-index':'0'
			});
		};	
		
		//console.log($(this).parent());
		
		$(this).removeClass('hover');		
		
		$(this).children('a').css({
			'color':'#615249'
		});
				
		cufonReReplace($(this).children('a'),{fontFamily: 'GothamMedium', hover: true});
		
		window.clearTimeout(exploreTimer);
		exploreTimer = setTimeout(setTime, 100);

		function setTime(){
			$('#exploreRixos').stop(1,1).slideUp(400,'easeInOut');
			openHeaderMask(-1);
		}
	};
	
	//Explore Rixos Hovers
	$().cufonHover({selector : '#exploreRixos div.column',font : ''});
	
	//Footer
	
	/*
	 * Ömer Bey'in isteği üzerine Comment haline getirilmiştir!
	 * 
	if( navigator.userAgent.indexOf('iPad') > 0)
	{
		$('#bookingarea').css({
			'position'	: 'absolute',
			'bottom'	: '-'+($(window).height()+120)+'px'
		});
	}
	else
	{
		bookingAreaTimer = setTimeout(function(){},200);
		$(window).scroll(function(){ 
			window.clearTimeout(bookingAreaTimer);
			if($(window).scrollTop() > 400){
				bookingAreaTimer = setTimeout(function(){ $('#bookingarea').animate({'bottom':'0px'},500); },300);
			}else{
				bookingAreaTimer = setTimeout(function(){$('#bookingarea .div_selectbox .div_option').fadeOut(100); $('#bookingarea').animate({'bottom':'-100px'},500); },300);
			}
			
		});
	}
	
	*/
	
	//Search Box
	var toggleButton = true;
	$('#search a').click(function(){
		$('#searchbox').stop(0,1).slideToggle(500,'easeOutExpo');
		
		if(toggleButton){
			openHeaderMask(1);
		}else{
			openHeaderMask(-1);
		}
			
		toggleButton = !toggleButton;	
		
		return false;	
	});
	
	//Form Submit Anchor
	
	$('.formSubmitAnchor').click(function(){
		obj 	= $(this);
		evalStr = 'obj';
		for(i=0; i < $(this).attr('parent'); i++)
		{
			evalStr +='.parent()';
		}
		obj = eval(evalStr+';');
		obj.submit();
	});

	// Validation Trigger
	if($().validationEngine){ $().validationEngineTrigger(); }
	
	$().tabmenu();
	$().focuser();
	
	//Ajax content modal
	
	$('.contentPopUpTrigger').each(function()
		{
		id = $(this).attr('id','#contentTrigger_rnd'+Math.floor(Math.random()*99999));
		$(id).modalWindow({
			'ajax'		 : 'ajax/getContent?id='+($(this).attr('groupID') ? $(this).attr('groupID')+'&fromGroupID=true' : $(this).attr('contentID'))+'&lang='+$('#UI_LANG').val(),
			'modal' 	 : '#ajaxContentPopup',
			'align'		 : 'center',
			'close'		 : '.modalclose',
			'mask'		 : '#headermask',
			'callClose'  : function(){
				$('#ajaxContentPopup').remove();
			}
		});
	});
	
	//World wide modal trigger
	$('#world-wide,#contact-page-world-wide').modalWindow({
		'modal' : '.worldwide-modal',
		'align'	: 'center',
		'close'	: '.modalclose',
		'mask'	: '#headermask',
		'callBefore' : function(){
			var latlng = new google.maps.LatLng(39.624448,45.902068);
		    var myOptions = {
		      zoom: 4,
		      center: latlng,
		      mapTypeId: google.maps.MapTypeId.ROADMAP,
		      streetViewControl:false
		    };
		    
		    var map = new google.maps.Map(document.getElementById("gmap"),myOptions);
		    
		    var hotels = [
		                   ['Rixos Sungate', 
		                    36.702019,30.572382,
		                    '<p>Çifteçesmeler Mevkii Beldibi 07985 Kemer Antalya / TÜRKIYE<br /><br />Phone: +90 242 824 00 00<br />Fax: +90 242 824 97 55</p>'
		                    ,'rixos-sungate'],
		                    
		                   ['Rixos Tekirova'
		                    ,36.508573,30.53894
		                    ,'<p>Tekirova Beldesi P.K. 137 </p><p>07995 Kemer Antalya / TÜRKIYE<br /><br />Phone: +90 242 821 40 32<br />Fax: +90 242 821 40 44</p>'
		                    ,'rixos-tekirova'],
		                    
		                   ['Rixos Premium Belek'
		                    , 36.842879,31.096729
		                    ,'<p>İleribaşı Mevkii PK:116 Belek Serik Antalya / TÜRKIYE<br /><br />Phone: +90 242 710 20 00<br />Fax: +90 242 710 19 19</p>'
		                    ,'rixos-premium-belek'],
		                    
		                   ['Rixos Premium Bodrum'
		                    ,37.094718,27.491932
		                    ,'<p>Zeytinli Kahve Mevkii</p><p>Bodrum Muğla / TÜRKIYE<br /><br />Phone: +90 252 337 11 22<br />Fax: +90 252 337 12 28</p>'
		                    ,'rixos-premium-bodrum'],
		                    
		                   ['Rixos Grand Ankara'
		                    , 39.910567,32.856315
		                    ,'<p>Atatük Blv. 183 </p><p>Kavaklıdere/ Ankara / TÜRKIYE <br /><br />Phone: +90 312 410 55 00<br />Fax: +90 312 410 55 55</p>'
		                    ,'rixos-grand-ankara'],
		                    
		                   ['Rixos Lares'
		                    ,36.854782,30.864673
		                    ,'<p>Lara Tourism Centre<br />07230 Lara Antalya / TÜRKIYE<br /><br />Phone: +90 242 352 00 11<br />Fax: +90 242 352 00 55</p>'
		                    ,'rixos-lares'],
		                    
		                   ['Rixos Konya'
		                    ,38.006832,32.517793
		                    ,'<p>Selcuk University Campus<br />42250 Konya / TÜRKIYE<br /><br />Phone: +90 332 221 50 00<br />Fax: +90 332 221 50 50</p>'
		                    ,'rixos-konya'],
		                    
		                   ['Rixos Downtown Antalya'
		                    ,36.885849,30.674314
		                    ,'<p>Sakıp Sabancı Bulvarı,<br />Konyaaltı Sahili 07050<br />Antalya / TÜRKIYE<br /><br />Phone:+90 242 249 49 49<br />Fax:+90 242 249 49 00</p>'
		                    ,'rixos-downtown-antalya'],
		                    
		                   ['Rixos Bomonty'
		                    ,41.052981,28.991332
		                    ,'<p></p>'
		                    ,''],
		                    
		                   ['Rixos Elysium Suites Taksim'
		                    ,41.044663,28.984616
		                    ,'<p>İnönü Mah. Yedikuyular Cad. Harbiye Çayırı Sokak No:4<br />Taksim - İstanbul / TÜRKIYE<br /><br />Phone:+90 (212) 291 17 61<br />Fax:+90 (212) 291 17 95</p>'
		                    ,'rixos-elysium-suites-taksim'],
		                    
		                   ['Rixos Libertas Dubrovnik'
		                    ,42.645237,18.091376
		                    ,'<p>Liechtensteinov Put 20 000 Dubrovnik / CROATIA<br /><br />Phone: +385 20 200 000<br />Fax: +385 20 200 020</p>'
		                    ,'rixos-libertas-dubrovnik'],
		                    
		                   ['Rixos President Astana'
		                    ,51.133636,71.421124
		                    ,'<p>Astana / KAZAKHSTAN<br /><br />Phone: +7 7172 24 50 50<br />Fax: +7 7172 24 27 60</p>'
		                    ,'rixos-president-astana'],
		                    
		                   ['Rixos Al Nasr Tripoli'
		                    ,32.863728,13.194752
		                    ,'<p>Al Nasr / TRIPOLI / LIBYA<br /><br />Phone: +218 21 362 29 01<br />Fax: +218 21 362 29 11</p>'
		                    ,''],
		                    
		                   ['Rixos Bahreyn'
		                    ,26.203887,50.450592
		                    ,'<p></p>'
		                    ,''],
		                    
		                   ['Rixos The Palm Dubai'
		                    ,25.121862,55.153518
		                    ,'<p></p>'
		                    ,'rixos-the-palm-dubai'],
		                    
		                    ['Rixos Pera Istanbul'
			                    ,41.032395,28.974016
			                    ,'<p></p>'
			                    ,'rixos-pera-istanbul'],
		                    
		                   ['Rixos Almaty'
		                    ,43.249434,76.934727
		                    ,'<p>Almaty / KAZAKHSTAN<br /><br />Phone: +7 727 300 33 00<br />Fax: +7 727 300 33 33</p>'
		                    ,'rixos-almaty']
		                 ];
		    
		    setMarkers(map, hotels);	
		    
 	    	var infoBox = null;
 	    					    
		    function setMarkers(map, locations) {
		
		    	  var image = new google.maps.MarkerImage('assets/images/rixosllittle.png',
		    	      new google.maps.Size(30, 26),
		    	      new google.maps.Point(0,0),
		    	      new google.maps.Point(15, 26));
		    	  
		    	  var shape = {
		    	      coord: [1, 1, 1, 20, 18, 20, 18 , 1],
		    	      type: 'poly'
		    	  };
  
		    	  for (var i = 0; i < locations.length; i++) {			    		 
		    	    var beach = locations[i];
		    	    var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
		    	    var marker = new google.maps.Marker({
		    	        position: myLatLng,
		    	        map: map,
		    	        icon: image,
		    	        shape: shape,
		    	        title: beach[0],
		    	        content:
							'<div id="map-popup">'+
							'<div class="map-popup-top"></div>'+
							'<table>'+
								'<tr>'+
									'<td>'+
										'<h1>'+  beach[0] +'</h1>'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td>'+
										beach[3]+
									'</td>'+
								'</tr>'+											
								'<tr>'+
									'<td>'+
										'<a href="'+$('#UI_LANG').val()+'/'+beach[4]+'">HOTEL DETAILS</a>'+
//										'<a href="http://www.tripadvisor.com/Search?q=rixos&sub-search=SEARCH&geo=&returnTo=__2F__" style="background:#0ac0e1; margin-left:2px;">RESERVATION</a>'+
									'</td>'+
								'</tr>'+
							'</table>'+
							'<div class="map-popup-bottom"></div>'+
							'</div>'
		    	    });
		    	    
		    	    google.maps.event.addListener(marker, 'click', function() {				    	    	

		    	    	if(infoBox){
		    	    		infoBox.close();
		    	    	};
	    				var boxText = document.createElement("div");
		    	    	boxText.innerHTML = this.content;
		    	    
		    	    	var myOptions = {
			    	    			content: boxText
			    	    			,pixelOffset: new google.maps.Size(-45, 0)
			    	    			,disableAutoPan: false
			    	    			,maxWidth: 0
			    	    			,boxStyle: {
				    	    			background: "url('assets/images/background/map-popup.png') no-repeat"
				    	    				,opacity: 1
				    	    				,width: "250px"
				    	    		}
		    	    				,closeBoxMargin: "20px 0px 0px 230px"
			    	    			,closeBoxURL: "assets/images/background/map-popup-close.png"
			    	    			,infoBoxClearance: new google.maps.Size(1, 1)
		    	    				,isHidden: false
		    	    				,pane: "floatPane"
		    	    				,enableEventPropagation: false
		    	    		
		    	    		};
		    	    	
		    	    	infoBox = new InfoBox(myOptions);
		    	    	infoBox.open(map, this);	
		    				    	 
			   	    	map.setCenter( new google.maps.LatLng(this.position.lat(),this.position.lng()));
			   	  
		    	    	if(map.zoom<10){
		    	    		map.setZoom(10);
		    	    	}	
		    	    					    	    					 
			    	});
		    	  }
		    	}

		}

	});

	if(navigator.userAgent.indexOf('iPad') < 0)
	{
		$('.getquote').modalWindow({
			modal 	 		: '.online-reservation-modal',
			align			: 'center',
			close			: '.modalclose',
			mask			: '#headermask',
			fixTop 			: (navigator.userAgent.indexOf('iPad') > 0 ? 95 : false),
			callCloseBefore : function()
							  {
								return reservationFrameLoad;
							  }
		});
	}
	
	
	$('#langSelect').modalWindow({
		'modal' : '.language-modal',
		'align'	: 'center',
		'close'	: '.modalclose',
		'mask'	: '#headermask'
	});
	
	$('#exploreRixos').explorerHover({
		'content'		: '.content',
		'selectItem'	: '.column a',
		'imgContent'	: '.image'
	});
	
	$('.reservationbox-inner').booking({
		selectBoxes : '.div_selectbox'
	});
	
	$('#bookingarea').booking({
		selectBoxes : '.div_selectbox'
	});
	
	$('.newsletter-button').modalWindow({
		'modal' : '#subscription',
		'align'	: 'center',
		'close'	: '.modalclose',
		'mask'	: '#headermask',
		'callBefore' : function(){
			inputs = $('.footer .inputs .input input');
			$('#newsletter-iframe').attr('src','http://max.emarketing-powered-by-euromessage.com/p/subf/?ID=AFC031F199C5420984A42ECFC75B3FC8&SLID='+$('#UI_LANG').val().toUpperCase()+'&EMAIL='+$(inputs[0]).val());
		}
	});		
	
	$('.how-cani-book').modalWindow({
		'ajax'		 : 'ajax/bookingVideo?lang='+$('#UI_LANG').val(),
		'modal' 	 : '#ajaxContentPopup',
		'align'		 : 'center',
		'close'		 : '.modalclose',
		'mask'		 : '#headermask',
		'callClose'  : function(){
			$('#ajaxContentPopup').remove();
		}
	});
	
	$().securimageRefreshButton();
});
