/* all modifications of jtongfu for jquery plugin */

(function($){
	$.fn.ce=function(tn){
		return document.createElement(tn);
	};
	$.fn.ca=function(s,d){
		var t={a:s.attributes,i:0,l:0};
		t.l=t.a.length;
		for(t.i=0;t.i<t.l;t.i++) d.setAttribute(t.a[t.i].name,t.a[t.i].value);
	};
	$.fn.isset=function(o){
		return (this.isdef(o)&&o!=null)
	};
	$.fn.isdef=function(o){
		return (typeof(o)!='undefined');
	};
	$.fn.sz=function(o){
		return (o!=null)?o.length:0;
	};
	$.fn.idx=function(){
		return ($.isIE)?($(this).index()):($(this).index());
	};
	$.fn.pu=function(){
		var url = new String(document.location.href);
		var pattern = /(\w+)=(\w+)/ig;
		var parames = {};
		url.replace(pattern, function(a, b, c){
			parames[b] = c;
		});
		return parames;
	};
	$.fn.rw=function(){
		var r={o:this[0],w:0};
		r.w=$(r.o).width();
		if($.isIE) r.w+=parseInt($(r.o).css('padding-left'))+parseInt($(r.o).css('padding-right'));
		else r.w+=parseInt($(r.o).css('padding-left'))+parseInt($(r.o).css('padding-right'));
		return r.w;
	};
	$.fn.groupValue=function(spl){
		var r={a:[],i:0,l:$.fn.sz(this),spl:($.fn.isset(spl))?spl:','};
		for(r.i=0;r.i<r.l;r.i++) r.a[r.i]=this[r.i].value;
		return r.a.join(r.spl);
	};
	$.fn.select_sort=function(s,skipPrefix){
		var t={rnd:new String(Math.random()),a:new Array(),s:null,i:0,j:0,l:0,p:0};
		t.l=this.sz(s.options);
		if(isNaN(skipPrefix)) skipPrefix = 0;
		for(t.i=skipPrefix;t.i<t.l;t.i++) t.a[t.i]=s.options[t.i].text+t.rnd+s.options[t.i].value;
		t.a.sort();
		for(t.i=skipPrefix;t.i<t.l;t.i++) s.options[skipPrefix] = null;
		for(t.i=skipPrefix;t.i<t.l;t.i++){
			t.s=t.a[t.j];
			t.j++;
			t.p=t.s.indexOf(t.rnd);
			s.options[t.i]=new Option(t.s.substr(0,t.p),t.s.substr(t.p+t.rnd.length,this.sz(t.s)));
		}
	};
	$.fn.select_clear=function(s,skipPrefix){
		var t={i:0,l:this.sz(s.options)};
		for(t.i=skipPrefix;t.i<t.l;t.i++) s.options[skipPrefix] = null;
	};
	$.fn.select_fill=function(s,a,skipPrefix){
		var t={i:0,j:0,l:this.sz(s.options)};
		for(t.i=skipPrefix;t.i<t.l;t.i++) s.options[skipPrefix] = null;
		if(typeof(k)=='string'){
			for(t.i=skipPrefix;t.i<t.l;t.i++){s.options[t.i]=new Option(a[t.j],t.j);t.j++;}
		}
		else{
			t.i=skipPrefix;
			for(var p in a){s.options[t.i]=new Option(a[p],p);t.i++;}
		}
	};
	$.fn.sid=function(){
		var s=new String(Math.random());
		s=s.replace(/[\. ]/,'');
		return 'jtfsid'+s;
	};
	$.fn.pi=function(o){
		var ti = parseInt(o);
		if(isNaN(ti)) return 0;
		return ti;
	};
	$.fn.mouse_position=function(e){
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop    + document.documentElement.scrollTop;
		}
		return {'x':posx,'y':posy};
	};
	$.fn.scroll_offset=function(){
		return {l:$(document).scrollLeft(),t:$(document).scrollTop()};
	};
	$.fn.scroll_position=function(){
		this.SPO={sc:0,c:{l:0,t:0},t:{l:0,t:0},d:{l:0,t:0}};
		this.get_change=function(){
			this.SPO.t = $.fn.scroll_offset();
			this.SPO.d.l = this.SPO.t.l-this.SPO.c.l;
			this.SPO.d.t = this.SPO.t.t-this.SPO.c.t;
			this.SPO.c.l = this.SPO.t.l;
			this.SPO.c.t = this.SPO.t.t;
			return this.SPO.d;			
		};
		this.init=function(){
			this.SPO.c = $.fn.scroll_offset();
		};
		this.init();
	};
	$.fn.ltrim=function(str){
		return str.replace(new RegExp("^[ \r\n\t]*"),"");
	}
	$.fn.rtrim=function(str){
		return str.replace(new RegExp("[ \r\n\t]*$"),"");
	}
	$.fn.trim=function(str){
		return $.fn.rtrim($.fn.ltrim(str));
	}
	// cookies 
	$.fn.cookie=function(name, value, options) {
	    if (typeof value != 'undefined') {
	        options = options || {};
	        if (value === null) {
	            value = '';
	            options = $.extend({}, options);
	            options.expires = -1;
	        }
	        var expires = '';
	        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
	            var date;
	            if (typeof options.expires == 'number') {
	                date = new Date();
	                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
	            } else {
	                date = options.expires;
	            }
	            expires = '; expires=' + date.toUTCString();
	        }
	        var path = options.path ? '; path=' + (options.path) : '';
	        var domain = options.domain ? '; domain=' + (options.domain) : '';
	        var secure = options.secure ? '; secure' : '';
	        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
	    } else {
	        var cookieValue = null;
	        if (document.cookie && document.cookie != '') {
	            var cookies = document.cookie.split(';');
	            for (var i = 0; i < cookies.length; i++) {
	                var cookie = $.fn.trim(cookies[i]);
	                if (cookie.substring(0, name.length + 1) == (name + '=')) {
	                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
	                    break;
	                }
	            }
	        }
	        return cookieValue;
	    }
	};
	$.fn.loadPkg=function(url,tp,fun){
		var _rnd = new String(Math.random());
		if(url.indexOf('?')==-1) url += '?rs='+_rnd;
		else url += '&rs='+_rnd;
		var _doc = document.getElementsByTagName('head')[0];
	    var _res = null;
	    if(tp == 'css'){
		    _res = document.createElement('link');
		    _res.setAttribute('rel', 'stylesheet');
			_res.setAttribute('type', 'text/css');
		    _res.setAttribute('href', url);
	    }
	    else{
	    	_res = document.createElement('script');
			_res.setAttribute('type', 'text/javascript');
			_res.setAttribute('src', url);
	    }
	    _doc.appendChild(_res);
	    if(!/*@cc_on!@*/0){ //if not IE
	        _res.onload=function(){
	            if(typeof(fun)!='undefined') fun();
	        };
	    }
	    else{
	        _res.onreadystatechange=function(){
	            if(_res.readyState == 'loaded'
	            	|| _res.readyState == 'complete'){
	                if(typeof(fun)!='undefined') fun();
	            }
	        };
	    }
	};
	$.fn.prototype={
		pi:function(o){
			var ti = parseInt(o);
			if(isNaN(ti)) return 0;
			return ti;
		}
	};
	$.get2=function(url,argv,fun,tp){
		if(argv==null) argv={TFAPIJTONGFURnd:Math.random()};
		else argv.TFAPIJTONGFURnd=Math.random();
		$.get(url,argv,fun,tp);
	}
	$.getXmlDataObject=function(obj){
		var ta={i:0,l:0,o:obj,od:null};
		var ra={};
		if(ta.o!=null){
			ta.od=ta.o.childNodes;
			ta.l=ta.od.length;
			for(ta.i=0;ta.i<ta.l;ta.i++){
				ra[ta.od[ta.i].tagName]=$(ta.od[ta.i]).text();
			}
			return ra;
		}
		return null;
	};
	$.getXmlData=function(xml,mkey,key){
		var tfad=xml.getElementsByTagName(mkey);
		if(tfad!=null){
			var tao=tfad[0].getElementsByTagName(key);
			if(tao!=null&&tao.length>0){
				return $.getXmlDataObject(tao[0]);
			}
		}
		return null;
	};
	$.getXmlData2=function(xml,mkey,key){
		var tfad=xml.getElementsByTagName(mkey);
		if(tfad!=null){
			var tao=tfad[0].getElementsByTagName(key);
			var ra={i:0,l:0,d:[]};
			if(tao!=null&&tao.length>0){
				ra.l=tao.length;
				for(ra.i=0;ra.i<ra.l;ra.i++){
					ra.d[ra.i]=$.getXmlDataObject(tao[ra.i]);
				}
				return ra;
			}
		}
		return null;
	};
	$.gets=$.fn.pu();
	$.isIE=(navigator.appVersion.match(new RegExp("MSIE")));
	$.isIE6=(navigator.appVersion.match(new RegExp("MSIE 6\.")));
	$.compatVersion=0;// 0 BackCompat, 1 CSS1Compat, 2 CSS2Compat
	window.tongfu = tongfu = jQuery;
})(jQuery);

$(function(){
	switch(document.compatMode){
	case "CSS1Compat":$.compatVersion=1;break;
	case "CSS2Compat":$.compatVersion=2;break;
	default:break;
	}
});
