$(window).bind('load',function(){
	$('#content').css('overflow','hidden');
	// init functions **********************************************************
	//centered();
	tabs();
	
	$('.content-holder').corusel({
		btNext: 'a.btn-arrow',
		btPrev: 'a.btn-arrow-back',
		slider: 'div.stripe',
		holderList: '#content',
		scrollElParent: 'ul.main-contant',
		scrollEl: '> li',
		duration: 1000
	});
	
	// datapicker **************************************************************
	if (typeof $().datepicker == 'function') {
		
		var _dayNamesShort = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
		
		$('input.date:not(.first, .second)').datepicker({
			showOn: 'button',
			buttonImage: '/images/cal.png',
			buttonImageOnly: true,
			dateFormat: 'D dd/mm/yy',
			showOn: 'both',
			dayNamesShort: _dayNamesShort
		});
		
		var _firstDTP = $('input.date.first');
		var _secondDTP = $('input.date.second');
		
		function initFirstDatepicker(_date){
			_firstDTP.datepicker( 'destroy' ).datepicker({
				showOn: 'button',
				buttonImage: '/images/cal.png',
				buttonImageOnly: true,
				dateFormat: 'D dd/mm/yy',
				showOn: 'both',
				maxDate: _date,
				dayNamesShort: _dayNamesShort,
				onSelect: function(dateText, inst) {
					var _dateText = dateText.substr(dateText.indexOf(' ')+1).split(' / ');
					var _month = parseInt(_dateText[1]) - 1;
					var _day = _dateText[0];
					if (_day.length == 2 && parseInt(_day) == 0) _day = parseInt(_day.substr(1)) + 1;
					else _day = parseInt(_day) + 1;
					_date = new Date(parseInt(_dateText[2]), _month, _day);
					
					_secondDTP.datepicker( 'destroy' ).datepicker({
						showOn: 'button',
						buttonImage: '/images/cal.png',
						buttonImageOnly: true,
						dateFormat: 'D dd/mm/yy',
						showOn: 'both',
						dayNamesShort: _dayNamesShort,
						minDate: _date,
						onSelect: function(dateText, inst) {
							var _dateText = dateText.substr(dateText.indexOf(' ')+1).split(' / ');
							_month = parseInt(_dateText[1]) - 1;
							_day = _dateText[0];
							if (_day.length == 2 && parseInt(_day) == 0) _day = parseInt(_day.substr(1)) - 1;
							else _day = parseInt(_day) - 1;
							_date = new Date(parseInt(_dateText[2]), _month, _day);
							initFirstDatepicker(_date);							
						}
					});
					if (_date && _secondDTP.val()=='')
						_secondDTP.datepicker( 'setDate' , _date);
					//console.log(_secondDTP.datepicker('getDate'));
					//_secondDTP.val(_secondDTP.datepicker( 'getDate' ));
				}
			});
			if (_date && _firstDTP.val()=='')
				_firstDTP.datepicker( 'setDate' , _date);
		}
		function initSecondDatepicker(_date){
			_secondDTP.datepicker( 'destroy' ).datepicker({
				showOn: 'button',
				buttonImage: '/images/cal.png',
				buttonImageOnly: true,
				dateFormat: 'D dd/mm/yy',
				showOn: 'both',
				minDate: _date,
				dayNamesShort: _dayNamesShort,
				onSelect: function(dateText, inst) {
					var _dateText = dateText.substr(dateText.indexOf(' ')+1).split(' / ');
					var _month = parseInt(_dateText[1]) - 1;
					var _day = _dateText[0];
					if (_day.length == 2 && parseInt(_day) == 0) _day = parseInt(_day.substr(1)) - 1;
					else _day = parseInt(_day) - 1;
					_date = new Date(parseInt(_dateText[2]), _month, _day);
					
					_firstDTP.datepicker( 'destroy' ).datepicker({
						showOn: 'button',
						buttonImage: '/images/cal.png',
						buttonImageOnly: true,
						dateFormat: 'D dd/mm/yy',
						showOn: 'both',
						dayNamesShort: _dayNamesShort,
						maxDate: _date,
						onSelect: function(dateText, inst) {
							var _dateText = dateText.substr(dateText.indexOf(' ')+1).split(' / ');
							_month = parseInt(_dateText[1]) - 1;
							_day = _dateText[0];
							if (_day.length == 2 && parseInt(_day) == 0) _day = parseInt(_day.substr(1)) + 1;
							else _day = parseInt(_day) + 1;
							_date = new Date(parseInt(_dateText[2]), _month, _day);
							
							initSecondDatepicker(_date);
						}
					});
					if (_date && _firstDTP.val()=='')
						_firstDTP.datepicker( 'setDate' , _date);
					//_firstDTP.val(_firstDTP.datepicker( 'getDate' ));
				}
			})
			if (_date && _secondDTP.val()=='')
				_secondDTP.datepicker('setDate', _date);
		}
		
		initSecondDatepicker(false);
		initFirstDatepicker(false);
	}

	
	
	// tab function ************************************************************
	function tabs(){
		var _slideDuration = 300;
		var _nav = $('#nav');
		$('> li:has(div.dropdown)', _nav).each(function(i, li){
			var _tabLink = $('> a',li);
			var _tab = $('> div.dropdown',li);
			var _li = $(li);
			_tabLink.click(function(){
				var _visDrop = $('div.dropdown:visible',_nav).not(_tab);
				_visDrop.slideUp(_slideDuration, function(){
					$(this).parent().removeClass('active');
				})
				if (_li.hasClass('active')) {
					_tab.slideUp(_slideDuration, function(){
						_li.removeClass('active');
					})
				} else {
					_li.addClass('active');
					_tab.hide().slideDown(_slideDuration)
				}
				return false;
			});
		});
	}
	
	// page centered ***********************************************************
	/*function centered(){
		var _height = 0;
		if (window.innerHeight) _height = window.innerHeight;
		else _height = document.documentElement.clientHeight;
		var _wrp = $('#wrapper');
		if (_wrp.outerHeight() < _height) {
			$('body').css('paddingTop',(_height - _wrp.outerHeight())/2)
		}
	}
	$(window).resize(function(){
		centered();
	});*/
	
	// fade hover **************************************************************
	var _delay = 200;
	var _fadeDuration = 400;
	
	$('ul.main-contant > li').each(function(i, li){
		var _inform = $('div.info',li);
		var _bg = $('> span', _inform);
		_bg.css('opacity',0.6)
		var _timer = 0;
		$(li).mouseenter(function(){
			_timer = setTimeout(function(){
				_inform.fadeIn(_fadeDuration)
			}, _delay)
		}).mouseleave(function(){
			if (_timer) clearTimeout(_timer);
			_inform.fadeOut(_fadeDuration)
		});
	});
	$('ul.main-contant > li').each(function(i, li){
		var _inform = $('div.info-box',li);
		var _bg = $('> span', _inform);
		_bg.css('opacity',0.6)
		var _timer = 0;
		$(li).mouseenter(function(){
			_bg.animate({'opacity':0.6},{duration:_fadeDuration, queue:false});
		}).mouseleave(function(){
			_bg.animate({'opacity':0.6},{duration:_fadeDuration, queue:false});
		});
	});
	$('div.promo-box > a').each(function(i,link){
		var _span = $('> span',link);
		_span.css('opacity',0.6);
		$(link).mouseenter(function(){
			_span.animate({'opacity':0},{duration:_fadeDuration, queue:false});
		}).mouseleave(function(){
			_span.animate({'opacity':0.6},{duration:_fadeDuration, queue:false});
		});
	});
});

