// MyBestory.com

function forgot_pass(log, msg, msg2, msg3) {
	if (log == 'login' || log == '') service_msg(msg);
	else {
		url = './scripts/check_mail.php';
        	new Ajax.Request (
                url, {
                	method : 'post',
                	parameters: {
                       		login: log 
                	},
                	onSuccess: function (result) {
                        	if (result.responseText == 2) {
					new Ajax.Request('./scripts/forgot_pass.php', {
                                		method: 'post',
                                		parameters: {
                                        		mail: log
                                		},
                                		onLoading: function (result) {
                                		},
                                		onSuccess: function (result) {
                                        		service_msg(msg2);
                                		}
                        		})
				} else if (result.responseText == 1) {
					service_msg("mail inconnu");
                               		document.getElementById("login_connex").value = "";
                               		new Effect.Highlight("login_connex", {duration:1.5}); return false;
                                } else {
                        		// mail invalide 
                               		service_msg(msg3);
                               		document.getElementById("login_connex").value = "";
                               		new Effect.Highlight("login_connex", {duration:1.5}); return false;
                               	}
                        }
		});
	}
}

function blind_mc(elem, titre1, titre2) {
	if (elem == 'playlist') {
		elem2 = 'creationsp';
		titre = titre1;
		statesp = 'none';
	} else {
		elem2 = 'playlist';
		titre = titre2;
		statesp = 'block';
	}
	document.getElementById('h2play').innerHTML = titre;
	Effect.BlindUp(document.getElementById(elem2));
	Effect.BlindDown(document.getElementById(elem), {delay: 1.0});
	document.getElementById('scroll_mescrea').style.display = statesp;
	if (elem == 'playlist') {
		document.getElementById('hmc').innerHTML  = "<div id='scrollplay'><div class='handle'></div></div>";
		(function(){
		var zoom_slider=$('scrollplay');
		new Control.Slider(zoom_slider.down('.handle'),zoom_slider,{
			axis:'vertical',
			range: $R(0,100),
			sliderValue:0,
			maximum:100,
			onSlide:function(value){
				scrollVertical(value,'playlist',100);
			},
			onChange:function(value){
				scrollVertical(value,'playlist',100);
			}
		});
		})();
	} else document.getElementById('hmc').innerHTML  = "";
}

function record_read(idr, typer) {
	url = './scripts/record_read.php';
	var myAjax7 = new Ajax.Request (
	url, {
		method: 'post',
		parameters: {
			idr: idr,
			typer: typer
		}
	});
}

