document.observe('dom:loaded', changetoplink);

var url_de_base = '';

var G_AJAX_allow = 0;
var G_AJAX_alloweffect = 0;
var G_AJAX_vitesseeffect = 0;
var duree_sec = 5;

var defaultvalue = true;

var compteurrun = false;

function stringsize(a)
{
	i = 0;
	while(a[i])
	{
		i++;
		if(i > 100) return 0;
	}

	return i;
}

function compteurajaxlogin()
{
	if(!compteurrun)
		return;

    compteur_ajaxlogin_div=document.getElementById('compteur_ajaxlogin_div');
    sec=duree_sec;
    if(sec<=0)
    {
		showmessage = true;
		affichage_divmessage();
		compteurrun = false;
    }
    else
    {
        compteur_ajaxlogin_div.innerHTML="<span style='color:grey;'>"+sec+"sec</span>";
    }
    duree_sec=duree_sec-1;

    window.setTimeout("compteurajaxlogin()",999);

}

function affichage_le_truc() {
	affichage_divlogin(true, false);
}

function changetoplink()
{
	try{

		G_AJAX_allow = $('ajax_login_base_url').readAttribute('allow_ajaxlogin');
		G_AJAX_alloweffect = $('ajax_login_base_url').readAttribute('allow_effect');
		G_AJAX_vitesseeffect = $('ajax_login_base_url').readAttribute('vitesse_effect');

		if(G_AJAX_allow == 1)
		{
			url_de_base = $('ajax_login_base_url').readAttribute('base_url');
			a = $$("a[href='"+url_de_base+"customer/account/login/']")[0];
			a.href = '#5#';
			if (a.addEventListener) {
				a.addEventListener('click', affichage_le_truc, false);
			} else if (a.attachEvent) {
				// this is for IE, as writeAttribute won't suffice for some MS reason
				a.attachEvent("onclick", affichage_le_truc);
			} else {
				a.writeAttribute('onclick', 'affichage_divlogin(true,false);');
			}
		}

		url_de_base = $('ajax_login_base_url').readAttribute('base_url');
    }catch(e){}
}

function testemail(a)
{
	if((a.indexOf('@',0)==-1) || (a.indexOf('.',0)==-1))
		return true;
	else
		return false;
}

function affichage_divlogin(show, effect)
{
	if(!effect)
		effect = true;

	if(!show)
	{
		if(effect)
			ajaxloginfadeout("divajaxlogin");
		else
			$("divajaxlogin").hide();
	}
	else
	{
		$("divajaxlogin").show();
		if(effect)
			ajaxloginfadein("divajaxlogin");
	}
}

function affichage_divcreate(show, effect)
{
	if(!effect)
		effect = true;

	if(!show)
	{
		if(effect)
			ajaxloginfadeout("divajaxcreate");
		else
			$("divajaxcreate").hide();
	}
	else
	{
		$("divajaxcreate").show();
		if(effect)
			ajaxloginfadein("divajaxcreate");
	}
}

function affichage_divforgot(show, effect)
{
	if(!effect)
		effect = true;

	if(!show)
	{
		if(effect)
			ajaxloginfadeout("divajaxforgot");
		else
			$("divajaxforgot").hide();
	}
	else
	{
		$("divajaxforgot").show();
		if(effect)
			ajaxloginfadein("divajaxforgot");
	}
}

function affichage_divload(show, effect)
{
	if(!effect)
		effect = true;

	if(!show)
	{
		if(effect)
			ajaxloginfadeout("divajaxload");
		else
			$("divajaxload").hide();
	}
	else
	{
		$("divajaxload").show();
		if(effect)
			ajaxloginfadein("divajaxload");
	}
}

function affichage_divforgoterreur(show)
{
	if(!show){$("divajaxforgoterreur").hide();}
	else{$("divajaxforgoterreur").show();}
}

function affichage_divloginerreur(show)
{
	if(!show){$("divajaxloginerreur").hide();}
	else{$("divajaxloginerreur").show();}
}

function affichage_divcreateerreur(show)
{
	if(!show){$("divajaxcreateerreur").hide();}
	else{$("divajaxcreateerreur").show();}
}



function affichage_divmessage(show)
{
	if(!show)
	{
		ajaxloginfadeout("divajaxmessage");
	}
	else
	{
		$("divajaxmessage").show();
		ajaxloginfadein("divajaxmessage");
	}
}


function ajaxloginfadeout(id)
{
	if(G_AJAX_alloweffect == 1)
	{
		new Effect.Fade(id, {afterFinish:function(){
		$(id).hide();
		},duration:G_AJAX_vitesseeffect, from:1.0, to:0.0});
	}
	else
	{
		$(id).hide();
	}
}

