var product = 0;
var product_switch = false;

var products = new Object();

function changeProduct( newProdID ) {
	
	var oldProductID = product;
	
	var oldProduct = oldProductID * 150;
	var newProduct = newProdID * 150;
	
	product = newProdID;
	
	if (product_switch) {
		$('newProduct').style.backgroundPosition = "0px -"+newProduct.toString()+"px";
		$('oldProduct').style.backgroundPosition = "0px -"+oldProduct.toString()+"px";
		product_switch = false;
	} else {
		$('newProduct').style.backgroundPosition = "0px -"+oldProduct.toString()+"px";
		$('oldProduct').style.backgroundPosition = "0px -"+newProduct.toString()+"px";
		product_switch = true;
	}
	
	Effect.toggle('newProduct','appear', { duration: 0 });
	
	if ( oldProductID != 0 ) {
		Effect.toggle('product_label' + oldProductID.toString(),'appear', { duration: 0 });
		
	} else {
		new Effect.Opacity('free_of_cost', {duration:0.5, from:0.0, to:1.0});
	}
	
	Effect.toggle('product_label' + newProdID.toString(),'appear', { duration: 0 });
	
	$('step3_product').className = 'product product_label' + newProdID.toString();
}

function next_step( check_product ) {
	
	if ( check_product == true && ( product == 0 ) ) {
		new Effect.Opacity("no_product_message", {duration:0.5, from:0.0, to:1.0});
		hide_no_product_message.delay(7, "no_product_message");
		return false;
	}
	
	var posX = parseInt($('stepWrapper').style.left);
	posX -= posX % 960;
	if ( isNaN(posX) ) posX = 0;
	
	new Effect.Move($('stepWrapper'), {
		x: ( posX - 960 ), 
		y: 0,
		mode:'absolute',
		duration: 1,
		transition: Effect.Transitions.sinoidal
	});
	
	return false;
};

function hide_no_product_message () {
	new Effect.Opacity("no_product_message", {duration:1.0, from:1.0, to:0.0});
}

function prev_step() {
	var posX = parseInt($('stepWrapper').style.left);
	posX -= (((posX % 960) + 960) % 960);
	if ( isNaN(posX) ) posX = 0;
	
	new Effect.Move($('stepWrapper'), {
		x: ( posX + 960 ), 
		y: 0,
		mode:'absolute',
		duration: 1,
		transition: Effect.Transitions.sinoidal
	});
	
	return false;
};

function getLogin() {
	
	
	$('delivery_loginid2').value = $('login_code').value;
	
	if ( $('login_code').value == "Demo" ) {
		if ( $('product_cart').style.display == "none" ) {
			Effect.toggle('product_cart','appear');
		}
		$('login_form').hide();
		$('login').fade({ duration: 1, from: 1, to: 0 });
		$('shop_door').fade({ duration: 1, from: 1, to: 0 });
	} else {
		
		if ( $('login_error').style.display == "none" ) {
			Effect.toggle('login_error','appear');
		}
	}
	
	return false;
}

function submitBasket( call ) {
	
	var regexp_mail = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	var errors = 0;
	
	errors = setError('first_name', errors);
	errors = setError('last_name', errors);
	
	if ( $('delivery_email').value == "" || !regexp_mail.test($('delivery_email').value) ) {
		errors++;
		if ( $('error_email').style.display == "none" ) { Effect.toggle('error_email', 'appear'); $('delivery_email').setStyle({ backgroundColor: '#DB909D', border: '1px solid #A20820' }); }
	} else {
		if ( $('error_email').style.display != "none" ) { Effect.toggle('error_email', 'appear'); $('delivery_email').setStyle({ backgroundColor: '#fff', border: 'none' }); }
	}
	
	errors = setError('address', errors);
	errors = setError('city', errors);
	errors = setError('zip', errors);
	
	if ( errors > 0 ) {
		return false;
	}
	
	$('delivery_product_name').value = products[product];
	$('delivery_product_id').value = product;
	
	if ( call ) {
		$('step3_form').submit();
	}
	
}

function checkFields( call ) {
	var errors = 0;
	
	errors = setError('name', errors);
	errors = setError('email', errors);
	errors = setError('subject', errors);
	errors = setError('message', errors);
	
	if ( errors > 0 ) {
		return false;
	}
	
	if ( call ) {
		$('contact_form').submit();
	}
}

function setError( field, errors ) {
	var maxL = 200;
	
	if ($('delivery_'+field).value == "") {
		if ( $('error_'+field).style.display == "none" ) {
			$('error_'+field).innerHTML = 'Dieses Feld ist ein Pflichtfeld !';
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#DB909D', border: '1px solid #A20820' });
		}
		return errors +1;
	} else if (field == 'message') {
		/* because if it's a textarea I don't want to check the length of this message ... */
		if ( $('error_'+field).style.display != "none" ) {
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#fff', border: 'none' });
		}
		return errors;
	} else if (field == 'zip' && !$('delivery_'+field).value.match(/^[0-9]{5}$/)) {
		if ( $('error_'+field).style.display == "none" ) {
			$('error_'+field).innerHTML = 'Die Eingabe muss eine f&uuml;nfstellige Zahl sein !';
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#DB909D', border: '1px solid #A20820' });
		}
		return errors +1;
	} else if (field == 'email' && !$('delivery_'+field).value.match(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i)) {
		if ( $('error_'+field).style.display == "none" ) {
			$('error_'+field).innerHTML = 'Keine g&uuml;ltige E-Mail-Adresse !';
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#DB909D', border: '1px solid #A20820' });
		}
		return errors +1;
	} else if ($('delivery_'+field).value.length > maxL) {
		if ( $('error_'+field).style.display == "none" ) {
			$('error_'+field).innerHTML = 'Die Eingabe darf nicht l&auml;nger als '+maxL+' Zeichen sein !';
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#DB909D', border: '1px solid #A20820' });
		}
		return errors +1;
	} else {
		if ( $('error_'+field).style.display != "none" ) {
			Effect.toggle('error_'+field, 'appear');
			$('delivery_'+field).setStyle({ backgroundColor: '#fff', border: 'none' });
		}
		return errors;
	}
}
