/**
 * INOKI - Visiteurs
 *
 * JavaScripts pour page : modele.php
 *
 * @author Kharma
 * @version 3.0
 * @copyright 2007-2009
 * @since 02/02/2008
 * @revision 18/02/2009
 */
// *******************
// *** TRADUCTIONS ***
// *******************
trads['fr']['need2beconnekted'] = 'Pour ajouter des articles dans votre panier, vous devez avoir un compte et être connecté(e).\n\nSi vous possédez un compte, vos articles seront ajoutés lors de votre connexion.\nSinon, ces articles seront ajoutés à votre panier aussitôt votre compte créé.\n\nVoulez-vous créer un compte maintenant ?';
trads['fr']['n2bcon4post'] = 'Pour ajouter un avis sur ce produit, vous devez avoir un compte et être connecté(e).';
trads['fr']['n2bcon4friend'] = 'Pour envoyer cette page à un ami, vous devez avoir un compte et être connecté(e).';
trads['fr']['voir'] = 'Voir';
trads['fr']['cacher'] = 'Cacher';
trads['fr']['butvalid'] = 'Valider';
trads['fr']['buterase'] = 'Effacer';
trads['fr']['cusoblig'] = 'Merci de remplir tous les champs obligatoires';
trads['fr']['custhank'] = 'Votre avis consommateur a bien été enregistré<br /><br />Celui-ci apparaitra après validation<br /><br />Toute l\'équipe d\'<b>Inoki</b> vous remercie !';
trads['fr']['cuserr'] = 'Nous sommes désolés...<br /><br />Une erreur s\'est produite lors de l\'enregistrement de votre avis consommateur<br /><br />Merci de recommencer ultérieurement';
trads['fr']['cusalready'] = 'Vous avez déjà voté pour ce modèle...<br /><br />Toute l\'équipe d\'<b>Inoki</b> vous remercie !';
trads['fr']['cusconfirm'] = 'Vérifiez bien vos informations : un seul avis par personne et par modèle, pas de mofifications ultérieures possibles.\n\nVoulez-vous enregistrer cet avis ?';

