/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function stripChar (InString, StripThis)
{
        OutString="";
        for (Count=0; Count < InString.length; Count++)  {
                TempChar=InString.substring (Count, Count+1);
                if (TempChar!=StripThis)
                        OutString=OutString+TempChar;
        }
        return (OutString);
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function spaceTrim(InString) {
        var LoopCtrl=true;
        while (LoopCtrl) {
                if (InString.indexOf("  ") != -1) {
                        Temp = InString.substring(0, InString.indexOf("  "))
                        InString = Temp + InString.substring(InString.indexOf("  ")+1,
                                InString.length)
                } else
                        LoopCtrl = false;
        }
        if (InString.substring(0, 1) == " ")
                InString = InString.substring(1, InString.length)
        if (InString.substring (InString.length-1) == " ")
                InString = InString.substring(0, InString.length-1)
        return (InString)
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function getOption(iString)
{
   answer      = new Array(3) ;
   answer[0]   = ""           ;
   answer[1]   = ""           ;
   answer[2]   = "$0.00"      ;

   tmpType = "TEXT" ;
   if (iString.indexOf ("@", 0) != -1)
   {
      tmpChar = "@"       ;
      tmpType = "PRICE"   ;
   }
   if (iString.indexOf ("+", 0) != -1)
   {
      tmpChar = "+"       ;
      tmpType = "MODIFIER";
   }
   if (iString.indexOf ("-", 0) != -1)
   {
      tmpChar = "-"       ;
      tmpType = "MODIFIER";
   }

   switch (tmpType)
   {
      case "TEXT"        :
         answer[0] = iString     ;
         break;

      case "PRICE"       :
         temp      = iString.split(tmpChar)         ;
         answer[0] = temp[0]                        ;
         answer[1] = temp[1]                        ;
         if (answer[1] == null) answer[1] = "$0.00" ;
         break;

      case "MODIFIER"    :
         temp      = iString.split(tmpChar)         ;
         answer[0] = temp[0]                        ;
         answer[2] = temp[1]                        ;
         if (answer[2] == null) answer[2] = "$0.00" ;
         break;

      default :
         break;
   }

   return answer  ;

}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function getPrice(iType, iString)
{

   temp     = iString.split("+");
   strValue = temp[0];
   strPrice = temp[1];
   if (strPrice == null)
   {
      strPrice = "$0.00";
   }
   temp = stripChar(strPrice,"$");

   intPriceModifier = parseFloat(temp);

   switch (iType)
   {
      case "VALUE" :
         returnValue = strValue;
         break;

      case "PRICE" :
         returnValue = strPrice;
         break;

      case "MODIFIER" :
         returnValue = intPriceModifier;
         break;

      default :
         returnValue = "ERROR";
   }

   return returnValue;
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function padTextSuffix (InString, PadChar, DefLength)
{
   if (InString.length>=DefLength)
      return (InString);
   OutString=InString
   for (Count=InString.length; Count<DefLength; Count++)
   {
      OutString=OutString+PadChar;
   }
   return (OutString);
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function buildDesc(iDesc, iString, iLen)
{
   desc      = iDesc;
   rows      = Math.floor( ( iString.length + parseInt(iLen) ) / iLen);
   padLength = rows * iLen;
   desc      = desc + padTextSuffix(iString, " ", padLength);
   return desc;
}


/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function ifExists (CheckVar) {
        CheckVar = "" + CheckVar;
        if (CheckVar == "<undefined>" || CheckVar == "undefined" )
                return (false);
        else
                return (true);
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function getValue(iElement, iDefault)
{
   strValue = iDefault;
   if ( ifExists(iElement) )
   {
      strValue = iElement.value;
   }
   return strValue;
}

/*------------------------------------------------------------------------------
|   .
------------------------------------------------------------------------------*/
function formatDollar (Val, DollarSign)  {
        Val=""+Val;
        if (Val.indexOf (".", 0)!=-1) {
                Dollars = Val.substring(0, Val.indexOf (".", 0));
                Cents = Val.substring(Val.indexOf (".", 0)+1, Val.indexOf (".", 0)+3);
                if (Cents.length==0)
                        Cents="00";
                if (Cents.length==1)
                        Cents=Cents+"0";
        } else {
                Dollars = Val;
                Cents = "00";
        }
        OutString="";
        len=Dollars.length;
        if (len>=3) {
                while (len>0) {
                        TempString=Dollars.substring(len-3, len)
                        if (TempString.length==3) {
                                OutString=","+TempString+OutString
                                len=len-3;
                        } else {
                                OutString=TempString+OutString
                                len=0
                        }
                }
                if (OutString.substring(0, 1)==",")
                        Dollars=OutString.substring (1, OutString.length)
                else
                        Dollars=OutString
        }
        if (DollarSign)
                return ("$"+Dollars+"."+Cents);
        else
                return (Dollars+"."+Cents);
}

