﻿function DateToTriplet(d)
{
    var t = new Array(d.getFullYear(), d.getMonth() + 1, d.getDate());
    return t;
}
function resizeFrame(f) {
    f.style.height = "50px"; // For initial the hieght.
    f.style.height = f.contentWindow.document.body.scrollHeight + 10 + "px";
}

function trim(tx) {
    return tx.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
    return tx.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
    return tx.replace(/\s+$/,"");
}
function isKeyAlphaNumeric(key) { // Check the key from keypress event is key alphanumeric
    return /\w/.test(String.fromCharCode(key));
}
function isKeyNumber(key) { // Check the key from keypress event is key number
    return /\d/.test(String.fromCharCode(key));
}
function isUserFriendlyChar(val) {// check the value for special key
    if (val == 8 || val == 9 || val == 13 || val == 45 || val == 46) // Backspace, Tab, Enter, Insert, and Delete
        return true;
    if ((val > 16 && val < 21) || (val > 34 && val < 41)) // Ctrl, Alt, CapsLock, Home, End, and Arrows
        return true;
    return false;
}
function hideToolTip(toolTipId) {
    if (toolTipId && toolTipId != '') {
        var toolTip  = $find(toolTipId);
        if (toolTip) {
            if (toolTip.isVisible()) {
                toolTip.hide();
            }
        }
    }
}
function showToolTip(toolTipId, element, text, manualClose, position) {
    if (toolTipId && toolTipId != '') {
        var toolTip  = $find(toolTipId);
        if (toolTip && element && text) {
            if (position) {
                toolTip.set_position(position);
            }
            else {
                toolTip.set_position(Telerik.Web.UI.ToolTipPosition.TopRight);
            }
            if(null != element && 'object' == typeof(element))
                toolTip.set_targetControl(element);
            else
                toolTip.set_targetControlID(element);
            if (manualClose == null || manualClose == false) {
                toolTip.set_manualClose(false);
            }
            else {
                toolTip.set_manualClose(true);
            }
            toolTip.set_text(text);
            toolTip.show();                
        }
    }
}
function setFocusOnTextBox(textBoxId) {
    var textbox  = document.getElementById(textBoxId);
    if (textbox) {
        try {
            textbox.focus();
        }catch (exc) {/* do nothing */}
    }
}
function requiredTextBoxesCheck(tableId, toolTipId) {
    var isValid = true;
    var tmpPin = "";
    if (tableId && tableId != '') {
        var tableObj = document.getElementById(tableId);
        if (tableObj) {
            var inputs = tableObj.getElementsByTagName('input');
            var errMsg = "<div style='color:Red;'> <ul>";
            for (var i=0; i<inputs.length; i++) {
                if (inputs.item(i).style.display != 'none') {
                    if (inputs.item(i).type == 'text' || inputs.item(i).type == 'password') {
                        inputs.item(i).value = trim(inputs.item(i).value);
                        if (inputs.item(i).value == '' || inputs.item(i).value == '-- Select One --') {
                            if (inputs.item(i).getAttribute('class') != null && 
                                inputs.item(i).getAttribute('class').indexOf('rcbInput') != -1) { //RadComboBox Firefox                                
                                var comboErr = requiredComboBox(inputs.item(i));
                                if (comboErr != '') {                                
                                    isValid = false;
                                    errMsg += comboErr;
                                }
                            }
                            else if (inputs.item(i).getAttribute('className') != null && 
                                inputs.item(i).getAttribute('className').indexOf('rcbInput') != -1) { //RadComboBox IE8                                
                                var comboErr = requiredComboBox(inputs.item(i));
                                if (comboErr != '') {                                
                                    isValid = false;
                                    errMsg += comboErr;
                                }
                            }               
                            else {
                                var isRequire = new Boolean(inputs.item(i).getAttribute('IsRequire'));
                                if (isRequire == true) {
                                    if (inputs.item(i).alt == '') {
                                        inputs.item(i).alt = inputs.item(i).getAttribute('FieldName');
                                    }
                                    if (inputs.item(i).alt != '') {                                                                            
                                        isValid = false;
                                        errMsg += '<li>' + inputs.item(i).alt + ' is required</li>';
                                    }
                                    
                                    
                                    /*else if (inputs.item(i).getAttribute('class') == 'rcbInput' ||
                                        inputs.item(i).getAttribute('className') == 'rcbInput') { //RadComboBox
                                        isValid = false;
                                        errMsg += '<li>' + inputs.item(i).title + ' is required</li>';
                                    }*/
                                }
                            }
                        }
                        else if (inputs.item(i).style.backgroundColor == 'lemonchiffon') {
                            isValid = false;
                            errMsg += '<li>' + inputs.item(i).alt + ' is required</li>';
                        }                          
                    }
                }
            }
            if (isValid) {
                errMsg = '';
            }
        }
    }
    return errMsg;
}
function requiredComboBox(input) {
    var comboBoxID = input.id.replace(/_Input/, '');
    var comboBox = $find(comboBoxID);
    var isRequire;
    if(comboBox.get_attributes().getAttribute('IsRequire') != null)
    {
        isRequire = comboBox.get_attributes().getAttribute('IsRequire').toLowerCase();
    }
    var errMsg = '';
    if (isRequire == "true") {
        errMsg = '<li>' + comboBox.get_attributes().getAttribute('FieldName') + ' is required</li>';
    }
    return errMsg;
}

///// Add 10/01/2010

