var tb = new Array();

function check( element, path_puce, id ) {
	if ( tb[element+'_'+id] ) {
		tb[element+'_'+id] = 0;
		//document.getElementById( 'hidden|' + element ).value = '';
		document.getElementById( 'chk|' + element + '_' + id).src = path_puce + 'chk_off.gif';
	}
	else {
	tb[element+'_'+id] = 1;
		//document.getElementById( 'hidden|' + element ).value = 1;
		document.getElementById( 'chk|' + element + '_' + id).src = path_puce + 'chk_on.gif';
	}
	var liste = new String();
	for(var v in tb) {
		if ( tb[v] == 1 &&  v.substring(v.lastIndexOf('_')+1) ==  id){
			liste += '-' + v.substring(0,v.lastIndexOf('_'));	
		}
	}
		document.getElementById( 'dg_docs'+ '_' + id).value = liste;	
}


function selectAll (path_puce, id) {
	var Liste_doc = document.getElementsByName("doc_"+id);	
	for(i = 0; i < Liste_doc.length; i++) {
		check( Liste_doc[i].value, path_puce , id );
	}
	var imgCheckAll = document.getElementById('chkAll'+id);
	
	if(tb['chkAll'+id]){
		tb['chkAll'+id] = 0;
		imgCheckAll.src = path_puce + 'chk_off.gif';
	}else{
		tb['chkAll'+id] = 1;
		imgCheckAll.src = path_puce + 'chk_on.gif';
	}	
}


function ChangeDynamique(url, id, Atr, type ) {
	setAction(id, "");

	obj = document.getElementsByName( 'form_'+id )[0];
	child = obj.childNodes;
	for (i=0; i<child.length; i++) {
		if (child[i].value) {
			 Atr = Atr+"&"+child[i].name+"="+child[i].value;
		}
	}

	appel_doc(url, "TypeDynamique="+type+"&id="+id+"&"+ Atr, 'bloc_result_document_'+id);
}

function ChangeTri(url, id, dg_tri, dg_ordre) {
	Submit_Order(id, dg_tri, dg_ordre);
	ChangeDynamique(url, id, "", 'order');
}

function Submit_Order (id, dg_tri, dg_ordre) {
	setDg_Tri(id,dg_tri);
	setDg_Ordre(id,dg_ordre);
	setAction(id, "");
}

function setDg_Tri(id, dg_tri ) {
	document.getElementById( 'dg_tri_'+id ).value = dg_tri;
}

function setDg_Ordre(id, dg_ordre ) {
	document.getElementById( 'dg_ordre_'+id ).value = dg_ordre;
}

function setAction(id, action ) {
	document.getElementById( 'dg_multi_action_'+id ).value = action;
	
}


function multi_suppr(form) {
	 setAction( 'supprimer_document' );
	 form.submit();
}

function visu_bloc(element, picto ) {
	if (document.getElementById( element ) ) {
		if (document.getElementById( element ).style.display == "none") {
			document.getElementById( element ).style.display = "";
			document.getElementById( picto + '_on' ).style.display = "none";
			document.getElementById( picto + '_off' ).style.display = "";
		} else if (document.getElementById( element ).style.display == "") {
			document.getElementById( element ).style.display = "none"
			document.getElementById( picto + '_on' ).style.display = "";
			document.getElementById( picto + '_off' ).style.display = "none";
		}
	}
}

function afficher_bloc( nom, num, nb, nb_par_page, nb_docs, nb_num_page ) {
	for (j=1; j<nb+1; j++) {
		if ( j >= num-nb_num_page && j <= num+nb_num_page ) {
		//alert( 'ok'+j );
			document.getElementById( 'num_docGrid_'+j ).style.display = '';
		}
		else {
		//alert( 'nok'+j );
			document.getElementById( 'num_docGrid_'+j ).style.display = 'none';
		}
		tab = document.getElementsByName(nom+j);
		//alert( "h"+tab[1]);
		if ( j == num ) {
			for (i=0; i<tab.length; i++) {
			
				tab[i].style.display = '';
			}
			document.getElementById( 'num_docGrid_'+j ).style.color = '#333333';
		}
		else {
			for (i=0; i<tab.length; i++) {
				tab[i].style.display = 'none';
			}
			document.getElementById( 'num_docGrid_'+j ).style.color = '#999999';
		}
		debut = 1 + nb_par_page * ( num - 1 );
		fin = debut + nb_par_page - 1;
		if ( fin > nb_docs ) {
			fin = nb_docs;
		}
		document.getElementById( 'infos_pagination_doc_debut' ).innerHTML = debut;
		document.getElementById( 'infos_pagination_doc_fin' ).innerHTML = fin;
	}
	document.getElementById( 'memo_page' ).innerHTML = num;
}

function afficher_bloc_precedent( nom, nb, nb_par_page, nb_docs, nb_num_page ) {
	num = document.getElementById( 'memo_page' ).innerHTML - 1;
	if ( num > 0 ) {
		afficher_bloc( nom, num, nb, nb_par_page, nb_docs, nb_num_page );
	}
}

function afficher_bloc_suivant( nom, nb, nb_par_page, nb_docs, nb_num_page ) {
	num = document.getElementById( 'memo_page' ).innerHTML - (-1);
	if ( num < nb+1 ) {
		afficher_bloc( nom, num, nb, nb_par_page, nb_docs, nb_num_page );
	}
}


function appel_doc(url, request, DivResult ) {

	var xhr=null;
    
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { response_ajax_doc(xhr, DivResult); };
    
	xhr.open("POST", url, true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send(request);
	
}

function response_ajax_doc(xhr, DivResult) {
	
	var div = document.getElementsByName(DivResult)[0];
	
	if(xhr.readyState == 4 && xhr.status == 200){
		var docXml = xhr.responseText;
		/*pas terrible, a refaire au propre plus tard*/
		var newDiv = document.createElement('div');
		newDiv.innerHTML = docXml;
		div.parentNode.insertBefore(newDiv,div.nextSibling);
		div.parentNode.removeChild(div);
		ajax_parseJs(div)
	} 
}

function ajax_parseJs(obj)
{
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.indexOf('Opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}


function ajax_installScript(script)
{		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
