/*
valeur par défaut de la redirection en cas de changement de profile: 1= redirection vers la page de garde, 0= reload de la page actuelle.
*/
profile_redirection=1;


var magic_quote="BackToSite";


function change_profile_redirection(valeur)
{
	profile_redirection=valeur;
}

/*
Fonction Javascript responsable du profilage sur le site web. La fonction envoie une requete HTTP en POST a typo3, elle utilise
la fonction de login, une fois le login et le mot de passe envoye, elle reload la page
*/



function changeProfile()
{
//	var selectedProfile=-1;
	for(var x=0; x < document.profiler.profil.length; x++)
	{
		if(document.profiler.profil[x].selected == true)
		{
	          	selectedProfile=document.profiler.profil[x].value;
		}
  	}

	  if(selectedProfile!=-1)
  	{
  		saveProfile(selectedProfile);
  		initSession(selectedProfile);
  	}
}


function setProfile(jsID)
{	//alert("Profil: "+jsID)
	 for(var x=0; x < document.profiler.profil.length; x++)
  	{
		if(document.profiler.profil[x].value == jsID)
		{
          		document.profiler.profil[x].selected=true;
		}
	}
}

function initSession(selectedProfile)
{

var login="unknown";
var password="unknown";
//var login="anonyme_parent";
//var password="anonyme_parent";
  switch(selectedProfile)
  {
	case "1":
	login="anonyme_po";
	password="anonyme_po";
        break;
        case "2":
	login="anonyme_direction";
	password="anonyme_direction";
        break;
        case "3":
	login="anonyme_enseignant";
	password="anonyme_enseignant";
        break;
        case "4":
	login="anonyme_pms";
	password="anonyme_pms";
        break;
        case "5":
	login="anonyme_emploi";
	password="anonyme_emploi";
        break;
        case "6":
	login="anonyme_autre_pro";
	password="anonyme_autre_pro";
        break;
        case "7":
	login="anonyme_parent";
	password="anonyme_parent";
        break;
        case "8":
	login="anonyme_entreprise";
	password="anonyme_entreprise";
        break;
        case "9":
	login="anonyme_presse";
	password="anonyme_presse";
        break;
	case "999":
	login="anonyme_parent";
	password="anonyme_parent";
        break;

  }
  //alert(selectedProfile)

//alert(valeur)
var valeur="user="+escape(login)+"&pass="+escape(password)+"&logintype=login&pid=21&redirect_url=";	
var form_url=check_url+'index.php?id=47';

//alert(form_url);
document.body.style.cursor = "wait";

if(selectedProfile !='7')
{var request=new Request({url:form_url, method: 'post', onComplete : function () { writeCookie("profile",selectedProfile); refresher();}}).send(valeur);}
else
{var request=new Request({url:form_url, method: 'post', onComplete : function () { writeCookie("profile",selectedProfile); document.location=document.location;}}).send(valeur);
}
//window.location+="fixit=12";
}


function refresher()
{
//alert(profile_redirection);

	// si la redirection du profile est 1 le ramener sur la homepage lors d'un changement de profile
	if(profile_redirection==1)
	{
//alert("redirection nouvelle");
		document.location=check_url;

	}
	// si la redirection du profile est 2 chercher la page et referrante et le ramener sur celle-la
	if (profile_redirection==2)
	{
	var loc = new String(document.location)
		if(document.referrer.indexOf(check_url)!= -1 || loc.indexOf(magic_quote)!=-1)
		{
			//alert(document.referrer+" contains "+check_url+" redirect to "+document.referrer);
			document.location=document.referrer;
		}
		else
		{
			// alert(document.referrer);
			document.location=check_url;
		}
	}
	// Par defaut (profile_redirection indefini) faire un simple reload
	if(profile_redirection!=1 && profile_redirection!=2)
	{
		document.location.reload();
	}
}

function saveProfile(profilevar)
{
	date=new Date();
	date.setMonth(date.getMonth()+2);
	writeCookie("profile", profilevar, date, null, null, true);
}

function getStoredProfile()
{
 return readCookie("profile");
}

getStoredProfile();

function writeCookie(nom, valeur)
{
	var argv=writeCookie.arguments;
	var argc=writeCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	date=new Date();
	date.setMonth(date.getMonth()+2);
        expires=date;

	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function readCookie(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;

	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;

	}
	return null;
}