/*
function maj_img (ide, dir, idu) {
	new Ajax.Request('./scripts/maj_image.php', {
		method: 'post',
		parameters: { 
			elt: ide,
			file: document.getElementById('temp_img').value,
			dir: dir,
			ope: document.getElementById('acti_img').value,
			btext: document.getElementById('contenu_bulle').value,
			cadreLeft : document.getElementById('photo_imported').offsetLeft,
			cadreTop  : document.getElementById('photo_imported').offsetTop,
			bulleLeft : document.getElementById(ide).offsetLeft,
			bulleTop  : document.getElementById(ide).offsetTop
		},
		onLoading: function (result) {
			document.getElementById("photo_imported").innerHTML = '<img src="./images/ajax-loader.gif" class="noborder" alt="loading..." />';
		},
		onSuccess: function(result) {
			var d = new Date();
			document.getElementById('temp_img').value = result.responseText;
			document.getElementById('photo_imported').innerHTML = '<img src="./pages/users/'+idu+'/'+result.responseText+'?'+d.getTime()+' alt="uploaded photo" class="noborder" />';
		}
	})
}

function supp_img(dir, fileori) {
	url = './scripts/supp_img.php';
	var myAjax8 = new Ajax.Request (
	url, {
		method: 'post',
		parameters: {
			dir: dir,
			file: fileori
		},
		onLoading: function (result) {
			document.getElementById("photo_imported").innerHTML = "<img src='./images/ajax-loader.gif' class='noborder' alt='loading...' />";
		},
		onSuccess: function (result) {
			if (result.responseText == '0' ) service_msg("error");
			else {
				document.getElementById("container_thumbc").innerHTML = result.responseText;
				document.getElementById("photo_imported").innerHTML = "Suppression OK";
			}
		}
	});
}

function size_bulle(size, action, rest, trop) {
	if (size == 'g' && action == '-') {
		if (document.getElementById("contenu_bulle").value.length > 80) {
			newsize = document.getElementById("contenu_bulle").value.length - 80;
                        document.getElementById("maxCharLabel_bul").innerHTML = trop;
		} else {
			if (document.getElementById("contenu_bulle").value.length < 80) 
                                document.getElementById("maxCharLabel_bul").innerHTML = rest;
			newsize = 80 - document.getElementById("contenu_bulle").value.length;
		}
	}
	if (size == 'p' && action == '+') {
		if (document.getElementById("contenu_bulle").value.length > 80) {
			newsize = document.getElementById("contenu_bulle").value.length - 80;	
			document.getElementById("maxCharLabel_bul").innerHTML = trop;
		} else {
			if (document.getElementById("contenu_bulle").value.length < 80)
				document.getElementById("maxCharLabel_bul").innerHTML = rest;
			newsize = 80 - document.getElementById("contenu_bulle").value.length;
		}
	}
	if (size == 'm' && action == '+') {
		if (document.getElementById("contenu_bulle").value.length > 120) {
			newsize = document.getElementById("contenu_bulle").value.length - 120;
			document.getElementById("maxCharLabel_bul").innerHTML = trop;
		} else {
			if (document.getElementById("contenu_bulle").value.length < 120)
				document.getElementById("maxCharLabel_bul").innerHTML = rest;
			newsize = 120 - document.getElementById("contenu_bulle").value.length;
		}
	}
	if (size == 'm' && action == '-') {
		if (document.getElementById("contenu_bulle").value.length > 60) {
			newsize = document.getElementById("contenu_bulle").value.length - 60;
			document.getElementById("maxCharLabel_bul").innerHTML = trop;
		} else newsize = 60 - document.getElementById("contenu_bulle").value.length;
	}

	nsize = size;
	if (size == 'p' && action == '-') service_msg("impossible");
	else if (size == 'g' && action == '+') service_msg("impossible"); 
	else if ((size == 'p' && action == '+') || (size == 'm') || (size == 'g' && action == '-')) {
		// calcul de la nouvelle taille
		if ((size == 'p') || (size == 'g')) nsize = 'm';
		else if (action == '-' && size == 'm') nsize = 'p';
		else nsize = 'g';
		// fin calcul
		document.getElementById("size_b"+size).style.display = "none";
		document.getElementById("size_b"+nsize).style.display = "block";
		document.getElementById("size_bul").value = nsize;
		if (nsize == 'p') {
			document.getElementById("contenu_bulle").style.width = "147px";
			// document.getElementById("car_rest_b").value = "60";
			document.getElementById("car_rest_b").value = newsize;
			document.getElementById("charchar").value = "60";
		} else if (nsize == 'm') {
			document.getElementById("contenu_bulle").style.width = "207px";
			// document.getElementById("car_rest_b").value = "80";
			document.getElementById("car_rest_b").value = newsize;
			document.getElementById("charchar").value = "80";
		} else {
			document.getElementById("contenu_bulle").style.width = "267px";
			// document.getElementById("car_rest_b").value = "120";
			document.getElementById("car_rest_b").value = newsize;
			document.getElementById("charchar").value = "120";
		}
		url = './scripts/size_bul.php';
		var myAjax6 = new Ajax.Request (
        	url, {
                	method : 'post',
                	parameters: {
                	        size: nsize
                	}
        	});
	}
	
}

function display_old_img(img, id, ori, idimg, angl) {
	d = new Date();
	dir = './pages/users/'+id+'/';
	document.getElementById("temp_img").value = img;
	document.getElementById("orig_img").value = ori;
	document.getElementById("acti_img").value = 'UPDATE##'+idimg;
	document.getElementById("angl_act").value = angl;
	document.getElementById("photo_imported").innerHTML = "<img src='"+dir+img+"?"+d.getTime()+"' class='noborder' alt='uploaded photo' />";
}

function save_img(dir, img, ori) {
	url = './scripts/save_img.php';

	str = document.getElementById("photo_imported").innerHTML.replace(/^\s*|\s*$/,"");
	var loading = new RegExp("loading");
	if (str.match(loading) || str == "") {
		service_msg("Vous devez en premier importer une image !");
	} else {
	var myAjax5 = new Ajax.Request (
	url, {
		method : 'post',
		parameters: {
			dir: dir,
			img: img,
			ori: ori,
			act: document.getElementById("acti_img").value,
			ang: document.getElementById("angl_act").value
		},
		onLoading: function (result) {
			document.getElementById("photo_imported").innerHTML = "<img src='./images/ajax-loader.gif' class='noborder' alt='loading...' />";
		},
		onSuccess: function (result) {
			if (result.responseText != 0) {
				document.getElementById("photo_imported").innerHTML = "";
				document.getElementById("etat_cre").value = "yesc";
				document.getElementById("container_thumbc").innerHTML = result.responseText;
			} else {
				service_msg('Impossible');
			}
		}
	});
	}
}

function rotation90(angl_act, dir, img, angle) {
	d = new Date();
	url = './scripts/rotate_img.php';
	// MAJ ALGO POUR ANGLE DEPART -> ARRIVEE
	if (angl_act == 90) {
		if (angle == 90) angle = 180;
		else if (angle == 180) angle = 270;
		else if (angle == 270) angle = 0;
	} else if (angl_act == 270) {
		if (angle == 90) angle = 0;
		else if (angle == 180) angle = 90;
		else if (angle == 270) angle = 180;
	} else if (angl_act == 180) {
		if (angle == 90) angle = 270;
		else if (angle == 180) angle = 0;
		else if (angle == 270) angle = 90;
	}
	// FIN MAJ
	var myAjax4 = new Ajax.Request (
	url, {
		method : 'post',
		parameters: {
			dir: dir,
			img: img,
			angle: angle
		},
		onLoading: function (result) {
			document.getElementById("photo_imported").innerHTML = "<img src='./images/ajax-loader.gif' class='noborder' alt='loading...' />";
		},
		onSuccess: function (result) {
			if (result.responseText != 0) {
				document.getElementById('angl_act').value = angle;
				document.getElementById('temp_img').value = result.responseText;
				document.getElementById("photo_imported").innerHTML = "<img src='"+dir+result.responseText+"?"+d.getTime()+"' class='noborder' alt='uploaded photo' />";
			} else {
				service_msg('Impossible');
			}
		}
	});
}

function getDocHeight() {
	var D = document;
	return Math.max(
		Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
		Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
		Math.max(D.body.clientHeight, D.documentElement.clientHeight)
	);
}

function preload_images() {
        for (var i = 0; i < arguments.length; i++) {
		// alert(arguments[i]);
                preloaded[i] = document.createElement('img');
                preloaded[i].setAttribute('src', arguments[i]);
        };
};

var preloaded = new Array();

*/

