$(document).ready(chargement1);
$(window).resize(place);

$(window).load(function (){Chargement.desafficher()});

// constructeur :
function chargement1()
{
	chargement=new Chargement();
	
	
	modeleInteraction=new ModeleInteraction();

	if(window.location.hash.length>0)
	{
		adresse=''
		if(navigator.appName=='Netscape' || navigator.appName=='Opera' )
		{
			for (var i=1 ; i<window.location.hash.length ; i++)
			adresse+=window.location.hash[i];
		}
		else
		{	
			var i=0
			while (window.location.href.charCodeAt(i)!=35 && i<window.location.href.length)
			{
				i++;
			}
				
			for (i++ ; i<window.location.href.length ; i++)
			{	
				adresse+=String.fromCharCode(window.location.href.charCodeAt(i));
			}
		}
		
		
		$.getJSON(ModeleInteraction.root+'chargements/getPageLoaded.php?adresse='+adresse, traiter);
	}
	else
	{
		chargement2();		
	}
	
}

function traiter(reponse, contenu)
{	
	ModeleInteraction.categorie=reponse.elements[0].cat;
	ModeleInteraction.idPage=reponse.elements[0].idPage;

	
	
	chargement2();
}

function chargement2()
{

	// création du modele interaction!
	
	
	var l=1;
	if (navigator.language)
	{
		la=navigator.language;
		if (navigator.language.indexOf('fr')!=-1)
			l=0;
		if (navigator.language.indexOf('ja')!=-1)
			l=2;
	}
	if(navigator.userLanguage)
	{
		la=navigator.userLanguage;
		if (navigator.userLanguage.indexOf('fr')!=-1)
			l=0;
		if (navigator.userLanguage.indexOf('ja')!=-1)
			l=2;
		
	}
	ModeleInteraction.setLangue(l , true); 	// langue Anglaise par default
	modeleGraphique=new ModeleGraphique();
	
	$.getJSON(ModeleInteraction.root+'chargements/loadCategoriePlus.php' , traiterCategorie2);
	$.getJSON(ModeleInteraction.root+'chargements/loadCategorie.php', traiterCategorie);
	
	
}

// reception des réponse php :
function traiterCategorie(reponse , categorie)
{
	$.each(reponse.categories , saveCategorie);
	
	creationItem();
}

function traiterCategorie2(reponse , categorie)
{
	$.each(reponse.categories , function(i,uneCategorie)
		{
			ModeleInteraction.tabCategorie[uneCategorie.ordre]=new Array();
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["id"]=uneCategorie.id;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["fr"]=uneCategorie.fr;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["en"]=uneCategorie.en;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["jp"]=uneCategorie.jp;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["contenu"]=uneCategorie.contenu;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["couleur"]=uneCategorie.couleur;
			ModeleInteraction.tabCategorie[uneCategorie.ordre]["plus"]=true;
		});
}

// enregistrement des categorie
function saveCategorie(i , uneCategorie)
{
	ModeleInteraction.nbCategorieShown++;
		
	ModeleInteraction.tabCategorie[uneCategorie.ordre]=new Array();
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["id"]=uneCategorie.id;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["fr"]=uneCategorie.fr;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["en"]=uneCategorie.en;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["jp"]=uneCategorie.jp;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["contenu"]=uneCategorie.contenu;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["couleur"]=uneCategorie.couleur;
	ModeleInteraction.tabCategorie[uneCategorie.ordre]["plus"]=false;
}

function creationItem()
{
	
	
	if (!chargePage())
		ModeleInteraction.setCategorie(ModeleInteraction.tabCategorie[0]["id"] , true);


	ModeleInteraction.createItem();
	
	//init items
	ModeleInteraction.refreshCategorie();
	
	
	// ajout du KeepPaper
	$("body").append(new ModeleKeepPaper());
	
	
	
	
	$("body").append(ModeleInteraction.conteneurPage);
	
	// banner :
	ModeleInteraction.conteneurPage.append(ModeleInteraction.banner.me);
	
	
	
	//conteneurInfos :
	ModeleInteraction.conteneurPage.append(ModeleInteraction.conteneurInfo);
	
	// menu :
	ModeleInteraction.conteneurInfo.append(ModeleInteraction.menuPrincipal);
	if (navigator.appName=='Microsoft Internet Explorer')
	{
		ModeleInteraction.conteneurInfo.append("<br/><br/><br/>")
	}
	ModeleInteraction.conteneurInfo.append(Menu.me);	
	
	
	// Conteneur
	ModeleInteraction.conteneurInfo.append(ModeleConteneur.me);
	
	
	
	// ajour du Partenaire
	ModeleInteraction.conteneurInfo.append(new Partenaire());
	
	
}

function place()
{
	ModeleKeepPaper.place();
}

function chargePage()
{
	if (ModeleInteraction.categorie)
	{	
		ModeleInteraction.setCategorie(ModeleInteraction.categorie , true);
		if(ModeleInteraction.idPage!=null)
			ModeleInteraction.idPageCategorie=ModeleInteraction.idPage;
		return true;
	}
	else
	{
		return false;
	}
	
}

