/* -----------------------------------------------------------------------
	
	Custom Javascript Styles for Albinati.aero
	
	Your are not allowed to remove or modify this copyright
	without the authors authorization.

    (c)2009    Too Pixel SARL - www.toopixel.ch
    Created:   01.12.2009
    Authors:   Christophe Prudent, XhtmlMyDesign.com & Krzemo Karpinski

----------------------------------------------------------------------- */

Cufon.replace('#nav > li > a', { fontFamily: 'Copperplate-Gothic-Bold-Regular' });
Cufon.replace('#nav li li a, .col h2, #gallery-menu a', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
Cufon.replace('#error', { fontFamily: 'Copperplate-Gothic-Bold-Regular' });
Cufon.replace('#show-gallery a', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
//Cufon.replace('#flash-intro', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
Cufon.replace('.enquiries', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });

function getDocHt(){
	var ht = 0;
	$obj = $(window).add($('div.col'));
	
	for (i=0; i<$obj.length; i++){
		temp = $obj.eq(i).outerHeight();
		
		if (i == 0){
			temp = $obj.eq(i).height();
		}
		
		if (ht < temp){
			ht = temp;
		}
	}
	
	return ht;
}

function currentImg(){
	var $bgImg = $('#bg img');
	for(i=0; i<$bgImg.length; i++){
		if ($bgImg.eq(i).css('display') == 'block'){
			//return i;
			return $bgImg.eq(i).attr('id');
			
		}
	}
}

function bgImagesInit(){
	var $bg = $('#bg');
	var resize = false;
	var $wrap = $('#wrap');
	if ($bg.length == 0){
		var bg = '<div id="bg">';
		bg += '<img class="content" id="img1" src="' + bg_images_array.home_pic + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
		$bg = $(bg + '</div>');
		$wrap.before($bg);
		$('#bg img').hide();
	}
	else {
		resize = true;
		$bg.height(0);
	}
	setupImages(resize);
}

function bgImages(){
//	$('#bg img.content#img1').fadeIn(400);
	var resize = false;
	var $bg = $('#bg');
	bgimgs = '';
	
	for (i=0; i<bg_images_array.list.length; i++){
		bgimgs += '<img class="content" id="img' + img_id_cnt + '" src="' + bg_images_array.list[i] + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
		img_id_cnt++;
	};	
	
	var plane0 = bg_images_array.gallery['global5000'];
	for (i=0; i<plane0.length; i++){
		if(plane0[i].image != undefined) {
			bgimgs += '<img class="global5000" id="img' + img_id_cnt + '" src="' + plane0[i].image + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
			img_id_cnt++;
		}
	};
	
	var plane1 = bg_images_array.gallery['challenger604'];
	for (i=0; i<plane1.length; i++){
		if(plane1[i].image != undefined) {
			bgimgs += '<img class="challenger604" id="img' + img_id_cnt + '" src="' + plane1[i].image + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
			img_id_cnt++;
		}
	};
	
	var plane2 = bg_images_array.gallery['hawker900xp'];
	for (i=0; i<plane2.length; i++){
		if(plane2[i].image != undefined) {
			bgimgs += '<img class="hawker900xp" id="img' + img_id_cnt + '" src="' + plane2[i].image + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
			img_id_cnt++;
		}
	};
	
	var plane3 = bg_images_array.gallery['citationjet2'];
	for (i=0; i<plane3.length; i++){
		if(plane3[i].image != undefined) {
			bgimgs += '<img class="citationjet2" id="img' + img_id_cnt + '" src="' + plane3[i].image + '" width="' + bg_images_array.width + '" height="' + bg_images_array.height + '" />';
			img_id_cnt++;
		}
	};		
	$bg.append(bgimgs);
	$('#bg img:not([id=img1])').hide();
	setupImages(true);
}

function setupImages(resize)
{
	var $bg = $('#bg');
	var docHt = getDocHt();
	var $bgImg = $('#bg img');
	var docWd = $(window).width();
	if (docWd > bg_images_array.width || docHt > bg_images_array.height){
		var xDiff = docWd - bg_images_array.width;
		var yDiff = docHt - bg_images_array.height;
		if (xDiff > yDiff){
			var newWd = docWd;
			var newHt = Math.round(docWd * bg_images_array.height / bg_images_array.width);
		}
		else {
			var newHt = docHt;
			var newWd = Math.round(docHt * bg_images_array.width / bg_images_array.height);
		}
		var marginTop = -1 * Math.round(newHt/2);
		var marginLeft = -1 * Math.round(newWd/2);
		$bgImg.css({
			top: '50%',
			left: '50%',
			width: newWd,
			height: newHt,
			marginTop: marginTop,
			marginLeft: marginLeft
		});
	}
	$bg.height(docHt);
}

function setHt(){
	var $col = $('#main, #sub1, #sub2, #panwrap').height('auto');
	var docHt = getDocHt();
	var colHt = 0;
	$col.each(function(){
		if ($(this).height() > colHt){
			colHt = $(this).outerHeight();
		}
		var pad = $(this).outerHeight() - $(this).height();
		$(this).data('pad', pad);
	});
	if (colHt<docHt){
		colHt = docHt;
	}
	$col.each(function(){
		ht = colHt - $(this).data('pad');
		$(this).height(ht);
	});

}

function elConfig(state){
	var $bgImg = $('#bg img');
	var $panels = $('#panels');
	var $flash = $('#flash-intro-TR, #flash-intro, #flash-intro p, #flash-intro a');
	var $li = $('#gallery-menu li');
	var $gmenu = $('#gallery-menu');
	var $mtoggle = $('#panwrap a.ctoggle');
	var $showgal = $('#show-gallery');
	switch(state){
		case 'home' :
			$mtoggle.animate({
				opacity: 1,
				marginLeft : 0
			}, 400);
			$panels.animate({
				marginLeft: -682
			}, 400);
//			$flash.animate({
//				marginRight: 200
//			}, 400);
			$gmenu.animate({
				marginRight: -320
			}, 400);
			panes_status = false;
			$li.removeClass('active').eq(0).addClass('active');
//			$('#nav > li > a').removeClass('active');
			Cufon.replace('#nav > li > a', { fontFamily: 'Copperplate-Gothic-Bold-Regular' });			
		break;
		case 'text' :
			if(!panes_status) {
				$mtoggle.animate({
					opacity: 1,
					marginLeft : -35
				}, 400);
				$panels.animate({
					marginLeft: 0
				}, 400);
//zos			$flash.animate({
//					marginRight: -650,
//				}, 400);
				$flash.css({visibility: 'hidden'});
				$gmenu.animate({
					marginRight: -330
				}, 400);
				panes_status = true;
			} else {
				$panels.css('marginLeft', 0);
				$mtoggle.css({opacity: 1, marginLeft : -35});				
			}
		break;
		case 'gallery_text' :
			$mtoggle.animate({
				opacity: 0,
				marginLeft : -35
			}, 400);
			$panels.animate({
				marginLeft: 0
			}, 400);
//zos		$flash.animate({
//				marginRight: -650
//			}, 400);
			$flash.css({visibility: 'hidden'});
			$gmenu.animate({
				marginRight: -320
			}, 400);
			$showgal.animate({
				marginRight: 0
			}, 400);			
		break;		
		case 'gallery' :
			$mtoggle.animate({
				opacity: 1,
				marginLeft : 0
			}, 400);
			$panels.animate({
				marginLeft: -682
			}, 400);
//zos		$flash.animate({
//				marginRight: -650
//			}, 400);			
			$flash.css({visibility: 'hidden'});	
			$gmenu.animate({
				marginRight: 20
			}, 400);
			$showgal.animate({
				marginRight: -320
			}, 400);
			panes_status = false;
		break;
	}
}


function ajaxLoadContent(rurl, type) {
	$.ajax({
		  url: rurl,
		  cache: false,
		  dataType: 'html',
		  success: function(data) {
			$('div#panwrap').html(data);
			Cufon.replace('#sub1 h2, #sub2 h2', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
			Cufon.replace('.special_link, .links_list', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
			setHt();
			elConfig('text');
		  }
	});	
}

function changeBackgroundPicture(mlid) {
	var currentImgId = currentImg();
	var currImgClass = $('#bg img#' + currentImgId).attr('class');
	$('#bg img#' + currentImgId).fadeOut(400);
	$('#bg img[id*="img"]').each(function() {
		if(bg_images_array.relations[mlid] == $(this).attr('src'))
		{
			$('#bg img#' + this.id).fadeIn(400);
		}
	});
}

$(document).ready(function() {
	$body = $('body').addClass('js');
	setHt();
	bgImagesInit();
	$('img#img1').load(function() {
		$('img#img1').fadeIn(400);
	}); 	
	bgImages();
	$(window).resize(function(){
		setHt();
		setupImages();
	});
	if(open_panes) {
		elConfig('text');
	}
	var $navul = $('#nav ul').each(function(){
		var temp = {
			'top' : 0,
			'left' : 0,
			'height': 'auto',
			'marginLeft' : -9000,
			'position' : 'absolute'
		};
		var $ul = $(this).css(temp);
		$ul.data('ht', $ul.height());
		return $ul.removeAttr('style').height(0);
	});
	var $navli = $('#nav > li');
	
	//menu level 1
	$navlia = $('#nav > li > a').click(function(){
		$('#show-gallery').css({marginRight: -215});
		if(this.id != 'blind') {
			ajaxLoadContent($(this).attr('href'), this.id);
			changeBackgroundPicture(this.id);
		} else {
			$(this).nextAll().find('a').eq(0).trigger('click');
		}		
		var $ul = $(this).siblings('ul');
		$navul.not($ul).animate({
			'height' : 0
		}, 400);
		if ($ul.height() != 0){
			$ul.animate({
				'height': 0
			}, 400);
		}
		else {
			$ul.animate({
				'height': $ul.data('ht')
			}, 400);
		}
		$('#nav > li > a').removeClass('active');
		$(this).addClass('active');
		Cufon.replace('#nav > li > a', { fontFamily: 'Copperplate-Gothic-Bold-Regular' });
		setTimeout(function(){
			setHt();
			setupImages();
		}, 405);
		return false;
	});	
	
	//menu level 2
	$navlilia = $('#nav li li a').click(function(){
		$navlilia.removeClass('active');
		$(this).addClass('active');
		Cufon.replace('#nav li li a', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
		var num = $('#nav li ul li').find('a#fleet').index(this);
		if(this.id == 'fleet') {
			var href = String($(this).attr('href'));
			var last_slash = parseInt(href.lastIndexOf('/')) + 1;
			var jet_name = href.substring(last_slash);
			var $bgImg = $('#bg img');
			var current = currentImg();
		
			var plane_gallery = bg_images_array.gallery[jet_name];
			var gal_html = '<ul>';
			for(key in plane_gallery) {
				if(plane_gallery[key].image == undefined)
				{
					gal_html += '<li><h3>' + plane_gallery[key].name + '</h3></li>';
				}
				else
				{
					gal_html += '<li id="gallery_menu_item"><a href="' + plane_gallery[key].image + '">' + plane_gallery[key].name + '</a></li>';
				}
			}
			gal_html += '</ul><p><a class="next" href="javascript:void(0);" title="Next"></a><a class="prev" href="javascript:void(0);" title="Previous"></a></p>';
			$('div#gallery-menu').html(gal_html);
			Cufon.replace('#gallery-menu a', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
			Cufon.replace('#gallery-menu li h3', { hover: true, fontFamily: 'Copperplate-Gothic-Std-31BC' });
			
			$('#bg img#' + current).fadeOut(400);
			$('#bg img.' + jet_name).eq(0).fadeIn(400);
			$('#gallery-menu li#gallery_menu_item').removeClass('active').eq(0).addClass('active');
//			$('#gallery-menu li#gallery_menu_item a').eq(0).trigger('click');
			$('#show-gallery').css({marginRight: 0});
			ajaxLoadContent($(this).attr('href'), this.id);
		} else {
			$('#show-gallery').css({marginRight: -215});
			ajaxLoadContent($(this).attr('href'), this.id);
			changeBackgroundPicture(this.id);
		}
		return false;
	});

	$('#panwrap a.ctoggle#content').live('click', function(){
		elConfig('text');
		return false;
	});
	
	$('#panwrap a.ctoggle#fleet').live('click', function(){
		elConfig('gallery_text');
		return false;
	});	
	$('#nav > li > a').live('click', function(){
		if(this.id != 'blind') {
			elConfig('text');
		}
		return false;
	});	
	$('#sub2 a.toggle#content').live('click', function(){
		elConfig('home');
		return false;
	});
	$('#sub2 a.toggle#fleet').live('click', function(){
		elConfig('gallery');
		return false;
	});
	$('#show-gallery a.toggle#fleet').live('click', function(){
		elConfig('gallery');
		return false;
	});	
	$('#gallery-menu li a').live('click', function(){
		var currentImgId = currentImg();
		var num = $('#gallery-menu li').removeClass('active').find('a').index(this);
		$(this).parent().addClass('active');
		var currImgClass = $('#bg img#' + currentImgId).attr('class');
		
		$('#bg img#' + currentImgId).fadeOut(400);
		$('#bg img.' + currImgClass).eq(Number(num)).fadeIn(400);

		return false;
	});
	$('#gallery-menu p a').live('click', function(){
		var currentImgId = String(currentImg());
		var currImgClass = $('#bg img#' + currentImgId).attr('class');
		var curImgNum = Number(currentImgId.substring(3));
		var $bgImg = $('#bg img.' + currImgClass);
		var imgNumMin = Number($bgImg.eq(0).attr('id').substring(3));
		var imgNumMax = imgNumMin + $bgImg.length - 1;
		if($(this).hasClass('next')){
			curImgNum++;
			if(curImgNum == imgNumMax + 1){
				curImgNum = imgNumMin;
			}
		}
		else {
			if(curImgNum == imgNumMin){
				curImgNum = imgNumMax;
			} else {
				curImgNum--;
			}
		}

		$('#bg img#' + currentImgId).fadeOut(400);
		$('#bg img#img' + curImgNum).fadeIn(400);
	
		$('#gallery-menu li#gallery_menu_item').removeClass('active');
		$('#gallery-menu li#gallery_menu_item').eq(curImgNum - imgNumMin).addClass('active');
		return false;
	});
	$('#flash-intro a').live('click', function(){
		$('#nav > li > a').eq(0).trigger('click');
		return false;
	});	
});

(function($) {
	$.fn.log = function(){
		if (typeof window.console !== 'undefined'){
			console.log($(this));
		}
		return $(this);
	}
})(jQuery);