
var dsvlist_STD_DSV_SEPARATOR = "\1";

function dsvlist_createCustom( delimiter, valueList )

{
   return new DSVList( delimiter, valueList );
}

function dsvlist_createCSVList( valueList )

{
   return dsvlist_createCustom( ",", valueList );
}

function dsvlist_create( valueList )

{
   return dsvlist_createCustom( dsvlist_STD_DSV_SEPARATOR, valueList );
}

function DSVList( delimiter, valueList )

{
   this.m_delimiter = delimiter;
   if ( valueList.length == 0 )
   {
      this.m_values = new Array();
   }
   else
   {
      this.m_values = valueList.split( this.m_delimiter );
   }
}
DSVList.prototype.addValue  = dsvlist_addValue; 
DSVList.prototype.addValues = dsvlist_addValues;
DSVList.prototype.toString  = dsvlist_toString; 

function dsvlist_addValue( value )

{
   this.m_values[this.m_values.length] = value;
}

function dsvlist_addValues( valueList )

{
   for ( var i in valueList )
   {
      this.addValue( valueList[i] );
   }
}

function dsvlist_toString()

{
   return this.m_values.join( this.m_delimiter );
}

