function openwin(name,w,h,scrollbars,resizable,status,menubar,url)
{
	var left = (screen.width-w)/2;
	var top = (screen.height-h)/2;

	var win = window.open("",name,"width=" + w + ",height=" + h +",scrollbars=" + scrollbars +",resizable=" + resizable +",status=" + status +",menubar=" + menubar +",screenx="+left+",screeny="+top+",left="+left+",top="+top);
	if (url)
		win.location.href=url;
	win.focus();
}
function openleftwin(name,w,h,scrollbars,resizable,status,menubar,url)
{
	var left = 20;
	var top = (screen.height-h)/4;

	var win = window.open("",name,"width=" + w + ",height=" + h +",scrollbars=" + scrollbars +",resizable=" + resizable +",status=" + status +",menubar=" + menubar +",screenx="+left+",screeny="+top+",left="+left+",top="+top);
	if (url)
		win.location.href=url;
	win.focus();
}
function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim

////////////////////////////////////////

function validate_form(ref){
	var i = 0;
	if(!ref.elements['nom'].value | trim(ref.elements['nom'].value)=="")
	{	
		alert("Vous devez donner votre \"nom\" !");
		ref.elements['nom'].focus();
		return false;
	}
	
	if(!ref.elements['prenom'].value | trim(ref.elements['prenom'].value)=="")
	{	
		alert("Vous devez donner votre \"prénom\" !");
		ref.elements['prenom'].focus();
		return false;
	}
       

	if(!ref.elements['email'].value | trim(ref.elements['email'].value)=="") 
	{	
		alert("Vous devez donner votre adresse email !");
		ref.elements['email'].focus();
		return false;
	}
	
	if(!ref.elements['email'].value.match("@") || !ref.elements['email'].value.match("."))
	{
		alert("Vous devez donner une adresse email valide !");
		ref.elements['email'].focus();
		return false;
	}

	if(ref.elements['email'].value.lastIndexOf("@")>ref.elements['email'].value.lastIndexOf("."))
	{
		alert("Vous devez donner une adresse email valide !");
		ref.elements['email'].focus();
		return false;
	}
	return true;
}

function validate_selection(ref)
{
	var i = 0;
	if(ref.elements['jour'].value && trim(ref.elements['jour'].value)!="Tous les jours")
	{	
		if(!trim(ref.elements['mois'].value) || trim(ref.elements['mois'].value)=="")
		{
			alert("Veuillez choisir le \"mois\" !");
			ref.elements['mois'].style.background = "#FF9900";
			ref.elements['mois'].style.color = "white";
			ref.elements['mois'].focus();
			return false;
		}

		if(!ref.elements['an'].value || trim(ref.elements['an'].value)=="")
		{
			alert("Veuillez choisir \" l'année \" !");
			ref.elements['an'].style.background = "#FF9900";
			ref.elements['an'].style.color = "white";
			ref.elements['an'].focus();
			return false;
		}
	}
	else
	{
		if(trim(ref.elements['jour'].value)=="Tous les jours" && trim(ref.elements['mois'].value)!=""
			&& (!ref.elements['an'].value || trim(ref.elements['an'].value)==""))
		{
			alert("Veuillez choisir \" l'année \" !");
			ref.elements['an'].style.background = "#FF9900";
			ref.elements['an'].style.color = "white";
			ref.elements['an'].focus();
			return false;
		}
	}
	
	if(ref.elements['_stp'].value.length>0 && !isInt(ref.elements['_stp'].value))
	{
			alert("Le nombre d'évènements par page doit être un entier !");
			ref.elements['_stp'].style.background = "#FF9900";
			ref.elements['_stp'].style.color = "white";
			ref.elements['_stp'].focus();
			return false;
	}
	
	if(isInt(ref.elements['_stp'].value) && (ref.elements['_stp'].value<5 || ref.elements['_stp'].value>100))
	{
			alert("Le nombre d'évènements par page doit être entre 5 et 100 !");
			ref.elements['_stp'].style.background = "#FF9900";
			ref.elements['_stp'].style.color = "white";
			ref.elements['_stp'].focus();
			return false;
	}
	
	return true;
}

