function getAjaxObject(url, asynchrone) {
      var xhr_object = null; 

      if(window.XMLHttpRequest) // Firefox
            xhr_object = new XMLHttpRequest();
      else if(window.ActiveXObject) // Internet Explorer
            xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
      else { // XMLHttpRequest non supporte par le navigateur
            alert("AJAX OBJECT NOT SUPPORTED BY YOUR BROWSER");
            return null;
      }

      xhr_object.open("POST", url, asynchrone);
      xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

      return xhr_object;
}


function initSelectWithAjaxData(action, param, element) {
      var xhr_object = getAjaxObject("/ajax/controler", true);

      if (xhr_object == null) {
            return;
      }

      xhr_object.onreadystatechange = function() {
            if(xhr_object.readyState == 4) {
            	  // result...
            	  var dataList = getDataInXML(xhr_object.responseText, action);
                  for(var cx=0 ; cx < dataList.length ; cx++) {
      			  	element.options[cx] = new Option(dataList[cx], dataList[cx]);
      			  }
            }
      }

	  if((param != null) && (param.length > 0)) {
      	xhr_object.send("action=" + action + "&" + param);
      } else {
      	xhr_object.send("action=" + action);
      }
}


function initInputWithAjaxData(action, param, element) {
      var xhr_object = getAjaxObject("/ajax/controler", true);

      if (xhr_object == null) {
            return;
      }

      xhr_object.onreadystatechange = function() {
            if(xhr_object.readyState == 4) {
            	  // result...
            	  var dataList = getDataInXML(xhr_object.responseText, action);
                  if(dataList.length >= 1) {
						element.value= dataList[0];
				  }
            }
      }

	  if((param != null) && (param.length > 0)) {
      	xhr_object.send("action=" + action + "&" + param);
      } else {
      	xhr_object.send("action=" + action);
      }
}


function isValideValueByAjax(action, value) {
	var result = false;
	
	var xhr_object = getAjaxObject("/ajax/controler", false);

	if (xhr_object == null) {
          return;
    }
	
  	xhr_object.send("action=" + action + "&value=" + value);
  	
    var dataList = getDataInXML(xhr_object.responseText, action);
    if(dataList.length >= 1) {
		if(dataList[0] == 'true') {
			result = true;
		} else {
			result = false;
		}
	}
   	
   	return result;
}


function getAjaxTabContent(tabName, servletPath) {
    var xhr_object = getAjaxObject(servletPath, true);

    if (xhr_object == null) {
          return;
    }

    xhr_object.onreadystatechange = function() {
          if(xhr_object.readyState == 4) {
          	  // result...
        	  //alert(document.getElementById("content-" + tabName.substring(1,tabName.length)).innerHTML);
          	  document.getElementById("content-" + tabName.substring(1,tabName.length)).innerHTML = xhr_object.responseText;
        	  //alert(document.getElementById("content-" + tabName.substring(1,tabName.length)).innerHTML);
          }
    }

   	xhr_object.send("action=GetContent&tab=" + tabName.substring(1,tabName.length));
}


function updateAsset(action, typeAsset, idAsset, value) {
	var result = false;
	
	var xhr_object = getAjaxObject("/ajax/controler", true);

	if (xhr_object == null) {
          return;
    }
	
    xhr_object.onreadystatechange = function() {
        if(xhr_object.readyState == 4) {
        	// result...
        	var dataList = getDataInXML(xhr_object.responseText, 'status');
            if(dataList.length >= 1) {
        		if(dataList[0] == 'true') {
        			result = true;
        		} else {
        			result = false;
        		}
        	 // alert('*** ' + result + ' ***');	
        	}
        }
    }
	
  	xhr_object.send("action=" + action + "&typeAsset=" + typeAsset + "&idAsset=" + idAsset + "&value=" + value);
}