// corusel width slider ********************************************************
jQuery.fn.corusel = function(_options){
	// defaults options
	var _options = jQuery.extend({
		btPrev: 'a.link-prev',
		btNext: 'a.link-next',
		slider: '.slider',
		sliderNextArrow: '.next',
		sliderPrevArrow: '.prev',
		holderList: 'div',
		scrollElParent: 'ul',
		scrollEl: 'li',
		duration: 1000
	},_options)

	return this.each(function(){
		var _this = $(this);
		var _holderList = $(_options.holderList, _this);
		var _mover = $(_options.scrollElParent, _holderList);
		var _scrollEl = $(_options.scrollEl, _mover);
		var _gWidth = _holderList.innerWidth();
					_gWidth = (_gWidth -205)
		var _liWidth = _scrollEl.outerWidth(true);
		var _liSum = 0;
		var _rightArrow = $(_options.btNext, _this);
		var _leftArrow = $(_options.btPrev, _this);
		
		var _sliderNext = $(_options.sliderNextArrow, _this);
		var _sliderPrev = $(_options.sliderPrevArrow, _this);
		
		var _sliderHolder = $(_options.slider, _this);
		var _slider = _sliderHolder.find('div.scroll');
		var _sliderHWidth = _sliderHolder.innerWidth();
		var _sliderW = _slider.innerWidth();
		var _pos = _sliderHolder.offset();
		var _left = 0;
		var _currentLi = 0;
		var _liMargin = [];
		
		var _resizeK = (_sliderHWidth-_sliderW)/100;
		_liMargin[0] = 0;
		_scrollEl.each(function(i, li){
			_liSum += $(li).outerWidth(true);
			_liMargin[i+1] = _liSum-20;
		});
		var _k = (_sliderHWidth-_sliderW)/(_liSum-_gWidth);

		_leftArrow.hide();
		if (_liSum <= _gWidth) {
			_rightArrow.hide();
			_slider.hide();
			_sliderPrev.addClass('inactive');
			_sliderNext.addClass('inactive');
		} else _rightArrow.show();
		
		$(window).resize(function(){

			var _animResize = false;
			if (_margin == _liSum-_gWidth) _animResize = true;
			_gWidth = _holderList.innerWidth();
			_gWidth = (_gWidth - 205);
			_gWidth2 = _gWidth;
			_sliderHWidth = _sliderHolder.innerWidth();
			_k = (_sliderHWidth-_sliderW)/(_liSum-_gWidth);
			
			var _ResLeft = parseInt(_slider.css('left'))/_resizeK;
			_resizeK = (_sliderHWidth-_sliderW)/100;
			_ResLeft = _ResLeft*_resizeK;
			_slider.animate({'left':_ResLeft}, {queue:false, duration: 150});
			if (_liSum > _gWidth) {

				_rightArrow.show();
				_slider.show();
				_sliderNext.removeClass('inactive');
				if (_ResLeft != 0) _sliderPrev.removeClass('inactive');
			} 
			else {
				_rightArrow.hide();
				_leftArrow.hide();
				_slider.hide();
				_sliderPrev.addClass('inactive');
				_sliderNext.addClass('inactive');
				_gWidth = (_gWidth - 205);
			}
			if (_animResize) {
				_rightArrow.hide();
					_mover.animate({marginLeft: 0}, {queue:false, duration: _duration});
			}
		});
		
		var _margin = 0;
		var _duration = _options.duration;
		
		var _step = _liWidth;
		_rightArrow.click(function(){
			nextSlide();
			return false;
		});
		_leftArrow.click(function(){
			prevSlide();
			return false;
		});
		_sliderNext.click(function(){
			if (!$(this).hasClass('inactive'))
				nextSlide();
			return false;
		});
		_sliderPrev.click(function(){
			if (!$(this).hasClass('inactive'))
				prevSlide();
			return false;
		});
		_scrollEl.bind('click', function(){
			_sliderPrev.removeClass('inactive');
			_sliderNext.removeClass('inactive');
			_rightArrow.show();
			_leftArrow.show();
			_currentLi = _scrollEl.index(this);
			_margin = _liMargin[_currentLi];
			if (_liSum - _gWidth < _margin) {
				_margin = _liSum - _gWidth;
				_rightArrow.hide();
				_sliderNext.addClass('inactive');
			}
			if (_currentLi == 0) {
				_margin = 0;
				_currentLi = 0;
				_leftArrow.hide();
				_sliderPrev.addClass('inactive');
			}
			_mover.animate({marginLeft: -_margin}, {queue:false, duration: _duration});
			sliderAnimate(_duration);
		});
		if (_liSum <= _gWidth) {
			_scrollEl.unbind('click');
		}
		function nextSlide(){
			_currentLi += 1;
			_margin = _liMargin[_currentLi];
			if (_liSum - _gWidth < _margin) {
				_margin = _liSum - _gWidth;
				_rightArrow.hide();
				_sliderNext.addClass('inactive');
			}
			_sliderPrev.removeClass('inactive');
			_leftArrow.show();
			_mover.animate({marginLeft: -_margin}, {queue:false, duration: _duration});
			sliderAnimate(_duration);
		}
		function prevSlide(){
			_currentLi -= 1;
			_rightArrow.show();
			if (_currentLi <= 0) {
				_margin = 0;
				_currentLi = 0;
				_sliderPrev.addClass('inactive');
				_leftArrow.hide();
			} else 
				_margin = _liMargin[_currentLi];
			_sliderNext.removeClass('inactive');
			_mover.animate({marginLeft: -_margin}, {queue:false, duration: _duration});
			sliderAnimate(_duration);
		}
		function sliderAnimate(_d){
			_left = _margin * _k;
			_slider.animate({left: _left}, {queue:false, duration: _d});
		}
				
		_slider.click(function(){return false});
		_slider.mousedown(function(e){
			var _dif = e.pageX - _pos.left;
			var _sl = parseInt(_slider.css('left'));
			$(document).bind('mousemove', function(e){
				_sliderPrev.removeClass('inactive');
				_sliderNext.removeClass('inactive');
				_left = e.pageX - _pos.left - _dif + _sl;
				if (_left < 0) {
					_left = 0;
					_sliderPrev.addClass('inactive');
				}
				if (_left > _sliderHWidth-_sliderW) {
					_left = _sliderHWidth-_sliderW;
					_sliderNext.addClass('inactive');
				}
				_slider.css({left: _left});
				_margin = _left/_k;
				_mover.css({marginLeft: -_margin});
				if(_margin >= _liSum - _gWidth) _rightArrow.hide();
				if(_margin == 0) _leftArrow.hide();
				setCurrentLi();
				return false;
			});
			$('body').bind('mouseup', leaveScroll);
			
			function leaveScroll(){
				setCurrentLi();
				$(document).unbind('mousemove');
				$('body').unbind('mouseup', leaveScroll);
				return false;
			}
			return false;
		});
		function setCurrentLi(){
			var _mLeft = parseInt(_mover.css('marginLeft'))*(-1);
			for(var i=1;i<_liMargin.length;i++){
				if (_mLeft < _liMargin[i]){
					_currentLi = i-1;
					break;
				}
			}
			if(_mLeft < _liSum - _gWidth) _rightArrow.show();
			if(_mLeft > 0) _leftArrow.show();
		}
		
	});
}

