	var pageContact = '';

$(function() {

	
	$("#submenu").menuExpander();
	
	if($("input.hint").length) { $("input.hint").hint(); }
	
	$("#formContact").submit(function(e){
		if(!check_form(this)) { e.preventDefault(); }
	});
	
	$("select[name='select_cat']").change( function() {
		window.location.href = $(this).val();
	});
	
	$(".png").pngFix();
	
	//submit button contactForm
	$("#contactForm").submit(function(e){
		if(!check_form_contact()) { e.preventDefault(); }
	});
	
	new AjaxUpload($("#photosUpload"),{
		uploadScript : "/files/upload.php",
		styles : {
			'file' : {
				padding:'4px',
				paddingLeft:'20px',
				width:"auto",
				height:"auto",
				background:"url(/statics/icons/photo.png) no-repeat 0px 2px",
				borderBottom:"dotted 1px #ddd",
				marginBottom:"2px",
				float:"left"
			}
		}
	});
	//DIALOGUE contactDiv_btn
	$(".contactDiv_btn").click(function(e) { 
		
		e.preventDefault();
		
		new AjaxDialog({
			"title" : ((LANG == "fr") ? "Formulaire de contact":"Contact Form"),
			"postUrl" : "/"+LANG+"/nous-joindre.json",
			"dialogUrl" : "/"+LANG+"/nous-joindre.html?poste="+escape($(this).attr("title"))+"&jid="+escape($(this).attr("name"))+" #contactDiv",
			"dialogOpts" : {bgiframe:true},
			"removeElements" : "form .buttons, h1, fieldset.photo, fieldset.photos, #imgcontact",
			"onLoad" : function() {
				pageContact = $(this).find("#form_page").attr('value');
				
				$(this).find(".submit_btn").remove();
				new AjaxUpload($(this).find("#photosUpload"),{
					uploadScript : "/files/upload.php",
					styles : {
						'file' : {
							padding:'4px',
							paddingLeft:'20px',
							width:"auto",
							height:"auto",
							background:"url(/statics/icons/photo.png) no-repeat 0px 2px",
							borderBottom:"dotted 1px #ddd",
							marginBottom:"2px",
							float:"left"
						}
					}
				});
			
			},
			"onSuccess" : function(data) {
			pageTracker._trackPageview(pageContact);
			$(this).html("");
				$(this).prepend("<div class='success'>"+data.success+"</div>");
				$(this).scrollTo( '.success', 500, {offset:{top:-10}} );
				var $self = $(this);
				setTimeout(function(){$self.dialog("destroy")}, 2000);
				
			},
			"onError" : function(error) {
				$(this).prepend("<div class='error'>"+error+"</div>");
				$(this).scrollTo( '.error', 500, {offset:{top:-10}} );
			}
		});

		
	});
	
	
	//DIALOGUE sendtofriend
	$(".sendtofriend").click(function(e) { 
		
		e.preventDefault();
		var url = ($(this).parents(".poste").length) ? "http://"+window.location.hostname+$(this).parents(".poste").find("h2 a").attr("href"):window.location;
		var title = ($(this).parents(".poste").length) ? $(this).parents(".poste").find("h2 a").text():document.title;
		
		new AjaxDialog({
			"title" : ((LANG == "fr") ? "Envoyé à un ami":"Send to friend"),
			"postUrl" : "/"+LANG+"/sendtofriend.json",
			"dialogUrl" : "/"+LANG+"/sendtofriend.html?url="+url+"&title="+escape(title)+" #sendtoFriend",
			"dialogOpts" : {bgiframe:true},
			"removeElements" : "form .buttons, h1, fieldset.photo, fieldset.photos",
			"onSuccess" : function(data) {
				
				$(this).html("");
				$(this).prepend("<div class='success'>"+data.success+"</div>");
				$(this).scrollTo( '.success', 500, {offset:{top:-10}} );
				var $self = $(this);
				setTimeout(function(){$self.dialog("destroy")}, 2000);
				
			},
			"onError" : function(error) {
				$(this).prepend("<div class='error'>"+error+"</div>");
				$(this).scrollTo( '.error', 500, {offset:{top:-10}} );
			}
		});

		
	});
	
	


});

