if(!console) {
	var console = {log:function(){}};
}


var Yushop_Base = function() {

	var t = this;
	var dft_code_url = "http://www.yushop.com/codes-reductions-promos.html";
	var dft_home_url = "http://www.yushop.com/";
	var wait = "Veuillez patienter...<br />Chargement du site en cours...";
	var fbConnected = false;
	var fbSession = [];
	var fbUser = [];
	var api = null;
	var con = null;
	var fb = null;
	var pu = '/proxy.php';
	var rl = function() { window.location.reload(); };
	var email_reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	var fb_perm_share_item = 0;
	var fb_perm_email = 0;


	this.PAGE_MODE = '';
	this.PAGE_CODE = '';
	this.PAGE_OBJECT_TYPE = '';
	this.PAGE_OBJECT_ID = 0;
	this.PAGE_SEARCH_STRING = '';

	// get code infos, log use, and redirect
	this.gci = function(cid) {
		$("#footer").hide();
		$("#main").html("");
		$("#waitcentral").html(wait).show();
		t.a({a:'gci',cid:cid}, function(cinf){
			if(cinf && cinf.url) {
				var r = /yushop.com/.test(document.referrer) ? document.referrer : dft_code_url;
				var h = t.gh();
				$("#main").html('<iframe name="ifrcode" id="ifrcode" src="'+cinf.url+'" marginwidth="0" marginheight="0" scrolling="auto" border="0" height="0" frameborder="0"></iframe>').css("margin", "0px");
				$("body").css('overflow', 'hidden');
				$("#ifrcode").attr("height", h).css("height", h).load(function(e){
					$("#waitcentral").hide();
					$("#code").html("Le code est : "+cinf.code);
					$(this).show();
					$("#wait").html('<a href="#top" onclick="window.location.href=\''+r+'\'; return false;"><img src="/img/house_go.png" />Revenir sur Yushop</a>&nbsp;<a href="#top" id="toggle-yushop" onclick="Yushop.reduceYushopPart(this); return false;"><img src="/img/application_get.png" />Réduire la partie du haut</a>');
				});
			}
		}, 'json');
	};

	// get product infos, log use, and redirect
	this.gpi = function(pid, cid) {
		if(!cid) var cid = 0;
		$("#footer").hide();
		$("#main").html("");
		$("#waitcentral").html(wait).show();
		t.a({a:'gpi',pid:pid, cid:cid}, function(pinf){
			if(pinf && pinf.product_url) {
				console.log("Prod url : %s", pinf.product_url);
				var r = /yushop.com/.test(document.referrer) ? document.referrer : dft_home_url;
				var h = t.gh();
				$("#main").html('<iframe name="ifrcode" id="ifrcode" src="'+pinf.product_url+'" marginwidth="0" marginheight="0" scrolling="auto" border="0" height="0" frameborder="0"></iframe>').css("margin", "0px");
				$("body").css('overflow', 'hidden');
				$("#ifrcode").attr("height", h).css("height", h).load(function(e){
					$("#waitcentral").hide();
					if(pinf.code) {
						$("#code").html("Code de réduction : "+pinf.code);
					}
					$(this).show();
					$("#wait").html('<a href="#top" onclick="window.location.href=\''+r+'\'; return false;"><img src="/img/house_go.png" />Revenir sur Yushop</a>&nbsp;<a href="#top" id="toggle-yushop" onclick="Yushop.reduceYushopPart(this); return false;"><img src="/img/application_get.png" />Réduire la partie du haut</a>');
				});
			}
		}, 'json');
	};

	// get sites infos, log use, and redirect
	this.gpgi = function(pid) {
		$("#footer").hide();
		$("#main").html("");
		$("#waitcentral").html(wait).show();
		t.a({a:'gpgi',pid:pid}, function(pinf){
			if(pinf && pinf.url) {
				var r = /yushop.com/.test(document.referrer) ? document.referrer : dft_home_url;
				var h = t.gh();
				$("#main").html('<iframe name="ifrcode" id="ifrcode" src="'+pinf.url+'" marginwidth="0" marginheight="0" scrolling="auto" border="0" height="0" frameborder="0"></iframe>').css("margin", "0px");
				$("body").css('overflow', 'hidden');
				$("#ifrcode").attr("height", h).css("height", h).load(function(e){
					$("#waitcentral").hide();
					$(this).show();
					$("#wait").html('<a href="#top" onclick="window.location.href=\''+r+'\'; return false;"><img src="/img/house_go.png" />Revenir sur Yushop</a>&nbsp;<a href="#top" id="toggle-yushop" onclick="Yushop.reduceYushopPart(this); return false;"><img src="/img/application_get.png" />Réduire la partie du haut</a>');
				});
			}
		});
	};

	// invite friends
	this.ivf = function() {
		$("#main").append('<fb:multi-friend-selector actiontext="Select the friends you want to invite. (All of them.)" rows="3"/>');
	};

	// post comment
	this.pc = function(comment) {
		t.a({a:'pc', u:comment.user, c:comment.post,
			pm : t.PAGE_MODE,
			pc : t.PAGE_CODE,
			pot : t.PAGE_OBJECT_TYPE,
			poi : t.PAGE_OBJECT_ID,
			pss : t.PAGE_SEARCH_STRING
		});
	}

	this.share = function(obj, u) {

		var u = u || window.location.href;
		if(!fbConnected) {
			this.rs(function(){
				t.share(obj, u);
			});
			return;
		}

		if(!fb_perm_share_item) {
			t.gmp("share_item", function(shared){
				if(shared) {
					t.share(obj, u);
				}
			});
			return;
		}
		var com = prompt("Ajouter un commentaire à ce lien : ");
		if(com == null) {
			console.log(com);
			return;
		}
		console.log(com);
		this.a({a:'sh',u:u,c:com}, function(data){
			console.log(data);
			$(obj).val("Lien partagé. Merci.").get(0).disabled = true;
			$.growl("Page partagée.", "Cette page a bien été partagée avec vos amis. Merci.");
		});
	};

	// log keyword serach
	this.lks = function(kw) { t.a({a:"log_kw", k:kw}); };
	// log product view
	this.lpv = function(pid) { t.a({a:"log_pv", p:pid}); };
	// log program view
	this.lpgv = function(pid) { t.a({a:"log_pgv", p:pid}); };
	this.lctv = function(cid) { t.a({a:"log_ctv", cid:cid}); };
	// love
	this.lov = function(ob, type, id) {
		t.a({a:"love", type:type, id:id}, function(data){
			$(ob).val("Enregistré. Merci").get(0).disabled = true;
			FB.Connect.showFeedDialog(data.template_bundle_id, data.tokens, [], "", null,
			FB.RequireConnect.require, function(){$.growl("Enregistrement OK.", "Vous retrouverez cet élément sur votre page Yushop");}, "Ajoutez votre commentaire");
		});
	};

	this.book = function(ob, type, id) {
		console.log("book");
		if(!fbConnected) {
			this.rs(function(){
				t.book(ob, type, id);
			});
			return;
		}

		t.a({a:"bookmark", type:type, id:id}, function(data){
			$(ob).val("Enregistré. Merci").get(0).disabled = true;
			FB.Connect.showFeedDialog(data.template_bundle_id, data.tokens, [], "", null,
			FB.RequireConnect.require, function(){$.growl("Enregistrement OK.", "Vous retrouverez cet élément sur votre page Yushop");}, "Ajoutez votre commentaire");
		});
	};



	// render back button
	this.rb = function() {
		if($("div.backbt").length) {
			var r = /yushop.com/.test(document.referrer) ? "history.back()" : "window.location.href='http://www.yushop.com'";
			$("div.backbt").html('<input type="button" class="bt backbt" value="&laquo; Retour" onclick="'+r+'" />');
		}
		return this;
	};


	this.go = function(u) {
		window.location.href = u;
	};

	this.reduceYushopPart = function(o) {
		if($(o).html() == '<img src="/img/application_get.png">Réduire la partie du haut') {
			$(o).html('<img src="/img/application_put.png" />Montrer la partie du haut');
			var h = t.gh(true);
			$("#ifrcode").attr("height", h).css("height", h);
			$("#part-top").toggle();
		}else{
			$(o).html('<img src="/img/application_get.png" />Réduire la partie du haut');
			var h = t.gh()
			$("#ifrcode").attr("height", h).css("height", h);
			$("#part-top").toggle();
		}
	};

	this.gh = function(closed) {
		return (closed) ? ($(window).height() - 30) + "px" : ( $(window).height() - ($("#part-top").outerHeight(true) + $("#search-status").outerHeight(true) + 5) ) + "px";
	};


	this.init = function() {
		// get right menu
		api = FB.Facebook.apiClient;
		fb = FB.Facebook;
		con = FB.Connect;

		$.ajaxSetup({
			cache	:	false,
			global	:	false,
			type	:	'GET',
			url		:	pu,
			dataType:	"json"
		});


		$('.btn').each(function(){
			var b = $(this);
			var tt = b.text() || b.val();
			if ($(':submit,:button',this)) {
				b = $('<a>').insertAfter(this). addClass(this.className).attr('id',this.id);
				b.click(function(){
					$(this).parent('form').submit();
				});
				$(this).remove();
			}
			b.text('').css({cursor:'pointer'}). prepend('<i></i>').append($('<span>').text(tt).append('<i></i><span></span>'));
 		});

 		var search = '';
 		if(document.location && document.location.search) {
 			var search = document.location.search.substr(1);
 		}

		t.a({a:"gm", s:search}, function(data){
			console.log(data);
			if(data && data.l) {
				$("#dyn-left-menu").html(data.l);
			}
			if(data && data.r) {
				$("#dyn-right-menu").html(data.r);
			}
			if(data && data.s) {
				t.splash(data.s);
			}

			fbConnected = data.logged;
			if(fbConnected) {
				$("a.fb").show();
			}
			$(".dyn-menu a.tip").tooltip({track: true, delay: 0, showURL: false,showBody: " | "});
		});
		return this;
	};


	this.a = function(data, callback) {
		$.ajax({data:data, success:callback, error:callback});
	};

	// require session
	this.rs = function(callback) {
		console.log("requireSession(%o)", callback);
		con.requireSession(function(exception){
			if(exception) {
				console.log(exception);
				return;
			}
			t.ol(callback);
		});
	};

	// get more permissions
	this.gmp = function(perm, callback) {
		if(!perm) var perm = "email";
		con.showPermissionDialog(perm, function(perm_accepted){
			if(perm_accepted) {
				eval("fb_perm_"+perm+" = 1");
				t.a({a:'up',perm:perm,perm_val:1}, callback);
			}else if(callback && typeof(callback) == 'function'){
				callback.call(t);
			}
		});
	};

	this.bmk = function() {
		var url = "http://www.yushop.com";
		var title = "Yushop : Shopping et Réductions";

		if (window.sidebar)   // Firefox
			window.sidebar.addPanel(title,url,"");
		else if (window.opera && window.print){   // Opera
			var elem = document.createElement('a');
			elem.setAttribute('href',url);
			elem.setAttribute('title',title);
			elem.setAttribute('rel','sidebar');
			elem.click();
		}else if (document.all)   // IE
			window.external.AddFavorite(url,title);
		else alert("Ajoutez Yushop à vos favoris en tapant Ctrl+D");

		return false;
	};

	this.em = function() {
		window.location.href = 'mailto:%6D%61%74%74%40%61%6C%6C%74%79%2E%63%6F%6D';
		return false;
	};


	// logout
	this.lo = function() {
		con.logout(rl);
		return false;

		t.a({a:'lgo'}, function(data){
			con.logout(rl);
		});
		return false;
	};

	// ol : on login
	this.ol = function(callback) {
		console.log("onLogin(%o)", callback);
		fbConnected = true;
		t.a({a:'gui',fb_uids:0}, function(data){
			if(data.processed != "Y") {
				t.pcp(rl);
				return;
			}
			if(data.fb_perm_email == "0") {
				t.gmp("email", callback);
				return;
			}
			if(typeof(callback) == 'function') {
				console.log("calling callback(%o)", callback);
				callback.call(t);
			}else{
				rl();
			}
		});
	};


	var cps = function() {

		var allok = true;

		var email = $("#cp_email").val();
		var reg = email_reg.test(email);

		if(email == "email@domaine.com" || reg == false) {
			allok = false;
			$("#cp_email").css("border", "1px solid red");
		}else{
			$("#cp_email").css("border", "none");
		}

		var mob = $("#cp_mobile").val();
		if(mob != "06" && mob != "") {
			var reg = /06[0-9]{8}/.test(mob);
			if(reg == false) {
				allok = false;
				$("#cp_mobile").css("border", "1px solid red");
			}else{
				$("#cp_mobile").css("border", "none");
			}
		}

		if($("#optok").get(0).checked == false && $("#optko").get(0).checked == false) {
			allok = false;
			$("#receive_plans").css("color", "red");
		}else{
			$("#receive_plans").css("color", "#505050");
		}

		if(!allok) {
			$("#cp_status").html("<b>Veuillez compléter les champs en rouge</b>").css("color", "red");
		}
		return allok;
	};

	// prompt complete profile
	this.pcp = function(callback) {
		var callback = callback || null;
		$.prompt('<h2>Complétez votre profil</h2><span style="color:green" id="cp_status">Veuillez compléter votre profil avant de continuer :</span>'+
				'<h3><img src="/img/email_add.png" />Adresse email</h3><span class="explain">Pour recevoir les dernières offres et codes promos, récupérer votre mot de passe si vous le perdez, et pour tout autre contact. Pas de spam.</span><br />'+
				'<input type="text" name="email" id="cp_email" value="email@domaine.com" onfocus="this.value=\'\';" class="txt" style="width:300px" /><hr />'+
				'<h3><img src="/img/phone.png" />Numéro de téléphone mobile</h3><span class="explain">Pour recevoir les alertes par SMS et profiter de nos bons plans.</span><br />'+
				'<input class="txt" type="text" id="cp_mobile" maxlength="10" name="mobile_phone" value="06" /><hr />'+
				'<h3><img src="/img/emoticon_grin.png" />Profitez des réductions et bon plans Yushop </h3>'+
				'<span id="receive_plans">Recevoir gratuitement nos bons plans et réductions :</span> <input type="radio" name="email_optin" id="optok" value="1" /> <label for="optok" class="yes">Oui</label>'+
				'&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="optko" name="email_optin" value="0" /> non<hr />',
			{   buttons: { Continuer : "bla" } ,
				submit : cps,
				callback : function(m,v,f){
					$.growl("Préférences enregistrées", "Vos préférences ont été enregistrées. Merci.");
					if(f) {
						t.a({a		: 'cp',
							email 	: f.email,
							mobile 	: f.mobile_phone,
							optin 	: f.email_optin
						}, callback);
					}else{
						callback.call(t);
					}
				}
			}
		);
	};


	var inss = function(m,v,f) {
		var allok = true;

		//else $.prompt.goToState('state1');//go forward

		if(m === false) {
			// cancel button has been pressed
			return allok;
		}

		console.log("Calling inss(%o, %o, %o)", m, v, f);

		if($("#cp_prenom").val() == "") {
			allok = false;
			$("#cp_prenom").css("border", "1px solid red");
		}
		if($("#cp_nom").val() == "" ) {
			allok = false;
			$("#cp_nom").css("border", "1px solid red");
		}

		var email = $("#cp_email").val();
		var reg = email_reg.test(email);
		if(email == "email@domaine.com" || reg == false) {
			allok = false;
			$("#cp_email").css("border", "1px solid red");
		}else{
			$("#cp_email").css("border", "none");
		}

		if($("#cp_gender").val() == "" ) {
			allok = false;
			$("#cp_gender").css("border", "1px solid red");
		}
		if($("#cp_password").val() == "" ) {
			allok = false;
			$("#cp_password").css("border", "1px solid red");
		}


		if($("#optok").get(0).checked == false && $("#optko").get(0).checked == false) {
			allok = false;
			$("#receive_plans").css("color", "red");
		}else{
			$("#receive_plans").css("color", "#505050");
		}

		if(!allok) {
			$("#cp_status").html("<b>Veuillez compléter les champs en rouge</b>").css("color", "red");
		}else{
			insc(true,v,f);

		}
		return false;
	};



	var fininss = function(m,v,f) {
		var allok = true;
		if(m === false) {
			// cancel button has been pressed
			return allok;
		}

		if(f.cp_activation_code == "") {
			alert("Veuillez consulter votre boite email afin de connaitre votre code d'activation.");
			return false;
		}

		t.a({
			a : 'vac',
			activation_code :	f.cp_activation_code,
			account_id : f.account_id
		}, function(data){
			if(data.error) {
				alert(data.err_str);
				$("#cp_activation_code").select();
			}else{
				$.prompt.goToState('state2');
			}
		});
		return false;
	};

	var insc = function(m,v,f) {
		console.log("Calling insc(%o, %o, %o)", m, v, f);
		if(m == false) {
			return false;
		}
		t.a({a		: 'ins',
			email 	: f.email,
			firstname 	: f.cp_prenom,
			lastname 	: f.cp_nom,
			password 	: f.cp_password,
			gender 	: f.cp_gender,
			optin 	: f.email_optin
		}, function(data){
			console.log("data = %o", data);
			if(!data || !data.html) {
				alert("Une erreur s'est produite. Veuillez recommencer. Merci de votre compréhension.");
				return;
			}
			var $state = jQuery.prompt.getStateContent("state1");
			$state.find('.jqimessage').html(data.html);
			console.log("callback called with data=%o", data);
			$.prompt.goToState('state1');
			$("#cp_activation_code").get(0).focus();
		});
	};

	this.splash = function(content, do_not_show_again) {
		if($("#splash:visible").length) {
			$("#splash, #splash-cnt").hide();
			if(do_not_show_again) {
				$.cookie('nosplash_sub', '1', { expires: 7, path: '/', domain: 'yushop.com'});
			}
			return;
		}
/*
		if(!content) {
			var content = 	"<h2>Enregistrez vous sur Yushop en 1 clic avec votre compte Facebook !</h2>"+
							'<div class="content cl">'+
							'<h3><img src="/img/money.png" /> Augmentez votre pouvoir d\'achat facilement</h3>'+
							'<p>'+
							'<img src="/img/tag_orange.png" /> Des codes de réductions toute l\'année !<br />'+
							'</p>'+
							'<h3><img src="/img/world.png" /> Sur vos boutiques préférées</h3>'+
							'<p>'+
							'<img src="/img/house.png" /> Plus de 400 boutiques référencées<br />'+
							'<img src="/img/images.png" /> Plus de 1,800,000 produits référencés<br />'+
							'</p>'+
							'<h3><img src="/img/group.png" /> Découvrez le 1<sup>er</sup> service de &laquo;social-shopping&raquo; !</h3>'+
							'<p>'+
							'<img src="/img/facebook.png" /> Interactivité totale avec Facebook<br />'+
							'<img src="/img/group_go.png" /> Partagez vos bon plans, réductions, boutiques préférées<br />'+
							'<img src="/img/magnifier.png" /> Découvrez ce qu\'aime et ce qu\'achète vos amis<br />'+
							'</p>'+
							'<div style="text-align:right; margin-right:25px;"><a href="#" class="button button-orange fln"><span class="accept">Inscription GRATUITE en 1 clic &raquo;</span></a>'+
							'<br /><a href="/" onclick="Yushop.splash();return false;" class="ft bln">Fermer</a> | <a href="/" onclick="Yushop.splash(false, true);return false;" class="ft bln">Ne plus montrer</a></div></div>';
		}
		*/

		$("#splash").css({
			opacity :0.7,
			height  :$(window).height(),
			width   :$(window).width()
		}).show();
		var l = (($(window).width()-590)/2) + "px";
		$("#splash-cnt").css({left:l}).html(content).show();
	};

	this.ins = function(callback) {

		var callback = callback || rl;

		console.log(callback);

		var temp = {

			state0: {
				html:'<h2>Créer un compte Gratuitement sur Yushop</h2><span style="color:green" id="cp_status">Complétez le formulaire et choisissez un mot de passe pour votre compte.</span>'+
				'<table><tr><td><h3><img src="/img/user_male.png" />Prénom</h3><input type="text" name="cp_prenom" id="cp_prenom" value="" class="txt" style="width:165px" /></td>'+
				'<td><h3>Nom</h3><input type="text" name="cp_nom" id="cp_nom" value="" class="txt" style="width:165px" /></td></tr></table>'+
				'<table><tr><td colspan="2"><h3><img src="/img/email_add.png" />Adresse email</h3>'+
				'<input type="text" name="email" id="cp_email" value="email@domaine.com" onfocus="this.value=\'\';" class="txt" style="width:345px" /><br /><span class="explain"><b>Attention</b> : Email valide obligatoire pour la validation du compte.</span>'+
				'</td></tr></table>'+

				'<table><tr><td><h3><img src="/img/group.png" />Vous êtes...</h3><select style="width:175px" class="txt" name="cp_gender"><option value="">--- Sélectionnez ---</option><option value="male">Un homme</option><option value="female">Une femme</option></select></td>'+
				'<td><h3><img src="/img/lock.png" />Mot de passe</h3>'+
				'<input class="txt" type="password" id="cp_password" maxlength="15"  name="cp_password" value="" /></td></tr></table>'+
				'<h3><img src="/img/emoticon_grin.png" />Profitez des réductions et bon plans Yushop </h3>'+
				'<span id="receive_plans">Recevoir gratuitement nos bons plans et réductions :</span> <input type="radio" name="email_optin" id="optok" value="1" /> <label for="optok" class="yes">Oui</label>'+
				'&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="optko" name="email_optin" value="0" /> non<hr />',
				focus	: 1,
				buttons	: { Annuler : false , "Continuer &raquo;" : 1} ,
				callback: insc,
				submit	: inss
			},
			state1 : {
				html:'',
				buttons: { "Annuler": 0, "Continuer &raquo;": 1 },
				focus: 1,
				submit : fininss
			},
			state2 : {
				html:'<h2>Merci et bienvenue sur Yushop !</h2>Votre compte est maintenant validé. Cliquez sur le bouton fermer pour continuer.',
				buttons: { "Fermer": 1 },
				focus: 0,
				submit : callback
			}
		};

		$.prompt(temp, {show : "show", overlayspeed : "fast"});
		setTimeout(function() {  $("#cp_prenom").get(0).focus(); }, 500);
	};


	var logins = function(m,v,f) {

		console.log("m=%o, v=%o, f=%o", m, v, f);

		if(m == 0)  {
			return true;
		}

		var reg = email_reg.test(f.email);
		if(f.email == "" || f.cp_password == "" || reg == false) {
			alert("Les données entrées semblent fausses. Veuillez vérifier les informations fournies.");
			$("#cp_email").focus();
		}else{
			console.log("m=%o, v=%o, f=%o", m, v, f);
			t.a({a:'lgi', email:f.email, password:f.cp_password}, function(data){
				console.log(data);
				if(!data || !data.uid)  {
					$("#cp_status").html('<span class="red">Email ou mot de passe incorrect. Veuillez vérifier les informations fournies.</span>');
					$("#cp_email").focus();
				}else{
					return true;
				}
			});
		}
		return false;
	};

	this.login = function(callback) {
		var callback = callback || rl;
		$.prompt('<h2>Connexion à votre compte Yushop</h2><span style="color:green" id="cp_status">Veuillez vous identifier avec votre compte Yushop.</span>'+
				'<h3><img src="/img/email_add.png" />Adresse email</h3>'+
				'<input type="text" name="email" id="cp_email" value="" class="txt" style="width:300px" />'+
				'<h3><img src="/img/lock.png" />Mot de passe</h3>'+
				'<input class="txt" type="password" id="cp_password" maxlength="15"  name="cp_password" style="width:300px" value="" />'+
				'<p></p><p></p>',
		{   buttons: { "Annuler" : 0, "Continuer &raquo;" : 1 } ,
			submit : function(m,v,f) {
				console.log("m=%o, v=%o, f=%o", m, v, f);
				if(m == 0)  {
					return true;
				}
				var reg = email_reg.test(f.email);
				if(f.email == "" || f.cp_password == "" || reg == false) {
					alert("Les données entrées semblent fausses. Veuillez vérifier les informations fournies.");
					$("#cp_email").focus();
				}else{
					console.log("m=%o, v=%o, f=%o", m, v, f);
					t.a({a:'lgi', email:f.email, password:f.cp_password}, function(data){
						console.log(data);
						if(!data || !data.uid)  {
							$("#cp_status").html('<span class="red">Email ou mot de passe incorrect. Veuillez vérifier les informations fournies.</span>');
							$("#cp_email").focus();
						}else{
							callback.call(t);
						}
					});
				}
				return false;
			},

			show : "show",
			focus : 1,
			overlayspeed : "fast"
		});
		$("#cp_email").focus();
	};

	// submit contact from
	this.scf = function() {
		var is_error = false;
		$("#contact_status").removeClass("red").html("");
		$("table.contact input[type!=submit], table.contact select").removeClass("error");

		/*each(function(i, el){
			$(this).removeClass("error");
		});
		*/


		if($("#ask_from_type").val() == "") {
			$("#ask_from_type").addClass("error");
			is_error = true;
		}
		if($("#ask_from_type").val() == "Societe" && $("#ask_company_name").val() == "") {
			$("#ask_company_name").addClass("error");
			is_error = true;
		}
		if($("#ask_firstname").val() == "") {
			$("#ask_firstname").addClass("error");
			is_error = true;
		}
		if($("#ask_lastname").val() == "") {
			$("#ask_lastname").addClass("error");
			is_error = true;
		}

		var email_reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if(!email_reg.test($("#ask_email").val())) {
			$("#ask_email").addClass("error");
			is_error = true;
		}

		if($("#ask_type").val() == "") {
			$("#ask_type").addClass("error");
			is_error = true;
		}

		if($("#ask_msg_object").val() == "") {
			$("#ask_msg_object").addClass("error");
			is_error = true;
		}
		if($("#ask_msg_body").val() == "") {
			$("#ask_msg_body").addClass("error");
			is_error = true;
		}

		if(is_error) {
			$("#contact_status").addClass("red").html("Veuillez compléter les champs marqués en rouge.&nbsp;&nbsp;&nbsp;");
			return false;
		}

		$("#rnd_key").val(Math.random());

		return true;
	};


};
var Yushop = new Yushop_Base();