
/* La on laisse les fonctions qui sont _vraiment_ utiles */

function emptySelect( pObject )
{
  setSelectObjectOptions( pObject, new Array() );
}

function setSelectObjectOptions( pObject, aOptions, bLeaveExisting, bLabelSort, sPleaseSelect )
{
  if( !pObject )
    return;
  
  var sValue = getObjectValue( pObject );
  if( bLabelSort )
    aOptions.sort( simpleSort );
    
  if( sPleaseSelect )
    aOptions.unshift( new Option( sPleaseSelect,'' ) );

  if( !bLeaveExisting )
  {
    for(var i = pObject.length;i >= 0; i--)
      pObject.options[i] = null;
  }
  
  for(var j=0;j<aOptions.length;j++)
    pObject.options[j] = aOptions[j];

  setSelectObjectInputValue( pObject, sValue );
}

function setSelectObjectInputValue( pObject, sInputValue )
{
  if(!(sInputValue instanceof Array))
    sInputValue = new Array(String(sInputValue));
  var bFound = false;

  if( pObject.type == "select-multiple" )
  {
    for( var i=0 ; i < pObject.options.length ; i++ )
      pObject.options[i].selected = false;
  }
  for(var j=0;j<sInputValue.length;j++)
  {
    var sValue = sInputValue[j];
    for( var k=0 ; k < pObject.options.length ; k++ )
    {
      if( pObject.options[ k ].value == sValue )
      {
        pObject.options[ k ].selected = true;
        bFound = true;
      }
    }
  }
  if(!bFound && pObject.options.length && pObject.type != "select-multiple")
    pObject.options[ 0 ].selected = true;

  return bFound;
}



function simpleSort(a,b)
{
  if(a.text == b.text) return 0;
  if(a.text > b.text) return 1;
  return -1;
}

function arrayContains( pArray, sValue )
{
  if( !pArray )
    return false;
  
  for( var i=0; i<pArray.length; i++ )
  {
    if( pArray[i] == sValue )
      return true;
  }
  
  return false;
}

function displayErrorMessage( sErrorMessage )
{
  alert( "Erreur: " + sErrorMessage );
}

function beforeCheckResaForm( sFormName )
{
  if( (typeof bLineItemsError != "undefined" ) && bLineItemsError )
  {
    alert( sLineItemsErrorMsg );
    return false;
  }
  return checkResaForm( sFormName );
}

function updatePartnerPlanning( sFormName )
{
  var sPartnerCode  = getInputValue( 'partner_code', sFormName );
  var nServiceID    = getInputValue( 'service_id', sFormName );
  var sCampaignCode = getInputValue( 'campaign', sFormName );
  var nConventionID = getInputValue( 'partners', sFormName );
  var nEtabID       = getInputValue( 'etab', sFormName );
  var sPeriodType   = getInputValue( 'period_type_code', sFormName );

  var phRet = remoteCall( 'custom::remote::webres::partner_planning', 'updatePartnerPlanning', sPartnerCode, nServiceID, sCampaignCode, nConventionID, nEtabID, sPeriodType );
  
  var aPeriodTypesOptions = new Array();
  for( var n=0; n < phRet.paPeriodTypes.length; n++ )
  {
    aPeriodTypesOptions.push( new Option( phRet.paPeriodTypes[n][1], phRet.paPeriodTypes[n][0] ) );
  }
  var pPeriodTypesSelect = getDOMObject( sFormName + '_period_type_code' );
  if( pPeriodTypesSelect && pPeriodTypesSelect.type == "select-one" )
    setSelectObjectOptions( pPeriodTypesSelect, aPeriodTypesOptions, false, true );

  //alert('aPeriodTypesOptions=' + aPeriodTypesOptions.join(','));  
  
  //alert( 'sCampaignCode=' + phRet['sCampaignCode'] + ' sCampaignCodes=' + phRet['paCampaignCodes'].join(',') );
  
}

