/* Navigation
==================================*/
function navRight() {
	from = getXOffset();
	to = (Math.floor(from / 870) + 1) * 870;
	navTo(to);
}

function navLeft() {
	from = getXOffset();
	to = (Math.floor(from / (870+1))) * 870;
	navTo(to);
}

function initNavigation(slide) {
	
	var elem_nav_right = $('nav_right');
	var elem_nav_left = $('nav_left');
	var body_width = $$('.site').length*870;
	
	//Body width
	$$('body')[0].style.width = body_width+2*870 + 'px';
	
	new PeriodicalExecuter(function() { 
		
		// menu move
		var yOffset = document.viewport.getScrollOffsets().top;
		$('nav').style.top = 39 - yOffset + 'px';
		$('nav2').style.top = 39 - yOffset + 'px';
		
		var xOffset = getXOffset();
		elem_nav_right.style.display = 'block';
		
		if(xOffset == 0) {
			elem_nav_left.style.display = 'none';
		} else {
			elem_nav_left.style.display = 'block';
			if(xOffset >= body_width - 870) {
				elem_nav_right.style.display = 'none';
			}
		}
		
		// Menu highlighting
		$$('.menu').each(function(obj){obj.removeClassName('active')});
		switch(slide) {
			case 'home':
				if(xOffset < 870) { return '';}
				if(xOffset < 1740) { $$('.menu1')[0].addClassName('active'); return '';}
				if(xOffset >= 1740) { $$('.menu2')[0].addClassName('active'); return '';}
				break;
			case 'development':
				$$('.menu3')[0].addClassName('active'); return '';
				break;
			case 'team':
				if(xOffset < 870) {  $$('.menu4')[0].addClassName('active'); return '';}
				if(xOffset < 1740) { $$('.menu5')[0].addClassName('active'); return '';}
				if(xOffset >= 1740) { $$('.menu6')[0].addClassName('active'); return '';}
				break;
		}
	}, 0.5);
}

function getXOffset() {
	from = null;
	from = window.pageXOffset;
	if(from == null) from = document.documentElement.scrollLeft; //IE Bug
	return from;
}

function navTo(yValue) {
	from = getXOffset();
	
	new Effect.Tween(null, from, yValue, {
					 duration: 0.4,
					 transition: Effect.Transitions.sinoidal
					 //afterFinish: function(){alert(getXOffset())}
	}, function(p){ window.scrollTo(p,0) });
}

function urlNavTo() {
	var navto = window.location.search.toQueryParams().navto;
	if(navto != null) navTo.delay(2.0, navto);
}

/* Site 1 Video control
==================================*/
function s1Embed(video, image, container, id) {
		var so = new SWFObject('player.swf',container+'_obj','94','116','9');
		so.addParam('allowfullscreen','false');
		so.addParam('allowscriptaccess','always');
		so.addParam('wmode','opaque');
		so.addVariable('playerready','playerReadyS1');
		so.addVariable('stretching','fill');
		so.addVariable('file',video);
		so.addVariable('image',image);
		so.addVariable('backcolor','000000');
		so.addVariable('bufferlength','1');
		so.addVariable('controlbar','none');
		so.addVariable('autostart','false');
		so.addVariable('icons','true');
		so.addVariable('repeat','always');
		so.addVariable('skin', 'jw-player/jw-skin.xml');
		so.addVariable('tags',id); // id für site
		so.write(container);
}

function s1Play(video, s1Text, id) {
	if(!video.blank()) $(video+'_obj').sendEvent('PLAY', true);
	if(!s1Text.blank()) $('s1_text_'+id).src = s1Text;
}

function s1Pause(video, s1Text, id) {
	if(!video.blank()) $(video+'_obj').sendEvent('PLAY', false);
	if(s1Text.blank()) s1Text = 'dummy.jpg'; 
	$('s1_text_'+id).src = s1Text;
}

/* Site 1 slider
==================================*/
var sliderS1 = new Array();

function playerReadyS1(obj) {
	player = document.getElementById(obj.id);
	player.addModelListener('TIME', 'updateTimeS1');
}

function updateTimeS1(vid) {
	//alert(vid.duration);
	sliderS1[$(vid.id).getConfig().tags].range = $R(0, vid.duration);
	sliderS1[$(vid.id).getConfig().tags].setValue(vid.position);
}

function initS1Slider(id) {
		sliderS1[id] = new Control.Slider('site_1_handle_'+id, 'site_1_track_'+id, {
		minimum: 1,
		maximum: 835,
		alignX: 0,
		alignY: 0,
		disabled: true
		//range: $R(0,10)
	});
}

/* Site 3x initialize (showreel)
==================================*/
function addSite3(id) {
	Event.observe(window, 'load', function() {
		addS3TextSlider(id);
		//addS3QuotesInterval(id);
		addS3Slider(id);
		s3NoNav(id);
	});
}

