﻿String.prototype.Trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.RTrim = function()
{
    return this.replace(/(\s*$)/g, "");
}

function LTrim(source)
{
    return source.replace(/(^\s*)/g, "");
}

String.prototype.IsEmail = function()
{
    var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return reg.test(this);
}

function $(ctlID)
{
    var ret;

    var ctl = document.getElementById(ctlID);
    switch (ctl.type)
    {
        case "text":
            ret = ctl.value;
            break;
        case "textarea":
            ret = ctl.value;
            break;
        case "select-one":
            ret = ctl.options[ctl.selectedIndex].value;
            break;
        case "checkbox":
            ret = ctl.checked;
            break;
        case "radio":
            ret = ctl.checked;
            break;
        default:
            ret = null;
            break;
    }

    return ret;
}
function $F(id)
{
    return document.getElementById(id);
}

function SetMaxLength(ctl, len)
{
    var v = ctl.value;
    if (v.length > len)
    {
        ctl.value = v.substring(0, len);
    }
}

function OpenWin(url, w, h)
{
    if (w == null)
    {
        w = 800;        
    }
    if (h == null)
    {
        h = 600;
    }
    var top = (window.screen.availHeight - 30 - h) / 2;
    var left = (window.screen.availWidth - 10 - w) / 2;

    //    var t = new Date().getTime().toString();
    //    if (url.indexOf("?") > -1)
    //    {
    //        url = url + "&t=" + t;
    //    }
    //    else
    //    {
    //        url = url + "?t=" + t;
    //    }
    window.open(url, "", "height=" + h + ",width=" + w + ",top=" + top + ",left=" + left + ",toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=yes");
}


function FormatZipCode(sender)
{
    var phone = sender;

    if (phone != null)
    {
        var digits = phone.value.replace(/[^0-9]/ig, '');
        if (digits == "")
        {
            phone.value = "";
            return;
        }

        var tmp = "";
        if (digits.length > 5)
            tmp = digits.substring(0, 5) + '-' + digits.substring(5, digits.length);
        else
            tmp = digits;

        if (tmp.length > 10)
            phone.value = tmp.substring(0, 10);
        else
            phone.value = tmp;
    }
}

function FormatPhone(sender)
{
    var phone = sender;
    var tmpS = phone.value;
    tmpS=ReplaceStr(tmpS, " ", "");
    var kuohao=false;
    if(tmpS.indexOf("(")==0)
        kuohao=true;
    
    var digits = tmpS.replace(/[^0-9]/ig, '');
    if (digits.length > 10)
        digits = digits.substring(0, 10);

    if(kuohao)
    {
        if (digits.length==10)
        {
            phone.value = "("+digits.substring(0, 3) + '-' + digits.substring(3, 6) + '-' + digits.substring(6, digits.length)+")";
        }
        else if (digits.length >=6)
        {
            phone.value = "("+digits.substring(0, 3) + '-' + digits.substring(3, 6) + '-' + digits.substring(6, digits.length);
        }
        else if (digits.length >= 3)
        {
            phone.value = "("+digits.substring(0, 3) + '-' + digits.substring(3, digits.length);
        }
        else
        {
            phone.value = "("+digits;
        }
    }
    else
    {
        if (digits.length >= 6)
        {
            phone.value = digits.substring(0, 3) + '-' + digits.substring(3, 6) + '-' + digits.substring(6, digits.length);
        }
        else if (digits.length >= 3)
        {
            phone.value = digits.substring(0, 3) + '-' + digits.substring(3, digits.length);
        }
        else
        {
            phone.value = digits;
        }
    }
}
function FormatPhoneComplete(sender)
{
    var phone = sender;
    var tmpS = phone.value;
    var digits = tmpS.replace(/[^0-9]/ig, '');

    if (digits.length > 10)
        digits = digits.substring(0, 10);

    if (digits.length > 6)
    {
        phone.value = digits.substring(0, 3) + '-' + digits.substring(3, 6) + '-' + digits.substring(6, digits.length);
    }
    else if (digits.length > 3)
    {
        phone.value = digits.substring(0, 3) + '-' + digits.substring(3, digits.length);
    }
    else
    {
        phone.value = digits;
    }
}

function FormatMoney(sender)
{
    var v = sender.value;
    if (v.indexOf(".") > -1)
    {
        v = v.substr(0, v.indexOf("."));
    }

    v = v.replace(/[^0-9]/ig, '');

    var output = "";
    var flag = 0;
    for (var i = v.length - 1; i >= 0; i--)
    {
        output = v.charAt(i) + output;
        flag = flag + 1;
        if (flag == 3 && i != 0)
        {
            output = "," + output;
            flag = 0;
        }
    }
    if (parseInt(output) == 0) output = "0";
    if (output == "")
        sender.value = "";
    else
        sender.value = "$ " + output;

  
}
function FormatNumber(sender)
{
    var v = sender.value;
    if (v.indexOf(".") > -1)
    {
        v = v.substr(0, v.indexOf("."));
    }

    v = v.replace(/[^0-9]/ig, '');

    var output = "";
    var flag = 0;
    for (var i = v.length - 1; i >= 0; i--)
    {
        output = v.charAt(i) + output;
        flag = flag + 1;
        if (flag == 3 && i != 0)
        {
            output = "," + output;
            flag = 0;
        }
    }
    if (parseInt(output) == 0) output = "0";
    if (output == "")
        sender.value = "";
    else
        sender.value = output;

}
function FilterAlpha(sender)
{
    var v = sender.value;
    v = v.replace(/[^a-zA-Z\s]/ig, '');

    sender.value = v;
}



function toBreakWord(obj, intLen)
{
    var strContent = obj.innerHTML;
    strContent = ReplaceStr(strContent, "&nbsp;", " ");
    strContent = ReplaceStr(strContent, "<br />", "\n");
    var strTemp = "";
    while (strContent.length > intLen)
    {
        strTemp += strContent.substr(0, intLen) + "<br>";
        strContent = strContent.substr(intLen, strContent.length);
    }
    strTemp += "<br>" + strContent;
    obj.innerHTML = strTemp;
}

function ReplaceStr(src, searchKey, replaceToKey)
{
    var reg = new RegExp("(" + searchKey + ")", "g");
    var newstr = src.replace(reg, replaceToKey);
    return newstr;
}

function GetBrowseType()
{
    if (window.ActiveXObject)
        return "IE";
    else if (document.getBoxObjectFor)
        return "FF";
    else if (window.MessageEvent && !document.getBoxObjectFor)
        return "CHROME";
    else if (window.opera)
        return "OPERA";
    else if (window.openDatabase)
        return "SAFARI";

    return "";
}