/*********************
*** INITIALISATION ***
*********************/
var root = 'http://www.inoki-piercing.fr';
var mt = null;
var poscli5;
var poscli6;
// FONCTION VIDE
dn=function(){}

// *** NAVIGATE INNERPAGE *** OK
//navTo=function(dest){if(dest=='hdp'){pos=[0,0];}else{var pos=$(dest).cumulativeOffset();pos[1]-=36;}window.scrollTo(0,pos[1]);return true;}
navTo=function(d) {new Effect.ScrollTo(d,{offset:-6,duration:.5});}

dlCat=function(id,ctype,url){var ctype=ctype||'par';new Ajax.Request('ajax/loadcat.php',{method:'get',encoding:'iso-8859-15',parameters:$H({id:id,ctype:ctype}).toQueryString(),onFailure:function(){alert('Une erreur inconnue s\'est produite...\n\nMerci de recommencer plus tard');},onSuccess:function(requester){downLoad(url);}});}
// *** DOWNLOAD DE FICHIER *** OK
downLoad=function(c,f){var f=f||'';location.href='upload.php?chemin='+c+'&filename='+f;}
// *** OUVERTURE URL EXTERNE *** OK
popURL=function(d){window.open(d,'');return false;}
// *** BROWSER *** OK
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8 3={d:7(){2(4.3.a){1\'a\'}2(4.3.b){1\'b\'}2(4.3.m){1\'h\'}2(4.3.j){1\'c\'}2(4.3.f){1\'f\'}},5:7(){8 9=$w(k.l);i(3.d()){6\'a\':6\'c\':6\'b\':1 9[0];e;6\'h\':9.n(7(s,v){2(s.g().y(\'5\')){8 5=s.g().u(\'5/\',\'\')}});1 5;e}},t:7(){2(!o.p()){1 q}r{1 x}}};',35,35,'|return|if|Browser|Prototype|version|case|function|var|stra|IE|Opera|Mozilla|type|break|MobileSafari|toLowerCase|Safari|switch|Gecko|navigator|appVersion|WebKit|each|Ajax|getTransport|false|else||ajax|gsub|index||true|startsWith'.split('|'),0,{}))
// *** VERIFICATION DE VALIDITE D'ADRESSE EMAIL *** OK
isEmail=function(a){if(a.toLowerCase().startsWith('www.')){return false;}
if(a.toLowerCase().endsWith('@gmail.fr')){return false;}
var b=1;var c=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|fr)$/;var d=/^(.+)@(.+)$/;var e="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var f="\[^\\s"+e+"\]";var g="(\"[^\"]*\")";var h=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var j=f+'+';var k="("+j+"|"+g+")";var l=new RegExp("^"+k+"(\\."+k+")*$");var m=new RegExp("^"+j+"(\\."+j+")*$");var n=a.match(d);if(n==null){return false;}
var o=n[1];var p=n[2];for(i=0;i<o.length;i++){if(o.charCodeAt(i)>127){return false;}}
for(i=0;i<p.length;i++){if(p.charCodeAt(i)>127){return false;}}
if(o.match(l)==null){return false;}
var q=p.match(h);if(q!=null){for(var i=1;i<=4;i++){if(q[i]>255){return false;}}
return true;}
var r=new RegExp("^"+j+"$");var s=p.split(".");var t=s.length;for(i=0;i<t;i++){if(s[i].search(r)==-1){return false;}}
if(b&&s[s.length-1].length!=2&&s[s.length-1].search(c)==-1){return false;}
if(t<2){return false;}
return true;}

isPass=function(a) {if((a.length<5)||(a.length>20)){return false;} if (a.gsub(/[0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-_+=*.#&§!?]/,'')==''){return true;} return false;}
// *** TOOLTIPS ***
tipInit = function() {
	$('hdp').insert(new Element('div', {id:'tipDiv'}));
	$('tipDiv').hide();
}
showTip = function(o,c,l,t) {
	if (!$('tipDiv')) { tipInit(); }
	var p = $(o).cumulativeOffset();
	var l=l||10;
	var t=t||23;
	$('tipDiv').update(c);
	$('tipDiv').style.left = (p['left']+l)+'px';
	$('tipDiv').style.top = (p['top']+t)+'px';
	$('tipDiv').show();
}
endTip = function() {
	if ($('tipDiv')) { $('tipDiv').hide(); }
}


// RELOAD DE BARRE FIXED
reBar = function() {
	new Ajax.Request('ajax/rebar.php', {
		method: 'get',
		onSuccess: function(q) {
			var rep = new Array();
			eval(q.responseText);
			if (rep['status'] == 'ok') {
				$('headmenu').update(rep['html']);
			}
		}
	});
}


/**************************
*** FONCTIONS CATALOGUE ***
**************************/
popImage = function(objet, path, titre) {
	// ouverture sur l'objet (null pour milieu de page)
	//hs.Expander.prototype.onAfterExpand = function() {}
	hs.expand(objet,{
		fadeInOut: true,
		captionText: titre,
		outlineType: 'rounded-white',
		src: path});
	return;
}

/**********************************
*** FONCTION D'AFFICHAGE DE POP ***
**********************************/
popMsg = function(o, t, m, a) {
	clearTimeout(mt);
	var o = o||null;
	var m = m||'';
	hs.htmlExpand(o,{
		fadeInOut: true,
		captionText: t,
		outlineType: 'rounded-white',
		maincontentText: '<div id="popMsg">'+m+'</div>',
		width: 300
	});
	if (parseInt(a) > 0) {
		mt = setTimeout('hs.close();', (a * 1000));
	}
}
// *****************
// *** CONNEXION ***
// *****************
modal2connect = function() {
	hs.Expander.prototype.onAfterExpand = function() {
		$('email').observe('keydown',chkEKcon.bindAsEventListener('email'));
		$('password').observe('keydown',chkEKcon.bindAsEventListener('password'));
		if (!isEmail($F('email'))) {
			$('email').focus();
		}
		else {
			$('password').focus();
		}
	}
	hs.htmlExpand(null, {
		fadeInOut: true,
		captionText: 'Connexion...',
		outlineType: 'rounded-white',
		objectType: 'ajax',
		src: './ajax/connect.php?a=L',
		width: 420
	});
	return true;
}
chkEKcon=function(event){
	if(event.keyCode==Event.KEY_RETURN){try2con();}
}
try2con = function() {
	var email = $F('email').strip();
	var pwd = $F('password').strip();
	if (email == '') {
		$('email').focus();
		return false;
	}
	if (pwd == '') {
		$('password').focus();
		return false;
	}
	if (!isEmail(email)) {
		$('ajWarn').update('Cette adresse email n\'est pas valide !');
		hs.getExpander('conForm').reflow();
		$('email').focus();
	}
	else if (!isPass(pwd)) {
		$('ajWarn').update('Ce mot de passe n\'est pas valide !');
		hs.getExpander('conForm').reflow();
		$('password').focus();
	}
	else {
		$('conForm').disable();
		$('ajWarn').update('<img src="graphs/gif/spinfb.gif" width="16" height="11" />');
		hs.getExpander('conForm').reflow();
		new Ajax.Request('ajax/connect.php', {
			method: 'get',
			encoding: 'iso-8859-15',
			parameters: $H({
				email: email,
				pwd: pwd,
				a: 'I'
			}).toQueryString(),
			// script trouvé
			onSuccess: function(q) {
				eval(q.responseText);
				// do something OK
				switch(rep['r']){
					//case 'hack':
					case 'erremail':
						$('ajWarn').update('Cette adresse email n\'est pas valide !');
						$('conForm').enable();
						$('email').focus();
						break;
					case 'errpwd':
						$('ajWarn').update('Ce mot de passe n\'est pas valide !');
						$('conForm').enable();
						$('password').focus();
						break;
					case 'unknown':
						$('ajWarn').update('Il n\'existe aucun compte avec cette adresse email...');
						$('conForm').enable();
						$('email').focus();
						break;
					case 'standby':
						$('ajWarn').update('Votre compte est actuellement suspendu...<br /><br />Merci de nous contacter au plus vite...');
						$('conForm').enable();
						$('email').focus();
						break;
					case 'onthewait':
						$('ajWarn').update('Votre demande de compte professionnel est en cours de vérification ; vous recevrez très prochainement<br />un email de nos services...');
						$('conForm').enable();
						$('email').focus();
						break;
					case 'wrongpwd':
						$('ajWarn').update('Ce mot de passe est erroné...');
						$('conForm').enable();
						$('password').focus();
						break;
					case 'ok':
						// on cookise
						Cookie.set('email', email, 365, 'days');
						cook.each(function(s) {
							var exp = s.split(/:/);
							Cookie.set(exp[0],exp[1]);
						});
						$('conForm').enable();
						hs.close();
						// on charge le contenu de la barre ou on recharge la page entière
						if ($('oli') && ($F('oli') == 'reflow')) {
							setTimeout('document.location.reload(true);',300);
						}
						else {
							new Ajax.Request('ajax/connect.php', {
								method: 'get',
								encoding: 'iso-8859-15',
								parameters: $H({
									a: 'B'
								}).toQueryString(),
								onFailure: function() {
									popMsg(null, 'Erreur', 'Nous sommes désolés...<br />Un erreur inconnue s\'est produite, merci de recommencer...', 7);
								},
								onSuccess: function(q) {
									var r = q.responseText;
									$('headmenu').update(r);
								}
							});
							showTip('cli1','<div class="center">Vous êtes connecté(e)...<br />Cette barre vous permet à tout moment de gérer votre compte, votre panier ou vos produits favoris... Bonne visite !</div>',100,44);
							setTimeout("new Effect.Fade('tipDiv',{duration:2});",7000);
						}
						break;
					default:
						$('ajWarn').update(rep['r']);
						$('conForm').enable();
				} // switch
				hs.getExpander('conForm').reflow();
			},
			// Réponse 404
			onFailure: function (){
				// do something BAD
				$('conForm').enable();
				$('ajWarn').update('Nous sommes désolés...<br />Un erreur inconnue s\'est produite, merci de recommencer...');
				hs.getExpander('conForm').reflow();
				$('email').focus();
			}
		});
	}

}
c2lost = function() {
	Cookie.set('email',$F('email'),365,'days');
	hs.getExpander('conForm').close();
	setTimeout('modal2lostpwd();', 300);
}
dconnect = function() {
	var cs = ['type','md5','status','id'];
	cs.each(function(s) {Cookie.erase(s);});
	if ($('olo')) {
		switch($F('olo')){
			case 'reflow':
				document.location.reload(true);
				break;
			case 'exit':
				document.location.href = root;
				break;
		}
	}
	else {
		new Ajax.Request('ajax/connect.php', {
			method: 'get',
			encoding: 'iso-8859-15',
			parameters: $H({
				a: 'O'
			}).toQueryString(),
			onFailure: function() {
				popMsg(null, 'Erreur', 'Nous sommes désolés...<br />Un erreur inconnue s\'est produite, merci de recommencer...', 7);
			},
			onSuccess: function(q) {
				$('headmenu').update(q.responseText);
			}
		});
	} // endif
}
// **************************
// *** MOT DE PASSE PERDU ***
// **************************
modal2lostpwd = function() {
	hs.htmlExpand(null, {
		fadeInOut: true,
		captionText: 'J\'ai perdu mon mot de passe...',
		outlineType: 'rounded-white',
		objectType: 'ajax',
		src: './ajax/lostpwd.php',
		width: 400
	});
	return true;
}
cleanWarn = function(f) {
	if($('ajWarn').innerHTML != '') {
		$('ajWarn').update();
		hs.getExpander(f).reflow();
	}
}
findPwd = function() {
	var email = $F('email').strip();
	if (email == '') { $('email').focus(); return false; }
	if (!isEmail(email)) {
		$('ajWarn').update('Cette adresse email n\'est pas valide !');
		hs.getExpander('pwdForm').reflow();
		$('email').focus();
	}
	else {
		$('pwdForm').disable();
		$('ajWarn').update('<img src="graphs/gif/spinfb.gif" width="16" height="11" />');
		hs.getExpander('pwdForm').reflow();
		new Ajax.Request('ajax/lostpwd.php', {
			method: 'get',
			encoding: 'iso-8859-15',
			parameters: $H({
				email: $F('email'),
				action: 'check'
			}).toQueryString(),
			// script trouvé
			onSuccess: function(q) {
				var r = q.responseText;
				// do something OK
				switch(r){
					case 'hack':
						$('ajWarn').update('Cette adresse email n\'est pas valide !');
						$('pwdForm').enable();
						$('email').focus();
						break;
					case 'erremail':
						$('ajWarn').update('Une erreur s\'est produite lors de l\'envoi de l\'email...<br /><br />Si cette erreur se reproduisait, merci de nous contacter...');
						$('pwdForm').enable();
						break;
					case 'ok':
						$('ajWarn').update('Votre mot de passe vient de vous être envoyé par email...<br /><br />ATTENTION : Notre email peut être considéré comme courrier indésirable par votre messagerie...');
						setTimeout('hs.close();', 15000);
						break;
					case 'unknown':
						$('ajWarn').update('Il n\'existe aucun compte avec cette adresse email...');
						$('pwdForm').enable();
						$('email').focus();
						break;
					case 'standby':
						$('ajWarn').update('Votre compte est actuellement suspendu...<br /><br />Merci de nous contacter au plus vite...');
						$('pwdForm').enable();
						$('email').focus();
						break;
					case 'onthewait':
						$('ajWarn').update('Votre demande de compte professionnel est en cours de vérification ; vous recevrez très prochainement<br />un email de nos services...');
						$('pwdForm').enable();
						$('email').focus();
						break;
					default:
						$('ajWarn').update(r);
				} // switch
				hs.getExpander('pwdForm').reflow();
			},
			// Réponse 404
			onFailure: function (){
				// do something BAD
				$('pwdForm').enable();
				$('ajWarn').update('Nous sommes désolés...<br />Un erreur inconnue s\'est produite, merci de recommencer...');
				hs.getExpander('pwdForm').reflow();
				$('email').focus();
			}
		});
	}
}
/*** CONVERSION MONNAIE ***/
curConv=function(o,a){if(parseFloat(a)<=0){return false;}hs.htmlExpand(o,{fadeInOut:true,captionText:'<center>&euro;uro conversion</center>',outlineType:'rounded-white',objectType:'ajax',src:'./ajax/curconv.php?a='+a,width:200});return true;}
// ****************************
// *** GENERATION DES MENUS ***
// ****************************
init = function() {
	mt = null;
	if (!menus) { return false; }
	// le menu
	$$('droppedmenu').each(function(s){s.remove();});
	menus.each(function(s,i) {
		if (!$('dropped'+i)) {
			$('hdp').appendChild(new Element('div', {id: 'dropped' + i, onmouseover: 'dropMenu(' + i + ');', onmouseout: 'hideMenu(' + i + ');'}));
			var b = $('dropped' + i);
			b.update((menus[i].item).gsub('&lt;','<'));
			var pos = $('menu' + i).cumulativeOffset();
			b.style.top = (pos['top'] + 36) + 'px';
			b.style.left = (pos['left'] - 15) + 'px';
			b.addClassName('droppedmenu');
			b.hide();
		}
	});
	poscli5 = $('cli5').cumulativeOffset();
	poscli6 = $('cli6').cumulativeOffset();
	//
	var b = $('z1').firstDescendant();
	var w1 = b.getDimensions().width;
	var w2 = document.body.offsetWidth;
	var l = (w2-w1)/2;
	if (w1<w2) {
	    $('z1').style.left = '0px';
	    b.style.left = l+'px';
	}
	else {
	    $('z1').style.left = l+'px';
	}
	// on observe le redimensionnement
	Event.observe(window, "resize", init);
}
dropMenu = function(n) {
	if (mt != null) {clearTimeout(mt);}
	var b = $('dropped' + n);
	if (!b.visible()) {b.show();}
	$$('div.droppedmenu').each(function(s) { if (s != b) { s.hide(); } });
}
hideMenu = function(n) {
	if (n < 0) { $$('div.droppedmenu').each(function(s) { s.hide(); }); } else { mt = setTimeout("$('dropped" + n +"').hide();", 250); }
}
shareThem = function() {
	if (!$('fblike')) { return; }
	// on charge Google +1
	$('gplusone').update('<span><g:plusone size="medium" count="false"></g:plusone></span>');
	// on charge Like facebook
	$('fblike').update('<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FInoki-Piercing%2F180657708635734&amp;layout=button_count&amp;show_faces=false&amp;width=106&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="overflow:hidden; width:106px; height:21px; margin: 0 auto;" allowTransparency="true"></iframe>');
	// on charge addthis
	$('hdp').insert({bottom: new Element('script', {type:'text/javascript', src:'http://s7.addthis.com/js/250/addthis_widget.js?pub=kharma'})});
}
// ***************************
// *** FLASHAGE DE LEGENDE ***
// ***************************
flashLegend = function(){ new Effect.Pulsate($('helplegend'),{duration: 2}); }


document.observe('dom:loaded', function() {init(); shareThem(); });


