var galleryPicsTotal = 1;
var galleryPicsCurrent = 1;
var galleryPictures = new Array();
var lastFormat = 'landscape';
var lastSize;

var fading = false;

Event.observe(window, 'load', function() {
	if (Prototype.Browser.WebKit && (navigator.platform.indexOf('Mac')!=-1) ) {
		$(document.body).addClassName('safari_mac');
	}
	if (Prototype.Browser.WebKit && (navigator.platform.indexOf('Win')!=-1) ) {
		$(document.body).addClassName('safari_win');
	}
	if ( (Prototype.Browser.Gecko) && (navigator.platform.indexOf('Mac')!=-1) ) {
		$(document.body).addClassName('ff_mac');
	}
	if ( (Prototype.Browser.Gecko) && (navigator.platform.indexOf('Win')!=-1) ) {
		$(document.body).addClassName('ff_win');
	}
	if ( (Prototype.Browser.IE) && (navigator.appVersion.indexOf('MSIE 7')!=-1) ) {
		$(document.body).addClassName('ie7');
	}
	if ( (Prototype.Browser.IE) && (navigator.appVersion.indexOf('MSIE 6')!=-1) ) {
		$(document.body).addClassName('ie6');
	}
});

function checkEmail( email ) {
	var filter=/^.+@.+\..{2,3}$/

	if (filter.test(email)) {
		return true;
	} else {
		return false;
	}
}


function toggleInfotext() {
	var slideDuration = 0.1;
	if ($('infotext').getStyle('display') == 'none') {
		if ($(document.body).hasClassName('ie6')) {
			$('infotext').setStyle({display:'block'});
		} else {
			Effect.SlideDown('infotext', { duration: slideDuration });
		}
		$('backgroundinfo').innerHTML = 'Minimize';
	} else {
		if ($(document.body).hasClassName('ie6')) {
			$('infotext').setStyle({display:'none'});
		} else {
			Effect.SlideUp('infotext', { duration: slideDuration });
		}
		$('backgroundinfo').innerHTML = 'Background Info';
	}
}

function switchPortrait() {
	$('topfunction').removeClassName('desc_landscape');
	$('topfunction').addClassName('desc_portrait');
	$('infotext').removeClassName('desc_landscape');
	$('infotext').addClassName('desc_portrait');
	$('description').removeClassName('desc_landscape');
	$('description').addClassName('desc_portrait');
}

function switchLandscape() {
	$('topfunction').removeClassName('desc_portrait');
	$('topfunction').addClassName('desc_landscape');
	$('infotext').removeClassName('desc_portrait');
	$('infotext').addClassName('desc_landscape');
	$('description').removeClassName('desc_portrait');
	$('description').addClassName('desc_landscape');
}

function showButtonIE6( which ) {
	which = $(which);
	if ($(document.body).hasClassName('ie6')) {
		which.down('img').setStyle({visibility:'visible'});
	}
}

function hideButtonIE6( which ) {
	which = $(which);
	if ($(document.body).hasClassName('ie6')) {
		which.down('img').setStyle({visibility:'hidden'});
	}
}

function nextPic() {
	if (fading) return;
	galleryPicsCurrent++;
	
	if (galleryPicsCurrent > galleryPicsTotal) {
		galleryPicsCurrent = 1;
	}

	loadPic();
}

function prevPic() {
	if (fading) return;
	galleryPicsCurrent--;
	
	if (galleryPicsCurrent < 1) {
		galleryPicsCurrent = galleryPicsTotal;
	}
	
	loadPic();
}

function loadPic() {
	$('gallery_pic_preload').onload = new Function('showPic(this);');
	$('gallery_pic_preload').src = galleryPictures[galleryPicsCurrent-1].pic;
	$('description_txt').innerHTML = galleryPictures[galleryPicsCurrent-1].shortdesc;
	//$('infotext').innerHTML = galleryPictures[galleryPicsCurrent-1].longdesc;
	$('current_pic').innerHTML = galleryPicsCurrent;
}