var AjaxUpload = function(selector,opts) {
	
	if(!$(selector).length) { return; }
	
	if(!opts) var opts = {};
	var settings = jQuery.extend({
		uploadScript : "/files/upload.php",
		multiple:false,
		styles : {
			'file' : {
				padding:'4px',
				paddingLeft:'20px',
				width:"auto",
				height:"auto",
				background:"url(/statics/icons/page_white.png) no-repeat 0px 2px",
				borderBottom:"dotted 1px #ddd",
				marginBottom:"2px",
				clear:"both"
			}
		}
	}, opts);
	
	var loading = false;

	function createFrame(frameID) {
	
		if($("#"+frameID).length) { return $("#"+frameID).get(0); }
	
		if(window.ActiveXObject) {
			var frame = document.createElement('<iframe id="' + frameID + '" name="' + frameID + '" />');
			frame.src = 'javascript:false';
		}
		else {
			var frame = document.createElement('iframe');
			frame.id = frameID;
			frame.name = frameID;
		}
		frame.style.position = 'absolute';
		frame.style.top = '-1000px';
		frame.style.left = '-1000px';

		document.body.appendChild(frame);
		
		if(window.attachEvent){
			frame.attachEvent('onload', function() { uploadCallback.call(frame); });
		}
		else{
			frame.addEventListener('load', function() { uploadCallback.call(frame); }, false);
		}

		return frame;
	}
	
	function createForm(formID,file) {
		if(!$("#"+formID).length) {
			var form = jQuery('<form  action="" method="POST" name="' + formID + '" id="' + formID + '" enctype="multipart/form-data"></form>');	
			jQuery(form).css('position', 'absolute');
			jQuery(form).css('top', '-1200px');
			jQuery(form).css('left', '-1200px');
			jQuery(form).appendTo('body');
			jQuery(form).attr('action', settings.uploadScript).attr('method', 'POST');
			if(form.get(0).encoding) { form.get(0).encoding = 'multipart/form-data'; }
			else { form.get(0).enctype = 'multipart/form-data'; }
		} else {
			var form = $("#"+formID).html("");
		}
		jQuery(file).before(jQuery(file).clone().val("").hide());
		form.append("<input type='hidden' name='name' value='"+jQuery(file).attr("name")+"' />");
		jQuery(jQuery(file)).appendTo(form);
		return form;
	}
	
	function reset() {
		var input = $(selector).find("input[type=file]").clone();
		$(selector).find("input[type=file]").remove();
		$(selector).append(input.val("").show());
		init(input);
	}
	
	function uploadCallback(frame) {
	
		if(loading) {
			loading = false;
		
			var frame = this;
		
			$(selector).find(".loading").remove();

			var json = $(frame).contents().find("body").text();
			
			eval("var file = "+json+";");
			
			
			if(!file.error) {

				var fileElement = $("<div class='file clear'>"+file.name+"</div>").css(settings.styles.file);
				fileElement.append("<input type='hidden' name='"+$(selector).find("input[type=file]").attr("name")+"[]'/>");
				var link = $("<a href='#' onclick=' return false;'>X</a>");
				fileElement.append("&nbsp;-&nbsp;");
				fileElement.append(link);
				fileElement.find("input").val(json);
				link.click(function(e) {
					e.preventDefault();
					$(this).parent().remove();
					reset();
				});
				
				$(selector).find("input[type=file]").before(fileElement);
				
				if(settings.multiple) { reset(); }
			
			} else {
				reset();
				alert(file.error);
			}
		
		}
	};
	
	function init(input) {
		var inputname = $(input).attr("name");
		var id = inputname + "_" + (new Date().getTime());
		var formID = "form"+id;
		var frameID = "frame"+id;
		
		$(input).change(function(e) {
			$(this).before("<img src='/statics/img/loading_upload.gif' class='loading' />");
			
			var frame = createFrame(frameID,inputname);
			var form = createForm(formID,this);
			form.attr('target', frameID);
            form.submit();
			loading = true;
		});
	}
	
	
	
	$(selector).find("div.file a").click(function(e) {
		e.preventDefault();
		$(this).parent().remove();
		reset();
	});
	
	$(selector).find("div.file").css(settings.styles.file);
	
	init($(selector).find("input[type=file]"));
	
};


var AjaxDialog = function(_opts) {
	
	_opts = jQuery.extend({
		"title" : "Créer un nouvel item",
		"postUrl" : "/admin/importers/add.json",
		"dialogUrl" : "/admin/importers/add.html #content",
		"dialogOpts" : {bgiframe:true},
		"removeElements" : "form .buttons, h1, fieldset.photo, fieldset.photos",
		"onLoad" : function() {},
		"onSuccess" : function() {},
		"onError" : function(error,$dlg) {
			$dlg.prepend("<div class='error'>"+error+"</div>");
			$dlg.scrollTo( '.error', 500, {offset:{top:-10}} );
		}
	}, _opts);
	
	var dlgOpts = jQuery.extend({
		"draggable":false,
		"resizable":false,
		"width":800,
		"minWidth":800,
		/*"height":$(window).height()-100,*/
		"height":550,
		"minHeight":550,
		"modal":true,
		"dialogClass":"dialog",
		"bgiframe":true,
		"buttons":{}
	},_opts.dialogOpts);
	dlgOpts.title = _opts.title;
	dlgOpts.buttons[((LANG == "fr") ? "Annuler":"Cancel")] = function() {
				$(this).dialog("destroy");
				$(this).remove();
	};
	dlgOpts.buttons[((LANG == "fr") ? "Envoyer":"Submit")] = function() {
		var $dlg = $(this);
		$dlg.find("div.error").remove();
		$dlg.find("#contactDiv").block({centerY:true});
		$.post(_opts.postUrl,$dlg.find("form").serialize(),function(data) {
			$dlg.find("#contactDiv").unblock();
			if(!data.error) {
				//$dlg.dialog("destroy");
				_opts.onSuccess.call($dlg,data);
				
			} else {
				_opts.onError.call($dlg,data.error);
				return;
			}
		},"json");
	};
	
	$("<div id='creatorDialog'>Chargement...</div>").load(_opts.dialogUrl,null,function(){
		$(this).find(_opts.removeElements).remove();
		_opts.onLoad.call($(this));
	}).dialog(dlgOpts);
	
	
	
};