function service_msg(msg) {
	jQuery(document).ready(function($){
	        function addNotice(e,opts) {
	                if(e) {
	                        e.preventDefault();
	                }
	                opts = opts ? opts : {};
	                $.noticeAdd($.extend({
	                        text: opts.text || "Notification",
	                        title: opts.title || "Notice"
	                },opts));
	        }
		$.noticeAdd(msg);
	});
}

function change_plan(value) {
	tabpages = new Array();	

	tabpages[0] = 'pp_index';
	tabpages[1] = 'pp_roman';
	tabpages[2] = 'pp_moncompte';
	tabpages[3] = 'pp_archives';
	tabpages[4] = 'pp_create';
	tabpages[5] = 'pp_rss';
	tabpages[6] = 'pp_plan';
	tabpages[7] = 'pp_contact';

	for (var i = 0; i < tabpages.length; i++) {
		if (value != tabpages[i]) document.getElementById(tabpages[i]).style.display = "none";
	};
	document.getElementById(value).style.display = "block";
}

function check_pass(value, msg) {
	if (value.length < 5) {
		service_msg(msg);
		document.getElementById("npass_user").value = "";
		new Effect.Highlight("npass_user", {duration:1.5}); return false;
	} else return true;
}

function check_mail(value, msg, from, mail) {
	url = './scripts/check_mail.php';
	if (value.length > 0) {
	var myAjax3 = new Ajax.Request (
		url, {
		method : 'post',
		parameters: {
			login: value
		},
		onSuccess: function (result) {
			if (from == "session") {
				if (value == mail) {
					// meme mail que le precedent
				} else if (result.responseText == 2) {
					service_msg("mail déjà utilisé");
					document.getElementById("mail_user").value = "";
					new Effect.Highlight("mail_user", {duration:1.5}); return false;
					// mail deja existant en base 
				} else if (result.responseText == 0) {
					// mail invalide
					service_msg(msg);
					document.getElementById("mail_user").value = "";
					new Effect.Highlight("mail_user", {duration:1.5}); return false;
				} else if (result.responseText == 1) {
					// service_msg(msg);
				} 
			} else {
				if (result.responseText == 1) {
					// service_msg(msg);
				} else if (result.responseText == 2) {
					service_msg("mail déjà utilisé");
					document.getElementById("nmail_user").value = "";
					new Effect.Highlight("nmail_user", {duration:1.5}); return false;
				} else {
					// mail invalide 
					service_msg(msg);
					document.getElementById("nmail_user").value = "";
					new Effect.Highlight("nmail_user", {duration:1.5}); return false;
				}
			}
		}
	});
	}
}