function validate_email(ref){
	var i = 0;
	if(!ref.elements['email'].value | trim(ref.elements['email'].value)=="") 
	{	
		alert("Vous devez donner votre adresse email !");
		ref.elements['email'].focus();
		return false;
	}
	
	if(!ref.elements['email'].value.match("@") || !ref.elements['email'].value.match("."))
	{
		alert("Vous devez donner une adresse email valide !");
		ref.elements['email'].focus();
		return false;
	}

	if(ref.elements['email'].value.lastIndexOf("@")>ref.elements['email'].value.lastIndexOf("."))
	{
		alert("Vous devez donner une adresse email valide !");
		ref.elements['email'].focus();
		return false;
	}
	return true;
}


function isInt(val)
{
	if(val.length==0)
		return false;
	
	if(val.charAt(0)=='+' || val.charAt(0)=='-')
		val = val.substring(1,val.length);
				
	for(i=0;i<val.length;++i)
	{
		if(val.charAt(i) < "0" || val.charAt(i) > "9") return false;
	}
	return true;
}


function isNumber(val)
{
	var withaDot = false;
	
	if(val.length==0)
		return false;

	if(val.charAt(0)=='+' || val.charAt(0)=='-')
		val = val.substring(1,val.length);
				  
	
	
	for(i=0;i<val.length;++i)
	{
		if(val.charAt(i)=="." || val.charAt(i) == ",")
		{
			if(withaDot) return false;
			else
				withaDot = true;
			continue;
		}

		if(val.charAt(i) < "0" || val.charAt(i) > "9") return false;
	}
	return true;
}

// Copyright © 2000 by Apple Computer, Inc., All Rights Reserved.
//
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.
//
// ************************
// layer utility routines *
// ************************

function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	//return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	//return false;
    }
} // changeObjectVisibility

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.left = newXCoordinate;
	styleObject.top = newYCoordinate;
	return true;
    } else {
	// we couldn't find the object, so we can't very well move it
	return false;
    }
} // moveObject


function show(i) {
switch(i)  {
	case 0 : 
		document.getElementById("highest").style.display = "block";
		document.getElementById("highest").style.visibility = "visible";
		document.getElementById("arrow1").src = "images/this.gif";
		
		document.getElementById("lowest").style.visibility = "hidden";
		document.getElementById("lowest").style.display = "none";
		document.getElementById("arrow2").src = "images/pixel.gif";

		document.getElementById("volumes").style.visibility = "hidden";
		document.getElementById("volumes").style.display = "none";
		document.getElementById("arrow3").src = "images/pixel.gif";
		
		break;
	case 1 : 
		document.getElementById("highest").style.visibility = "hidden";
		document.getElementById("highest").style.display = "none";
		document.getElementById("arrow1").src = "images/pixel.gif";
		
		document.getElementById("lowest").style.display = "block";
		document.getElementById("lowest").style.visibility = "visible";
		document.getElementById("arrow2").src = "images/this.gif";

		document.getElementById("volumes").style.visibility = "hidden";
		document.getElementById("volumes").style.display = "none";
		document.getElementById("arrow3").src = "images/pixel.gif";
		
		break;
	case 2 : 
		document.getElementById("highest").style.visibility = "hidden";
		document.getElementById("highest").style.display = "none";
		document.getElementById("arrow1").src = "images/pixel.gif";
		
		document.getElementById("lowest").style.visibility = "hidden";
		document.getElementById("lowest").style.display = "none";
		document.getElementById("arrow2").src = "images/pixel.gif";
		
		document.getElementById("volumes").style.display = "block";
		document.getElementById("volumes").style.visibility = "visible";
		document.getElementById("arrow3").src = "images/this.gif";
		
		break;
}
}




////////////////// Refreshing Scripts ///////////////////////
function loadTop5(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayTop5(page_request);
	}

	page_request.open('GET', "/quotes/performers.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayTop5(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("top5").innerHTML=page_request.responseText;
}
//////////////////////////limites///////////////////////////////////////
function loadLimits(code){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayLimits(page_request);
	}

	page_request.open('GET', "/quotes/limits.jsp?code="+code, true);
	page_request.send(null);
}