jQuery.fn.extend({
	//////////////////////////////////////////////////
	//////Menu Expand
	//////////////////////////////////////////////////
	menuExpander: function() {
		var el = $(this);
		$(this).find("li").each(function() {
			if($(this).next("ul").length) {
				$(this).click(function(e) {
					
					e.preventDefault();
					if($(this).next("ul").is(":visible")) {
						$(this).next("ul").slideUp("fast");
						if($(this).find("a img").length) { $(this).find("img.icon").attr("src","/statics/img/expand.png"); }
					} else {
						$(this).parent().find("ul").slideUp("fast");
						$(this).parent().children("li").find("img.icon").attr("src","/statics/img/expand.png");
						$(this).next("ul").slideDown("fast");
						if($(this).find("a img").length) { $(this).find("img.icon").attr("src","/statics/img/contract.png"); }
					}
				});
			}
		});		
	},
	
	//////////////////////////////////////////////////
	//////Text Hints in input
	//////////////////////////////////////////////////
	hint: function() {
		$(this).focus(function() {
			if($(this).val() == $(this).attr("title")) {
				$(this).val("").removeClass("hasHint");
			}
		}).blur(function() {
			if(jQuery.trim($(this).val()) == "") {
				$(this).val($(this).attr("title")).addClass("hasHint")
			}
		});
		if(!$.trim($(this).val()).length) { $(this).val($(this).attr("title")).addClass("hasHint"); }
	}
	
});

//check email
function echeck(str) {

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		var invalid_email = "Adresse courriel invalide";
		if (LANG=="en") { var invalid_email = "Invalid email adress"; }
		
		if (str.indexOf(at)==-1){
		   $("#contacterror").text(invalid_email).fadeIn(1000);
		   $("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   $("#contacterror").text(invalid_email).fadeIn(1000);
		   $("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    $("#contacterror").text(invalid_email).fadeIn(1000);
			$("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    $("#contacterror").text(invalid_email).fadeIn(1000);
			$("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    $("#contacterror").text(invalid_email).fadeIn(1000);
			$("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    $("#contacterror").text(invalid_email).fadeIn(1000);
			$("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
			$("#contacterror").text(invalid_email).fadeIn(1000);
			$("#contactForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

 		 return true					
}

//check contact form
function check_form_contact() {

	//hide notice
	$("#contacterror").hide(); $("#contactnotice").hide(); $("#contactsuccess").hide();
	
	//toggle back all classes
	$("#contactForm input").removeClass("redbg");
	$("#contactForm textarea").removeClass("redbg");
	
	//check fields
	if ($("#contactForm input[name=nom]").val().length  == 0) {
   	if (LANG=="fr") { $("#contacterror").text("SVP entrez votre nom").fadeIn(1000); } else {
	$("#contacterror").text("Please enter your name").fadeIn(1000); }
	$("#contactForm input[name=nom]").addClass("redbg"); $("#contactForm input[name=msg]").focus();
	return false;
	}
	
	if ($("#contactForm input[name=tel]").val().length  == 0) {
   	if (LANG=="fr") { $("#contacterror").text("SVP entrez votre téléphone").fadeIn(1000); } else {
	$("#contacterror").text("Please enter your phone number").fadeIn(1000); }
	$("#contactForm input[name=tel]").addClass("redbg"); $("#contactForm input[name=msg]").focus();
	return false;
	}
	
	if ($("#contactForm textarea[name=msg]").val().length  == 0) {
   	if (LANG=="fr") { $("#contacterror").text("SVP entrez votre message").fadeIn(1000); } else {
	$("#contacterror").text("Please enter your message").fadeIn(1000);}
	$("#contactForm textarea[name=msg]").addClass("redbg"); $("#contactForm textarea[name=msg]").focus();
	return false;
	}
	
	
	//do check email function
	var emailID=$("#contactForm input[name=courriel]");
	
	if ((emailID.val()==null)||(emailID.val()=="")){
		if (LANG=="fr") { $("#contacterror").text("SVP entrez votre adresse courriel").fadeIn(1000); } else {
		$("#contacterror").text("Please enter your email address").fadeIn(1000); }
		$("#contactForm input[name=courriel]").addClass("redbg"); emailID.focus();
		return false
	}
	
	if (echeck(emailID.val())==false){
		emailID.focus();
		return false
	}
	
	return true
}