function check_exists(value, msg, msgt, msgb) {
	url = './scripts/check_exists.php';
	var gchars = new RegExp("^[a-zA-Z0-9_-]+$","gi");
	if (value.length > 0) {
		if (value.length < 5) {
			service_msg(msgt);
			document.getElementById("nlogin_user").value = "";
			new Effect.Highlight("nlogin_user", {duration:1.5}); // return false;
		} else {
			if (value.match(gchars)) {
				var myAjax3 = new Ajax.Request (
					url, {
					method : 'post',
					parameters: {
						login: value
					},
					onSuccess: function (result) {
						if (result.responseText == 0) {
							// service_msg(msg);
						} else {
							// login deja pris
							service_msg(msg);
							new Effect.Highlight("nlogin_user", {duration:1.5});
							document.getElementById("nlogin_user").value = "";
						}
					}
				});
			} else {
				// mauvais login (characteres interdis)
				service_msg(msgb);
				document.getElementById("nlogin_user").value = "";
				new Effect.Highlight("nlogin_user", {duration:1.5});
			}
		}
	}
}

function write_answ(mess, login, dest, titre, pere) {
	if (mess != "0") {
		document.getElementById('mes_messages').style.display = "none";
		document.getElementById('scrollmes').style.display = "none";
		document.getElementById('envoyer_answ').style.display = "block";
		document.getElementById('dest_answ').value = login;
		document.getElementById('destinataire_answ').value = dest;
		document.getElementById('pere_m').value = pere;
		document.getElementById('text_ans').value = "Re : "+titre;
	} else {
		document.getElementById('envoyer_answ').style.display = "none";
		document.getElementById('mes_messages').style.display = "block";
		document.getElementById('scrollmes').style.display = "block";
	}
}

function add_playlist(which, typer, who, msg, msgC) {
	if (who == '' || who == 0) {
		service_msg(msgC);
	} else {
	url = './scripts/add_playlist.php';
	var myAjax2 = new Ajax.Request (
		url, {
		method: 'post',
		parameters: {
			who: who,
			typer: typer,
			which: which },
		onSuccess: function (result) {
			service_msg(msg);
		}
	});	
	}
}

function open_news(id_m) {
	if (document.getElementById('p_opennewsfull_'+id_m).style.display == "none") {
		document.getElementById('p_opennews_'+id_m).style.display = "none";
		document.getElementById('p_opennewsfull_'+id_m).style.display = "block";
	} else {
		document.getElementById('p_opennews_'+id_m).style.display = "block";
		document.getElementById('p_opennewsfull_'+id_m).style.display = "none";
	}
}

function open_mesg(id_m) {
	if (document.getElementById('p_msgopen_'+id_m).style.display == "block") {
		document.getElementById('p_msgopen_'+id_m).style.display = "none";
	} else {
		url = './scripts/update_msg.php';
		var myAjax9 = new Ajax.Request (
			url, {
			method: 'post',
			parameters: {
				idm: id_m },
			onSuccess: function (result) {
				document.getElementById('amsg_'+id_m).style.color = "#7B7B7B";
				document.getElementById('p_msgopen_'+id_m).style.display = "block";
			}
		});
	}
}

