function xmlhttpGet(strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('get', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatedata(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(null);
}

///////////////// Ticker Ajax ////////////////////////
function loadTicker(div,market){
	
	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(){
		display(page_request,div);
	}
	page_request.open('GET', "trading/ticker.jsp?plug-in=1&market="+market+"&"+new Date(), true);
	page_request.send(null);
}

///////////////// Market Ajax ////////////////////////
function loadMarket(div,market){
	
	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(){
		display(page_request,div);
	}
	page_request.open('GET', "trading/summary.jsp?market="+market+"&"+new Date(), true);
	page_request.send(null);
}

///////////////// Market Ajax ////////////////////////
function loadPalmares(div,sens){
	
	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(){
		display(page_request,div);
	}
	page_request.open('GET', "trading/palmares.jsp?sens="+sens+"&"+new Date(), true);
	page_request.send(null);
}

///////////////// Market Ajax ////////////////////////
function loadBonds(div,sens){
	
	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(){
		display(page_request,div);
	}
	page_request.open('GET', "trading/bonds.jsp&"+new Date(), true);
	page_request.send(null);
}

///////////////// Market Ajax ////////////////////////
var isin=null;
function loadStockBriefing(div,code){
	isin = 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(){
		display(page_request,div);
	}
	page_request.open('GET', "trading/stockBriefing.jsp?isin="+code+"&"+new Date(), true);
	page_request.send(null);
}


///////////////// Market Ajax ////////////////////////
function loadCurrentOrders(div,prtf){
	
	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(){
		display(page_request,div);
	}
	page_request.open('GET', "clients/orders/ordres.jsp?prtf="+prtf+"&"+new Date(), true);
	page_request.send(null);
}



///////////////////////////////////////////////////////
function display(page_request,div){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(div).innerHTML=page_request.responseText;
}



//////////////////////////////////////////////////////
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 validateOrderForm(form){
	var account = form.elements["prtf"];
	var stock = form.elements["stock"];
	var sens = form.elements["sens"];
	var qte = form.elements["qte"];
	var qte_dev = form.elements["qte_dev"];
	var prix = form.elements["prix"];
	var prix_decl = form.elements["prix_decl"];
	var type_prix = form.elements["type_ord"][form.elements["type_ord"].selectedIndex].value;
	var validite_type = form.elements["validite_chooser"][form.elements["validite_chooser"].selectedIndex].value;
	var validite = form.elements["validite"];
	//////////////////////////////////////////////
	
	if(account.value==null || trim(account.value)=='null' || trim(account.value)==''){
		alert("Veuillez choisir le compte sur lequel on passe l'ordre !");
		return false;
	}
	
	if(stock.value==null || trim(stock.value)=='Valeur ...' || trim(stock.value)==''){
		alert("Veuillez choisir le titre !");
		return false;
	}
	
	if(sens.length>1 && !sens[0].checked && !sens[1].checked){
		alert("Veuillez choisir le sens de l'ordre !");
		return false;
	}
	
	if(isNaN(parseInt(qte.value)) || parseInt(qte.value)<=0){	
		alert("Veuillez donner une valeur >0 de la quantite !");
		qte.focus();
		return false;
	}
	
	if(isNaN(parseInt(qte_dev.value)) || parseInt(qte_dev.value)<=0){	
		alert("Veuillez donner une valeur >0 de la quantite devoilee !");
		qte_dev.focus();
		return false;
	}else if(parseInt(qte_dev.value)>parseInt(qte.value)){
		alert("La quantite devoilee doit etre inferieure ou egale a la quantite !");
		qte_dev.focus();
		return false;
	}
	
	if(type_prix=='2' || type_prix=='6'){
		if(isNaN(parseFloat(prix.value)) || parseFloat(prix.value)<=0){	
			alert("Veuillez donner un prix !");
			prix.focus();
			return false;
		}
	
	}

	if(type_prix=='5' || type_prix=='6'){
		if(isNaN(parseFloat(prix_decl.value)) || parseFloat(prix_decl.value)<=0){	
			alert("Veuillez donner un prix de declenchement !");
			prix_decl.focus();
			return false;
		}
	}

	if(validite_type=='4' && validite.value.length<10) {
		alert("Veuillez donner une valeur correcte de la validite \n de la forme jj/mm/aaaa !");
		validite.focus();
		return false;
	}
		
	return true;

}
