/**
	@ver 1.0
	@author coco 
*/

var Type=(function(){

	function constructor()
	{

	}
    constructor.isObject=function(o) {
      return (typeof(o)=="object");
    }
    
    constructor.isArray=function (o) {
      return (this.isObject(o) && (o.length) &&(!this.isString(o)));
    }
    constructor.isFunction=function (o) {
      return (typeof(o)=="function");
    }
    constructor.isString=function(o) {
      return (typeof(o)=="string");
    }
    constructor.getType=function(o) {
        return "["+typeof(o)+"]";    
    }
    constructor.toInt=function(o)
    {
        if ((!o)||(o=="")) return 0;
		return parseInt(o);
    }
    constructor.toFloat=function(o)
    {
        
        if ((!o)||(o=="")) return 0;
        return parseFloat(o);
	}
    return constructor;
})();	

var ConfigEvaluator=(function(){
	var configItems;
	function constructor(){
		configItems=new Array();
	}
	constructor.prototype.loadText=function(dataText){
	    var props=dataText.split(";");
	    var data=new Array();
		for(var index in props){
		    var items=props[index].split("=",2);
		    data[items[0]]=items[1];
		}
		this.load(data);
	}
	
	constructor.prototype.load=function(data){
        configItems=data;
	}
    constructor.prototype.value=function(key,p){
		var value=configItems[key];
		var test="";
        if (p)
    		for(var index in p){
                var v=p[index];
                value=XString.replaceAll(value,'%'+index+'%',v);
            }
        return value;
    }
    constructor.prototype.evalKey=function(key,p){
        var test=true;
        var code;
        var value=this.value(key,p);
        var ch=value.charAt(0);
        if (ch=="{") code=value;
        else code="test="+value;
		//alert("execute "+code);
		try{
		      eval(code);
		}catch(e){
            e["code"]=code;
            Error.dumpObject(e);
		}
		return test;
	}
	return constructor;
})();

var TFormat=(function(){
    function constructor()
	{

	}    
    constructor.float=function(n){
        var f=n+"";
        var s=f.split(".");
        var out="";
        var k=0;
        for(var i=s[0].length-1;i>=0;i--){
            if ((k%3==0)&&(k!=0)) out=","+out;
            k++;
            out=s[0].charAt(i)+out;
        }
        return out+ ((s[1])?("."+s[1]):"");
    }
  	return constructor;
})();