function ajaxloginfadein(id)
{
	if(G_AJAX_alloweffect == 1)
	{
		new Effect.Fade(id, {duration:G_AJAX_vitesseeffect, from:0.0, to:1.0});
	}
}

function ajaxlogin()
{
	pass__ = $("ajaxpass").value;
	email__ = $("ajaxemail").value;

	if(testemail(email__))
	{
		message_erreur = 'Invalid email address.<br>'; test1 = true;

		affichage_divloginerreur(true);

		$('divajaxloginerreur').update(message_erreur);

		return 0;
	}

	var date = new Date();
	date.setTime(date.getTime()+(10000));
	document.cookie = 'ajax1235=ok; expires='+date.toGMTString()+'; path=/';

		affichage_divlogin(false);
		affichage_divload(true);

	url_ajax = url_de_base+"customer/account/loginPost/";
	new Ajax.Request(url_ajax, {
		method: 'post',
  		parameters: {'login[password]': pass__, 'login[username]': email__},
   		onSuccess: function(transport){

   			 if(transport.responseText.match('login_ok'))
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divmessage(true, defaultvalue);
						loggedIn = true;

						url_de_base = $('ajax_login_base_url').readAttribute('base_url');
						a = $$("a[href='#5#']")[0];
						a.href = url_de_base+'customer/account/logout/';


						a.title = 'Log Out';
						a.update('Log Out');

						if (a.removeEventListener) {
							a.removeEventListener('click', affichage_le_truc, false);
						} else if (a.detachEvent) {
							// this is for IE
							a.detachEvent("onclick", affichage_le_truc);
						} else {
							a.writeAttribute('onclick', '');
						}

						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_ok = messagehtml[0];

						$('divajaxmessage').update('<div onclick="affichage_divmessage(false);" class="ajaxlogin-quit-buttun" style="float:right;" title="Quit"></div>'
						+message_ok
						+'<div id="compteur_ajaxlogin_div"></div>');
						duree_sec = 5;
						compteurajaxlogin();

						createCookie('ajax1235',"",-1);
   			 }
				else
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divloginerreur(true, defaultvalue);
						affichage_divlogin(true, defaultvalue);


						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_erreur = messagehtml[0];

						$('divajaxmessage').update('<div onclick="affichage_divmessage(false);" class="ajaxlogin-quit-buttun" style="float:right;" title="Quit"></div>'
						+message_erreur+'<div id="compteur_ajaxlogin_div"></div>');
						duree_sec = 5;
						compteurajaxlogin();

						createCookie('ajax1235',"",-1);
			}
    }
    });
}

