// Using the closure to map jQuery to $.
(function ($) {
	Drupal.behaviors.victorTheme = {
	
		//close the intro overlay
		close_overlay: function(){
			$('#frontpage-overlay').animate({'opacity':0},{'duration':1000,'complete':function(){
				$('#frontpage-overlay').css('display','none');
			}});
		},
	
		attach: function (context, settings) {

			//frontpage overlay
			if($('#frontpage-overlay').length == 1){
				if(window.location.href.indexOf('home.html') != -1){
					$('#frontpage-overlay').css('display','none');
				} else if($.flash.available == false || $.flash.hasVersion(10.0) == false){
						$('#frontpage-overlay').click(function(){
							close_intro();
						});
						var preloadImage = new Image();
						preloadImage.onload = function(){
						$('#frontpage-intro').css({'opacity':0,'background':'#fff url(/sites/all/themes/victor/intro.gif) no-repeat center center','cursor':'pointer'});
						setTimeout(function(){
							$('#frontpage-intro').animate({'opacity':1},{'queue':false,'duration':800});
						},200);
						setTimeout(function(){
							close_intro();
						},3400);
					}
					preloadImage.src = "/sites/all/themes/victor/intro.gif";
				} else {
					//?' + Math.floor(Math.random()*99999)
					$('#frontpage-intro').flash({
						'swf':'/sites/all/themes/victor/intro.swf',
						'height':650,
						'width':960,
						'wmode':'opaque'
					});
					//always close overlay after 25 seconds
					setTimeout(function(){
						close_intro();
					},25000);
				}
			}
		
			//show & hide background button
			if($('#toggle-bg-off').length){
				var cookie_var = "background_state";
				var toggle_bg_state = 'on';
				if($('#background-image').length){
					if($('#background-image').css('display') == 'none'){
						toggle_bg_state = 'off';
						$('#toggle-bg-on').css({'opacity':0,'display':'block'});
						$('#background-image').css({'opacity':0,'display':'block'});
					}
					//check cookie for saved state
					//var cookie_var = window.location.href.substring(window.location.href.indexOf('/',10) + 1).replace(/\'| |-|\.|\/|\\|:/ig,'_');
					if(getCookie(cookie_var) == 'off'){
						toggle_bg_state = 'off';
						$('#toggle-bg-on').css({'opacity':0,'display':'block'});
						$('#background-image').css({'opacity':0,'display':'block'});
					} else {
						toggle_bg_state = 'on';
						$('#toggle-bg-on').css({'opacity':1,'display':'block'});
						$('#background-image').css({'opacity':1,'display':'block'});
					}
				}		
				$('#toggle-bg-on').click(function(){
					if(toggle_bg_state == 'on'){
						setCookie(cookie_var,'off');
						$('#background-image, #toggle-bg-on').animate({'opacity':0},{'duration':500,'queue':false,'complete':function(){
							toggle_bg_state = 'off';
						}})
					} else {
						setCookie(cookie_var,'on');
						$('#background-image, #toggle-bg-on').animate({'opacity':1},{'duration':500,'queue':false,'complete':function(){
							toggle_bg_state = 'on';
						}})				
					}
				});
			}
			
			//menu actions
			$('#block-menu_block-1 a').attr('title','');
			$('#block-menu_block-1 li').not('li.active-trail, li.active').prepend(
				$('<div class="menu-bg" />').css({
					'opacity' : 0,
					'display' : 'block'
				})
			);
			$('#block-menu_block-1 li').not('li.active-trail, li.active').hover(function(){
				$(this).find('.menu-bg').animate({'opacity':1},{'queue':false,'duration':300});
				$(this).find('a').animate({'color':'#FFFFFFF'},{'queue':false,'duration':300});
			},function(){
				$(this).find('.menu-bg').animate({'opacity':0},{'queue':false,'duration':300});				
				$(this).find('a').animate({'color':'#000000'},{'queue':false,'duration':300});
			});
			
			$('#block-menu_block-2 li a').each(function(){
				$(this).html('<span class="wrapper">' + $(this).html() + '</span>');
			});
			
			//add photo and film images to menu blocks
			if($('#block-menu_block-3').length == 1){
			
				//get active menu item from submenu
				var menu = $('#block-menu_block-2 .block-title a').html();
				
				$('#block-menu_block-3 li').each(function(){
					var link = $(this).find('a').attr('href');
					$(this).append(
						$('<a class="menu-image" />').attr('href', link).append(
							$('<img />').attr({
								'alt':'',
								'src':'/sites/default/files/afbeeldingen/' + menu.toLowerCase() + '-' + $(this).find('a').html().replace(/ /ig,'-').toLowerCase() + '.jpg'
							})
						)
					);
				});
			}
			
			//movie and pictures pages
			$('.view-fotografie, .view-film').attr('id','work');
			if($('#work').length == 1){
			
				//create object with all row data
				var work = new Object();
				$('#work .views-row').each(function(i){
					work['item' + i] = {
						'title':$(this).find('.views-field-title .field-content').html(),
						'thumbnail':$(this).find('.thumbnail').html(),
						'photo':encodeURI($(this).find('.photo').html()),
						'nr':i,
						'body':$(this).find('.views-field-body .field-content').html(),
						'category':$(this).find('.views-field-field-category .field-content').html()
					};
					if($(this).find('.views-field-field-for-sale .field-content').html() == 'Ja'){
						work['item' + i].sale = true;
					} else {
						work['item' + i].sale = false;						
					}
					if($(this).find('.views-field-field-movie .field-content').length == 1){
						work['item' + i].movie = $(this).find('.views-field-field-movie .field-content').html();
					} else {
						work['item' + i].movie = '';			
					}
				});
				
				//empty views div
				$('#work .view-content').html('');
				
				//add thumbnail divs to dom 
				var work_count = 0;
				for(var item in work) {
					$('#work .view-content').append(
						$([
							$('<div />').css({
								'background-image' : 'url("' +  work[item].thumbnail + '")',
								'left' : (310 * work_count)
							}).attr({
								'id':'work-' + work_count,
								'class':'work-thumbnail'
							}).click(function(){
								display_work(work['item' + $(this).attr('id').replace(/work-/,'')]);
							}).append(
								$('<div />').attr({
									'id' : 'seperator-' + work_count,
									'class' : 'seperator'
								})[0]
							)[0]
						])
					);
					work_count ++;
				}
				
				var work_movie_loaded, work_box_loaded, work_box, work_box_bg, work_box_content, work_box_close, work_box_category, work_box_logo, work_box_close, work_box_image, work_box_bar, work_box_title, work_box_body, work_box_body_inner, work_box_next, work_box_previous;
				
				work_movie_loaded = false;
				
				//lightbox actions
				
				//previous & next buttons
				function work_box_show_next(){
					if(work_box_loaded == work_count - 1){
						display_work(work['item' + 0]);
					} else {
						display_work(work['item' + (work_box_loaded + 1)]);
					}
				}
			
				function work_box_show_previous(){
					if(work_box_loaded == 0){
						display_work(work['item' + (work_count - 1)]);
					} else {
						display_work(work['item' + (work_box_loaded - 1)]);
					}
				}

				function display_work(item){
				
					work_box_loaded = item.nr;
					
					$(work_box_body).css('height',0);
					
					if($(work_box_content).css('display') == 'none'){
						$(work_box_bg).css('opacity',0);
					}
					
					$(work_box_content).css({'display':'block','opacity':1});
					$(work_box_bg).animate({'opacity':0.9},{'duration':400});
					$(work_box_category).html(item.category);
					var item_title = "'" + item.title + "'";
					var item_body = item.body;
					if(item_body == '' && item.sale == false){
						$(work_box_title).css('cursor','default');
					} else {
						item_title += ' | <span class="read-more">read more</span>';
						$(work_box_title).css('cursor','pointer');
					}
					$(work_box_title).html(item_title);
					
					if(item.movie == ''){
						//load image
						var img = new Image();
						img.onload = function(){
							//get image height
							var img_height = img.height;
							//box height
							var img_box_height = 490;
							//center
							var img_vertical_center = Math.round((img_box_height - img_height) / 2);
							
							$(work_box_image).html(
								$('<img src="' + item.photo + '" alt="" />').click(work_box_show_next).css({
									'cursor':'pointer',
									'margin-top':img_vertical_center
								})
							).css('opacity',0).animate({'opacity':1},{'duration':300,'queue':'false'});
							$(work_box_image).removeClass('loading');
							
							if(work_count > 1){
								//next & previous links
								$(work_box_next).css('display','block');
								$(work_box_previous).css('display','block');
							}
							
							//set text
							$(work_box_body_inner).html(
								$([
									$('<span class="title" />').click(work_box_read_toggle).html(item_title)[0],
									$('<br />')[0],
									$('<span class="text"/>').html(item_body)[0],
									$('<br />')[0]
								])
							);
							//link if work is for sale
							if(item.sale){
								$(work_box_body_inner).append(
									$('<a />').attr({
										'href' : 'mailto:info@victorvanleeuwen.nl?subject=' + item.title,
										'id' : 'work-box-sale'
									}).html('Beschikbaar voor verkoop')
								);
							}

							//preload next image
							var preload_img = new Image();
							if(work_box_loaded == work_count - 1){
								preload_img.src = work['item' + 0].photo;
							} else {
								preload_img.src = work['item' + (work_box_loaded + 1)].photo;
							}
							
						}
						img.src = item.photo;
						$(work_box_image).html('');
						$(work_box_image).css('opacity',1);
						$(work_box_image).addClass('loading');
					} else {
						$(work_box_image).html('<div id="movie" />');
						//load movie
						$(work_box_image).css('opacity',1);
						
						jwplayer("movie").setup({
							modes: [
								{type: "flash", src: "/sites/all/themes/victor/jwplayer/player.swf" },
								{type: "html5" },
								{type: 'download'}
							],
							allowfullscreen : true,
							autostart: true,
							file: item.movie,
							height: 480,
							width: 640
						});
						
						//this is the same script as the script used after an image is loaded.
						if(work_count > 1){
							//next & previous links
							$(work_box_next).css('display','block');
							$(work_box_previous).css('display','block');
						}				
						//set text
						$(work_box_body_inner).html(
							$([
								$('<span class="title" />').click(work_box_read_toggle).html(item_title)[0],
								$('<br />')[0],
								$('<span class="text"/>').html(item_body)[0],
								$('<br />')[0]
							])
						);

						work_movie_loaded = true;
					}
				}
				
				function close_work_box(){
					if(work_movie_loaded){
						jwplayer("movie").remove();
					}
					$(work_box_image).animate({'opacity':0},{'duration':300,'queue':'false','complete':function(){
						$(work_box_image).html('');
						$(work_box_body_inner).html('');
						$(work_box_body).css('height',0);
						$(work_box_title).html(0);
						$(work_box_next).css('display','none');
						$(work_box_previous).css('display','none');
					}});
					$(work_box_content).animate({'opacity':0},{'duration':300,'queue':'false','complete':function(){
						$(work_box_content).css('display','none');
					}});
				}
				
				function work_box_read_toggle(){
					if(parseInt($(work_box_body).css('height')) > 0){
						$(work_box_body).animate({'height':0},{'duration':500,'queue':false});
					} else {
						$(work_box_body).animate({'height':$(work_box_body_inner).height() + 25},{'duration':500,'queue':false});
					}
				}
								
				//init lightbox
				$('body').append(
					work_box_content = $('<div id="work-box-container" />').css('display','none').append(
						$([
							work_box_close = $('<div id="work-bg-close" />').click(close_work_box)[0],
							work_box_bg = $('<div id="work-bg" />').css('opacity',0)[0],
							work_box = $('<div id="work-box" />').css('z-index',10).append(
								$([
									work_box_bar = $('<div id="work-box-bar" />').css('z-index',30).append(
										$([
											work_box_close = $('<div id="work-box-close">terug naar overzicht</div>').click(close_work_box)[0],
											work_box_title = $('<div id="work-box-title" />').click(work_box_read_toggle)[0],
											work_box_category = $('<div id="work-box-category"></div>')[0],
											work_box_body = $('<div id="work-box-body" />').css({
												'height':0,
												'overflow':'hidden',
												'z-index':40
											}).append(work_box_body_inner = $('<div id="work-box-body-inner" />'))[0]
										])
									)[0],
									work_box_image = $('<div id="work-box-image"></div>').css('z-index',20)[0],
									work_box_logo = $('<div id="work-box-logo"></div>').css('z-index',50)[0],
									work_box_next = $('<div id="work-box-next"></div>').click(work_box_show_next).css({'z-index':40,'display':'none'})[0],
									work_box_previous = $('<div id="work-box-previous"></div>').click(work_box_show_previous).css({'z-index':40,'display':'none'})[0]
								])
							)[0]
						])
					)
				);
				
				//left & right buttons
				var work_active = 0;
				var work_animate = false;
				if(work_count > 3){
					function work_previous(){
						if(!work_animate){
							work_animate = true;
							//move visible items to the left
							for(var i = -1; i < 3; i++){
								$('#work-' + (i + work_active)).css('left',310 * i);
								p = parseInt($('#work-' + (i + work_active)).css('left')) + parseInt($('#work-' + (i + work_active)).css('width'));
								$('#work-' + (i + work_active)).animate({'left':p},{'duration':1000,'queue':false});
							}
							setTimeout(function(){
								work_active --;
								$('#work-next').css('display','block');
								if(work_active == 0){
									$('#work-previous').css('display','none');
								}
								work_animate = false;
							},1000);
						}						
					}
					function work_next(){
						if(!work_animate){
							work_animate = true;
							//move visible items to the left
							for(var i = 0; i < 4; i++){
								$('#work-' + (i + work_active)).css('left',310 * i);
								p = parseInt($('#work-' + (i + work_active)).css('left')) - parseInt($('#work-' + (i + work_active)).css('width'));
								$('#work-' + (i + work_active)).animate({'left':p},{'duration':1000,'queue':false});
							}
							setTimeout(function(){
								work_active ++;
								$('#work-previous').css('display','block');
								if(work_active + 3 == work_count){
									$('#work-next').css('display','none');
								}
								work_animate = false;
							},1000);
						}
					}
					$('#work').append(
						$([
							$('<div />').attr({
								'id' : 'work-previous',
								'class' : 'work-move'
							}).css('display','none').click(work_previous)[0],
							$('<div />').attr({
								'id' : 'work-next',
								'class' : 'work-move'
							}).click(work_next)[0]
						])
					);
				}
			}
			function even_menu(){
				$('#block-menu_block-1 a').css({'padding-left':0,'padding-right':0});
				var w = $('#block-menu_block-1 ul').width()
				var r = 688 - w;
				var p = $('#block-menu_block-1 ul li').length * 2;
				var n = Math.floor(r / p);
				
				if((n * p) + w < 685){
					n ++;
				}
				
				$('#block-menu_block-1 ul li a').css({'padding-left':n,'padding-right':n});
				
				r = 688 - $('#block-menu_block-1 ul').width();
				$('#block-menu_block-1 ul li.last a').css('padding-right',parseInt($('#block-menu_block-1 ul li.last a').css('padding-right')) + r);				
				
			}
			setTimeout(even_menu,100);
			setTimeout(even_menu,500);
			setTimeout(even_menu,1000);
				
			//open external links in new window
			var h = window.location.host.toLowerCase();
			$("a[href^='http']:not(a[href^='http://" + h + "']):not(a[href^='http://www." + h + "']), a[href$='.pdf']").attr("target", "_blank");
				
		}
	}

}(jQuery));