function write_msg(login, dest) {
	if (login != "0") {
		document.getElementById('communaute').style.display = "none";
		document.getElementById('scrollcomm').style.display = "none";
		document.getElementById('envoyer_msg').style.display = "block";
		if (login == "invitation") {
			document.getElementById("text_ms").value = dest;
			document.getElementById('invitation_h').value = "invitation";
			document.getElementById("text_ms").Readonly = true;
			document.getElementById('dest_msg').value = "";
			document.getElementById('dest_msg').Readonly = false;
		} else {
			document.getElementById('dest_msg').Readonly = true;
			document.getElementById('dest_msg').value = login;
		}
		document.getElementById('destinataire_msg').value = dest;
	} else {
		document.getElementById('envoyer_msg').style.display = "none";
		document.getElementById('communaute').style.display = "block";
		document.getElementById('scrollcomm').style.display = "block";
	}
}

function checklength(msg, exceeded) {
	if (document.getElementById('maxCharLabel').innerHTML == exceeded) {
		alert(msg);	
		return false;
	}
}

function updateCharCount(charCountId, label_id, textArea, exceeded, remaining, longmax) {
	var msg = new Object();
	msg["exceeded"] = exceeded;
	msg["remaining"] = remaining;
	updateCharCount_js(document.getElementById(charCountId), document.getElementById(label_id), textArea, longmax, msg);
}

function updateCharCount_js(charCountId, label_id, textArea, maxChars, messages) {
	if (textArea.value.length > maxChars) {
		if ((label_id).innerHTML != messages["exceeded"]) {
			label_id.innerHTML = messages["exceeded"];
		}
		charCountId.value = textArea.value.length - maxChars;
	} else {
		if ((label_id).innerHTML != messages["remaining"]) {
			label_id.innerHTML = messages["remaining"];
		}
		charCountId.value =  maxChars - textArea.value.length;
	}
}

function vote_click(elem, who, which, typer, thanks) {
	if (elem == 'av1') note = 1;
	else if (elem == 'av2') note = 2;
	else if (elem == 'av3') note = 3;
	else if (elem == 'av4') note = 4;
	else if (elem == 'av5') note = 5;

	url = './scripts/vote_roman.php';
	var myAjax1 = new Ajax.Request (
		url, {
		method: 'post',
		parameters: {
			who: who,
			which: which,
			typer: typer,
			note: note },
		onSuccess: function(result) {
			document.getElementById("img_vote2").style.display = "none";
			document.getElementById("img_vote").src = "images/vote_"+result.responseText+".png";
			document.getElementById("img_vote").style.display = "inline";
			document.getElementById("block_vote").onmouseover = "";
			document.getElementById("avis").innerHTML = thanks;
		}
	});
}

function vote_star(elem, vs1, vs2, vs3, vs4, vs5) {
	// BUG IE
	document.getElementById('av1').style.width = "30px";
	document.getElementById('av1').style.height = "22px";
	document.getElementById('av2').style.width = "25px";
	document.getElementById('av2').style.height = "22px";
	document.getElementById('av3').style.width = "25px";
	document.getElementById('av3').style.height = "22px";
	document.getElementById('av4').style.width = "25px";
	document.getElementById('av4').style.height = "22px";
	document.getElementById('av5').style.width = "25px";
	document.getElementById('av5').style.height = "22px";
	// FIN BUG IE
	if (elem == "liv1") {
		document.getElementById('av1').src = "images/vote_s1.png";
		document.getElementById('av2').src = "images/vote_s2x.png";
		document.getElementById('av3').src = "images/vote_s2x.png";
		document.getElementById('av4').src = "images/vote_s2x.png";
		document.getElementById('av5').src = "images/vote_s2x.png";
		document.getElementById("avis").innerHTML = vs1;
	}
	else if (elem == "liv2") {
		document.getElementById('av1').src = "images/vote_s1.png";
		document.getElementById('av2').src = "images/vote_s2.png";
		document.getElementById('av3').src = "images/vote_s2x.png";
		document.getElementById('av4').src = "images/vote_s2x.png";
		document.getElementById('av5').src = "images/vote_s2x.png";
		document.getElementById("avis").innerHTML = vs2;
	}
	else if (elem == "liv3") {
		document.getElementById('av1').src = "images/vote_s1.png";
		document.getElementById('av2').src = "images/vote_s2.png";
		document.getElementById('av3').src = "images/vote_s2.png";
		document.getElementById('av4').src = "images/vote_s2x.png";
		document.getElementById('av5').src = "images/vote_s2x.png";
		document.getElementById("avis").innerHTML = vs3;
	}
	else if (elem == "liv4") {
		document.getElementById('av1').src = "images/vote_s1.png";
		document.getElementById('av2').src = "images/vote_s2.png";
		document.getElementById('av3').src = "images/vote_s2.png";
		document.getElementById('av4').src = "images/vote_s2.png";
		document.getElementById('av5').src = "images/vote_s2x.png";
		document.getElementById("avis").innerHTML = vs4;
	}
	else if (elem == "liv5") {
		document.getElementById('av1').src = "images/vote_s1.png";
		document.getElementById('av2').src = "images/vote_s2.png";
		document.getElementById('av3').src = "images/vote_s2.png";
		document.getElementById('av4').src = "images/vote_s2.png";
		document.getElementById('av5').src = "images/vote_s2.png";
		document.getElementById("avis").innerHTML = vs5;
	} 
}

