

function hasSelectCheckBox(form) {
    var hasData = false;
    for (var i=0;i<form.elements.length;i++) {
        if (form.elements[i].type == 'checkbox' && form.elements[i].checked) {
            hasData = true;
            break;
        }
    }
    return hasData;
}

function selectCheckBox(form, checked, checkValue) {
    if (form == null || form.elements == null) {
        alert("No data!");
        return;
    }
    for (var i=0;i<form.elements.length;i++) {
        if (form.elements[i].type == 'checkbox') {
            if (typeof checkValue != "undefined") {
                if (form.elements[i].value == checkValue) {
                    form.elements[i].checked = checked;
                }
            } else {
                form.elements[i].checked = checked;
            }
        }
    }
}

// Trim whitespace from left and right sides of s.
function trim(s) {
    return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
String.prototype.trim=function() {
    return trim(this.value);
};

/**
 * To hide element
 * @param element The element name or object.
 */
function hideElement(element) {
    var elt;
    if (typeof element == "string") {
        elt = document.getElementById(element);
    } else if (element != null) {
        elt = element;
    }
    elt.style.visibility='hidden';
}
/**
 * To show element
 * @param element The element name or object.
 */
function showElement(element) {
    var elt;
    if (typeof element == "string") {
        elt = document.getElementById(element);
    } else if (element != null) {
        elt = element;
    }
    elt.style.visibility='hidden';
}
function hideBlock(element) {
    var elt;
    if (typeof element == "string") {
        elt = document.getElementById(element);
    } else if (element != null) {
        elt = element;
    }
    elt.style.display="none";
}
/**
 * 
 */
function showBlock(element) {
    var elt;
    if (typeof element == "string") {
        elt = document.getElementById(element);
    } else if (element != null) {
        elt = element;
    }
    elt.style.display="block";
}

function switchBlock(element) {
    var elt;
    if (typeof element == "string") {
        elt = document.getElementById(element);
    } else if (element != null) {
        elt = element;
    }
    if (elt.style.display=="block") {
        elt.style.display="none";
    } else {
        elt.style.display="block";
    }
    
}
/**
 * @param elementName: A element name or An array of element name;
 * @return a element or an array contains elements. if element name is undefined, element will be null.
 */
function getElement(elementName) {
    if (typeof elementName == "string") {
        return document.getElementById(elementName);
    } else if (typeof elementName != "undefined"){
        var element = new Array();
        for (var i=0;i<elementName.length;i++) {
            if (typeof elementName[i] == "string") {
                element.push(document.getElementById(elementName[i]));
            } else {
                element.push(null);
            }
        }
        return element;
    } else {
        return null;
    }
}
//var imageCache = new Object;
function changeIconOnMouseOver(iconName) {
var img=document[iconName];
/*
    var cacheIconName = iconName + "over";
    if (typeof imageCache[cacheIconName] == 'undefined') {
        imageCache[cacheIconName] = new Image();
        imageCache[cacheIconName].src = img.lowsrc?img.lowsrc:img.getAttribute?img.getAttribute('lowsrc'):img.src;
    }
*/    
    img.imgRolln=img.src;
    img.src=img.lowsrc?img.lowsrc:img.getAttribute?img.getAttribute('lowsrc'):img.src;
}

function changeIconOnMouseOut(iconName) {
/*
    var cacheIconName = iconName + "out";
    if (typeof imageCache[cacheIconName] == 'undefined') {
        imageCache[cacheIconName] = new Image();
        imageCache[cacheIconName].src = document[iconName].imgRolln;
    }
*/   
    document[iconName].src=document[iconName].imgRolln;
}
/**
 * @param element -  element name or element object
 * @param styleAttr - an association array specifies style attribute/value. 
                      ex {'background': '#FFFFFF','color':'#000000'}
 */
function changeStyle(element, styleAttr) {
    if (typeof element == 'string') {
        element = document.getElementById(element);
    }
    for(attr in styleAttr) {
        if (typeof element.style[attr] != 'undefined') {
            element.style[attr] = styleAttr[attr];
        }
    }
}


function formatNumber(num){  
    num  =  num+  "  ";  
    var  re=/(-?\d+)(\d{3})/  
    while(re.test(num)){  
        num=num.replace(re,  "$1,$2")  
    }  
    return  num;  
}

