﻿// JScript 文件
var $ = function ( id ,doc) {
	return (doc||document).getElementById( id );
}
var Class = {
	create: function () {
		return function () {
			this.initialize.apply(this, arguments);
		};
	}
};
var StringBuilder = Class.create();
StringBuilder.prototype = {
	initialize : function( str ) {
		this._strings_ = new Array;
		if ( str ) this.append(str);
	},
	append : function ( str ) {
		this._strings_.push ( str );
	},
	ToString : function () {
		return this._strings_.join ( "" );
	},
	Clear : function () {
		return this._strings_.splice (0,this._strings_.length);
	}
}
String.prototype.isNull = function () {
	for (var i=0; i < this.length; i++) {
		var c = this.charAt(i);
		if(c!=' '&&c!='\n'&&c!='\r'&&c!='\t')
			return false;
	}
	return true;
}
String.prototype.isNotNull = function () {
	for (var i=0; i < this.length; i++) {
		var c = this.charAt(i);
		if(c!=' '&&c!='\n'&&c!='\r'&&c!='\t')
			return true;
	}
	return false;
}
String.prototype.parseBool = function () {
	if ( this == "1" || this.toUpperCase() == "TRUE"  ) {
		return true;
	}else { return false; }
}
String.prototype.Format = function ( str1,str2,str3 ) {
	var str = this;
	if ( str1 ){
		while ( str.indexOf("{0}") > -1 ) {
			str = str.replace( "{0}",str1 );
		}
		if ( str2 ){
			while ( str.indexOf("{1}") > -1) {
				str = str.replace( "{1}",str2 );
			}
			if ( str3 ){
				while ( str.indexOf("{2}") > -1 ) {
					str = str.replace( "{2}",str3 );
				}		
			}
		}	
	}	
	return str;
}
String.prototype.Trim = function () {
    return this.replace(/\s+$|^\s+/g,"");
}
String.prototype.toText = function(){
	var xmlDiv = document.createElement("div");
	xmlDiv.innerHTML = this;			
	return xmlDiv.innerText;
}
//自定义类中绑定自身方法到元素事件--（闭包！慎用）
var fnCreateEvents = function ( obj,call,args ) {
    return function(args) { if(obj && call && obj[call]) obj[call](args,obj)  };
}
//获取元素绝对位置
var fnGetAbsoluteLocation = function ( element ){
    var offsetTop = offsetLeft = 0;
    if ( arguments.length == 1 && element ) {    
        offsetTop = element.offsetTop; 
        offsetLeft = element.offsetLeft; 
        while( element = element.offsetParent ) { 
            offsetTop += element.offsetTop; 
            offsetLeft += element.offsetLeft; 
        } 
    }
    return { absoluteTop: offsetTop, absoluteLeft: offsetLeft }; 
}
//追加事件
var AttachEvent = function (object, eventName, Call, capture){
  eventName = eventName.toLowerCase();
  if(object.attachEvent) object.attachEvent(eventName, Call);
  else object.addEventListener(eventName.substr(2), Call, capture||false);
}
//加样式表
var AttachStyleSheet = function( url ) {
    var eleCss  = document.createElement('link');
    eleCss.href = url;
    eleCss.rel  = 'stylesheet';
    eleCss.type = 'text/css';
    document.getElementsByTagName('head')[0].appendChild(eleCss);
}