function requiredTextBoxesCheckRegisterForm(tableId, toolTipId) {
    var isValid = true;
    var tmpPin = "";
    if (tableId && tableId != '') {
        var tableObj = document.getElementById(tableId);
        if (tableObj) {
            var inputs = tableObj.getElementsByTagName('input');
            var errMsg = "<div style='color:Red;'> <ul>";
            for (var i=0; i<inputs.length; i++) {
                if (inputs.item(i).style.display != 'none') {
                    if (inputs.item(i).type == 'text' || inputs.item(i).type == 'password' || inputs.item(i).alt == 'hfSpellCheckResult' || inputs.item(i).alt == 'hiddenPackageResult') {
                        inputs.item(i).value = trim(inputs.item(i).value); // trim value for except space
                        if (inputs.item(i).value == '' || inputs.item(i).value == '-- Select One --') {
                            if (inputs.item(i).getAttribute('class') != null && 
                                inputs.item(i).getAttribute('class').indexOf('rcbInput') != -1) { //RadComboBox Firefox                                
                                var comboErr = requiredComboBox(inputs.item(i));
                                if (comboErr != '') {                                
                                    isValid = false;
                                    errMsg += comboErr;
                                }
                            }
                            else if (inputs.item(i).getAttribute('className') != null && 
                                inputs.item(i).getAttribute('className').indexOf('rcbInput') != -1) { //RadComboBox IE8                                
                                var comboErr = requiredComboBox(inputs.item(i));
                                if (comboErr != '') {                                
                                    isValid = false;
                                    errMsg += comboErr;
                                }
                            }               
                            else {
                                if(inputs.item(i).getAttribute('IsRequire') == null) continue;
                                var isRequire = inputs.item(i).getAttribute('IsRequire').toLowerCase();
                                if (isRequire == "true") {
                                    if (inputs.item(i).alt == '') {
                                        inputs.item(i).alt = inputs.item(i).getAttribute('FieldName');
                                    }
                                    if (inputs.item(i).alt != '') {                                                                            
                                        isValid = false;
                                        errMsg += '<li>' + inputs.item(i).alt + ' is required</li>';
                                    }
                                    
                                    
                                    /*else if (inputs.item(i).getAttribute('class') == 'rcbInput' ||
                                        inputs.item(i).getAttribute('className') == 'rcbInput') { //RadComboBox
                                        isValid = false;
                                        errMsg += '<li>' + inputs.item(i).title + ' is required</li>';
                                    }*/
                                }
                            }
                        }
                        else if (inputs.item(i).style.backgroundColor == 'lemonchiffon') {
                            isValid = false;
                            errMsg += '<li>' + inputs.item(i).alt + ' is required</li>';
                        }
                        else if(inputs.item(i).alt == 'Email Address')
                        { 
                            //var RegX = /(^[a-z0-9]([a-z0-9_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
                            var RegX =   /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(\.[a-zA-Z0-9]{2,4})*(\.[a-zA-Z]{2,3})$/;

                            if(!RegX.test(inputs.item(i).value))
                            {
                                 isValid = false;
                                 errMsg += '<li>' + inputs.item(i).alt + ' is invalid</li>';
                            }
                        }
                        else if(inputs.item(i).alt == 'PIN')
                        {
                            if (inputs.item(i).value.length < 4) {
                                isValid = false;
                                errMsg += '<li>' + inputs.item(i).alt + ' required at least 4 characters</li>';
                            }else{
                                tmpPin = inputs.item(i).value;
                            }
                        }
                        else if(inputs.item(i).alt == 'ReType PIN')
                        {
                            if(inputs.item(i).value != tmpPin)
                            {
                                isValid = false;
                                errMsg += '<li> PIN did not match </li>';
                            }
                        }
                        else if(inputs.item(i).alt == 'User ID')
                        {
                            var regUserId = /([a-zA-Z0-9_]{3,15})$/;
                            if(!regUserId.test(inputs.item(i).value))
                            {
                                 isValid = false;
                                 errMsg += '<li>' + inputs.item(i).alt + ' is invalid</li>';
                            }
                        }
                        else if (inputs.item(i).alt == 'Credit Card Name') {
                            if ((inputs.item(i).value).length < 2) {
                                isValid = false;
                                errMsg += '<li>' + inputs.item(i).alt + ' is invalid</li>';
                            }
                        }
                        else if (inputs.item(i).alt == 'hfSpellCheckResult') {
                            if ((inputs.item(i).value.toLowerCase()) == "false") {
                                isValid = false;
                                errMsg += '<li>No city/state found. Please check spelling and try again.</li>';
                            }
                        }
                        else if (inputs.item(i).alt == 'hiddenPackageResult') {
                        if ((inputs.item(i).value.toLowerCase()) == "false") {
                                isValid = false;
                                errMsg += '<li>uDrove Package and Services is required.</li>';
                            }
                        }
                    }
                }
            }
            if (isValid) {
                errMsg = '';
            }
        }
    }
    return errMsg;
}

///// Add 10/01/2010



function CommaFormatted(amount) {
    var delimiter = ","; // replace comma if desired
    var a = amount.split('.', 2)
    var d = a[1];
    var i = parseInt(a[0]);
    if (isNaN(i)) { return ''; }
    var minus = '';
    if (i < 0) { minus = '-'; }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while (n.length > 3) {
        var nn = n.substr(n.length - 3);
        a.unshift(nn);
        n = n.substr(0, n.length - 3);
    }
    if (n.length > 0) { a.unshift(n); }
    n = a.join(delimiter);
    if (d != undefined) {
        if (d.length < 1) { amount = n; }
        else { amount = n + '.' + d; }
    }
    amount = "$" + minus + amount;
    return amount;
}