//shortened function call to close overlay
function close_intro(){
	Drupal.behaviors.victorTheme.close_overlay();
}

//cookies function
function setCookie(c_name,value){
	var exdays = 30;
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + exdays);
	var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
	document.cookie=c_name + "=" + c_value + ';path=/';
}
function getCookie(c_name){
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++) {
		x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
		y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
		x=x.replace(/^\s+|\s+$/g,"");
		if (x==c_name){
			return unescape(y);
		}
	}
};
/*
 Color animation jQuery-plugin
 http://www.bitstorm.org/jquery/color-animation/
 Copyright 2011 Edwin Martin <edwin@bitstorm.org>
 Released under the MIT and GPL licenses.
*/
(function(d){function i(){var b=d("script:first"),a=b.css("color"),c=false;if(/^rgba/.test(a))c=true;else try{c=a!=b.css("color","rgba(0, 0, 0, 0.5)").css("color");b.css("color",a)}catch(e){}return c}function g(b,a,c){var e="rgb"+(d.support.rgba?"a":"")+"("+parseInt(b[0]+c*(a[0]-b[0]),10)+","+parseInt(b[1]+c*(a[1]-b[1]),10)+","+parseInt(b[2]+c*(a[2]-b[2]),10);if(d.support.rgba)e+=","+(b&&a?parseFloat(b[3]+c*(a[3]-b[3])):1);e+=")";return e}function f(b){var a,c;if(a=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(b))c=
[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),1];else if(a=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(b))c=[parseInt(a[1],16)*17,parseInt(a[2],16)*17,parseInt(a[3],16)*17,1];else if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))c=[parseInt(a[1]),parseInt(a[2]),parseInt(a[3]),1];else if(a=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(b))c=[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10),parseFloat(a[4])];return c}
d.extend(true,d,{support:{rgba:i()}});var h=["color","backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","outlineColor"];d.each(h,function(b,a){d.fx.step[a]=function(c){if(!c.init){c.a=f(d(c.elem).css(a));c.end=f(c.end);c.init=true}c.elem.style[a]=g(c.a,c.end,c.pos)}});d.fx.step.borderColor=function(b){if(!b.init)b.end=f(b.end);var a=h.slice(2,6);d.each(a,function(c,e){b.init||(b[e]={a:f(d(b.elem).css(e))});b.elem.style[e]=g(b[e].a,b.end,b.pos)});b.init=true}})(jQuery);;

