function UnDefined(v)
{
        v = "" + v;
        if(v == "undefined" || v == "")
                return true;
        else
                return false;
}

function Defined(v)
{
        return !UnDefined(v)
}

function AtTrim(s)
{
        var r1, r2, s1, s2, s3;

    r1 = new RegExp("^ *");
    r2 = new RegExp(" *$");

    s1 = ""+s+"";
    s2 = s1.replace(r1, "");
    s3 = s2.replace(r2, "");

    r1 = null;
    r2 = null;

    return(s3);
}

function isValidPassword(str)
{
        var s = str.toLowerCase();
        var c;
        for (i=0;i< s.length;i++){
                c = s.charAt(i);
                if (c==' ')
                        return false;
        }
        return true;
}

/*
 // Commented by Matt Hu for BUG 81580 on 2003/11/26
function isValidEmail(str)
{
         str=AtTrim(str);
         var apos = str.indexOf("@");
        var dpos = str.lastIndexOf(".");
        var spos = str.indexOf(" ");
        var cpos = str.indexOf(",");
        if (cpos>=0||spos>=0||apos<=0 || dpos<=0)
             return false;
        if(dpos<=apos+1) return false;
        if(str.charAt(apos+1)=='.') return false;
        if(str.charAt(str.length-1)=='.') return false;

        return true;
}
*/

//--------------------------------------------------------------
// Added by Matt Hu for BUG 81580 on 2003/11/26
// Copied from MCC 6.1 code (Updated on 2003/09/10)
function isValidEmail(str)
{
        str = AtTrim( str );
        //Modified by Billie Li for bug 97358 on 04-3-1
        //var rx = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        var rx = /^(([^<>()[\]\\.,;\':\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

        //End modified
        if ( !rx.test( str ) )
        {
                return false;
        }

        return true;
}
// End - Added by Matt Hu for BUG 81580 on 2003/11/26
//--------------------------------------------------------------

function isValidLogon(str)
{
        var s = str.toLowerCase();
        var c;

        for (i=0;i< s.length;i++){
                c = s.charAt(i);
                if (c=='/' || c=='\\')
                        return false;
        }
//        for (i=0;i< s.length;i++){
//                c = s.charAt(i);
//                if (c>='a' && c<='z' || c>='0' && c<='9' || c=='_' || c=='.' || c=='-' ||c==' ')
//                        continue;
//                return false;
//        }
        if(str=="")
                return false;
        return true;
}

function isValidName(str)
{
        var s = str.toLowerCase();
        var c;

        for (i=0;i< s.length;i++){
                c = s.charAt(i);
                if (c=='/')
                        return false;
        }
//        for (i=0;i< s.length;i++){
//                c = s.charAt(i);
//                if (c>='a' && c<='z' || c>='0' && c<='9' || c=='_' || c=='.' || c=='-' ||c==' '||c=='\'')
//                        continue;
//                return false;
//        }
        if(str=="")
                return false;
        return true;
}

function parseDigits(str)
{
        var c;
        var i=0,j=0;
        var sOK="";

        for (;i< str.length;i++){
                c = str.charAt(i);
                if (c>'9' || c<'0')
                        continue;
                sOK+=""+c;
        }
        return sOK;
}

function CheckDate1(Year,Month,Date1)
{
        if(Month==2)
        {
                if(Date1>29)
                        return false;
                else if( Date1==29 && !( (Year%4)==0 && (Year%100)!=0 || (Year%400)==0 ) )
                        return false;
                else
                        return true;
        }
        else if( (Month==4 || Month==6 || Month==9 || Month==11 )&& Date1==31)
                return false;
        else
                return true;
}
function GetMeetingOptionParamArr()
{
        var MeetingOptionParamArr = new Array();

        MeetingOptionParamArr[0] = ("OwnerID");
        MeetingOptionParamArr[1] = ("TimeZone");
        MeetingOptionParamArr[2] = ("ConfType");
        MeetingOptionParamArr[3] = ("CurConfID");

        MeetingOptionParamArr[4] = ("RepeatType");
        MeetingOptionParamArr[5] = ("DailyInterval");
        MeetingOptionParamArr[6] = ("WeeklyInterval");
        MeetingOptionParamArr[7] = ("Weekly0");
        MeetingOptionParamArr[8] = ("Weekly1");
        MeetingOptionParamArr[9] = ("Weekly2");
        MeetingOptionParamArr[10] = ("Weekly3");
        MeetingOptionParamArr[11] = ("Weekly4");
        MeetingOptionParamArr[12] = ("Weekly5");
        MeetingOptionParamArr[13] = ("Weekly6");

        MeetingOptionParamArr[14] = ("BeHidden");
        MeetingOptionParamArr[15] = ("AlwaysRepeat");
        MeetingOptionParamArr[16] = ("UntilYear");
        MeetingOptionParamArr[17] = ("UntilMonth");
        MeetingOptionParamArr[18] = ("UntilDay");

        MeetingOptionParamArr[19] = ("ReminderIndex");
        MeetingOptionParamArr[20] = ("SendEmail");
        MeetingOptionParamArr[21] = ("SendMobile");
        MeetingOptionParamArr[22] = ("RemindEmail");
        MeetingOptionParamArr[23] = ("RemindMobile");

        MeetingOptionParamArr[24] = ("requirelogin");
        MeetingOptionParamArr[25] = ("exludepassword");
        MeetingOptionParamArr[26] = ("supportchat");
        MeetingOptionParamArr[27] = ("supportpoll");

        MeetingOptionParamArr[28] = ("supportvideo");
        MeetingOptionParamArr[29] = ("attendeelist");
        MeetingOptionParamArr[30] = ("supportfiletransfer");
        MeetingOptionParamArr[31] = ("supportpresentation");
        MeetingOptionParamArr[32] = ("supportappshare");
        MeetingOptionParamArr[33] = ("supportdesktopshare");
        MeetingOptionParamArr[34] = ("supportwebtour");
        MeetingOptionParamArr[35] = ("supportmeetingrecord");
        MeetingOptionParamArr[36] = ("supportcollaborationtools");
        MeetingOptionParamArr[37] = ("importdocument");
        MeetingOptionParamArr[38] = ("savedocument");
        MeetingOptionParamArr[39] = ("printdocument");
        MeetingOptionParamArr[40] = ("pointer");
        MeetingOptionParamArr[41] = ("switchpage");
        MeetingOptionParamArr[42] = ("fullscreen");
        MeetingOptionParamArr[43] = ("thumbnail");
        MeetingOptionParamArr[44] = ("zoom");
        MeetingOptionParamArr[45] = ("copypage");
        MeetingOptionParamArr[46] = ("supportappshareremote");
        MeetingOptionParamArr[47] = ("supportdesktopshareremote");
        MeetingOptionParamArr[48] = ("supportwebtourremote");
        MeetingOptionParamArr[49] = ("javaclient");
        MeetingOptionParamArr[50] = ("nativeclient");
        MeetingOptionParamArr[51] = ("meetingrecordforattendee");
        MeetingOptionParamArr[52] = ("supportfaxintomeeting");
        MeetingOptionParamArr[53] = ("ClientType");
        MeetingOptionParamArr[54] = ("RemoteControl");
        return MeetingOptionParamArr;
}

//Add by Paul Chen on 5/31. only allow English chars for zip code
function isValidZipCode(str)
{
        if(str=="")
                return true;

        var s = str;
        var c;
        for (i=0;i< s.length;i++){
                c = s.charAt(i);
                if (c<" " || c>"~")
                        return false;
        }
        return true;

}