// JavaScript Document
function CheckBoxGroup(){this.controlBox=null;this.controlBoxChecked=null;this.maxAllowed=null;this.maxAllowedMessage=null;this.masterBehavior=null;this.formRef=null;this.checkboxWildcardNames=new Array();this.checkboxNames=new Array();this.totalBoxes=0;this.totalSelected=0;this.setControlBox=CBG_setControlBox;this.setMaxAllowed=CBG_setMaxAllowed;this.setMasterBehavior=CBG_setMasterBehavior;this.addToGroup=CBG_addToGroup;this.expandWildcards=CBG_expandWildcards;this.addWildcardCheckboxes=CBG_addWildcardCheckboxes;this.addArrayCheckboxes=CBG_addArrayCheckboxes;this.addSingleCheckbox=CBG_addSingleCheckbox;this.check=CBG_check;}
function CBG_setControlBox(name){this.controlBox=name;}
function CBG_setMaxAllowed(num,msg){this.maxAllowed=num;if(msg!=null&&msg!=""){this.maxAllowedMessage=msg;}}
function CBG_setMasterBehavior(b){this.masterBehavior = b.toLowerCase();}
function CBG_addToGroup(){if(arguments.length>0){for(var i=0;i<arguments.length;i++){this.checkboxWildcardNames[this.checkboxWildcardNames.length]=arguments[i];}}}
function CBG_expandWildcards(){if(this.formRef==null){alert("ERROR: No form element has been passed.  Cannot extract form name!");return false;}for(var i=0;i<this.checkboxWildcardNames.length;i++){var n = this.checkboxWildcardNames[i];var el = this.formRef[n];if(n.indexOf("*")!=-1){this.addWildcardCheckboxes(n);}else if(CBG_nameIsArray(el)){this.addArrayCheckboxes(n);}else{this.addSingleCheckbox(el);}}}
function CBG_addWildcardCheckboxes(name){var i=name.indexOf("*");if((i==0) ||(i==name.length-1)){searchString=(i)?name.substring(0,name.length-1):name.substring(1,name.length);for(var j=0;j<this.formRef.length;j++){currentElement = this.formRef.elements[j];currentElementName=currentElement.name;var partialName =(i)?currentElementName.substring(0,searchString.length) : currentElementName.substring(currentElementName.length-searchString.length,currentElementName.length);if(partialName==searchString){if(CBG_nameIsArray(currentElement)) this.addArrayCheckboxes(currentElement);else this.addSingleCheckbox(currentElement);}}}}
function CBG_addArrayCheckboxes(name){if((CBG_nameIsArray(this.formRef[name])) &&(this.formRef[name].length>0)){for(var i=0;i<this.formRef[name].length;i++){this.addSingleCheckbox(this.formRef[name][i]);}}}
function CBG_addSingleCheckbox(obj){if(obj != this.formRef[this.controlBox]){this.checkboxNames[this.checkboxNames.length]=obj;this.totalBoxes++;if(obj.checked){this.totalSelected++;}}}
function CBG_check(obj){var checked=obj.checked;if(this.formRef==null){this.formRef=obj.form;this.expandWildcards();if(this.controlBox==null || obj.name!=this.controlBox){this.totalSelected +=(checked)?-1:1;}}if(this.controlBox!=null&&obj.name==this.controlBox){if(this.masterBehavior=="all"){for(i=0;i<this.checkboxNames.length;i++){this.checkboxNames[i].checked=checked;}this.totalSelected=(checked)?this.checkboxNames.length:0;}else{if(!checked){obj.checked =(this.totalSelected>0)?true:false;obj.blur();}}}else{if(this.masterBehavior=="all"){if(!checked){this.formRef[this.controlBox].checked=false;this.totalSelected--;}else{this.totalSelected++;}if(this.controlBox!=null){this.formRef[this.controlBox].checked=(this.totalSelected==this.totalBoxes)?true:false;}}else{if(!obj.checked){this.totalSelected--;}else{this.totalSelected++;}if(this.controlBox!=null){this.formRef[this.controlBox].checked=(this.totalSelected>0)?true:false;}if(this.maxAllowed!=null){if(this.totalSelected>this.maxAllowed){obj.checked=false;this.totalSelected--;if(this.maxAllowedMessage!=null){alert(this.maxAllowedMessage);}return false;}}}}}
function CBG_nameIsArray(obj){return((typeof obj.type!="string")&&(obj.length>0)&&(obj[0]!=null)&&(obj[0].type=="checkbox"));}

