/* Author: Alexander Strobbe (flexid.be)  */

var ww = 0;
var wh = 0;
var index = 0;

$(document).ready(function() {

	setNav();
	setMap();
	setScroll();
	updateDimensions();
	setIndicators();
	setExtLinks();
	IEwarning();
	loadIt();
});

$(window).resize(function() {

	updateDimensions();
});
function loadIt() {
	$('html').css('background', 'none');
	$('body').show();
}

function updateDimensions() {
	ww = $(window).width();
	wh = $(window).height();
}

function setNav() {

	$('nav ul li ul li').each(function() {

		var a = $(this).children('a.category');
		var ul = $(this).children('ul');
		ul.children('li').each(function() {
			if($(this).children('a').hasClass('active')) {
				ul.fadeIn();
				a.addClass('active');
			}
		});

		a.attr("href", "javascript:;").css('cursor', 'pointer').click(function() {
			$(this).siblings('ul').slideToggle();
			//$(this).parent('li').siblings('li').children('a.category').siblings('ul').slideUp();
		});
	});

	$('a.category.active.firsttime').siblings('ul').slideToggle();
}

function setMap() {

	if($('#gmap').length) {
		var zampone = new google.maps.LatLng(50.867029, 4.341725);
		var stylez = [{
			featureType : "all",
			elementType : "all",
			stylers : [{
				saturation : -100
			}, {
				gamma : 0.67
			}]
		}];

		var mapOptions = {
			zoom : 15,
			center : zampone,
			disableDefaultUI : true,
			mapTypeId : google.maps.MapTypeId.ROADMAP,
			navigationControl : false
		};
		map = new google.maps.Map(document.getElementById("gmap"), mapOptions);

		var styledMapOptions = {
			map : map,
			name : "Zampone"
		}

		var zaMapType = new google.maps.StyledMapType(stylez, styledMapOptions);

		map.mapTypes.set('zampone', zaMapType);
		map.setMapTypeId('zampone');

		var image = 'gfx/marker.png';
		var marker = new google.maps.Marker({
			position : zampone,
			map : map,
			title : "ZAmpone Architectuur",
			icon : image
		});
	}
}

function setScroll() {
	$('.scrollpane').jScrollPane();
}

function setIndicators() {

	var ibi = $('#imagebox img');
	var s = ibi.size();

	for(var i = s; i > 0; i--) {

		$('<a href="#" rel="' + i + '">' + i + '</a>').addClass('ir').prependTo('#indicator');
	}

	$('#indicator a:not(#showdetails)').each(function() {

		$('#indicator a:first').addClass('active');
		$(this).attr("href", "javascript:;").css('cursor', 'pointer').click(function() {
			index = $(this).index();
			animateImages(index);
		});
	});

	$('#nextimage').attr("href", "javascript:;").click(function() {
		index++;
		if(index == s) {
			showDetails();
		} else {
			if(index + 1 > s) {
				index = s - 1;
			}
			animateImages(index);
		}
	});

	$('#previmage').attr("href", "javascript:;").click(function() {
		index--;
		if(index <= 0) {
			index = 0;
		}
		animateImages(index);
	});

	$('a#showdetails').attr("href", "javascript:;").click(function() {

		showDetails();
	});

	$('#projectdescription').click(function() {
		resetSlideFlow();
	});

	$('.arrow').each(function() {
		$(this).hover(function() {
			$(this).fadeTo(0, 1);
		}, function() {
			$('.arrow').fadeTo(0, 0);
		});
	});
	animateImages(0);
}

function animateImages(i) {

	$('#projectdescription').fadeOut();
	$('#projectmeta').fadeIn();

	var ml = i * $('#imagebox').width() * -1;

	if(i == 0) {
		$('#previmage').hide();
	} else {
		$('#previmage').show();
	}

	$('#imagewrap').animate({
		'margin-left' : ml
	}, 750, 'easeOutExpo');

	$('#indicator a').removeClass('active');
	$('#indicator a:eq(' + i + ')').addClass('active');
}

function showDetails() {
	$('#indicator a').removeClass('active');
	$('#projectdescription').fadeIn();
	$('#projectmeta').fadeOut();
}

function resetSlideFlow() {
	index = 0;
	$('#projectdescription').fadeOut();
	$('#projectmeta').fadeIn();
	$('#indicator a').removeClass('active');
	$('#indicator a:first').addClass('active');
	animateImages(index);
}

function setExtLinks() {

	$('a[rel="index"]').each(function() {

		$(this).attr('target', '_blank');
	});
}

function IEwarning() {
	if(jQuery.browser.msie && jQuery.browser.version.substr(0, 1) < '7') {
		var warningText = 'U gebruikt een verouderde browser. Update hier voor een optimaal en veiliger surfgenot.'

		$('body').css('padding', '0').prepend($('<a/>', {
			id : 'IE6warning',
			text : warningText,
			href : 'http://www.browserchoice.eu/',
			target : '_blank'
		}));

		$('html').css('background-position', '0 24px');
		$('#IE6warning').css('display', 'block');
	}
}
