$(document).ready(function() {
	
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	
	// show a simple loading indicator
	/*
	var loader = jQuery('<div id="loader"><img src="images/loading.gif" alt="loading..." /></div>')
		.css({})
		.hide()
		.prependTo("#infolettrePopUpWrapper");
		
		
	jQuery().ajaxStart(function() {
		loader.show();
	}).ajaxStop(function() {
		loader.hide();
	}).ajaxError(function(a, b, e) {
		throw e;
	});
	*/
	
	// enable boxy functionality
	$('.boxy').boxy({modal:true,closeText: '[x]'});
	
	$("#form_demandeInfo").validate({});
	
	// attach validation for the regular forms (employeurs and demande d'info
	$(".forms").validate({
			submitHandler: function(form) {
				$(form).ajaxSubmit({
					success: function(responseText, statusText) {
						Boxy.alert(responseText, function(){														  
							$(form).resetForm()
						}, {title:null,closeText: '[x]', modal:true});
						
						urchinTracker("/send_email.php");
					}
				});
			}
	});
	
	$('.extended_forms').submit(function() { 
	    // submit the form 
	    $(this).ajaxSubmit({beforeSubmit:function(){
			if (!$(".extended_forms").valid())return false;
			}, success:function(responseText, statusText) {
						Boxy.alert(responseText, function(){														  
							$(".extended_forms").resetForm()
						}, {title:null,closeText: '[x]', modal:true});
						
						urchinTracker("/send_email.php");
					}
			}); 
	    // return false to prevent normal browser submit and page navigation 
	    return false; 
	});
	
	var container = $('div.container');
	// validate the form when it is submitted
	var validator = $(".extended_forms").validate({
		errorContainer: container,
		errorLabelContainer: $("ol", container),
		wrapper: 'li',
		rules: {
			codepostale: "postalcode"
		}	
	});
	
	
	/**
	 * Contest form validation and ajax submit
	 */
	$('#form_concours').validate({
			submitHandler: function(form) {
				$(form).ajaxSubmit({
					target: '#ftaf .response',
					success: function(responseText, statusText) {
						
						$('#containerMaster.concours #form_container').slideUp('slow');
						$(form).resetForm();
						$('#containerMaster.concours #ftaf').slideDown('slow');
					}						   
				});
			}
	});
	$('#form_concours #telephone').mask("(999) 999-9999");
	
	// attach validation for the regular forms (employeurs and demande d'info
	$(".concours #form_ftaf").validate({
			submitHandler: function(form) {
				$(form).ajaxSubmit({
					success: function(responseText, statusText) {
						Boxy.alert(responseText, function(){														  
							$(form).resetForm()
						}, {title:null,closeText: '[x]', modal:true});
						
						urchinTracker("/concours/contest_ftaf.php");
					}
				});
			}
	});
	
			
	/**
	 * Contest Backstage form validation and ajax submit
	 */
	$('#form_concours_backstage').validate({
			submitHandler: function(form) {
				$(form).ajaxSubmit({
					target: '#ftaf .response',
					success: function(responseText, statusText) {
						
						$('#containerMaster.concours_backstage #form_container').slideUp('slow');
						$(form).resetForm();
						$('#containerMaster.concours_backstage #ftaf').slideDown('slow');
					}						   
				});
			}
	});
	$('#form_concours_backstage #telephone').mask("(999) 999-9999");
	
	// attach validation for the regular forms (employeurs and demande d'info
	$(".concours_backstage #form_ftaf").validate({
			submitHandler: function(form) {
				$(form).ajaxSubmit({
					success: function(responseText, statusText) {
						Boxy.alert(responseText, function(){														  
							$(form).resetForm()
						}, {title:null,closeText: '[x]', modal:true});
						
						urchinTracker("/concours_backstage/contest_ftaf.php");
					}
				});
			}
	});
});


// handles the newsletter popup div submission
function infolettreForm() {	
	$("#form_infolettre").validate({
		submitHandler: function(form) {
			$(form).ajaxSubmit({	
				target: "#infolettrePopUp",
				success: function() {
					urchinTracker("/send_email.php");	
				}
			});
		}
	});
}

function isValidPostalcode(postalcode) {
      if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1)
	  		return true;
      else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z](-|\s)\d[a-zA-Z]\d$/) != -1)
	  		return true;
      else return false;
}

$.validator.addMethod("postalcode", function(value) {
		return isValidPostalcode(value);
	}, '');