

/*****************************************************************************/
/*****************************************************************************/
/* Start of WEB JAVASCRIPT LIBRARY FUNCTIONS from WEBLIB JAVAFUNC file       */
/* isBlank strip justify words word subword wordpos find leapYear replaceAll */
/*****************************************************************************/
/*****************************************************************************/


 /************************************************/
 /* isBlank function for JavaScript              */
 /* Returns yes or no if string is blank or not  */
 /************************************************/
 function isBlank(str)
   {str = String(str)
    var answer = "yes"
    if (str.length > 0)
      {for(var b=0; b<str.length; b++)
          {if (str.charAt(b) != " ")
              {answer = "no"
              }
          }
      }
    return answer
   }
 /************************************************/
 /* End of isBlank function for JavaScript       */
 /************************************************/


 /************************************************/
 /* strip function for JavaScript                */
 /* removes leading and trailing blanks          */
 /************************************************/
 function strip(val)
   {val = String(val)
    var answer = " "
    frontblank = 0
    for (var i=0; i<val.length; i++)
      {if (val.charAt(i) != " ")
         {frontblank = i
          break
         }
      }
    backblank = 0
    for (var i=val.length; i>0; i--)
      {if (val.charAt(i-1) != " ")
         {backblank = i
          break
         }
      }
    if (frontblank != 0 || backblank != 0)
      {len = backblank - frontblank
       answer = val.substr(frontblank,len)
      }
    return answer
   }
 /************************************************/
 /* End of strip function for JavaScript         */
 /************************************************/


 /************************************************/
 /* justify function for JavaScript              */
 /* left or right justification and padding      */
 /* leftrite var can be l, left, r, right        */
 /************************************************/
 function justify(leftrite, str, len, pad)
   {str = String(str)
    var answer = " "
    if ("LR".indexOf(leftrite.charAt(0).toUpperCase()) == -1)
      {alert("Left/Right indicator '" + leftrite +
             "' is not L or R in justify function." + "\n" +
             "\nString = " + str + "\n" +
             "\nLength = " + len + "\n" +
             "\nPad    = " + pad )
       return str
      }
    if (isNaN(len) == 1)
      {alert("Length '" + len +
             "' is not numeric in justify function." + "\n" +
             "\nLeft/Right = " + leftrite + "\n" +
             "\nString     = " + str + "\n" +
             "\nPad        = " + pad )
       return str
      }
    if (isBlank(pad) == "yes")
      {pad = " "
      }
    var strlen = str.length
    if (strlen >= len)
      {if (leftrite.charAt(0).toUpperCase() == 'R')
         {/* This is a Right justify */
          var shift = strlen - len
          answer = str.substr(shift)
         }
           else
             {/* This is a Left justify */
               answer = str.substr(0,len)
             }
      }
        else
          {/* use pad */
           var shift = len - strlen
           for (var i=1; i<shift; i++)
              {pad = String(pad) + String(pad)
              }
           if (leftrite.charAt(0).toUpperCase() == 'R')
             {/* This is a Right justify */
              answer = String(pad) + String(str)
             }
               else
                 {/* This is a Left justify */
                  answer = String(str) + String(pad)
                 }
          }
    return answer
   }
 /************************************************/
 /* End of justify function for JavaScript       */
 /************************************************/


 /************************************************/
 /* words function for JavaScript                */
 /* returns the number of words in a string      */
 /************************************************/
 function words(str)
   {var str = strip(String(str))
    var stra = str.split(" ")
    var answer = stra.length
    return answer
   }
 /************************************************/
 /* End of words function for JavaScript         */
 /************************************************/


 /************************************************/
 /* word function for JavaScript                 */
 /* returns the nth word in a string             */
 /************************************************/
 function word(str, pos)
   {var answer = " "
    if (isNaN(pos) == 1)
      {alert("Position '" + pos +
             "' is not numeric in word function." + "\n" +
             "\nString = " + str)
       return str
      }
    var str = strip(String(str))
	do {str = replaceAll(str,"  "," ")}
	while(str.indexOf("  ") != -1)	
    var stra = str.split(" ")
    var words = stra.length
    if (isBlank(str) == "yes" ||
        pos > words           ||
        pos == 0)
      {answer = " "
      }
        else
          {i = pos - 1
           answer = stra[i] /*brackets*/
          }
    return answer
   }
 /************************************************/
 /* End of word function for JavaScript          */
 /************************************************/


 /************************************************/
 /* subword function for JavaScript              */
 /* returns string at nth word for words length  */
 /* if length not specified, then end is assumed */
 /************************************************/
 function subword(str, start, length)
   {var answer = " "
    if (isNaN(start) == 1)
      {alert("Position '" + start +
             "' is not numeric in subword function." + "\n" +
             "\nString = " + str + "\n" +
             "\nLength = " + length)
       return str
      }
    if (isBlank(length) == "no" &&
        isNaN(length)   == "yes")
      {alert("Length '" + length +
             "' is not numeric in subword function." + "\n" +
             "\nString = " + str + "\n" +
             "\nStart  = " + start)
       return str
      }
    var str = strip(String(str))
    var stra = str.split(" ")
    var words = stra.length
    if (isBlank(str) == "yes" ||
        pos > words           ||
        pos == 0)
      {answer = " "
      }
        else
          {i = pos - 1
           answer = stra[i] /*brackets*/
          }
    return answer
   }
 /************************************************/
 /* End of subword function for JavaScript       */
 /************************************************/


 /************************************************/
 /* wordpos function for JavaScript              */
 /* returns the position of a word in a string   */
 /************************************************/
 function wordpos(wrd, str)
   {wrd = String(wrd)
    str = String(str)
    var answer = 0
    if (wrd == "" || str == "")
	  {return answer
      }
    var wparray = str.split(" ")
    var wp = ""
	for (var i=0; i<wparray.length; i++)
      {if (wparray[i] != "")
	      {wp = wp + " " + strip(wparray[i])
		  }
	  }
	wp = strip(wp)
	wparray = wp.split(" ")
	for (var i=0; i<wparray.length; i++)
      {if (wrd == wparray[i])
	      {answer = i + 1
		   return answer
		  }
	  }	
    return answer
   }
 /************************************************/
 /* End of wordpos function for JavaScript       */
 /************************************************/


 /************************************************/
 /* find function for JavaScript                 */
 /* returns the position of word(s) in a string  */
 /* or zero if word(s) is not found              */
 /************************************************/
 function find(str, word)
   {str  = " " + String(str) + " "
    word = String(word)
    word = " " + strip(word) + " "
    var stra  = str.split(" ")
    var strl  = stra.length
    var worda = word.split(" ")
    var wordl = worda.length
    var ptr   = str.indexOf(word)
    var answer = 0
    if (isBlank(word) == "no" &&
        ptr != -1)
      {var newstr  = str.substr(ptr)
       var newstra = newstr.split(" ")
       var newstrl = newstra.length
       answer = strl - newstrl + 1
      }
    return answer
   }
 /************************************************/
 /* End of find function for JavaScript          */
 /************************************************/


 /************************************************/
 /* leapYear function for JavaScript             */
 /* returns yes or no if year is leapyear or not */
 /************************************************/
 function leapYear(year)
   {yearlen = String(year).length
    answer = "no"
    if (yearlen == 2 && year >= 50)
      {leap = "19" + year
      }
    else
      {if (yearlen == 2 && year < 50)
         {var leap = "20" + year
         }
      }
    var y4 = year % 4
    var y100 = year % 100
    var y400 = year % 400
    if (y4 == 0)
      {answer = "yes"
      }
    if (y100 == 0 && y400 != 0)
      {answer = "no"
      }
    return answer
   }
 /************************************************/
 /* End of leapYear function for JavaScript      */
 /************************************************/


 /************************************************/
 /* replaceAll function for JavaScript           */
 /* replaces all occurences of a string          */
 /* str     = full original string               */
 /* replstr = part of str to be replaced         */
 /* newstr  = string to replace oldstr with      */             
 /************************************************/
 function replaceAll(str,replstr,newstr)
   /* {for(var str; str.indexOf(replstr) != -1 && r < 4; str.replace(replstr,newstr))*/
	{for(var str = String(str); str.indexOf(replstr) != -1 && replstr != newstr;)
        {str = str.replace(replstr,newstr)
		} 	 
     return str
    }
 /************************************************/
 /* End of replaeAll function for JavaScript     */
 /************************************************/


// ------------------------------------------------------------------
// formatDate (date_object, format)
// Returns a date in the output format specified.
// The format string uses the same abbreviations as in getDateFromFormat()
// ------------------------------------------------------------------
function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
alert("date = " + date)	
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value=new Object();
	if (y.length < 4) {y=""+(y-0+1900);}
	value["y"]=""+y;
	value["yyyy"]=y;
	value["yy"]=y.substring(2,4);
	value["M"]=M;
	value["MM"]=LZ(M);
	value["MMM"]=MONTH_NAMES[M-1];
	value["NNN"]=MONTH_NAMES[M+11];
	value["d"]=d;
	value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		if (value[token] != null) { result=result + value[token]; }
		else { result=result + token; }
		}
	return result;
	}



/**********************************************************************/
/**********************************************************************/
/* End of WEB JAVASCRIPT LIBRARY FUNCTIONS from WEBLIB JAVAFUNC file  */
/**********************************************************************/
/**********************************************************************/


