rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function msg(sBuf)
{
alert(sBuf);
}
function rnd()
{
rnd.seed = (rnd.seed * 9301 + 49297) % 233280;
return rnd.seed / (233280.0);
}
function rand(number)
{
return Math.ceil(rnd() * number);
}
function GetQueryStringParam(sName,bTop)
{
var sSearch;
if (bTop)
{
sSearch = top.location.search;
}
else
{
sSearch = location.search;
}
var p1;
p1 = sSearch.indexOf('?' + sName + '=');
if (p1 < 0)
{
p1 = sSearch.indexOf('&' + sName + '=');
}
if (p1 < 0)
{
return "";
}
p1 += sName.length + 2;
var p2 = sSearch.indexOf('&',p1);
if (p2 >= 0)
{
return sSearch.substring(p1,p2);
}
else
{
return sSearch.substring(p1);
}
}
function Set_Cookie(name, value, expires, path, domain, secure)
{
document.cookie = name + '=' + escape(value) +
((expires) ? ';expires=' + expires.toGMTString() : '') +
((path) ? ';path=' + path : '') +
((domain) ? ';domain=' + domain : '') +
((secure) ? ';secure' : '');
}
function Get_Cookie(name)
{
var start = document.cookie.indexOf(name+"=");
var len = start+name.length+1;
if ((!start) && (name != document.cookie.substring(0, name.length))) return '';
if (start == -1) return '';
var end = document.cookie.indexOf(";",len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len,end));
}
function Delete_Cookie(name, path, domain)
{
if (Get_Cookie(name)) document.cookie = name + "=" +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function Set_Sub_Cookie(bigCookieName, subCookieName, value, expires, path, domain, secure)
{
sBuf = Get_Cookie(bigCookieName);
iLoc = sBuf.indexOf(subCookieName + '=');
if (iLoc > -1) {
iEnd = sBuf.indexOf(';', iLoc) + 1;
sBuf = sBuf.substr(0, iLoc) + sBuf.substr(iEnd);
}
sBuf += subCookieName + '=' + escape(value) + ';';
Set_Cookie(bigCookieName, sBuf, expires, path, domain, secure);
}
function Set_Main_Cookie(name, value, expires, path, domain, secure)
{
Set_Sub_Cookie('main', name, value, '', '/', '', '');
}
function Delete_Main_Cookie(name, expires, path, domain, source)
{
Delete_Sub_Cookie('main', name, expires, path, domain, source);
}
function Delete_Sub_Cookie(bigCookieName, subCookieName, expires, path, domain, secure)
{
sBuf = Get_Cookie(bigCookieName);
iLoc = sBuf.indexOf(subCookieName + '=');
if (iLoc > -1) // find cookie and delete it
{
iEnd = sBuf.indexOf(';', iLoc) + 1;
sBuf = sBuf.substr(0, iLoc) + sBuf.substr(iEnd);
if (sBuf.length > 0)
{
Set_Cookie(bigCookieName, sBuf, expires, path, domain, secure);
}
else
{
Delete_Cookie(bigCookieName, path, domain);
}
}
}
function Get_Sub_Cookie(bigCookieName, subCookieName)
{
sBuf = Get_Cookie(bigCookieName);
iLoc = sBuf.indexOf(subCookieName + '=');
if (iLoc > -1) {
iLoc = iLoc + subCookieName.length + 1;
return unescape(sBuf.substr(iLoc, sBuf.indexOf(';', iLoc) - iLoc));
}
return '';
}
function Get_Main_Cookie(name)
{
return Get_Sub_Cookie('main', name);
}
function makeArray()
{
for (i=0; i < makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];
}
/* commented out * commented out
function WriteDate()
{
var months = new makeArray('January', 'February', 'March',
'April', 'May', 'June', 'July', 'August', 'September',
'October', 'November', 'December');
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
return (months[month] + " " + day + ", " + year);
}
*/
function SetDebug(val)
{
Set_Cookie('debug', val, '', '/', '', '');
}
function SetPartner(name)
{
Set_Cookie('partner', name, '', '/', '', '');
}
function DebugMsg(msg)
{
alert('Debug Level: ' + Get_Cookie('debug') + '\n\n' + msg);
}
function StripSpaces(buf)
{
while (buf.substring(0,1) == ' ') buf = buf.substring(1);
while (buf.substring(buf.length-1, buf.length) == ' ') buf = buf.substring(0, buf.length-1);
return buf;
}
function NormalizeSpace( buf )
{
var result = "";
var c;
var i;
var inSpace = false;
var atBeginning = true;
for (i = 0; i < buf.length; i++)
{
c = buf.charAt(i);
if (c == ' ' || c == '\t' || c == '\r' || c == '\n')
{
if (!atBeginning)
{
inSpace = true;
}
}
else
{
atBeginning = false;
if (inSpace)
{
result += ' ';
inSpace = false;
}
result += c;
}
}
return result;
}
function WriteMapButton(load)
{
document.write('');
if (Get_Cookie('map') == '1') {
document.write('
');
}
else {
document.write('
');
}
document.write('');
}
function NotAvailableMsg()
{
alert('Not available.');
}
function UrlCheck(url)
{
if ((url.indexOf('http://') == 0) || (url.indexOf('https://') == 0) || (url.indexOf('ftp://') == 0)|| (url.indexOf('mailto:') == 0)) {
return url;
}
else {
return 'http://' + url;
}
}
function isValidURLDirectoryName(string)
{
if (string.search(/^\w+((-\w+)|(\.\w+))*$/) != -1)
return true;
else
return false;
}
function MailToCheck(url)
{
if (url.indexOf('mailto:') == 0) {
return url;
}
else {
return 'mailto:' + url;
}
}
function IsValidFileExt(file, ext)
{
return ((file.indexOf(ext) != -1) && !(file.indexOf(ext) == 0) && (file.indexOf(ext) == strTest.length - ext.length));
}
function IsValidFileName(file)
{
//chars = ' \\/:*?"<>|';
chars = ' !"#$%&\'()*+,/:;<=>?@[\\]^`{|}~';
if (file.indexOf('.') == 0)
return false;
for (i=0; i < chars.length; i++) {
if (file.indexOf(chars.charAt(i)) > -1) {
return false;
}
}
return true;
}
function getErrorMessageInvalidFileName()
{
return "Please enter a valid file name. The following characters are not valid !\"#$%&'()*+,/:;<=>?@[\\]^`{|}~ and spaces and accented letters. A period '.' cannot be used as a first character.";
}
function isInteger(buf)
{
var i;
for (i=0; i < buf.length; i++) {
var c = buf.charAt(i);
if (!isDigit(c)) return false;
}
return true;
}
function isDigit(c)
{
return ((c >= "0") && (c <= "9"));
}
function isLetter(c)
{
return (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")));
}
function isNotExtChar(c)
{
return (((c >= ' ') && (c <= '~')));
}
function isURLPathChar(c)
{
var ci = c.charCodeAt(0);
if (((c > ' ') && (c <= '~')))
{
if (ci == 34 || // double quote
ci == 35 || // hash
ci == 60 || // less than
ci == 62 || // greater than
ci == 63 || // query
ci == 91 || // square bracket
ci == 92 || // backslash
ci == 93 || // square bracket
ci == 94 || // caret
ci == 96 || // backquote
ci == 123 || // curly brace
ci == 124 || // pipe
ci == 125 // curly brace
)
return false;
return true;
}
return false;
}
function isURLPath(s)
{
var i;
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (c == '#')
return true;
if (c == '?')
return true;
if (! (isURLPathChar(c)))
return false;
}
return true;
}
function isEmpty(s)
{
var i;
var res="";
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (! (c == " "))
res += c;
}
if (res == "") return true;
return false;
}
function isLatin1(s)
{
var i;
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (! (isLatin1Char(c)))
return false;
}
return true;
}
function isLatin1Char(c)
{
var ci = c.charCodeAt(0);
return (ci <= 255 && (ci >= 32 || (ci == 10) || (ci == 13) || (ci == 9)));
}
function containsChar(s, c)
{
var i;
for (i = 0; i < s.length; i++) {
var ch = s.charAt(i);
if (ch == c)
return true;
}
return false;
}
function getLatin1OnlyString(s)
{
var i;
var str = '';
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (isLatin1Char(c))
str = str + c;
}
return str;
}
function getAsciiOnlyString(s)
{
var i;
var str = '';
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (isNotExtChar(c))
str = str + c;
}
return str;
}
function isXML(s)
{
var i;
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (! (isXMLChar(c)))
return false;
}
return true;
}
function isXMLChar(c)
{
var ci = c.charCodeAt(0);
return ((ci >= 32) || (ci == 10) || (ci == 13) || (ci == 9));
}
function getXMLString(s)
{
var i;
var str = '';
for( i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (isLatin1Char(c))
str = str + c;
else if (c.charCodeAt(0) > 255)
str = str + "" + c.charCodeAt(0) + ";";
}
return str;
}
function isAlphanumeric(s)
{
var i;
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (! (isLetter(c) || isDigit(c) || c == ' '))
return false;
}
return true;
}
function isNumber(s)
{
var i;
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (!isDigit(c))
return false;
}
return true;
}
function isCurrencyChar(c)
{
if (c == '$') return true;
}
function isPrice(s)
{
var i = 0;
var dec = 0;
if (isCurrencyChar(s.charAt(i))) i++;
for (; i < s.length; i++) {
var c = s.charAt(i);
if (!isDigit(c))
{
if (c != '.')
{
return false;
}
if (dec > 0)
{
return false;
}
dec = 1;
}
else if (dec > 0)
{
dec++;
}
}
if (dec != 0 && dec != 3)
{
return false;
}
return true;
}
function isEmailAddress( string )
{
var pattern = /^[\w!#$%&'*+\x2D\x2F=?^`{|}~]+(\.[\w!#$%&'*+\x2D\x2F=?^`{|}~]+)*\@[A-Za-z0-9][A-Za-z0-9\x2D]*(\.[A-Za-z0-9\x2D]+)*\.[A-Za-z]{2,}$/;
if( string.search( pattern ) >= 0 )
return true;
return false;
}
function isEmailAddressList( string )
{
var elist = string.split(/[;:,\s]+/);
var i;
for (i=0; i= str.length)
return true;
if (str.charAt(pos-1) == '-')
return false;
if (str.charAt(pos-1) == '@')
return false;
if (str.charAt(pos-1) == '_')
return false;
if (str.charAt(pos) == ':')
break;
if (str.charAt(pos) == '/')
break;
if (!(str.charAt(pos) == '.'))
return false;
} while (pos < str.length)
/* check for optional port number */
if (str.charAt(pos) == ':')
{
c = 0;
while (pos < str.length && isDigit(str.charAt(++pos)))
{
if (++c > 5)
return false;
}
if (c < 1)
{
return false;
}
}
/* check for valid path */
if (str.charAt(pos) == '/')
{
if (!isURLPath(str.substring(pos)))
return false;
}
else if (pos < str.length)
{
return false;
}
return true;
}
// less powerful version of code from richtext.js
function htmlEscape( p ){
if (p){
var pq = "" + p;
pq=pq.replace(/&/g, "&");
pq=pq.replace(/"/g, """);
pq=pq.replace(/