/* Site 3 no nav for image slide
==================================*/
function s3NoNav(id) {
	if($('img_slider_'+id).childElements().length > 1) {
		$(id+'_nav_left').show();
		$(id+'_nav_right').show();
	}
}

/* Site 3 text slider
==================================*/
function addS3TextSlider(id) {
	var elem = id +'_s3_text';
	scrollHeight = $(elem).getHeight() - 428;
	if(scrollHeight <= 0) {
		$(elem).parentNode.style.paddingRight = '12px';		
		$(elem).parentNode.style.width = '284px';	
		return '';
	}

	$(elem+'_track').show();
	
	new Control.Slider(elem+'_handle', elem+'_track', {
		axis: 'vertical',
		range: $R(0,scrollHeight),
		minimum: 0,
		maximum: 435,
		alignX: 0,
		alignY: 0,
		disabled: false,
		onSlide: function(value) {
			$(elem).style.marginTop = -1 * parseInt(value) + 'px';
		},
		onChange: function(value) {
			$(elem).style.marginTop = -1 * parseInt(value) + 'px';
		}
	});
}

/* Site 3 image slider
==================================*/
function s3Plus(id) {
	var elem = $('img_slider_'+id);
	if(elem.childElements().length <= 1) { return null; }
	
	new Effect.Fade('s3_quotes_'+id, {
		duration: 0.3
	});

	new Effect.Move(elem, {
		duration: 0.5,
		x: -400,
		y: 0,
		mode: 'relative',
		transition: Effect.Transitions.sinoidal,
		afterFinish: s3AddElemBack,
		id: id
	});
}
function s3AddElemBack(obj) {		
	var elem = obj.element;
	elem.appendChild(elem.childElements()[0].cloneNode(true));
	elem.removeChild(elem.childElements()[0]);
	elem.style.left = '0px';
	
	s3ChangeQuote(obj.options.id);
}
function s3Minus(id) {
	var elem = $('img_slider_'+id);
	if(elem.childElements().length <= 1) { return null; }
	
	new Effect.Fade('s3_quotes_'+id, {
		duration: 0.3
	});
	
	addElemFront(id);
	new Effect.Move(elem, {
		duration: 0.5,
		x: +400,
		y: 0,
		mode: 'relative',
		transition: Effect.Transitions.sinoidal,
		afterFinish: function() {s3ChangeQuote(id)}
	});
}
function addElemFront(id) {
	var elem = $('img_slider_'+id);
	elem.insertBefore(elem.childElements()[elem.childElements().length-1].cloneNode(true), elem.childElements()[0]);
	elem.removeChild(elem.childElements()[elem.childElements().length-1]);
	elem.style.left = '-400px';
}

function s3ChangeQuote(id) {
	var quote = $$('.s3_quote_'+id)[0].innerHTML;
	var elem = $('s3_quotes_'+id).childElements()[0];
	elem.innerHTML = quote;
	new Effect.Appear('s3_quotes_'+id, {
		duration: 0.3
	});
}

/* Site 3 Audio
==================================*/ 
function s3AudioEmbed(container, id, audio) {	
	if(audio.blank()) return '';
	
	var so = new SWFObject('player.swf',container+'_obj','1','1','9');
	so.addParam('allowscriptaccess','always');
	so.addParam('wmode','opaque');
	so.addVariable('file',audio);
	so.addVariable('playerready','playerReadyS3');
	so.addVariable('screencolor','ffffff');
	so.addVariable('bufferlength','1');
	so.addVariable('controlbar','none');
	so.addVariable('autostart','false');
	so.addVariable('icons','false');
	so.addVariable('mute','false');
	so.addVariable('tags',id); // id für site
	so.write(container);
}

function s3AudioStart(id) {
	var obj = $(id+'_obj');
	if(obj == null) return '';
	
	obj.sendEvent('PLAY', true);
}

function s3AudioStop(id) {
	var obj = $(id+'_obj');
	if(obj == null) return '';
	
	if(obj.getConfig().state == 'PLAYING')
		obj.sendEvent('PLAY', false);
}

/* Site 3 slider
==================================*/
var sliderS3 = new Array();

function playerReadyS3(obj) {
	var player = $(obj.id);
	player.addModelListener('TIME', 'updateTimeS3');
}

function updateTimeS3(obj) {
	//alert(vid.duration);
	sliderS3[$(obj.id).getConfig().tags].range = $R(0, obj.duration);
	//alert(vid.duration);  
	sliderS3[$(obj.id).getConfig().tags].setValue(obj.position);
}

