// IV4 - variables communes
var afficheModuleJre = false;
var firstInitDepart = true;
var listeCoursesDepart = [];
var listeUrlOnLoad = [];

//si la portlet reference se presente dans la page home, on mets homeRef a true pour que la function 'updatePetitPoucet("HOME")' n'excute pas.
var homeRef = false; 


// Initialisation msg d'erreur
function initMsgErreur(name, value) {
	tabMsgErreur[name] = value;
}
// IV4 - script communs
	
// position du node DOM face au parent,
// on ne compte que les nodes ayant un id
function getDOMPosition(nCurrentNode, nParentNode) {
    var node;
    var i=0;
    for(node=nParentNode.firstChild; (node!=null)&&(nCurrentNode!=node); node=node.nextSibling) {
		if (node.id) {
			i++;
		}
    }
    return i;
}

//
// GESTION DU BLOC-NOTES
//
// nombre de bloc-notes
if (!nbBN) {
var nbBN = 0;
}

function addBlocNotes(pathMain, plid, portletId, doAsUserId) {
	var columnId='column-2';
	var columnPos=2;
	if (nbBN<4) {
		var curBlocNotes = document.getElementById('p_p_id_'+portletId+'_');
		var container = curBlocNotes.parentNode;
		
		if (curBlocNotes==null || container==null) {
			return false;
		}
		
		var iLen=0;
		iLen = String(container.id).length;
		columnId = String(container.id).substring(iLen-1);
		columnPos = getDOMPosition(curBlocNotes, container)+1;

		var loadingDiv = document.createElement("div");
		loadingDiv.className = "portlet-loading";
	
		var newPortletId = portletId.substring(0,portletId.length-1)+nbBN;
		loadingDiv.id='p_p_id_'+newPortletId+'_';
		loadingDiv.innerHtml='<p>loading...</p>';
		var url = pathMain+"/portal/update_layout";
		var query1 = "p_l_id="+ plid+"&p_p_id="+newPortletId+"&doAsUserId="+doAsUserId+"&cmd=add";
		var query2 = "p_l_id="+ plid+"&p_p_id="+newPortletId+"&p_p_col_id=" + columnId + "&p_p_col_pos=" + columnPos + "&doAsUserId="+doAsUserId+"&cmd=move";

		//container.insertBefore(loadingDiv, curBlocNotes.nextSibling);
		container.insertBefore(loadingDiv, curBlocNotes);
		alert('beforeajax');
		alert(url+'?'+query1+', ' +loadingDiv.id);
		
		//AjaxUtil.update(url+'?'+query1,loadingDiv.id);
		alert('after');
		//setTimeout(function(){loadPage(url, query2, null);},5000);
		nbBN++;
		return false;
	}
}

// /GESTION DU BLOC-NOTES
//

// Annonce d'un depart dans 3 min
function setCoursesDepart (reunion, course, etat) {
	for (var i=0; i<50; i++) {
		reunionCourse = document.getElementById("reunionCourse_" + i);
		if (reunionCourse != null && reunionCourse.value == reunion + "-" + course) {
			document.getElementById("depart_" + i).innerHTML = "<img src=\"/iv4Portlets/html/images/design/picto_depart_anim.gif\" class=\"attention\" />";
		}
	}
	if (!listeCoursesDepart[reunion + "-" + course]) {
		if (!firstInitDepart) alert(tabMsgErreur["alert.panier.depart3min"].replace("$1", reunion).replace("$2", course));
	}
	listeCoursesDepart[reunion + "-" + course] = etat;
}

// Renvoi false quand la course courante est deja dans le panier et a le statut "depart 3 min"
function verifCoursesDepartPariAutorise () {
	if (listeCoursesDepart[reunionCourante + "-" + courseCourante] == 3) {
		alert(tabMsgErreur["errors.panier.depart3min"].replace("$1", reunionCourante).replace("$2", courseCourante));
		return false;
	} else {
		return true;
	}
}

