var field1 = '';
var field11 = '';
var field2 = '';
var field3 = '';


$(function() {
	$('#gallery a').lightBox();
});
    
    
$(document).ready(function(){ 
	
	//$(document).pngFix();

   	$('#rss_vecteurplus').cycle({fx:'fade',random:1, timeout:7000, pause:1});
   	
	function getMenu(level, parent_id, block_id, menu_id){
	$.ajax({
	   type: "POST",
	   url: "/ajax/requestMenu",
	   data: "level="+level+"&parent="+parent_id+"&menu="+menu_id+"&block="+block_id,
	   success: function(msg){
	   	switch(block_id){
	   		case 1:
	   			if (level == 1)	field1 = msg;
	   			else {field11 = msg;}
	   			break;
	   		case 2:
	   			field2 = msg;
	   			break;
	   		case 3:
	   			field3 = msg;
	   			break;
	   	
	   	}
	   }
	 });
	}
	
	getMenu(1,'', 1, 2);//level_menu, parent_id, block_id, menu_id (!accueil)
	getMenu(2, 2, 1, 2);//level_menu, parent_id, block_id, menu_id (!accueil)
	getMenu(1,'', 2, 3);//level_menu, parent_id, block_id, menu_id (!accueil)
	getMenu(1,'', 3, 4);//level_menu, parent_id, block_id, menu_id (!accueil)


	$('div#menu1').hover(
		function () {
			$('div#block1').toggleClass('wrapDivOver');
			$('div#block1').html(field1);
		}, function () {
			$('div#block1').toggleClass('wrapDivOver');
			$('div#block1').html('');
		}
	);

	$('div#menu2').hover(
		function () {
			$('div#block2').toggleClass('wrapDivOver');
			$('div#block2').html(field2);
		}, function () {
			$('div#block2').toggleClass('wrapDivOver');
			$('div#block2').html('');
		}
	);

	$('div#menu3').hover(
		function () {
			$('div#block3').toggleClass('wrapDivOver');
			$('div#block3').html(field3);
		}, function () {
			$('div#block3').toggleClass('wrapDivOver');
			$('div#block3').html('');
		}
	);



	///////////////////////////////////////////////////

    var options = { 
        //target:      '#output1',   // target element(s) to be updated with server response 
        beforeSubmit:  validate,  // pre-submit callback 
        success:       showResponse,  // post-submit callback 
        url:       	   '/ajax/submitPhone',         // override for form's 'action' attribute 
        type:          'post',        // 'get' or 'post', override for form's 'method' attribute
        //data:	$('#phone_rappelle').val(), 
        //dataType:  'json',        // 'xml', 'script', or 'json' (expected server response type) 
        clearForm: true,        // clear all form fields after successful submit 
        resetForm: true        // reset the form after successful submit 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
    
	// pre-submit callback 
	function validate(formData, jqForm, options) {
		if (formData[0].value != ''){
			if (!isValidePhoneNumber(formData[0].value)){
				$('#phone_rappelle_error').fadeIn();
				$('#ajaxload').hide(); 
	        	return false; 
			}else{
				$('#ajaxload').show();
				$('#phone_rappelle_error').fadeOut();
				return true;
			}
		}else{
			$('#ajaxload').hide();
			$('#phone_rappelle_error').fadeIn();
			return false;
		}
	}
	
	// post-submit callback 
	function showResponse(responseText, statusText, xhr, $form)  {
		$('#ajaxload').hide();
		if (responseText == 'success'){
			$.jqURL.loc('/web-call-back.html');
		}else{
			alert("Erreur, votre numéro de téléphone ne peut pas être envoyé.");
		} 
	} 


	$("#rappelle").ajaxForm(options);	


	///////////////////////////////////////////////////

	$("#contact").submit(function(){
		var fields_array = new Array('titre','nom','prenom','email','entreprise','telephone','postal');
		return returnValidForm(fields_array);
	});
	
	$("#newsletter").submit(function(){
		var fields_array = new Array('titre','nom','prenom','email','entreprise');
		return returnValidForm(fields_array);
	});
	
	$("#questionnaire").submit(function(){
		var fields_array = new Array('nb_appel','nb_personne','telephone','postal');
		return returnValidForm(fields_array);
	});
	

	
});


function returnValidForm(fields){
		var errorForm = false;
		for (var i in fields){
			if ($("#"+fields[i]).val() == ''){
				$("#"+fields[i]).addClass("error");
				$("#error_"+fields[i]).remove();
				if (fields[i] == 'phone_rappelle'){
					$('#phone_rappelle_error').fadeIn();
				}else{
					$("#"+fields[i]).after('<span id="error_'+fields[i]+'" style="color:red;">&nbsp;champ obligatoire</span>');
				}
				errorForm = true;
			}else{
				if (fields[i] != 'titre'){
					var itemValue = $("#"+fields[i]).val();
					if ((fields[i] != 'email')&(fields[i] != 'telephone')){
						if (itemValue.length < 3){
							$("#"+fields[i]).removeClass("error");
							$("#"+fields[i]).addClass("error");
							$("#error_"+fields[i]).remove();
							$("#"+fields[i]).after('<span id="error_'+fields[i]+'" style="color:red;">&nbsp;contenu trop court</span>');
							errorForm = true;						
						}else{
							$("#"+fields[i]).removeClass("error");
							$("#error_"+fields[i]).remove();
						}
					}else if (fields[i] == 'telephone'){
						if (!isValidePhoneNumber(itemValue)){
							$("#"+fields[i]).removeClass("error");
							$("#"+fields[i]).addClass("error");
							$("#error_"+fields[i]).remove();
							$("#"+fields[i]).after('<span id="error_'+fields[i]+'" style="color:red;">&nbsp;format incorrect</span>');
							errorForm = true;
						}else{
							$("#"+fields[i]).removeClass("error");
							$("#error_"+fields[i]).remove();
						}						
					}else{
						//check email
						if (!isValidEmailAddress(itemValue)){
							$("#"+fields[i]).removeClass("error");
							$("#"+fields[i]).addClass("error");
							$("#error_"+fields[i]).remove();
							$("#"+fields[i]).after('<span id="error_'+fields[i]+'" style="color:red;">&nbsp;format incorrect</span>');
							errorForm = true;						
						}else{
							$("#"+fields[i]).removeClass("error");
							$("#error_"+fields[i]).remove();							
						}
						
					}
				}else{
					$("#"+fields[i]).removeClass("error");
					$("#error_"+fields[i]).remove();
				}				
			}
		}
		if (errorForm) return false;
		else return true;	
}

function isValidePhoneNumber(phoneNumber){
	if (phoneNumber == '+'){
		return false;
	}else{
		//(+44)(0)20-12341234 | 02012341234 | +44 (0) 1234-1234
		//var pattern = new RegExp(/^((\d{2})(\s)(\d{2})(\s)(\d{2})(\s)(\d{2})(\s)(\d{2})(\s)(\d{2})(\s)(\d{2}))|((\d{2})([-])(\d{2})([-])(\d{2})([-])(\d{2})([-])(\d{2})([-])(\d{2})([-])(\d{2}))$/i);
		var pattern = new RegExp(/^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/i);
		return pattern.test(phoneNumber);
	}
}


function isValidEmailAddress(emailAddress) {
	if ((emailAddress != 'contact@vecteurplus.com')&&(emailAddress != 'marketing@vecteurplus.com')){
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(emailAddress);
	}else{
		return false;
	}
} 