function displayLimits(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("limits").innerHTML=page_request.responseText;
}
//////////////////////////Stock-détails///////////////////////////////////////
function loadStockdetails(code){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayStockdetails(page_request);
	}

	page_request.open('GET', "/quotes/stock-details.jsp?code="+code, true);
	page_request.send(null);
}

function displayStockdetails(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("stockdetails").innerHTML=page_request.responseText;
}
//////////////////////////More-Stock-détails///////////////////////////////////////
function loadMoreStockdetails(code){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayMoreStockdetails(page_request);
	}

	page_request.open('GET', "/quotes/more-stock-details.jsp?code="+code, true);
	page_request.send(null);
}

function displayMoreStockdetails(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("morestockdetails").innerHTML=page_request.responseText;
}

//////////////////////////intraday-graphics///////////////////////////////////////
function loadIntradayraphics(code){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayIntradaygraphics(page_request);
	}

	page_request.open('GET', "/quotes/intraday-graphics.jsp?code="+code, true);
	page_request.send(null);
}

function displayIntradaygraphics(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("intradaygraphics").innerHTML=page_request.responseText;
}

//////////////////////////intraday-data///////////////////////////////////////
function loadIntradaydata(code){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayIntradaydata(page_request);
	}

	page_request.open('GET', "/quotes/intraday-data.jsp?code="+code, true);
	page_request.send(null);
}

function displayIntradaydata(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("intradaydata").innerHTML=page_request.responseText;
}



//////////////////////////haut///////////////////////////////////////
function loadHaut(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayHaut(page_request);
	}

	page_request.open('GET', "/quotes/pref-haut.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayHaut(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("haut").innerHTML=page_request.responseText;
}
//////////////////////////bas////////////////////////////////////////
function loadBas(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayBas(page_request);
	}

	page_request.open('GET', "/quotes/pref-bas.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayBas(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("bas").innerHTML=page_request.responseText;
}
/////////////////////////volume/////////////////////////////////////
function loadVolume(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayVolume(page_request);
	}

	page_request.open('GET', "/quotes/pref-volume.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayVolume(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("volume").innerHTML=page_request.responseText;
}

///////////////////////////////////////////////////////////////////////
function loadCumulMarche(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayCumulMarche(page_request);
	}
	page_request.open('GET', "/quotes/cumul-marche.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayCumulMarche(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("cumul-marche").innerHTML=page_request.responseText;
}

function loadIndices(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayIndices(page_request);
	}
	page_request.open('GET', "/quotes/indices.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayIndices(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("indices").innerHTML=page_request.responseText;
}

function loadIndiceSec(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
	page_request.onreadystatechange=function(){
		displayIndiceSec(page_request);
	}
	page_request.open('GET', "/quotes/indices-sectoriels.jsp", true);
	page_request.send(null);
}

function displayIndiceSec(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("indices_sect").innerHTML=page_request.responseText;
}

///////////////// Ticker Ajax ////////////////////////
function loadTicker(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
		
	page_request.onreadystatechange=function(){
		displayTicker(page_request);
	}
	page_request.open('GET', "/quotes/ticker.jsp?"+new Date(), true);
	page_request.send(null);
}
///////////////// Arab Ticker Ajax ////////////////////////
function loadARTicker(){
	
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
	
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
		}else	return false;
		
	page_request.onreadystatechange=function(){
		displayTicker(page_request);
	}
	page_request.open('GET', "/AR/quotes/ticker.jsp?"+new Date(), true);
	page_request.send(null);
}

function displayTicker(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById("ticker").innerHTML=page_request.responseText;
}
function showIntraday(i) {
	switch(i)  {
		case 1 : 
			document.getElementById("intraday-graphics").style.display = "block";
			document.getElementById("intraday-graphics").style.visibility = "visible";
			
			document.getElementById("intraday-data").style.visibility = "hidden";
			document.getElementById("intraday-data").style.display = "none";
			
			break;
		case 2 : 
			document.getElementById("intraday-graphics").style.display = "none";
			document.getElementById("intraday-graphics").style.visibility = "hidden";
			
			document.getElementById("intraday-data").style.visibility = "visible";
			document.getElementById("intraday-data").style.display = "block";
			
			break;
		}
}