function addS3Slider(id) {
		sliderS3[id] = new Control.Slider(id+'_site_3_handle', id+'_site_3_track', {
		minimum: 1,
		maximum: 835,
		alignX: 0,
		alignY: 0,
		disabled: true
	});
}

/* Site 3 downloads lightbox
==================================*/
function s3DownloadsShow(id) {
	var id = id;
	new Effect.Appear(id+'_s3_downloads', {
		duration: 0.5,
		afterFinish: addSlider
	});
	new Effect.Fade(id+'_nav_right', {
		duration: 0.5
	});
	
	function addSlider() {
		addS3DownloadsSlider(id);
	}
}

function s3DownloadsHide(id) {
	new Effect.Fade(id+'_s3_downloads', {
		duration: 0.5
	});
	new Effect.Appear(id+'_nav_right', {
		duration: 0.5
	});
}

/* Site 3 newsletter lightbox
==================================*/
function s3NewsletterShow(id) {
	new Effect.Appear('s3_newsletter', {
		duration: 0.5
	});
	new Effect.Fade(id+'_nav_right', {
		duration: 0.5
	});
}

function s3NewsletterHide(id) {
	new Effect.Fade('s3_newsletter', {
		duration: 0.5
	});
	new Effect.Appear(id+'_nav_right', {
		duration: 0.5
	});
}

/* Site 3 downloads slider
==================================*/
function addS3DownloadsSlider(id) {
	var elem = id +'_downloads_text';
	scrollHeight = $(elem).getHeight() - 392;
	
	if(scrollHeight <= 0) return '';

	$(elem+'_track').show();
	
	new Control.Slider(elem+'_handle', elem+'_track', {
		axis: 'vertical',
		range: $R(0,scrollHeight),
		minimum: 0,
		maximum: 392,
		alignX: 0,
		alignY: 0,
		disabled: false,
		onSlide: function(value) {
			$(elem).style.marginTop = -1 * parseInt(value) + 'px';
		},
		onChange: function(value) {
			$(elem).style.marginTop = -1 * parseInt(value) + 'px';
		}
	});
}

/* Site 3 newsletter submit
==================================*/
function newsletterSubmit() {
	updateID = 'newsletter_form';
	
	new Ajax.Updater(updateID, '/newsletter', {
		parameters: { 
	  		name: $F('name'),
			surname: $F('surname'),
			email: $F('email'),
			country: $F('country'),
			formid: 'newsletter_form_id'
		}
	});
}

/* showreel initialize slider (s2+s4)
==================================*/
function srAddSite(id) {
	Event.observe(window, 'load', function() {
		srAddSlider(id);
	});
}

/* showreel slider
==================================*/
var srSlider = new Array();

function srPlayerReady(obj) {
	player = $(obj.id);

	player.addModelListener('TIME', 'srUpdateTime');
}

function srUpdateTime(obj) {
	srSlider[$(obj.id).getConfig().tags].range = $R(0, obj.duration);
	srSlider[$(obj.id).getConfig().tags].setValue(obj.position);
}

function srAddSlider(id) {
	srSlider[id] = new Control.Slider(id+'_sr_handle', id+'_sr_track', {
		minimum: 1,
		maximum: 835,
		alignX: 0,
		alignY: 0,
		disabled: true
		//range: $R(0,10)
	});
}

/* showreel videos
==================================*/
function srEmbedBackVideo(container, file, image) {
	var so = new SWFObject('player.swf',container+'_obj','852','621','9');
		so.addParam('allowfullscreen','false');
		so.addParam('allowscriptaccess','always');
		so.addParam('wmode','opaque');
		so.addVariable('stretching','fill');
		so.addVariable('file',file);
		so.addVariable('image',image);
		so.addVariable('backcolor','000000');
		so.addVariable('bufferlength','2');
		so.addVariable('controlbar','none');
		so.addVariable('autostart','false');
		so.addVariable('icons','false');
		so.addVariable('repeat','always');
		so.write(container);
}

function srPlay(id) {
	$(id+'_obj').sendEvent('PLAY', true)
}

function srPause(id) {
	$(id+'_obj').sendEvent('PLAY', false)
}

function srEmbedVideo(container, id, file, image) {
	var so = new SWFObject('player.swf',container+'_obj','282','215','9');
		so.addParam('allowfullscreen','true');
		so.addParam('allowscriptaccess','always');
		so.addParam('wmode','opaque');
		so.addVariable('playerready','srPlayerReady');
		so.addVariable('stretching','fill');
		so.addVariable('file',file);
		//so.addVariable('image','');
		so.addVariable('backcolor','000000');
		so.addVariable('bufferlength','4');
		so.addVariable('controlbar','none');
		so.addVariable('autostart','false');
		//so.addVariable('icons','false');
		so.addVariable('repeat','none');
		so.addVariable('tags',id);
		so.write(container);
}