function ajaxcreate()
{
	password__ = $("ajaxpassword").value;				password_empty = false;
	confirmation__ = $("ajaxconfirmation").value;		confirmation_empty = false;
	is_subscribed__ = $("ajaxis_subscribed").checked;
	email__ = $("ajaxemail_address").value;				email_empty = false;
	lastname__ = $("ajaxlastname").value;				lastname__empty = false;
	firstname__ = $("ajaxfirstname").value;				firstname_empty = false;

	if(password__ == '') password_empty = true;
	if(confirmation__ == '') confirmation_empty = true;
	if(email__ == '') email_empty = true;
	if(lastname__ == '') lastname__empty = true;
	if(firstname__ == '') firstname_empty = true;

	if(password_empty ||
	confirmation_empty ||
	email_empty ||
	lastname__empty ||
	firstname_empty)
	{
		affichage_divcreateerreur(true);

		$("ajaxpassword").writeAttribute('style', 'border:1px solid grey;');
		$("ajaxconfirmation").writeAttribute('style', 'border:1px solid grey;');
		$("ajaxemail_address").writeAttribute('style', 'border:1px solid grey;');
		$("ajaxlastname").writeAttribute('style', 'border:1px solid grey;');
		$("ajaxfirstname").writeAttribute('style', 'border:1px solid grey;');

		if(password_empty) $("ajaxpassword").writeAttribute('style', 'border:1px dashed red;');
		if(confirmation_empty) $("ajaxconfirmation").writeAttribute('style', 'border:1px dashed red;');
		if(email_empty) $("ajaxemail_address").writeAttribute('style', 'border:1px dashed red;');
		if(lastname__empty) $("ajaxlastname").writeAttribute('style', 'border:1px dashed red;');
		if(firstname_empty) $("ajaxfirstname").writeAttribute('style', 'border:1px dashed red;');

		return false;
	}

	message_erreur = ''; test1 = false; test2 = false;
	if(password__ != confirmation__)
	{
		message_erreur = message_erreur + 'Please make sure your passwords match.<br>'; test1 = true;

		affichage_divcreateerreur(true);

		$('divajaxcreateerreur').update(message_erreur);

		return 0;
	}

	if(testemail(email__))
	{
		message_erreur = message_erreur + 'Invalid email address.<br>'; test1 = true;

		affichage_divcreateerreur(true);

		$('divajaxcreateerreur').update(message_erreur);

		return 0;
	}

	if(stringsize(password__) < 6)
	{
		message_erreur = message_erreur + 'Password minimal length must be more 6<br>'; test2 = true;

		affichage_divcreateerreur(true);

		$('divajaxcreateerreur').update(message_erreur);

		return 0;
	}

	var date = new Date();
	date.setTime(date.getTime()+(10000));
	document.cookie = 'ajax1235=ok; expires='+date+'; path=/';


	affichage_divcreate(false);
	affichage_divload(true);

	url_ajax = url_de_base+"customer/account/createpost/";
	new Ajax.Request(url_ajax, {
		method: 'post',
  		parameters: {'password': password__, 'confirmation': confirmation__, 'is_subscribed': is_subscribed__, 'email': email__, 'lastname': lastname__, 'firstname': firstname__},
   		onSuccess: function(transport){

   			 if(transport.responseText.match('create_ok'))
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divmessage(true, defaultvalue);

						if(!transport.responseText.match('create_conf_ok'))
						{
							url_de_base = $('ajax_login_base_url').readAttribute('base_url');
							a = $$("a[href='#5#']")[0];
							a.href = url_de_base+'customer/account/logout/';
							a.title = 'Log Out';
							a.update('Log Out');
							if (a.removeEventListener) {
								a.removeEventListener('click', affichage_le_truc, false);
							} else if (a.detachEvent) {
								// this is for IE
								a.detachEvent("onclick", affichage_le_truc);
							} else {
								a.writeAttribute('onclick', '');
							}
						}



						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_ok = messagehtml[0];

						$('divajaxmessage').update('<div onclick="affichage_divmessage(false);" class="ajaxlogin-quit-buttun" style="float:right;" title="Quit"></div>'
						+message_ok
						+'<div id="compteur_ajaxlogin_div"></div>');
						duree_sec = 5;
						compteurajaxlogin();

						createCookie('ajax1235',"",-1);
				 }
   			 else
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divcreateerreur(true, defaultvalue);
						affichage_divcreate(true, defaultvalue);

						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_erreur = messagehtml[0];


						$('divajaxcreateerreur').update(message_erreur);

						createCookie('ajax1235',"",-1);
   			 }
    }
    });
}


function ajaxforgot()
{
	email__ = $("ajaxemail_address_forgot").value;				email_empty = false;

	if(email__ == '') email_empty = true;

	if(email_empty)
	{
		affichage_divforgoterreur(true);

		$("ajaxemail_address_forgot").writeAttribute('style', 'border:1px dashed red;');

		return false;
	}

	if(testemail(email__))
	{
		message_erreur = 'Invalid email address.<br>'; test1 = true;

		affichage_divforgoterreur(true);

		affichage_div();

		$('divajaxforgoterreur').update(message_erreur);

		return 0;
	}

	var date = new Date();
	date.setTime(date.getTime()+(10000));
	document.cookie = 'ajax1235=ok; expires='+date+'; path=/';

	affichage_divforgot(false);
	affichage_divload(true);


	url_ajax = url_de_base+"customer/account/forgotpasswordpost/";
	new Ajax.Request(url_ajax, {
		method: 'post',
  		parameters: {'email': email__},
   		onSuccess: function(transport){

   			 if(transport.responseText.match('forgot_ok'))
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divmessage(true, defaultvalue);

						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_ok = messagehtml[0];

						$('divajaxmessage').update('<div onclick="affichage_divmessage(false);" class="ajaxlogin-quit-buttun" style="float:right;" title="Quit"></div>'
						+message_ok
						+'<div id="compteur_ajaxlogin_div"></div>');
						duree_sec = 5;
						compteurajaxlogin();

						createCookie('ajax1235',"",-1);
   			 }
   			 else
   			 {
						affichage_divload(false, defaultvalue);
						affichage_divforgoterreur(true, defaultvalue);
						affichage_divforgot(true, defaultvalue);

						var message_split = transport.responseText.split('[1m2e3s4s5a6g7e8]');
						var messagehtml = message_split[1].split('[/1m2e3s4s5a6g7e8]');
						var message_ko = messagehtml[0];

						$('divajaxforgoterreur').update(message_ko);

						createCookie('ajax1235',"",-1);
   			 }
    }
    });
}