function initPaveLogin() {
	var xhr_object = getAjaxObject("/ajax/controler", true);

	if (xhr_object == null) {
          return;
    }
	
    xhr_object.onreadystatechange = function() {
        if(xhr_object.readyState == 4) {
        	// result...
        	//alert('==>' + xhr_object.responseText);
        	
        	var dataList = null;
        	var logged, msg, firstname, message, remboursement, indemnites;
        	
        	dataList = getDataInXML(xhr_object.responseText, 'logged');
            if(dataList.length >= 1) {
            	logged = dataList[0];
        	}
            
            if(logged != 'NOTLOGGED') {
	        	dataList = getDataInXML(xhr_object.responseText, 'firstname');
	            if(dataList.length >= 1) {
	            	firstname = dataList[0];
	        	}
	            
	            if(logged == 'FULL') {
		        	dataList = getDataInXML(xhr_object.responseText, 'message');
		            if(dataList.length >= 1) {
		            	message = dataList[0];
		        	}
		            
		        	dataList = getDataInXML(xhr_object.responseText, 'remboursement');
		            if(dataList.length >= 1) {
		            	remboursement = dataList[0];
		        	}
		            
		        	dataList = getDataInXML(xhr_object.responseText, 'indemnites');
		            if(dataList.length >= 1) {
		            	indemnites = dataList[0];
		        	}
	            }
            } else {
            	dataList = getDataInXML(xhr_object.responseText, 'msg');
	            if(dataList.length >= 1) {
	            	msg = dataList[0];
	            	if(msg == 'NO PROBLEME') {
	            		msg = '';
	            	}
	        	}
            }
            
            //alert(logged + ' - ' + msg + ' - ' + firstname + ' - ' + message + ' - ' + remboursement + ' - ' + indemnites);
            
            var divNotLogged, divLimitedMember, divFullMember;
            divNotLogged = document.getElementById('divNotLogged');
            divLimitedMember = document.getElementById('divLimitedMember');
            divFullMember = document.getElementById('divFullMember');
            
            if(logged == 'NOTLOGGED') {
                divNotLogged.style.display = '';
                divLimitedMember.style.display = 'none';
                divFullMember.style.display = 'none';
                
                var msgNotLogged = document.getElementById('msgNotLogged');
                msgNotLogged.innerHTML = msg; 
            } else {
            	if(logged == 'LIMETED') {
                    divNotLogged.style.display = 'none';
                    divLimitedMember.style.display = '';
                    divFullMember.style.display = 'none';
                    
                    var firstnameLimited = document.getElementById('firstnameLimited');
                    firstnameLimited.innerHTML = firstname;
                } else {
                	if(logged == 'FULL') {
                        divNotLogged.style.display = 'none';
                        divLimitedMember.style.display = 'none';
                        divFullMember.style.display = '';
                        
                        var firstnameFullMember = document.getElementById('firstnameFull');
                        firstnameFullMember.innerHTML = firstname; 

                        var alertmessageFull = document.getElementById('alertmessageFull');
                        alertmessageFull.innerHTML = message;
                        
                        var rembFull = document.getElementById('rembFull');
                        rembFull.innerHTML = remboursement;
                        
                        var indemnityFull = document.getElementById('indemnityFull');
                        indemnityFull.innerHTML = indemnites;
                    }
                }
            }

        }
    }
	
  	xhr_object.send("action=userInfo");
}



function initPaveQuizPromo() {
	var xhr_object = getAjaxObject("/ajax/controler", true);

	if (xhr_object == null) {
          return;
    }
	
    xhr_object.onreadystatechange = function() {
        if(xhr_object.readyState == 4) {
        	// result...
        	//alert('==>' + xhr_object.responseText);
        	
        	var dataList = null;
        	var promo_type, start_date, end_date, new_date, day_number, number_of_correct_answers;
        	
        	dataList = getDataInXML(xhr_object.responseText, 'promo-type');
            if(dataList.length >= 1) {
            	promo_type = dataList[0];
        	}
            
            if(promo_type != 'NO PROMO') {
	            if(promo_type == 'PROMO 1') {
	            }
	            
	            if(promo_type == 'PROMO 2') {
		        	dataList = getDataInXML(xhr_object.responseText, 'end-date');
		            if(dataList.length >= 1) {
		            	end_date = dataList[0];
		        	}
		            
		        	dataList = getDataInXML(xhr_object.responseText, 'day-number');
		            if(dataList.length >= 1) {
		            	day_number = dataList[0];
		        	}
	            }
	            
	            if(promo_type == 'PROMO 3') {
		        	dataList = getDataInXML(xhr_object.responseText, 'end-date');
		            if(dataList.length >= 1) {
		            	end_date = dataList[0];
		        	}
		            
		        	dataList = getDataInXML(xhr_object.responseText, 'new-date');
		            if(dataList.length >= 1) {
		            	new_date = dataList[0];
		        	}
		            
		        	dataList = getDataInXML(xhr_object.responseText, 'number-of-correct-answers');
		            if(dataList.length >= 1) {
		            	number_of_correct_answers = dataList[0];
		        	}
	            }
            }
            
            //alert(promo_type + ' - ' + start_date + ' - ' + end_date + ' - ' + new_date + ' - ' + day_number + ' - ' + number_of_correct_answers);
            
           
 			var divBoxPromo_1, divBoxPromo_2, divBoxPromo_3;
 			divBoxPromo_1 = document.getElementById('divBoxPromo_1');
 			divBoxPromo_2 = document.getElementById('divBoxPromo_2');
 			divBoxPromo_3 = document.getElementById('divBoxPromo_3');
            
            if(promo_type == 'PROMO 1') {
     			divBoxPromo_1.style.display = '';
     			divBoxPromo_2.style.display = 'none';
     			divBoxPromo_3.style.display = 'none';

            } else {
            	if(promo_type == 'PROMO 2') {
         			divBoxPromo_1.style.display = 'none';
         			divBoxPromo_2.style.display = '';
         			divBoxPromo_3.style.display = 'none';
                    
                    var endDatePromo_2 = document.getElementById('endDatePromo_2');
                    endDatePromo_2.innerHTML = end_date;

                    var daysNumberPromo_2 = document.getElementById('daysNumberPromo_2');
                    daysNumberPromo_2.innerHTML = day_number;
                    
                } else {
                	if(promo_type == 'PROMO 3') {
             			divBoxPromo_1.style.display = 'none';
             			divBoxPromo_2.style.display = 'none';
             			divBoxPromo_3.style.display = '';
                        
                        var numberOfCorrectAnswersPromo_3 = document.getElementById('numberOfCorrectAnswersPromo_3');
                        numberOfCorrectAnswersPromo_3.innerHTML = number_of_correct_answers;
             			
                        var endDatePromo_3 = document.getElementById('endDatePromo_3');
                        endDatePromo_3.innerHTML = end_date;
                        
                        var newDatePromo_3 = document.getElementById('newDatePromo_3');
                        newDatePromo_3.innerHTML = new_date;
                        
                    }
                }
            }

        }
    }
	
  	xhr_object.send("action=quizPromo");
}



