function echeck(str) {
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);

	if (str.indexOf(at) == -1){
	   return false
	}

	if ( str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr ){
	   return false
	}

	if ( str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr ){
	    return false
	}

	 if ( str.indexOf(at,(lat+1)) != -1 ){
	    return false
	 }

	 if ( str.substring(lat-1,lat) == dot || str.substring(lat+1,lat+2) == dot ){
	    return false
	 }

	 if ( str.indexOf(dot,(lat+2)) == -1 ){
	    return false
	 }

	 if ( str.indexOf(" ") != -1 ){
	    return false
	 }

	return true					
}

$(function(){
	var loader = $('#loader');
	var pollcontainer = $('#pollcontainer');
	loader.fadeIn();

	//Load the poll form
	$.get('poll.php', '', function(data, status){
		pollcontainer.html(data);

		animateResults(pollcontainer);

		pollcontainer.find('#viewresult').click(function(){
			//if user wants to see result
			loader.fadeIn();
			$.get('poll.php', 'result=1', function(data,status){
				pollcontainer.fadeOut(1000, function(){
					$(this).html(data);
					animateResults(this);
				});
				loader.fadeOut();
			});
			//prevent default behavior
			return false;
		}).end()

		.find('#pollform').submit(function(){
			var selected_val = $("input[name='poll']:checked").val();
			var email = $('#frm_email').val();
			
			if ( email != '' && echeck(email) === true ) {
				if ( selected_val != '' && selected_val != undefined ) {
					//post data only if a value is selected
					loader.fadeIn();

					$.post('poll.php', $(this).serialize(), function(data, status){
						$('#formcontainer').fadeOut(100, function(){
							$(this).html(data);
							animateResults(this);
							loader.fadeOut();
						});
					});
				} else {
					$('#error').html('<center><strong>Gelieve een band te kiezen</strong></center>');
					$('#error').show();
				}
			} else {
				$('#error').show();
			}

			//prevent form default behavior
			return false;
		});

		loader.fadeOut();
	});
	
	function animateResults(data){
		$(data).find('.bar').hide().end().fadeIn('slow', function(){
			$(this).find('.bar').each(function(){
				var bar_width=$(this).css('width');
				$(this).css('width', '0').animate({ width: bar_width }, 1000);
			});
		});
	}
});
