

var form_active=0;
var hoveringLink=0;
var detail_toggling_active=0;
var slideShowTimer=0;
var galleryLink=0;
var ie6=0;



/************************************************************************************
*	Define what happens for IE6 users
***********************************************************************************/
document.observe("dom:loaded", function() {
	if ( /msie|MSIE 6/.test(navigator.userAgent)) {
		 document.location.replace('ie6.htm');
	}	 
});

function loadPage(photo){
	document.observe('keydown', function(e){
		if (e.keyCode == Event.KEY_SPACE && form_active == 0){ toggleMainMenu(); }
		if (e.keyCode == Event.KEY_ESC && form_active == 0){ showGallery(); }
		if (e.keyCode == 68 && form_active == 0 && detail_toggling_active == 1){ showDetails(); } //d
		if (e.keyCode == 73 && form_active == 0 && detail_toggling_active == 1){ showContact(); } //i
		if (e.keyCode == 70 && form_active == 0 && detail_toggling_active == 1){ showPhoto(); } //f
		if (e.keyCode == Event.KEY_RIGHT && form_active == 0 && detail_toggling_active == 1){
			if (slideShowTimer){ slideShow('stop'); }
			nextPhoto(1,0);
		}
		if (e.keyCode == Event.KEY_LEFT && form_active == 0 && detail_toggling_active == 1){
			if (slideShowTimer){ slideShow('stop'); }
			nextPhoto(0,0);
		}
	})
	Event.observe(document.onresize ? document : window, "resize", function() {
		setBackgroundImage(photo);
		var dimensions=document.viewport.getDimensions();
		$('mainWrapper2').style.height=(dimensions.height-112)+'px';
		$('mainWrapper').style.height=dimensions.height;
	});
	var dimensions=document.viewport.getDimensions();
	$('mainWrapper').style.height=dimensions.height;
	$('mainWrapper2').style.height=(dimensions.height-112)+'px';
	
	setBackgroundImage(photo);
}

function clickBlackToggleMainMenu(){
	if(hoveringLink == 0){
		toggleMainMenu();
	}
}

function setFormState(formState){
	form_active=formState;
}

function setDetailToggling(detailToggling){
	detail_toggling_active = detailToggling;
}

function toggleMainMenu(){
	if(typeof slideShow == 'function'){ slideShow('stop'); }

	$('mainMenu').toggle();
	$('headerPath').toggle();
	$('mainMenuContent').toggle();
}

function toggleMainMenuDelayed(){
	toggleMain=window.setTimeout('toggleMainMenu()', 300);
}

function clearToggleMainMenu(){
	window.clearTimeout(toggleMain);
}

function setBackgroundImage(photo){
	if (photo){
		var dimensions=document.viewport.getDimensions();
		var cacheSizes= [['1061','630'],['1161','580'],['1261','631'],['1361','681'],['1461','731'],['1561','781'],['1661','831'],['1761','881'],['1861','931'],['1961','981'],['2061','1031'],['2161','1081'],['2261','1131'],['2361','1181'],['2461','1231']];
		var sizeLast=cacheSizes.last();
		var currentClass=0;
		$('mainWrapper').classNames().each(function(e) { 
			currentClass=e;
		});
	
		cacheSizes.each(function(size) {
			if ((size[0]>dimensions.width && size[1]>(dimensions.height-79)) || size[0]==sizeLast[0]){
				
				// only set new class if different from current class
				if (currentClass!=photo+size[0]+'x'+size[1]){
					// remove current class					
					$('mainWrapper').classNames().each(function(e) { $('mainWrapper').removeClassName(e);});
					// add new class
					$('mainWrapper').addClassName(photo+size[0]+'x'+size[1]);
					// store new class in cookie
					createBackgroundPhotoCookie(size[0]+'x'+size[1]);
					throw $break;
				
				// throw break if class is set well
				}else{
					throw $break;
				}
			}
		});
	}
}

function validateForm() {

	var validateFormArray = new Array();
	validateFormArray[0] = new Array('firstname', 'required');
	validateFormArray[1] = new Array('se', 'requiredRadio');
	validateFormArray[2] = new Array('lastname', 'required');
	validateFormArray[3] = new Array('company', '');
	validateFormArray[4] = new Array('address', 'required');
	validateFormArray[5] = new Array('special', '');
	validateFormArray[6] = new Array('country', '');
	validateFormArray[7] = new Array('phone', 'required');
	validateFormArray[8] = new Array('email', 'required');
	validateFormArray[9] = new Array('remarks', '');

	//reference (easier)
	var formObject = document.info;
	var error=0;
	
	for(var i=0; i<validateFormArray.length; i++) {
		var fieldName   = validateFormArray[i][0];
		var fieldOption = validateFormArray[i][1];
		var fieldValue = eval('formObject.'+ fieldName +'.value');

		//a radio button works a bit differently, seek the value
		if(fieldOption == 'requiredRadio') {
			fieldObject = eval('formObject.'+ fieldName);
			fieldValue  = get_radio_value(fieldObject);
		}

		//trim it's value (it should not contain leading, or ending spaces
		fieldValue = fieldValue.strip();

		if(fieldOption == 'required' || fieldOption == 'requiredRadio') {
			if(fieldValue == '') {
				// set red border for missing values
				$(fieldName).setStyle({border: 'red 1px solid', padding: '-1px'});
				error=1;
				//show the user where he should look at
				fieldObject = eval('formObject.'+ fieldName);
				if(fieldOption != 'requiredRadio') fieldObject.focus();
			}else{
				// set gray border for missing values
				if(fieldOption == 'requiredRadio')$(fieldName).setStyle({border: '0px', padding: '0px'});
				else $(fieldName).setStyle({border: '#E3E3E3 1px solid'});
			}
		}
	}
	if (error){
		$('formError').show();
		return;
	}

	//everything is filled in correctly!
	//continue
	document.info.submit();
}

function get_radio_value(fieldObject) {
	for (var i=0; i < fieldObject.length; i++) {
		if (fieldObject[i].checked) return fieldObject[i].value;
	}

	//else
	return '';
}

function trim(value) {
	value = value.replace(/^\s+/,'');
	value = value.replace(/\s+$/,'');
	return value;
}

function checkemail(){
	var str=document.validation.emailcheck.value;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
	testresults=true
	else{
		alert("Please input a valid email address!")
		testresults=false
	}
	return (testresults)
}

function na(){
	//No Action :)
}

function createBackgroundPhotoCookie(value) {
	var date = new Date();
	date.setTime(date.getTime()+(3000*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "backgroundPhoto="+value+expires+"; path=/";
}

function showGallery(){
	if (galleryLink){
		// set new page through 1ms timeout because of ESC behaviour in some browsers
		window.setTimeout("window.location.replace('http://www.trappen.info/website//"+galleryLink+"');", 1);
	}
}


