//------------------------------------------------------------------------------
//                              -= OSI2I =-
//------------------------------------------------------------------------------
// Description:
//  Support Javascript commun
//
// Version:
//   14/06/2007 - RLA - V1.00
//    - Creation du fichier
//  29/08/2007 - RLA - V1.01
//    - Ajout support aide
//------------------------------------------------------------------------------

//Requeteur d'aide


function popup(filename, name, width, height) {
  var top = (screen.height - height) / 2;
  var left = (screen.width - width) / 2;
  var param = "width=" + width + ",height=" + height + ",top=" + top + ",left=" + left + ",location=no,menubar=no,toolbar=no,scrollbars=no,resizable=no,status=no";
  newWindow = window.open(filename, name, param);
}

function trim(str){
  return str.replace(/(^\s*)|(\s*$)/g,'');
}

function getElement(id){
	return document.getElementById(id);
}

function confirmLogout( msg, url ){
  modalObj.confirm( msg, OSMODAL_ASK, function(){ window.location=url; } );
}

function inspectObj( obj ){
      if ( !obj ) return;
      document.write('<b><u>Insecteur d\'objet</u></b></br><br/>');
      var i = null;
      for (i in obj){
        document.write('<b>' + i +'</b> : '+eval('obj.'+i) + '</br/>');
      }
}

//Recupere le noeud dans le premier niveau de dom par son tag
function getDomChildNodeByTag( node, tag ){
   var i;
   if ( !node ) return null;
   var items = node.childNodes;
   if ( items ){
     for(i=0;i<items.length;i++){
        //alert( 'Node tag: ' + items[i].nodeName + ' = ' + tag );
        if (items[i].nodeName == tag)
          return items[i].childNodes;
     }
   }
   return null;
}

//Recupere le noeud dans le premier niveau de dom par son tag
function getDomChildNodeValueByTag( node, tag, defval ){
   var i;
   var ret = (defval) ? defval : '';
   if ( !node ) return ret;
   var items = node.childNodes;
   if ( items ){
     for(i=0;i<items.length;i++){
        //alert( 'NodeVal tag: ' + items[i].nodeName + ' = ' + tag );
        if (items[i].nodeName == tag){
          if ( items[i].childNodes )
            if ( items[i].childNodes[0] )
              return items[i].childNodes[0].nodeValue;
        }
     }
   }
   return ret;
}

//Recupere le noeud dans le premier niveau de dom par son tag
function getDomNodeByTag( items, tag ){
   var i;
   if ( !items ) return null;
   if ( items ){
     for(i=0;i<items.length;i++){
        //alert( 'Node tag: ' + items[i].nodeName + ' = ' + tag );
        if (items[i].nodeName == tag)
          return items[i].childNodes;
     }
   }
   return null;
}

//Recupere le noeud dans le premier niveau de dom par son tag
function getDomNodeValueByTag( items, tag, defval ){
   var i;
   var ret = (defval) ? defval : '';
   if ( !items ) return ret;
   if ( items ){
     for(i=0;i<items.length;i++){
        //alert( 'NodeVal tag: ' + items[i].nodeName + ' = ' + tag );
        if (items[i].nodeName == tag){
          if ( items[i].childNodes )
            if ( items[i].childNodes[0] )
              return items[i].childNodes[0].nodeValue;
        }
     }
   }
   return ret;
}

function buildFormRequest( form ){
  var elmt = getElement( form );
  var i, val;
  var params = new Array();
  var items = elmt.elements;
  for(i=0;i<items.length;i++){
 //alert( items[i].name + ' ' + items[i].type + ' ' +items[i].value );
      if ( items[i].type == 'checkbox' ){
        val = (items[i].checked) ? 1 : 0;
	 }else if ( items[i].type == 'radio' ){
     if ( !items[i].checked ) continue;
       val = items[i].value;
     }else{
        val = items[i].value;
     }
      params.push(items[i].name + "=" + encodeURIComponent(val) );
  }   
  return params.join('&');
} 

function getCheckboxStat( frm, name, defval ){
  return eval('frm.' + name + '.checked');
}

function setCheckboxStat( frm, name, checked ){
  return eval('frm.' + name + '.checked = ' + checked);
}

function onValIncrease( name ){
 var elmt = getElement( name );
 if (elmt.value == ''){elmt.value=0;}
 if(name){
	elmt.value  = parseInt(elmt.value) + 1;
	return elmt.value;
 }else{
	return;
 }
}

function onValDecrease(name){

var elmt = getElement( name );
if (elmt.value == ''){elmt.value=0;}
 if(name){
	elmt.value  = parseInt(elmt.value) - 1;
	if (elmt.value < 0){
		elmt.value = 0;
	}
	return elmt.value;
 }else{
	return;
 }

}


//GESTION DE L'AIDE (RLA)
//------------------------------------
var helpModalID = -1;

function showHelp( lang, item ){	
	var helphXhr = new osXhr();
	var url = 'help.php?lang=' + lang + '&opt=onboard&item=' + item;				
	helphXhr.load(url, 'GET', '', showHelpCallback );			
}

function showHelpCallback( code ){
		if ( helpModalID < 0 ) helpModalID = modalObj.getFree();
		var elmt = getElement('modalObj' + helpModalID + 'b');		
		var buffer = '';
		elmt.style.width = '800px';
		buffer += this.getText() + '<br/><br/>';		
		buffer += '<button onclick="javascript:closeHelp()"><img src="' + modalObj.imgBtnOk + '" border="0" align="absmiddle">&nbsp;' + modalObj.lblClose + '</button>';
		modalObj.show( helpModalID,buffer ); 
		
}

function closeHelp(){
	modalObj.close( helpModalID);
	helpModalID = -1;
}

//Gestion des effets du menu (RLA)
//-------------------------------------------

function setImgSrc( imgId, src ){
	var elmt = getElement( imgId );		
	if ( elmt ) elmt.src = src;	
}

