var cCurrent = '01';
var cPicked = '00';
var scroll_api;

$(document).ready(function() {

	/* adjust overlay height and preload images */
	
	$('div.overlay').height($(document).height());
	$.preloadCssImages();
	$('#image img').hide();
	$('#image img:first-child').show();
	$('#wrapper').show();

	/* Preload cookie values, if any, and clean behind if null */
	
	$('#b_username').val($.cookie('username'));
	$('#b_useremail').val($.cookie('email'));
	$('#b_usergolfclub').val($.cookie('golfclub'));
	
	if($('#b_username').val() == 'null') { $('#b_username').val(''); }
	if($('#b_useremail').val() == 'null') { $('#b_useremail').val(''); }

	/* Initialize the scroller and position it on the first element */
	
	$('#flowpanes').scrollable({size: 1,clickable: false}).circular();

	/* Setup thumbnail triggering routine */
	
	$("a[rel*=trigger]").click(function() {
		cPicked = $(this).attr('name');
		if (cPicked != cCurrent) {
			$('#image .bigpic-' + cPicked).fadeIn(600);
			$('#image .bigpic-' + cCurrent).fadeOut(600);
			cCurrent = cPicked;
			$('#b_image').val(cPicked);
			}
		});

	/* Triggers for opening and closing the startup popup */
	
	$('.open-start').click(function() { $('#start-overlay').fadeIn(300); });
	$('.close-start').click(function() { $('#start-overlay').fadeOut(300); });
	$('#close-message').click(function() { $('#message-overlay').fadeOut(300); });

	/* Triggers for storing user details into cookies */
	
	$('#b_username').blur(function() { $.cookie('username', $('#b_username').val(), { expires: 365 }); });
	$('#b_useremail').blur(function() { $.cookie('email', $('#b_useremail').val(), { expires: 365 }); });
	$('#b_usergolfclub').blur(function() { $.cookie('golfclub', $('#b_usergolfclub').val(), { expires: 365 }); });

	/* Reset form data */
	
	$('#b_reset').click(function() {
		$('div.canvas-form select, div.canvas-form input, div.canvas-form textarea').removeClass('formfield-error').removeClass('formfield-ok');
		$('#b_guestname').val('');
		$('#b_guestemail').val('');
		$('#b_guestphone').val('');
		$('#b_usermessage').val('');
		});

	/* Prepare form data, validate them, sent through AJAX to processing form and actions on the returned status code */
	
	$('#b_submit').click(function() {
		var cData, cMessage;
		
		if(isValidated()) {
			cMessage = $('#b_usermessage').val();
	
			cMessage = cMessage.replace(/&/g,'[[amp;');
			cMessage = cMessage.replace(/\"/g,'[[quot;');
			cMessage = cMessage.replace(/\'/g,'[[rsquo;');
			cMessage = cMessage.replace(/é/g,'[[eacute;');
			cMessage = cMessage.replace(/è/g,'[[egrave;');
			cMessage = cMessage.replace(/à/g,'[[agrave;');
			cMessage = cMessage.replace(/=/g,'[[equal;');
			cMessage = cMessage.replace(/\n/g,'[[BR;');
	
			cData = 'b_username=' + $('#b_username').val() +
				'&b_useremail=' + $('#b_useremail').val() +
				'&b_usergolfclub=' + $('#b_usergolfclub').val() +
				'&b_guestname=' + $('#b_guestname').val() +
				'&b_guestemail=' + $('#b_guestemail').val() +
				'&b_guestphone=' + $('#b_guestphone').val() +
				'&b_usermessage=' + cMessage +
				'&b_image=' + $('#b_image').val();
			/*alert(cData);*/
	
			/*- Ajax routine -*/
				
			$.ajax({
				type: 'get',
				url: 'ajax.asp',
				data: cData,
				contentType: "application/json; charset=utf-8",
				dataType: "json",
				success: function(response) {
					var cResp = (typeof response.j) == 'string' ? eval('(' + response.j + ')') : response.j;
					if(cResp[0].ReturnCode == '0x00') {
						$('#message-overlay div.message').html('<h2>Dank u wel!</h2><p>Uw digitale briefkaart is verstuurd. Nodig gerust nog mensen uit voor "Bring a Golfer" op 18 april 2010. Hoe meer nieuwe golfers u aanbrengt, hoe groter u kans maakt op een mooie prijs!</p><button onclick="$(\'#message-overlay\').fadeOut(300);">Doorgaan</button>').addClass('message-ok');
						$('#message-overlay').fadeIn(300);
						$('div.canvas-form select, div.canvas-form input, div.canvas-form textarea').removeClass('formfield-error').removeClass('formfield-ok');
						$('#b_guestname').val('');
						$('#b_guestemail').val('');
						$('#b_guestphone').val('');
						$('#b_usermessage').val('');
						}
					else {
						$('#message-overlay div.message').html('<h2>Oeps... Iest mis gegaan!</h2><p>Er is een onverwachte fout opgetreden tijdens de verwerking van uw digitale briefkaart. Als het probleem aanhoudt, kunt u contact opnemen met de webmaster en het verslag van de volgende status: <span>' + cResp[0].ReturnCode + '</span></p><button onclick="$(\'#message-overlay\').fadeOut(300);">Doorgaan</button>').addClass('message-nok');
						$('#message-overlay').fadeIn(300);
						}
					}
				});
			}
		});

	});

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
	return pattern.test(emailAddress);
	}

function isValidated() {
	var nE = 0;

	$('div.canvas-form select, div.canvas-form input, div.canvas-form textarea').removeClass('formfield-error').removeClass('formfield-ok');
	
	if($('#b_username').val() == '') {$('#b_username').addClass('formfield-error'); nE++; }
	else { $('#b_username').addClass('formfield-ok'); }

	if($('#b_usergolfclub').val() == '') {$('#b_usergolfclub').addClass('formfield-error'); nE++; }
	else { $('#b_usergolfclub').addClass('formfield-ok'); }

	if($('#b_usermessage').val() == '') {$('#b_usermessage').addClass('formfield-error'); nE++; }
	else { $('#b_usermessage').addClass('formfield-ok'); }

	if($('#b_guestname').val() == '') { $('#b_guestname').addClass('formfield-error'); nE++; }
	else { $('#b_guestname').addClass('formfield-ok'); }

	if($('#b_useremail').val() == '') { $('#b_useremail').addClass('formfield-error'); nE++; }
	else {
		if(isValidEmailAddress($('#b_useremail').val())) { $('#b_useremail').addClass('formfield-ok'); }
		else { $('#b_useremail').addClass('formfield-error'); nE++; }
		}

	if($('#b_guestemail').val() == '') { $('#b_guestemail').addClass('formfield-error');  nE++; }
	else {
		if(isValidEmailAddress($('#b_guestemail').val())) { $('#b_guestemail').addClass('formfield-ok'); }
		else { $('#b_guestemail').addClass('formfield-error'); nE++; }
		}

	if(nE == 0) { return true; } else { return false; }
	}