function isMember(nrn, exid) {
	var result = false;
	
	var xhr_object = getAjaxObject("/ajax/controler", false);

	if (xhr_object == null) {
          return;
    }
	
	xhr_object.send("action=isMember" + "&nrn=" + nrn + "&exid=" + exid);
  	
    var dataList = getDataInXML(xhr_object.responseText, 'isMember');
    if(dataList.length >= 1) {
		if(dataList[0] == 'true') {
			result = true;
		} else {
			result = false;
		}
	}
   	
   	return result;
}



function initSelectWithContactPointFilterByPovince(provinceId, element) {
    var xhr_object = getAjaxObject("/ajax/controler", true);

    if (xhr_object == null) {
          return;
    }

    xhr_object.onreadystatechange = function() {
          if(xhr_object.readyState == 4) {
          	  // result...
        	  var dataList = getDatasInXML(xhr_object.responseText, "contactPoint");
	          for(var cx=0 ; cx < dataList.length ; cx++) {
	        	  var label = dataList[cx]["name"];
	        	  var key = dataList[cx]["bur"] + "/" + dataList[cx]["sec"];
	        	  element.options[cx + 1] = new Option(label, key);
	          }
          }
    }

   	xhr_object.send("action=contactPointList&value=" + provinceId);
}



function initPaveContactPoint(provinceId, bur, sec, element) {
	if((provinceId != null) && (bur != null) && (sec != null)) {
	    var xhr_object = getAjaxObject("/ajax/controler", true);
	
	    if (xhr_object == null) {
	          return;
	    }
	
	    xhr_object.onreadystatechange = function() {
	          if(xhr_object.readyState == 4) {
	          	  // result...
                  
	        	  var number = "", letterbox = "", address = "", zipcode = "", locality = "";
	        	  var phone1 = "", phone2 = "";
	        	  var email = "";

	        	  var dataList = null;
	        	  
	        	  dataList = getDataInXML(xhr_object.responseText, 'number');
		          if(dataList.length >= 1) {
		        	  number = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'letterbox');
		          if(dataList.length >= 1) {
		        	  letterbox = dataList[0];
		          }
	        	  
	        	  dataList = getDataInXML(xhr_object.responseText, 'address');
		          if(dataList.length >= 1) {
		        	  address = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'zipcode');
		          if(dataList.length >= 1) {
		        	  zipcode = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'locality');
		          if(dataList.length >= 1) {
		        	  locality = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'phone1');
		          if(dataList.length >= 1) {
		        	  phone1 = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'phone2');
		          if(dataList.length >= 1) {
		        	  phone2 = dataList[0];
		          }
		          
		          dataList = getDataInXML(xhr_object.responseText, 'email');
		          if(dataList.length >= 1) {
		        	  email = dataList[0];
		          }
	        	  
		          
		          var id, value;
		          for(var cx=0 ; cx < element.length ; cx++) {
		        	  id = element[cx];
		        	  
		        	  value = "";
		        	  if(id == "address") {
		        		  value = number + " " + letterbox + ", " + address + " " + zipcode + " " + locality; 
		        	  }
		        	  if(id == "phone") {
		        		  value = phone1 + " - " + phone2;
		        	  }
		        	  if(id == "email") {
		        		  value = email;
		        	  }
		        	  document.getElementById(id).innerHTML = value;
		        	
		          }
	          }
	    }
	
	   	xhr_object.send("action=contactPointDetail&value=" + provinceId + "&bur=" + bur + "&sec=" + sec);
	   	
	} else {
        var id = null;
        for(var cx=0 ; cx < element.length ; cx++) {
      	  id = element[cx];
      	  document.getElementById(id).innerHTML = '';
        }
        
	}
}