function sendData(param, page, cible)
	{
	if(document.all)
		{
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
		}
	else
		{
		var XhrObj = new XMLHttpRequest();
		}
	
	var content = document.getElementById(cible);
	
	XhrObj.open("POST", page);
	XhrObj.onreadystatechange = function()
		{
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
		content.innerHTML = XhrObj.responseText ;
		}

	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
	}

function viewData(selection, div){
    var content = document.getElementById(div);
    if(document.all)
            var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    else
            var XhrObj = new XMLHttpRequest();
    XhrObj.open("GET", selection);
    XhrObj.onreadystatechange = function(){
                if (XhrObj.readyState == 4)
                    content.innerHTML = XhrObj.responseText ;
            }
    XhrObj.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    XhrObj.send(null);
}
function viewData2(selection, div){
    var content = document.getElementById(div);
    if(document.all)
            var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    else
            var XhrObj = new XMLHttpRequest();
    XhrObj.open("GET", selection);
    XhrObj.onreadystatechange = function(){
            if(XhrObj.readyState == 1){
                document.getElementById(div).innerHTML = "<img src='layout/image/loading3.gif' alt='chargement...' /> Veuillez patienter pendant le chargement des donn&eacute;es <img src='layout/image/loading3.gif' alt='chargement...' />";
            }else   
                if (XhrObj.readyState == 4)
                    content.innerHTML = XhrObj.responseText ;
            }
    XhrObj.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    XhrObj.send(null);
}

// indenté, formaté, clair et net^^
function getFormData(form)
	{
		var data1 = "";
		var form = document.getElementById(form);
		var elements = form.elements;
		for(var i=0; i<form.length; i++)
			{
			data1 += elements[i].name + "=" +escape(elements[i].value);
			if((i+1)<form.length)
				{
				data1+="&";
				}
			}
		return data1;
	}

function ajax(fichier, div, method, form)
	{
		var xhr=null;
		var data="null";
		if(form!="null")
			{
			if(method=="GET")
				{
				data=form;
				method="POST";
				}
			else
				{
				data = getFormData(form);
				}
			}
// détection du navigateur pour la création de l'objet XMLHttpRequest (soit l'acronyme xhr)
		if (window.XMLHttpRequest)
		{
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xhr.open( method, fichier, false);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send(data);
		if (document.getElementById)
                {
                        document.getElementById(div).innerHTML=xhr.responseText;
                }
                else
                {
                        if (document.layers)
                        {
                                document.div.innerHTML=xhr.responseText;
                        }
                        else
                        {
                                document.all.div.innerHTML=xhr.responseText;
                        }
                }
	}



// nouveau form submit

	 var http_request = false;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('myspan').innerHTML = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
function get(obj) {
  var getstr = "?";
  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type == "text") {
           getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   obj.getElementsByTagName("input")[i].value + "&";
        }
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   obj.getElementsByTagName("input")[i].value + "&";
           } else {
              getstr += obj.getElementsByTagName("input")[i].name + "=&";
           }
        }
        if (obj.getElementsByTagName("input")[i].type == "radio") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   obj.getElementsByTagName("input")[i].value + "&";
           }
     }  
     if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
        var sel = obj.getElementsByTagName("input")[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
     }
     
  }
  makePOSTRequest('post.php', getstr);
}
 var http_request = false;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('myspan').innerHTML = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(obj) {
      var getstr = "?";
      for (i=0; i<obj.childNodes.length; i++) {
         if (obj.childNodes[i].tagName == "INPUT") {
            if (obj.childNodes[i].type == "text") {
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            }
            if (obj.childNodes[i].type == "checkbox") {
               if (obj.childNodes[i].checked) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               } else {
                  getstr += obj.childNodes[i].name + "=&";
               }
            }
            if (obj.childNodes[i].type == "radio") {
               if (obj.childNodes[i].checked) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               }
            }
         }   
         if (obj.childNodes[i].tagName == "SELECT") {
            var sel = obj.childNodes[i];
            getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
         }
         
      }
      makeRequest('traitement-formulaire-inscription.php', getstr);
   }
function sendData2(param1, param2, page, cible)
{
if(document.all)
{
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
var XhrObj = new XMLHttpRequest();
}

var content = document.getElementById(cible);

XhrObj.open("POST", page);

XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		var data = (param1)+'&'+(param2);
		XhrObj.send(data);

}
function refuserToucheEntree(event)
{
    // Compatibilité IE / Firefox
    if(!event && window.event) {
        event = window.event;
    }
    // IE
    if(event.keyCode == 13) {
        event.returnValue = false;
        event.cancelBubble = true;
    }
    // DOM
    if(event.which == 13) {
        event.preventDefault();
        event.stopPropagation();
    }
}
