/*
	Confirmation : Quitter sans sauver
*/

var formChanged = false ;

function setFormChanged( change ){
	
	formChanged = change ;
}

/*
	VERIFICATION DE LA VALIDITE D'UN FORMULAIRE
*/

function isValidForm( formId ){

	formObj = document.getElementById( formId ) ;
	
	formInputs = formObj.getElementsByTagName("input") ;

	for( var i=0; i<formInputs.length; i++ ){
		
		/* Verification des ValidationTextBox de DOJO */
		if( dijit.byId(formInputs[i].id) && dijit.byId(formInputs[i].id).isValid ){
			if( !dijit.byId(formInputs[i].id).isValid() ){
				return false ;
			}
		}
	}
	return true ;
}


function submitForm( formId ){
	
	if( isValidForm(formId) ){

		formChanged = false ;
		document.getElementById(formId).submit();		
	}
	else{
		alert("Formulaire mal complété.");
	}
}

function confirmExitWithoutSavingIfChange( formId, path ){

	if( formChanged && confirm( "Voulez-vous enregister vos modification ?" )){

		submitForm( formId ) ;
	}
	else{

		document.location = path; // "../../../clientside/userInterface/content/viewContentsInFolder.php" ;
	}
}

function confirmExitAndGoTo( formId, urlTo ){
	
	if( formChanged && confirm( "Voulez-vous enregister vos modification ?" )){
		submitForm( formId ) ;
	}
	else{
		
		document.location = urlTo ;
	}
}





function checkFromToDateFields( fieldFromId, fieldToId ){

	var fieldFrom = document.getElementById( fieldFromId ) ;
	var fieldTo = document.getElementById( fieldToId ) ;

	if( (fieldFrom.value > fieldTo.value) && fieldTo.value!=""){
		fieldTo.value = fieldFrom.value ;
	}
}

/*
	Récupérartion du Rich Text Editor 
	Reultat dans hidden field spécifié.
*/
	function pushIncludedRichTextIntoField( frameName, fieldName ){
		
		var val = window.frames[frameName].getContent() ;
		document.getElementById(fieldName).value = val ;
		return val ;
	}

/*
	ouvre une popup avec la page dont l'url est passée en paramètres
*/
	var newWindow = null ;
	function openWindow( pageUrl, winheight, winwidth, refreshOnReturn, formIdToSendOnReturn ){

		newWindow = window.open( pageUrl, '', 'width='+winwidth+',height='+winheight+',left=200,top=200,resizable=yes,scrollbars=yes,alwaysLowered=1'); 
		
		if( refreshOnReturn == true ){
			refreshOnUnload(formIdToSendOnReturn) ;
		}
	}

	function refreshOnUnload(formIdToSendOnReturn){

		if( newWindow == null || newWindow.closed  ){
			if(formIdToSendOnReturn!=null && formIdToSendOnReturn != '' && formIdToSendOnReturn != 'null' ){
			
				submitForm(formIdToSendOnReturn);
			}
			else
				window.location.reload() ;
			
		}
		else{
			setTimeout( "refreshOnUnload('"+formIdToSendOnReturn+"')", 200 ) ;
		}
	}

function checkAllBoxes( className, checked ){

	var allElements = document.getElementsByTagName("input");
	var elemCol = new Array() ;

	for(var i = 0; i<allElements.length; i++){
		
		if( allElements[i].className){
			if( allElements[i].className.indexOf( className ) >=0 ){
				var checkbox = allElements[i] ;
				checkbox.checked = checked ;
			}
		}
	}

	return elemCol ;
}

/* TREE */

function expandSubTree( subFolderId, imgId, imgSrc ){

	if( document.getElementById( imgId ) != null )
		document.getElementById( imgId ).src = imgSrc ;
	if( document.getElementById( subFolderId ) != null )
		document.getElementById( subFolderId ).style.display="block";
	
}

function collapseSubTree( subFolderId, imgId, imgSrc ){
	
	if( document.getElementById( imgId ) != null )
		document.getElementById( imgId ).src = imgSrc ;
	if( document.getElementById( subFolderId ) != null )
		document.getElementById( subFolderId ).style.display="none";
}

function swapSubTreeVisible( subFolderId, imgId, imgSrcPlus, imgSrcMinus ){
	
	if( document.getElementById( subFolderId ) != null )
		if( document.getElementById( subFolderId ).style.display != "block" ){
			expandSubTree( subFolderId, imgId, imgSrcMinus ) ;
		}
		else{
			collapseSubTree( subFolderId, imgId, imgSrcPlus ) ;
		}
}

function expandAll( imgSrcPlus ){
	var table = document.getElementsByTagName("img"); 

	for( var i=0; i<table.length; i++ ){
		
		if( table[i].id.indexOf("tree_plus_") >-1 ){
			var blockId = "tree_block_" + table[i].id.substring(10, table[i].id.length);
			expandSubTree( blockId, table[i].id, imgSrcPlus );
		}
	}
}

function collapseAll( imgSrcMinus ){
	var table = document.getElementsByTagName("img"); 

	for( var i=0; i<table.length; i++ ){
		
		if( table[i].id.indexOf("tree_plus_") >-1 ){
			var blockId = "tree_block_" + table[i].id.substring(10, table[i].id.length);
			collapseSubTree( blockId, table[i].id, imgSrcMinus );
		}
	}
}

