$(function() {
	$('body').removeClass('noJs');

	var scrollers = $('.scroller').jScrollPane({showArrows: true});

	$('#sliding-navigation li').hover(
		function () {
			var li = this;
			$('a', $(this)).first().stop(true, true).animate({paddingLeft: 27}, 150, 'linear', function () {
				$(li).addClass('indent').addClass('over');
			});
		},
		function () {
			$(this).removeClass('over');
			var li = this;
			$('a', $(this)).first().stop().animate({paddingLeft: 17}, 150, 'linear', function () {
				$(li).removeClass('indent');
			});
		}
	);

	$('#aboutus-right-header.tabs').tabs();

	var maxSlidingBoxHeight = 0;
	$('.slidingBox').each(function () {
		var height = $(this).outerHeight();
		if (height > maxSlidingBoxHeight) {
			maxSlidingBoxHeight = height;
		}
	}).height(maxSlidingBoxHeight);

	$('.slidingBoxHeader').click(function () {
		var id = $(this).attr('id').split('_')[1];
		var container = $('#slidingBoxContainer_' + id);
		if (container.hasClass('slidingBoxOpened')) {
			container.removeClass('slidingBoxOpened');
			container.removeClass('slidingBoxWhite');
		}
		else {
			container.addClass('slidingBoxOpened');
			container.removeClass('slidingBoxWhite');
		}
		$('#slidingBox_' + id).stop(true, true).slideToggle('medium');
	});

	$('.slidingBoxHeader').hover(
		function () {
			var id = $(this).attr('id').split('_')[1];
			var container = $('#slidingBoxContainer_' + id);
			if (container.hasClass('slidingBoxOpened') != true) {
				container.addClass('slidingBoxWhite');
			}
		},
		function () {
			var id = $(this).attr('id').split('_')[1];
			var container = $('#slidingBoxContainer_' + id);
			container.removeClass('slidingBoxWhite');
		}
	);

	$('.testimonialsAnnounce').click(function () {
		var obj = $(this);
		var id = obj.attr('id').split('_')[1];
		if (obj.hasClass('up')) {
			obj.removeClass('up').addClass('down');
			$('#testimonialsText_' + id).css('display', 'none')
		}
		else {
			obj.removeClass('down').addClass('up');
			$('#testimonialsText_' + id).css('display', 'block')
		}

		scrollers.each(function () {
			var api = $(this).data('jsp');
			api.reinitialise();
		});
	});

	$('.projectTypeSwitcher').change(function () {
		if ($(this).is(':checked')) {
			$('.projectTypeContainer').hide();
			var selected = $(this).val();
			$('#' + selected + 'Container').show();
		}
	});

	$('#number_of_rooms').change(function () {
		var numberOfRooms = parseInt($('option:selected', $(this)).val());
		var i = 1;
		var maxi = parseInt($('#rooms_of_number').val());
		for (i = 1; i <= maxi; i++) {
			if (i <= numberOfRooms) {
				if ($('#room_title_' + i).length == 0) {
					var newHtml = $('#roomSample').html();
					newHtml = newHtml.replace(/_numb_/g, i);
					$('#roomsContainer').append(newHtml);
				}
			}
			else {
				var obj = $('#roomDiv_' + i);
				if (obj.length) {
					obj.remove();
				}
			}
		}
	});

	$('.content-gallery').each(function() {
		var time = 550;
		var easing = 'swing';  //swing or linear
		var album = $(this);
		var wrap = album.find('.photos-list');
		var wrapWidth = wrap.width();
		var ul = album.find('ul');
		var previous = album.find('.photo-previous');
		var next = album.find('.photo-next');
		var photos = album.find('a');
		var firstLi = $('.photos-list li').first().addClass('first');
		var lastLi = $('.photos-list li').last().addClass('last');
		var startSlideshow = $('#start-slideshow');
		var largeImageCaption = $('#largeImageCaption');
		var waitMessage = $('#waitMessage');
		var countOfPhotos = photos.length;
		var bigPhotos = [];
		var currentPage = 1;

		var ulWidth = 0;
		var pageWidth = 0;
		var pageNumb = 1;
		var pageMargin;
		photos.each(function(i, e) {
			var photo = $(this);
			var photoWidth = photo.outerWidth(true);
			if (pageWidth + photoWidth > wrapWidth || ulWidth == 0) {
				pageNumb++;
				pageWidth = 0;
				pageMargin = ulWidth;
				photo.addClass('page-first').addClass('page-first-' + pageNumb);
			}
			photo.data('page-margin', pageMargin).data('page-numb', pageNumb);
			ulWidth += photoWidth;
			pageWidth += photoWidth;

			photo.click(function () {
				var obj = $(this);
				showBigPhoto(obj);
				showPage(obj.data('page-numb'), obj.data('page-margin'));
				return false;
			});

			bigPhotos[i] = new Image();
			bigPhotos[i].onload = function () {
				countOfPhotos--;
				if (countOfPhotos == 0) {
					startSlideshow.show();
				}
			}
			bigPhotos[i].src = photo.find('img').attr('src');
		});

		ul.width(ulWidth);
		if (ulWidth > wrapWidth) {
			next.addClass('photo-next-active');
		}

		next.click(function () {
			var nextPage = currentPage + 1;
			var nextPageFirst = $('.page-first-' + nextPage);
			if (nextPageFirst.length) {
				 showPage(nextPageFirst.data('page-numb'), nextPageFirst.data('page-margin'));
			}
			return false;
		});

		previous.click(function () {
			var previousPage = currentPage -1;
			var previousPageFirst = $('.page-first-' + previousPage);
			if (previousPageFirst.length) {
				 showPage(previousPageFirst.data('page-numb'), previousPageFirst.data('page-margin'));
			}
			return false;
		});

		$('#previous-slide-btn').click(function () {
      showPreviousPhoto();
      return false;
		});

		$('#next-slide-btn').click(function () {
      showNextPhoto();
      return false;
		});

		$('.top-photo, .back-photo').load(function () {
			var backPhoto = $('.back-photo');
			var topPhoto = $('.top-photo');
			largeImageCaption.show();

			if (startSlideshow.hasClass('on')) {
				$('.top-photo').fadeOut(1200, function () {
					backPhoto.css('z-index', 2).removeClass('back-photo').addClass('top-photo');
					topPhoto.css('z-index', 1).removeClass('top-photo').addClass('back-photo').fadeIn(0);
					setTimeout(
						function () {
							showNextPhoto();
						},
						5000
					);
				});
			}
			else {
				waitMessage.hide();
				backPhoto.css('z-index', 2).removeClass('back-photo').addClass('top-photo');
				topPhoto.css('z-index', 1).removeClass('top-photo').addClass('back-photo').fadeIn(0);
			}
		});

		function showPage(pageNumb, pageMargin) {
			if (currentPage != pageNumb) {
				currentPage = pageNumb;
				ul.animate({marginLeft : -1 * pageMargin}, time, easing);
				var previousPage = currentPage - 1;
				var nextPage = currentPage + 1;
				if ($('.page-first-' + nextPage).length) {
	        next.addClass('photo-next-active');
				}
				else {
					next.removeClass('photo-next-active');
				}
				if ($('.page-first-' + previousPage).length) {
					previous.addClass('photo-previous-active');
				}
				else {
					previous.removeClass('photo-previous-active');
				}
			}
		}

		function showBigPhoto(obj) {
			if (startSlideshow.hasClass('off')) {
				waitMessage.show();
			}
			var obj_alt = obj.find('img').attr('alt');

			largeImageCaption.hide().html(obj_alt);
			$('.back-photo').attr('src', obj.attr('href'));
			$('.back-photo').attr('alt', obj_alt);
			$('.back-photo').attr('title', obj_alt);
			$('.selected', album).removeClass('selected');
			obj.parent().addClass('selected');
		}

		function showNextPhoto() {
			var currentLi = $('.photos-list .selected');
			if (currentLi.hasClass('last')) {
				firstLi.find('a').click();
			}
			else {
				currentLi.next().find('a').click();
			}
		}

		function showPreviousPhoto() {
			var currentLi = $('.photos-list .selected');
			if (currentLi.hasClass('first')) {
				lastLi.find('a').click();
			}
			else {
				currentLi.prev().find('a').click();
			}
		}

		startSlideshow.click(function () {
			if ($(this).hasClass('off')) {
				$(this).removeClass('off').addClass('on').html('Stop slideshow');
				showNextPhoto();
			}
			else {
				$(this).removeClass('on').addClass('off').html('Start slideshow');
			}
			return false;
		});

		$('.selected a', album).click();
	});

	var minIndex = $('.lastSlidingImage').css('z-index');
	var firstSlidingImage = $('.firstSlidingImage');
	function changeSlidingImage() {
		var selected = $('.selectedSlidingImage');
		if (selected.hasClass('lastSlidingImage')) {
			var next = firstSlidingImage;
		}
		else {
			var next = selected.next();
		}

		selected.fadeOut(1200, function () {
			minIndex--;
			$(this).removeClass('selectedSlidingImage').css('z-index', minIndex).fadeIn(0);
			next.addClass('selectedSlidingImage');
			setTimeout(
				function () {
					changeSlidingImage();
				},
				12000
			);
		});
	}
	var slidingImagesLinks = $('.slidingImagesLink');
	var countOfSlidingImagesLinks = slidingImagesLinks.length;
	var slidingImagesArray = [];
	slidingImagesLinks.each(function (i, e) {
		slidingImagesArray[i] = new Image();
		slidingImagesArray[i].onload = function () {
			$(e).replaceWith('<img src="' + slidingImagesArray[i].src + '" width="' + slidingImagesArray[i].width + '" height="' + slidingImagesArray[i].height + '" />');
			countOfSlidingImagesLinks--;
			if (countOfSlidingImagesLinks == 0) {
				changeSlidingImage();
			}
		};
		slidingImagesArray[i].src = $(e).attr('href');
	});

	/*Modal window*/
	function showMw(){
		var docHeight = $(document).height();
		$("body").append("<div id='overlay'></div>");
		$("#overlay").fadeIn(400, function(){$(this).height(docHeight)});
	}
	function hideMw(){
		$("#overlay").fadeOut(400, function(){$(this).detach();});
	}
	$('.open_mw').live('click', function(){
		showMw();
		var link = $(this).attr("href");
		$("#overlay").append("<div class='home_mw'><iframe src="+link+" frameBorder='0'></iframe><a href='#' class='mw_close'>&nbsp;</a></div>");
		var mw = $('#overlay .home_mw');
		var iframe = mw.find('iframe');
		iframe.load(function() {this.style.height = this.contentWindow.document.body.offsetHeight + 'px';});
		mw.activity();
		iframe.load(function(){$('#overlay .home_mw').activity(false);});
		return false;
	});
	$('.mw_close').live('click', function(){
		hideMw();
		return false;
	});

});