function vote(who, which, avote, nbvote, nblec, already, connec) {
	// remettre le texte original
	if (who == 0 && which == 0 && avote == 0) {
	}
	// le user n'est pas loggé
	if (who == 0 && which != 0) {
		document.getElementById("avis").innerHTML = "<a href='moncompte.php' title='Connexion à mybestory.com' class='a_comment' />Connectez-vous</a> pour donner votre avis.";
	} 
	// le user a deja vote
	if (who != 0 && avote == 1) {
		document.getElementById("avis").innerHTML = already;
	}
	// le user n'a pas vote
	if (who != 0 && avote == 0) {
		if (document.getElementById("img_vote").style.display != "none") {
			document.getElementById("img_vote").style.display="none";
			document.getElementById("img_vote2").style.display="inline";
		}
	}
}

function null_value(item) {
	item.value = "";
}

function change_flag(item) {
	nomb = navigator.appName;
	nomv = navigator.appVersion;
	if (item == 'langue1') {
		document.getElementById("other_flags").style.display="block";
		document.getElementById(item).style.display="none";
		document.getElementById("langue2").style.display="inline";
		document.getElementById("ul_right").style.backgroundImage="url(images/flag_on.png)";
		// A revoir pour laisse le hack pour IE 6 => REMIS POUR IE7
		if (nomb == "Microsoft Internet Explorer") {
			if (document.getElementById("block2")) 
				document.getElementById("block2").style.margin="-22px 0px 0px 0px";
		}
	} else {
		document.getElementById("other_flags").style.display="none";
		document.getElementById(item).style.display="none";
		document.getElementById("langue1").style.display="inline";
		document.getElementById("ul_right").style.backgroundImage="url(images/flag.png)";
		// A revoir pour laisse le hack pour IE 6 => REMIS POUR IE7
		if (nomb == "Microsoft Internet Explorer") {
			if (document.getElementById("block2")) 
				document.getElementById("block2").style.margin="0px 0px 0px 0px";
		}
	}
}

function change_lg(newlg, oldlg, him, where) {
	var delog = new RegExp("delog.php");
	if (where.match(delog)) where = "./index.php";
	var url = './scripts/change_lg.php';
	var myAjax = new Ajax.Request (
		url, {
		method: 'post',
		parameters: { 
			who: him,
			oldlang: oldlg,
			newlang:newlg },
		onSuccess: function(xhr) { 
			document.location.href = where;
			// alert(xhr.responseText);
		}
		});
}

function scrollVertical(slider, element, maximum) {
        var bestof = document.getElementById(element);
        // syntaxe ???
        // bestof.scrollTop = Math.round((((100 - slider) / slider.maxValue)*(bestof.scrollHeight-bestof.offsetHeight)));
	// syntaxe jquery
        // bestof.scrollTop = Math.round((((100 - slider) / maximum)*(bestof.scrollHeight-bestof.offsetHeight)));
	// syntaxe scriptaculous
        bestof.scrollTop = Math.round(((slider / maximum) * (bestof.scrollHeight-bestof.offsetHeight)));
}
