// @author xinzi
// 比较器，可扩展 2004.04.05
function IComparator(comparator){
    this.value1 = null;
    this.value2 = null;
    if(null == comparator ){
		comparator = "StringComparator";
    }
    this.getResult = eval(comparator);
    return this;
}

//列值为字符的比较方法
function StringComparator(){
    switch(true){
            case value1 == value2 :
                return 0;
            case value1 < value2 :
                return -1;
            case value1 > value2 :
                return 1;
    }
}

//列值为数字的比较方法
function NumberComparator(){
    var num1 = new Number(value1);
    var num2 = new Number(value2);
    if( isNaN(num1) ||  isNaN(num2) ){
        return this.StringComparator();
    }
    switch(true){
            case num1 == num2 :
                return 0;
            case num1 < num2 :
                return -1;
            case num1 > num2 :
                return 1;
    }
}

//列值为金额的比较方法
function MoneyComparator(){	
    var num1 = new Number(value1.replace(/,/ig,""));
    var num2 = new Number(value2.replace(/,/ig,""));
    if( isNaN(num1) ||  isNaN(num2) ){
         return this.StringComparator();
    }
    switch(true){
            case num1 == num2 :
                return 0;
            case num1 < num2 :
                return -1;
            case num1 > num2 :
                return 1;
    }
}

function ReplaceString(str,oldStr,newStr){
	return str.replace(/,/ig,"");
}
//列值为金额的比较方法
function GeneralDateComparator(){
    var num1 = new Number(value1.replace(/-/ig,""));
    var num2 = new Number(value2.replace(/-/ig,""));
    if( isNaN(num1) ||  isNaN(num2) ){
        return this.StringComparator();
    }
    switch(true){
            case num1 == num2 :
                return 0;
            case num1 < num2 :
                return -1;
            case num1 > num2 :
                return 1;
    }
}