function showPic( which ) {
	which = $(which);
	
	var size = which.getDimensions();
	var isLandscape = true;
	var crossFade = false;
	var duration = 0.5;
	
	if (size.width > size.height) {
		var isLandscape = true;
		switchLandscape();
	} else {
		var isLandscape = false;
		switchPortrait();
	}
	
	if (isLandscape && (lastFormat == 'landscape')) crossFade = true;
	if (!isLandscape && (lastFormat == 'portrait')) crossFade = true;
	if ((lastSize.height != size.height) || (lastSize.width != size.width)) crossFade = false;
	//if ($(document.body).hasClassName('ie6')) crossFade = false;

	$('gallery_pic2').hide();
	$('gallery_pic2').setStyle({
		width: size.width + 'px',
		height: size.height + 'px'
	});
	
	$('gallery_stretcher_pic').src = which.src;
	
	if (crossFade) {
		fading = true;
		
		$('gallery_pic2').src = which.src;
		
		Effect.Fade( $('gallery_pic'), {
			duration:duration,
			from:1.0,
			to:0.0,
			afterFinish: function() {
				$('gallery_pic').show();
			}
		} );
		Effect.Appear( $('gallery_pic2'), {
			duration:duration,
			from:0.0,
			to:1.0,
			afterFinish: function() {
				$('gallery_pic').src = $('gallery_pic2').src;
				$('gallery_pic').show();
				fading = false;
			}
		} );
	} else {
		$('gallery_pic').src = which.src;
	}
	
	if (isLandscape) {
		lastFormat = 'landscape';
	} else {
		lastFormat = 'portrait';
	}
	
	lastSize = size;
	
	$('gallery_buttons').setStyle({width: size.width+'px'});
}

function initGallery() {
	if ($('total_pics')) {
		$('total_pics').innerHTML = galleryPicsTotal;
	}
	
	var size = $('gallery_pic').getDimensions();
	
	if (size.width > size.height) {
		lastFormat = 'landscape';
		var isLandscape = true;
		switchLandscape();
	} else {
		lastFormat = 'portrait';
		var isLandscape = false;
		switchPortrait();
	}
	lastSize = {width: size.width, height: size.height};

	$('gallery_buttons').setStyle({width: size.width+'px'});
}

function checkNewsletterForm() {

	$('newsletter_error').hide();
	$('newsletter_txt').setStyle({visibility:''});
	$(document.forms.newsletter_signup.email).removeClassName('error');

	if ( (document.forms.newsletter_signup.email.value=='') ||
		 (document.forms.newsletter_signup.email.value=='< Your E-Mail address >') ||
		 (!checkEmail(document.forms.newsletter_signup.email.value)) ) {
		$('newsletter_txt').setStyle({visibility:'hidden'});
		$('newsletter_error').show();
		$(document.forms.newsletter_signup.email).addClassName('error');
	} else {
		$('newsletter_txt_outer').setStyle({height:$('newsletter_txt_outer').getHeight()+'px'});
		var url = $(document.forms.newsletter_signup).readAttribute('action');
		var params = $(document.forms.newsletter_signup).serialize(true);
		new Ajax.Updater('newsletter_txt_outer', url, {	parameters: params });
		//$('newsletter_txt_outer').update('Success!');
	}
}

function checkPressForm() {

	$('press_error').hide();
	$('press_txt').setStyle({visibility:''});
	$(document.forms.press_signup.email).removeClassName('error');

	if ( (document.forms.press_signup.email.value=='') ||
		 (document.forms.press_signup.email.value=='< Your E-Mail address >') ||
		 (!checkEmail(document.forms.press_signup.email.value)) ) {
		$('press_txt').setStyle({visibility:'hidden'});
		$('press_error').show();
		$(document.forms.press_signup.email).addClassName('error');
	} else {
		$('press_txt_outer').setStyle({height:$('press_txt_outer').getHeight()+'px'});
		var url = $(document.forms.press_signup).readAttribute('action');
		var params = $(document.forms.press_signup).serialize(true);
		new Ajax.Updater('press_txt_outer', url, { parameters: params });
		//$('press_txt_outer').update('Success!<br /><br />An E-Mail with download instructions has been sent.');
	}
}