// Dans le cas ou un pari est en cours, une confirmation d'action est demande
function verifPariEnCoursMenu () {
	if (typeof(strategyCourante) != "undefined") {
		if (verifPariEnCours()) {
			initTypePari('0', '', 'pariVide', 0);
			listeChvxCharge = false;
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}

//Format un nombre en ajoutant une virgule (value est en euro)
function formatValue(value) {
	var int = value;
	value = value + "";
	var result;
	if(int <= 0) {
		return value;
	}
	else {
		var regex =/\./;
		var tab = value.split(regex);
		if(tab.length > 1) {
			if (tab[1].length >= 1) {
				while (tab[1].length < 2) {
					tab[1] = tab[1] + "0";
				}
			}
			return tab[0]+ "," + tab[1];
		}
		return tab[0] + ",00";
	}
}

function simpleClock() {
	var currentDate = new Date();
	var datePmuPresume = new Date();
	datePmuPresume.setTime(datePmu.getTime() + (currentDate.getTime() - dateLocale.getTime()));
	var h,m,s;
	var time = "        ";
	
	h = datePmuPresume.getHours();
	m = datePmuPresume.getMinutes();
	s = datePmuPresume.getSeconds();
	if (m<=9) m = "0" + m;
	if (h<=9) h = "0" + h;
	time = h + "h" + m;
	if (document.getElementById('heure_console')) {
		document.getElementById('heure_console').innerHTML = time;
	} else if (document.getElementById('heure_consoleV')) {
		document.getElementById('heure_consoleV').innerHTML = time;
	} else if (document.getElementById('heure_consoleM')) {
		document.getElementById('heure_consoleM').innerHTML = time;
	}
	tick = setTimeout("simpleClock()", 500);
}

var submitAjaxEncours = false;
	
// submit ajax: struts=url de base, form=nom du formulaire, portlet=id du div a updater
function submitAjax(struts, form, portlet){
	if (!submitAjaxEncours) {
 	    var urlValideForm = struts;
        
        theForm = document.getElementById(form);
        
        urlValideForm = urlValideForm.replace(/&amp;/g,"&");
        
        var url = urlValideForm + "&" + Form.serialize(theForm).replace(/&amp;/g,"&");

        submitAjaxEncours = true;//blocage de nouvelles tentatives
        setTimeout('submitAjaxEncours = false', 3000);//en cas de probleme, retour a l'etat normal au bout de 3 secondes
        AjaxUtil.update(url, portlet);
        submitAjaxEncours = false;//retour a l'etat normal
	}
}
 
// update ajax avec ajout de param
 function submitAjaxParam(url, portlet, param){
	var urlValide = url.replace(/&amp;/g,"&") + param;
	submitAjaxEncours = true;//blocage de nouvelles tentatives
	setTimeout('submitAjaxEncours = false', 3000);//en cas de probleme, retour a l'etat normal au bout de 3 secondes
	AjaxUtil.update(urlValide, portlet);
	submitAjaxEncours = false;//retour a l'etat normal
 }
var reunionsUrlPersoFilter='';

 	    
function afficherReunionUrl(url,valeur) {
	if (timeoutRefreshReunion) {
	 	window.clearTimeout(timeoutRefreshReunion);
	}
 	var urlValide = url+reunionsUrlPersoFilter;
	if (valeur != "" && !isNaNExt(valeur) ) {
		urlValide +=  "&id=" + valeur;
	}	 	
	AjaxUtil.update(urlValide, "p_p_id_mesReunionsPortlet_WAR_iv4Portlets_");
}

// Extension de la fonction isNaN afin de ne pas considerer les notations exponentielles et negatives comme des nombres.
function isNaNExt(number) {
	if (isNaN(number)) {
		return true;
	} else {
		var stringNumber = number.toString();
		if (stringNumber.indexOf("e") != -1 ||
			stringNumber.indexOf("E") != -1 ||
			stringNumber.indexOf("+") != -1 ||
			stringNumber.indexOf("-") != -1) {
			return true;
		} else {
			return false;
		}
	}
}

// test si un object est un nombre && pas un Nan && pas infini (exponentiel)
function isNumber(x) 
{ 
  return !isNaNExt(x)
}

//fonction qui supprime une sous-chaine d'une chaine
function removeStringFromString(source,string2remove) {
	 return source.split(string2remove).join('');
}

// fonction qui supprime les espaces d'une chaine
function removeSpaces(string) {
	 return removeStringFromString(string," ");
}	 


// Affiche le masque d'attente lors d'un traitement
function showWaitingLayer() {
	jQuery("#waitingLayer").show();
}
  
//function du changement du texte dans la petit poucet
function updatePetitPoucet(typeAffichage) {
  var poucet=document.getElementById("breadcrumb");
  var urlPad1 = '<a href="/group/iv4/pad1">Parier</a>';
  var urlMonCompte = '<a href="/redirect?to=monCompte">Mon Compte</a>';
  var urlApproCB = '<a href="/redirect?to=approCB">Approvisionnement par Carte Bancaire</a>';
  var urlLaCarte = '<a href="/redirect?to=laCarte">La Carte</a>';
  var urlAutolimitation = '<a href="/redirect?to=autolimitation">Jeu responsable</a>';
  var urlAutolimitationAppro = '<a href="/redirect?to=autolimitation">Jeu responsable</a>';
  var urlSuspension= '<a href="/redirect?to=suspension">Suspension</a>';
  var urlHome= '<a href="/redirect?to=PS">Paris hippiques</a>';
   
  if (typeAffichage=="TEMP001") poucet.innerHTML= "Envoi du Dossier par courrier";
  if (typeAffichage=="TEMP002" ||typeAffichage=="TEMP002b") poucet.innerHTML= "Envoi du Dossier en ligne";
  
  if (typeAffichage=="HOME") poucet.innerHTML= 'Paris hippiques';   
  if (typeAffichage=="PERSO01") poucet.innerHTML= urlHome + ' > Personnaliser mon Site';
  if (typeAffichage=="PERSOFAVO") poucet.innerHTML= urlHome +  ' > Mes Chevaux Pr&eacute;f&eacute;r&eacute;s';
  
  if (typeAffichage=="PAD1") poucet.innerHTML=urlHome + ' > Parier';
  if (typeAffichage=="PAD2") poucet.innerHTML=urlHome + ' > ' + urlPad1 + ' > Enregistrer';
  
  if (typeAffichage=="HomeREF") poucet.innerHTML=urlHome + ' > ' + urlPad1 + ' > R&eacute;f&eacute;rence';

  if (typeAffichage=="MVT") poucet.innerHTML="Mon Compte > Mouvements";
  if (typeAffichage=="DRJX") poucet.innerHTML=urlMonCompte+' > Mouvements > Jeux hippiques';
  if (typeAffichage=="DRGA") poucet.innerHTML=urlMonCompte+' > Mouvements > Gains hippiques';
  if (typeAffichage=="DRGOSS1") poucet.innerHTML=urlMonCompte+' > Mouvements > Paris et Gains sportifs';
  if (typeAffichage=="MVTOSS1") poucet.innerHTML=urlMonCompte+' > Mouvements > Paris sportifs encours';
  
  if (typeAffichage=="APPROCB01") poucet.innerHTML=urlMonCompte + ' > Approvisionnement par Carte Bancaire';
  if (typeAffichage=="APPROCB02") poucet.innerHTML=urlMonCompte + ' > ' + urlApproCB + ' > Confirmation';
  if (typeAffichage=="APPROVIR") poucet.innerHTML=urlMonCompte + ' > Approvisionnement par Virement';
  if (typeAffichage=="APPROCHE") poucet.innerHTML=urlMonCompte + ' > Approvisionnement par Ch&egrave;que';
  if (typeAffichage=="RETR") poucet.innerHTML=urlMonCompte + ' > Retrait des gains';
  if (typeAffichage=="PRIV01") poucet.innerHTML=urlMonCompte + ' > La Carte > Demande';
  if (typeAffichage=="PRIV02") poucet.innerHTML=urlMonCompte + ' > '+ urlLaCarte + ' > Perte,Vol';
  if (typeAffichage=="PRIV03") poucet.innerHTML=urlMonCompte + ' > ' + urlLaCarte + ' > D&eacute;blocage';
  if (typeAffichage=="RESP01") poucet.innerHTML=urlMonCompte + ' > Jeu responsable';
  if (typeAffichage=="RESP02") poucet.innerHTML=urlMonCompte + ' > ' + urlAutolimitationAppro + ' > Confirmation';
  if (typeAffichage=="RESP010") poucet.innerHTML=urlMonCompte + ' > '+ urlAutolimitation + ' > Suspension';
  if (typeAffichage=="RESP011") poucet.innerHTML=urlMonCompte + ' > ' + urlAutolimitation + ' > '+urlSuspension +' > Confirmation';
  
  if (typeAffichage=="CHCD01" ||typeAffichage=="CHCD08") poucet.innerHTML=urlMonCompte + ' > Changement de Code Confidentiel';
  if (typeAffichage=="CHCD09") poucet.innerHTML=urlMonCompte + ' > Changement de Code Confidentiel > Quizz';
  if (typeAffichage=="CHCD05") poucet.innerHTML='Perte du Code Confidentiel';
  if (typeAffichage=="CHCD05Bis") poucet.innerHTML="Perte du Code Confidentiel > Nouveau Code Confidentiel";
  if (typeAffichage=="CHAD01") poucet.innerHTML=urlMonCompte + ' > Mon profil'; 
  if (typeAffichage=="CLOT01") poucet.innerHTML=urlMonCompte + ' > Cl&ocirc;turer Mon Compte';
  if (typeAffichage=="CLOT02") poucet.innerHTML='Cl&ocirc;turer Mon Compte';
  
	jQuery("#breadcrumb a").click(function(){
		ns_onclick(sitestatRootURL, this, '', 'hippique.clic.header.fil_ariane', 'clickin');
		return false;
	});
}