//Fix for onsubmit to allow Google Analytics to work



/** WMS Template additions
/**  Eddie Foreman Nov 2009
**************************/
$(document).ready(function(){

//fix for Google analytics - adds onsubmit to page form 


		
/*window.__doPostBack = function(eventTarget, eventArgument) {
//var pageForm =  $("#headerForm");
		var originalvalues = [
			theForm.__EVENTTARGET.value,
			theForm.__EVENTARGUMENT.value
		];
		theForm.__EVENTTARGET.value = eventTarget;
		theForm.__EVENTARGUMENT.value = eventArgument;
		try {
			__utmLinkPost(this);
			//alert(this);
			$(theForm).submit();
		}
		finally {
			theForm.__EVENTTARGET.value = originalvalues[0];
			theForm.__EVENTARGUMENT.value = originalvalues[1];
		}
	}*/
		
		
		
		

					
    //hide all forms
    $('#headerForm div.form').hide();        
        
    //set up default form and selected item
    $('#headerForm div.acc').show();
    $('.subnav li a.acc').parent().addClass('selected');
        
    //onclick event
    $('.subnav li a').click(function(){
        $('.subnav li').removeClass('selected');
        $(this).parent().addClass('selected');
        var forms = $('#headerForm div.form');
        forms.hide();
            if(forms.is("." + $(this).attr('class'))){
                $('#headerForm div.form.' + $(this).attr('class')).show();
            }
            return false;
     });    
    
    //Gallery Count Display
    var totalCount = $('#gallery > li').size()
    $('span.number').text(totalCount);
    $('span.number').each(function(intIndex){
        $(this).text((intIndex + 1) + " of " + totalCount);
    });

    //Menu Styling
    //$('#sidebar li:has(> ul)').addClass("active");
    $('#sidebar ul ul ul li').addClass("active");
    
    
    //To fix WMS navigation bug.
    $('#sidebar ul ul ul ul').append("</li>");
    //hide 3rd and 4th sub levels
    $('#sidebar ul ul ul').hide();
    
    $currLev2 = $('#sidebar ul ul a[class = current]');        
    $currLev3 = $('#sidebar ul ul ul a[class = current]'); 
    $currLev4 = $('#sidebar ul ul ul ul a[class = current]');
    
    if($currLev2.length == 1){
        $currLev2.next().show();
    }
    if($currLev3.length == 1){
        $currLev3.parent().parent().show();
        $currLev3.next().show();
    }       
    if($currLev4.length == 1){
        $currLev4.parent().parent().show();
        $currLev4.parent().parent().parent().parent().show();
    }
    
    $currA = $('a[class = current]');
    if($currA.length == 1){
        $currA.parent().addClass("current");
    };
    
    $('a[href*=meet_team]').next("ul").hide();
    $('a[href*=tourist_attractions]').next("ul").hide();
    
    //Hide Captcha's
    $('#formsTab_appForm_appFormCaptcha_subtext_captcha').hide();
    $('#formsTab_dinForm_dinFormCaptcha_subtext_captcha').hide();
    $('#formsTab_accForm_accFormCaptcha_subtext_captcha').hide();
    $('#formsTab_conForm_conFormCaptcha_subtext_captcha').hide();

    //hide all text areas
    $('.options').hide();
    
    //toggle text areas    
    $('.more-options').toggle(function(){
		$(this).addClass("toggled");
		$('.options').show();
		return false;
	},function(){
	    $(this).removeClass("toggled");
	    $('.options').hide();
	    return false;
	});
	$('.more-options').click(function(){
		$(this).next(".text").slideToggle("fast");
	});
	
	//set external links
	$('a[rel = external]').attr('target','blank');
	
	//set active language options
	$('.top-info > ul li a').each(function(i){
	    if($(this).html() == $('.lang').val()){
	        $(this).parent().addClass('active');
	    }
	});    
});