// **********************
// *** INITIALISATION *** OK
// **********************
initModelPage = function() {
	chronoFlash = null;
	if (document.location.href.endsWith('#avc')) {
		var loc = getOffsets($('avc'));
		window.scrollTo(0,loc[1]);
		new Effect.Pulsate($('avcbut'));
	}
}
// ******************************
// *** SELECTION D'UNE TAILLE *** OK
// ******************************
selectSize = function(modid, selSize, full) {
	// mise en place du spinner
	$('colorsDiv').update('<div class="center"><img src="graphs/gif/spinnergreen32.gif" width="32" height="32" /></div>');
	// coloration de la taille choisie
	var cells = $$('td.sizecell div');
	cells.each(function(s) {
		$(s).removeClassName('selFcell');
	});
	$('fcell'+selSize).addClassName('selFcell');
	// Requete Ajax
	var full = full||'N';
	new Ajax.Request('ajax/ajax_showcolors.php', {
		method: 'post',
		encoding: 'iso-8859-15',
		parameters: $H({
			lang: $F('lang'),
			modid: modid,
			xdim: selSize,
			ctype: Cookie.get('I_type'),
			full: full
		}).toQueryString(),
		onFailure: function() {
			$('colorsDiv').update('Erreur Ajax');
		},
		onSuccess: function(requester) {
			var reponse = requester.responseText;
			$('colorsDiv').update(reponse);
			var posit = Position.positionedOffset($('scrollLimit'));
			window.scrollTo(0,posit[1]);
		}
	});
}
selectSizeF = function(modid, selSize,full) {
	// mise en place du spinner
	$('colorsDiv').update('<div class="center"><img src="graphs/gif/spinnergreen32.gif" width="32" height="32" /></div>');
	// coloration de la taille choisie
	var cells = $$('td.sizecell');
	cells.each(function(s) {
		$(s).removeClassName('selFcell');
	});
	$('fcell'+selSize).addClassName('selFcell');
	// ajaxy
	var full = full||'N';
	new Ajax.Request('ajax/ajax_showcolors.php', {
		method: 'post',
		encoding: 'iso-8859-15',
		parameters: $H({
			lang: $F('lang'),
			modid: modid,
			xdim: selSize,
			ctype: Cookie.get('I_type'),
			full: full
		}).toQueryString(),
		onFailure: function() {
			$('colorsDiv').update('Erreur Ajax');
		},
		onSuccess: function(requester) {
			var reponse = requester.responseText;
			$('colorsDiv').update(reponse);
			var posit = Position.positionedOffset($('scrollLimit'));
			window.scrollTo(0,posit[1]);
		}
	});
}
/**************************
*** FONCTIONS DE CALCUL *** OK
***************************/
// Fonction d'effacement du formulaire
eraseAll = function(){
	var Tlines = $F('Tlines');
	for (k=1; k<= Tlines; k++) {
		var thisqty = $('qte'+k).value;
		if (thisqty != '') {
			$('qte'+k).value = '';
			calLigne(k);
		}
	}
}
// Fonction pour ajouter un article
addItem = function(rang){
	var valeur = Number($F('qte'+rang));
	if ((valeur == '') || (isNaN(valeur))) {
		valeur = 1;
	}
	else {
		valeur++;
	}
	$('qte'+rang).value = valeur;
	calLigne(rang);
}
// Fonction pour enlever un article
removeItem = function(rang){
	var valeur = Number($F('qte'+rang));
	if ((valeur == '') || (isNaN(valeur))) {
		valeur = '';
	}
	else {
		valeur--;
	}
	if (valeur == 0) {
		valeur = '';
	}
	$('qte'+rang).value = valeur;
	calLigne(rang);
}
// Fonction
flashLegend = function(){
	clearTimeout(chronoFlash);
	$('helplegend').show();
	chronoFlash = setTimeout("new Effect.Fade('helplegend', {queue: 'end'});", 3000);
}
// Fonction pour calcul du total de ligne
calLigne = function(ligne){
	var pu = parseFloat($F('pu'+ligne));
	var qte = parseInt($F('qte'+ligne));
	var dispo = parseInt($F('dispo'+ligne));
	if (qte > dispo) {
		qte = dispo;
		$('qte'+ligne).value = qte;
		$('helplegend').update('Stock dispo. atteint : '+ $F('cref'+ligne));
		flashLegend();
	}
	if (Math.floor(qte) != qte) {
		qte = Math.floor(qte);
		$('qte'+ligne).value = qte;
	}
	if (isNaN(qte) || (qte < 1)) {
		$('qte'+ligne).value = '';
		$('total'+ligne).value = '';
	}
	else {
		var total = pu * qte;
		if (total > 0) {
			var afftotal = numberFormat(total,2,' ');
			$('total'+ligne).value = afftotal;
		}
		else {
			$('total'+ligne).value = '';
		}
	}
	calTotal();
}
// Fonction du calcul total
calTotal = function(){
		Tchamps = $F('Tlines');
		var Tprice = 0;
		var Tqte = 0;
		for (i=1; i<= Tchamps; i++) {
			var thisprice = $F('total'+i).sub(' ','');
			if (thisprice == '') {
				thisprice = 0;
			}
			var thisqte = $F('qte'+i);
			if (thisqte == '') {
				thisqte = 0;
			}
			Tprice += parseFloat(thisprice);
			Tqte += parseInt(thisqte);
		}
		$('Tqte').value = Tqte;
		$('Tprice').value = numberFormat(Tprice,2,' ');
}
// ***********************
// *** AJOUT AU PANIER ***
// ***********************
try2add2basket = function() {
	// précalcul du total
	calTotal();
	var Tqte = parseInt($F('Tqte'));
	nd();
	if (Tqte == 0) {
		overlib(DONOTHING);
		$('overDiv').show();
		nd();
		overlib('<div id="cttp">Veuillez saisir tout d\'abord la quantité désirée en utilisant les signes + et -, ou bien entrer directement la quantité pour chaque référence.</div>', FOLLOWMOUSE, BGCLASS, 'bgtooltip', FGCLASS, 'fgtooltip', TEXTFONTCLASS, 'txtooltip', WIDTH, 200, HEIGHT, 80, BORDER, 0 , ANCHOR, 'tipspan', ANCHORY, 0, ANCHORX, -70, DELAY, 250);
		chronofadein = setTimeout('new Effect.Fade("overDiv", {from: 0, to: 1});');
		chronofadeout = setTimeout('new Effect.Fade("overDiv");', 10000);
		chronoend = setTimeout('nd();', 12000);
		return false;
	}
	// on prépare la ligne des articles
	var orderstring = '';
	for (var i=1; i<=$F('Tlines'); i++) {
		if (parseInt($F('qte'+i)) > 0) {
			orderstring += 'refid' + $F('ref'+i) + '-x-' +  $F('qte'+i) + '+';
		}
	}
	// non connecté
	if ((Cookie.get('I_status') != 'O') || (Cookie.get('I_id') == '') || (Cookie.get('I_type') == '')) {
		// on place tous les articles dans un cookie
		add2temp(orderstring);
		// on affiche le modalbox de connexion
		var email = Cookie.get('I_email')||'';
		var content = '<table id="modtab" cellspacing="0" cellspacing="1" style="background: url(\'graphs/png/bgovercon.png\') top left no-repeat;"><tr><td id="add2basketmess"><br />Pour ajouter des articles dans votre panier,<br />vous devez avoir un compte et être connecté(e).<br /><br /><br /><br /><big><b>J\'ai déjà un compte Inoki</b></big><br /><br />vos articles seront ajoutés lors de votre connexion<br /><br /><table id="tabOver" cellspacing="0" cellpadding="2"><tr><td class="right">Email&nbsp;</td><td><input type="text" class="champs" id="emailOver" tabindex="501" value="'+email+'" size="30" /></td></tr><tr><td class="right">Mot de passe&nbsp;</td><td><input type="password" class="champs" id="pwdOver" tabindex="502" size="30" /></td></tr></table><br /><input type="button" class="butt" value="Connecter" onclick="overConnect();" tabindex="503" id="btn503" /><br /><br /><br /><br /><br /><br /><big><b>Je n\'ai pas encore de compte Inoki</b></big><br /><br />Votre inscription est totalement gratuite<br />et ne prendra qu\'une minute.<br /><br /><input type="button" class="butt" value="Je m\'inscris" onclick="location.href=\'inscription.html\';" tabindex="504" /></td></tr></table>';
		Modalbox.show(content, {title: 'Connexion...', autoFocusing: true, width: 470, overlayClose: false });

		return false;
	}
	// connecté, on ajoute au panier
	else {
		add2basket(orderstring,Tqte);
		eraseAll();
	}
}
// *******************
// *** overConnect *** MODAL
// *******************
overConnect = function() {
	var thisemail = $F('emailOver');
	var thispwd = $F('pwdOver');
	if (!isEmail(thisemail)) {
		showTip('emailOver','Cette adresse email est invalide !<br /><br />Merci de corriger...');
		$('emailOver').focus();
		return false;
	}
	if (!isPass(thispwd)) {
		showTip('pwdOver','Ce mot de passe est incorrect !<br /><br />Merci de corriger...');
		$('pwdOver').focus();
		return false;
	}
	$('login').value = thisemail;
	$('password').value = thispwd;
	dn();
	Modalbox.hide();
	setTimeout('try2connekt();', 1000);
	eraseAll();
}
// *************************
// *** PANIER PROVISOIRE *** OK
// *************************
add2temp = function(orderstring){
	var tempbasket = '';
	if (Cookie.get('I_basket') != null) {
		tempbasket += Cookie.get('I_basket');
	}
	tempbasket += orderstring;
	Cookie.set('I_basket', tempbasket, 60, 'minutes');
}
// *******************
// *** AVIS CONSOS ***
// *******************
// checking du nombre de caractères
chkLength = function(field, len) {
	if (!$(field)) {
		return false;
	}
	var content = $F(field);
	if (content.length > len) {
		content = content.strip().substr(0,len);
		$(field).value = content;
	}
	$(field+'count').update(content.length);
}
// checking du form
checkCusForm = function() {
	var err = false;
	// pseudo
	var nickname = $F('avcnickname').stripTags().strip();
	if (nickname == '') {
		err = true;
	}
	// note
	var points = $F('avcpoints');
	if (points == '') {
		err = true;
	}
	// comment
	var comment = $F('avccomment').stripTags().strip();
	if (comment == '') {
		err = true;
	}
	// points positifs et negatifs
	//var positive = $F('avcpositive').stripTags().strip();
	//var negative = $F('avcnegative').stripTags().strip();
	// recup des valeurs cachées
	//var clientid = Cookie.get('I_id');
	//var modid = $F('avcmodid');
	//var modref = $F('avccoderef');
	var lang = $F('lang');
	// si erreur
	if (err == true) {
		alert(trads[lang]['cusoblig']);
	}
	// si form ok
	else {
		if (confirm(trads[lang]['cusconfirm'])) {
			if ($F('avcremindme') == '1') {
				Cookie.set('I_nickname', nickname, 365, 'days');
			}
			//var url = 'ajax/ajax_addcuscom.php?action=record&clientid=' + clientid + '&modid=' + modid + '&modref=' + modref + '&lang=' + lang + '&nickname=' + nickname + '&points=' + points + '&comment=' + comment + '&positive=' + positive + '&negative=' + negative;
			Modalbox.show('ajax/ajax_addcuscom.php', {width: 400, title:'Avis consommateur...', params: Form.serialize('avcform'), method: 'post'});
		}
	}
}
addCusCom = function(coderef, modid) {
	var connekted = Cookie.get('I_status');
	var clientid = Cookie.get('I_id');
	var email = Cookie.get('I_email')||'';
	if ((clientid == '') || (connekted != 'O')) {
		// on affiche le modalbox de connexion
		var content = '<table id="modtab" cellspacing="0" cellspacing="1" style="background: url(\'graphs/png/bgovercon.png\') top left no-repeat;"><tr><td id="add2basketmess"><br />Pour déposer un avis consommateur,<br />vous devez avoir un compte et être connecté(e).<br /><br /><br /><br /><br /><big><b>J\'ai déjà un compte Inoki</b></big><br /><br /><table id="tabOver" cellspacing="0" cellpadding="2"><tr><td class="right">Email&nbsp;</td><td><input type="text" class="champs" id="emailOver" tabindex="501" value="'+email+'" size="30" /></td></tr><tr><td class="right">Mot de passe&nbsp;</td><td><input type="password" class="champs" id="pwdOver" tabindex="502" size="30" /></td></tr></table><br /><input type="button" class="butt" value="Connecter" onclick="overConnect();" tabindex="503" /><br /><br /><br /><br /><br /><br /><br /><big><b>Je n\'ai pas encore de compte Inoki</b></big><br /><br />Votre inscription est totalement gratuite<br />et ne prendra qu\'une minute.<br /><br /><input type="button" class="butt" value="Je m\'inscris" onclick="location.href=\'inscription.html\';" tabindex="504" /></td></tr></table>';
		Modalbox.show(content, {title: 'Connexion...', autoFocusing: true, width: 470, overlayClose: false });
		return false;
	}
	else {
		var pseudo = Cookie.get('I_nickname') || '';
		Modalbox.show('ajax/ajax_addcuscom.php?action=loading&pseudo='+pseudo+'&modid='+modid, {title: 'Avis consommateur...', autoFocusing: true, width: 710, overlayClose: false});
		return false;
	}
}
// ***************
// *** RESTOCK *** MODALBOX
// ***************
popRestock = function(refid, counter) {
	var email = Cookie.get('I_email')||'';
	Modalbox.show('ajax/ajax_recordemail4restock.php?action=loading&refid='+refid+'&email='+email, {width: 400, title: 'Stock épuisé...', autoFocusing: true, overlayClose: false});
	return false;
}
// *******************************************
// *** AFFICHAGE TABLEAU CONVERSION TAILLE *** MODALBOX
// *******************************************
showSizeMod = function (ref,image, codedims, thedims, weight){
	Modalbox.show('ajax/ajax_convert_sizes.php?image=' + image + '&codedims=' + codedims + '&thedims=' + thedims + '&poids=' + weight, {title: '<span class=\'coderefcaption\'>Dimensions pour :</span><br />'+ref, width: 500});
	return false;
}
// *****************************
// *** ENVOYER PAGE A UN AMI ***
// *****************************
/*
popSend2friend = function(modref) {
	var connekted = Cookie.get('I_status');
	var clientid = Cookie.get('I_id');
	if ((clientid == '') || (connekted != 'O')) {
		alert(trads[$F('lang')]['n2bcon4friend']);
	}
	else {
		overlib(DONOTHING);
		$('overDiv').show();
		nd();
		// définition de l'affichage
		if ($F('lang') == 'fr') {
			var closetext = 'Fermer';
			var titre = 'Email'
		}
		else {
			var closetext = 'Close';
			var titre= 'E-mail';
		}
		var codeform = '<div class="center" id="friendForm">Entrez l\'adresse email du destinataire :<br /><input type="hidden" id="modref2friend" value="' + modref + '" /><input type="text" id="friendemail" class="champs" maxlength="50" size="50" /><br /><input type="button" class="butt" value="' + trads[$F('lang')]['butvalid'] + '" onclick="chkFriend();" /><br /><small>Afin d\'éviter le spam, le message sera envoyé avec votre adresse email</small></div>';
		overlib(codeform, BORDER, 2, CELLPAD, 0, BGCOLOR, '#223344', FGCOLOR, '#ffffff', WIDTH, 450, FOLLOWMOUSE, CELLPAD, 1, CAPTION, titre, CAPTIONFONTCLASS, 'matcaption', STICKY, CLOSECLICK, CLOSETEXT, '<img src="./graphs/gif/close16.gif" alt="'+closetext+'" title="' + closetext +'" width="20" height="16" />', CLOSETITLE, '', SHADOW, SHADOWCOLOR, '#000000', SHADOWOPACITY, 30, CENTERPOPUP, EXCLUSIVE, DRAGGABLE, ALTCUT);
		$('friendemail').focus();
	}
}
chkFriend = function() {
	var friendemail = $F('friendemail').strip();
	var coderef = $F('modref2friend');
	if (friendemail == '') {
		$('friendemail').focus();
		return false;
	}
	else if (!isEmail(friendemail)) {
		alert(trads[$F('lang')]['bademail']);
		$('friendemail').focus();
		return false;
	}
	else {
		$('friendForm').update('<br /><img src="graphs/gif/spinnerblue36.gif" width="36" height="36" /><br />Envoi du message en cours, merci de patienter...');
		new Ajax.Request('ajax/ajax_send2friend.php', {
			method: 'post',
			encoding: 'iso-8859-15',
			parameters: $H({
				clientid: Cookie.get('I_id'),
				coderef: coderef,
				friendemail: friendemail,
				lang: $F('lang')
			}).toQueryString(),
			onFailure: function() {
				$('friendForm').update('<br /><b>' + trads[$F('lang')]['ajaxconerror'].gsub('!','!<br />') + '</b>');
				setTimeout('overlib(DONOTHING); cClick();', 3500);
			},
			onSuccess: function(requester) {
				var reponse = requester.responseText;
				$('friendForm').update(reponse);
				setTimeout('overlib(DONOTHING); cClick();', 3500);
			}
		});
	}
}
*/
// **********************
// *** LANCEMENT INIT ***
// **********************
document.observe('dom:loaded', initModelPage);