///////////////////////////////////////////////////////////////////////////////
//
//
//  JS_STD
//
//
//  Copyright (C) 2000-2001 by ChemInform Saint-Petersburg (CISP) Ltd.
//  All Rights Reserved
//
//
///////////////////////////////////////////////////////////////////////////////


function FormatString ()
{
    with (FormatString)
    {
        var strResult  = ""; 
        var arrStrings = arguments [0].split ("%");

        for (var i = 0; i < arrStrings.length; i++)
            strResult += arrStrings [i] + ((arrStrings.length == 1) || (i == arrStrings.length - 1) || ((arguments [i + 1] == null)) ? "" : arguments [i + 1]);
    }

    return (strResult);
}


function FormatStringEx ()
{
    with (FormatStringEx)
    {
        var i;
        var objRegExp;
        var strResult = arguments [0];

        for (i = 1; i < (arguments.length >> 1) + 1; i++)
        {
            objRegExp = new RegExp (arguments [2 * i - 1], "g");
            strResult = strResult.replace (objRegExp, arguments [2 * i]);
        }
    }

    return (strResult);
}


function FormatDateEx (objDate)
{
    var arrMonths = new Array
                        (
                            "Jan",
                            "Feb",
                            "Mar",
                            "Apr",
                            "May",
                            "Jun",
                            "Jul",
                            "Aug",
                            "Sep",
                            "Oct",
                            "Nov",
                            "Dec"
                        );

    var strDate = (objDate.getDate () < 10) ? "0" + objDate.getDate () : objDate.getDate ();

    return (FormatString ("% % %", strDate, arrMonths [objDate.getMonth ()], objDate.getFullYear ()));
}


function FormatTimeEx (objDate)
{
    var strHours   = (objDate.getHours () < 10) ? "0" + objDate.getHours () : objDate.getHours ();
    var strMinutes = (objDate.getMinutes () < 10) ? "0" + objDate.getMinutes () : objDate.getMinutes ();

    return (FormatString ("%:%", strHours, strMinutes));
}


var intBrowserUnsupported = 0;
var intBrowserExplorer    = 1;
var intBrowserNetscape    = 2;


function GetBrowserVersion ()
{
    if (navigator.appVersion.substring (0, 1) > 3)
        switch (navigator.appName)
        {
            case "Microsoft Internet Explorer" :
                return (intBrowserExplorer);

            case "Netscape" :
                return (intBrowserNetscape);

            default :
                return (intBrowserUnsupported);
        }
    else
        return (intBrowserUnsupported);
}


function IsEMailValid (strEMail)
{
    if ((strEMail).search ("@") == - 1) return (false);
    if ((strEMail).search (/\./) == - 1) return (false);
    if ((strEMail).split ("@").length != 2) return (false);
    if (((strEMail).split ("@") [0].length == 0) || 
        ((strEMail).split ("@") [1].length == 0)) return (false);

    return (true);
}


function IsMemoEmpty (strMemo)
{
    strMemo = strMemo.replace (/\r\n/g, "");
    strMemo = strMemo.replace (/\x20/g, "");

    return (strMemo == "");
}
