/**
 * @author ysw
 */

var $ = function(str){
	if(str)
		return document.getElementById(str);
}

var Util = function(){
	return{
		alert: function(alertStr){
			alert(alertStr);
		},
		
		confirm: function(confirmStr){
			return confirm(confirmStr);
		},
		
		mouseOver: function(obj, className, elid, btnelid){
			obj.className=className;
			if(elid != ""){
				Ext.get(elid).setDisplayed(true);
			}
			Ext.get(btnelid).setDisplayed(true);
		},
		
		mouseOut: function(obj, className, elid, btnelid){
			if(!Ext.EventObject.within(obj, true)){
				obj.className=className;
				if(elid != ""){
					Ext.get(elid).setDisplayed(false);
				}
				Ext.get(btnelid).setDisplayed(false);
			}
		},
		
		toolbarMouseOver: function(obj, className){
			obj.className=className;
		},
		
		toolbarMouseOut: function(obj, className){
			//if(!Ext.EventObject.within(obj, true)){
				obj.className=className;
			//}
		},
		
		//设置空间进度条
		setProcess:function(curspace,totalspace){			
			var curWidth =  ConstCommon.proceeWidth * (curspace/totalspace);
			if(curWidth<1)
				curWidth = 1;
			var processdiv = Ext.get("process");
			
			processdiv.setWidth(curWidth);
			
		},
		
		//监听回车
		addKeyMap : function(el, myHandler, myObject){
            this.keyMap = new Ext.KeyMap(el, {
				key: Ext.EventObject.ENTER,
			    fn: myHandler,
			    scope: myObject
			});
	    },
		
		//写地址栏描点，记页数
		setAnchor: function(pos){
			document.location.hash=pos;
		},
		
		getAnchor: function(){
			return document.location.hash.replace("#","");
		},
		
		loadscript: function(src) {   
	        var headerDom = document.getElementsByTagName('head').item(0);   
	        var jsDom = document.createElement('script');   
	        jsDom.type = 'text/javascript';   
	        jsDom.scr = src;   
	        headerDom.appendChild(jsDom);
	    },

		//判断是否firefox浏览器
		isFirefox: function(){
			return (navigator.userAgent.indexOf("Firefox")>0)
		}
		
	}
}();

String.prototype.ltrim = function() 
{ 
	return this.replace(/(^\s*)/g, ""); 
} 
String.prototype.rtrim = function() 
{ 
	return this.replace(/(\s*$)/g, ""); 
} 
String.prototype.trim = function(){
	return this.ltrim().rtrim();
}


var Cookies = function(){
	
	return{
		set: function(name, value){
			var argv = arguments;
			var argc = arguments.length;
			var expires = new Date();
			expires.setMonth(expires.getMonth()+12);
			
			var path = (argc > 2) ? argv[2] : '/';
			var domain = (argc > 3) ? argv[3] : null;
			var secure = (argc > 4) ? argv[4] : false;
			document.cookie = name + "=" + escape (value) + "; expires=" + expires.toGMTString() +
			((path == null) ? "" : ("; path=" + path)) +
			((domain == null) ? "" : ("; domain=" + domain)) +
			((secure == true) ? "; secure" : "");
		},

		get: function(name){
			var arg = name + "=";
			var alen = arg.length;
			var clen = document.cookie.length;
			var i = 0;
			var j = 0;
			while(i < clen){
				j = i + alen;
				if (document.cookie.substring(i, j) == arg)
					return this.getCookieVal(j);
				i = document.cookie.indexOf(" ", i) + 1;
				if(i == 0)
					break;
			}
			return null;
		},
		
		clear: function(name) {
		  if(Cookies.get(name)){
		  	//alert("haveName");
		  	var expires = new Date();
			expires.setMonth(expires.getMonth()-12);
			var path = '/';
			var domain = null;
			var secure = false;
		    document.cookie = name + "=" +
		    "; expires=" + expires.toGMTString() +
			((path == null) ? "" : ("; path=" + path)) +
			((domain == null) ? "" : ("; domain=" + domain)) +
			((secure == true) ? "; secure" : "");
		  }
		},
		
		getCookieVal: function(offset){
		   var endstr = document.cookie.indexOf(";", offset);
		   if(endstr == -1){
		       endstr = document.cookie.length;
		   }
		   return unescape(document.cookie.substring(offset, endstr));
		}
	}
}();


var UtilAjaxLoadScript = function(){
	
	var i = 0;
	return{
		pageReadycall: undefined,
		pollInterval:50,
		poll:{},
		
		loadScript: function(arrayid,arraysrc){
			this._arrayid=arrayid;
			this._arraysrc=arraysrc;
			
		},
		
		next: function(){
			if(this._arrayid.length > i){
	            this.AjaxPage(this._arrayid[i],this._arraysrc[i]);
				i++;
				this.next();
	        }else{
				this.pageReadycall.call();
	        }

		},
		
		GetHttpRequest: function(){
			var xmlObj = false;
			var CBfunc,ObjSelf;
			ObjSelf=this;
			try { xmlObj=new XMLHttpRequest; }
			catch(e) {
				try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
				catch(e2) {
					try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
					catch(e3) { xmlObj=false; }
				}
			}
			return xmlObj;
			if (!xmlObj) return false;
		},
		
		AjaxPage: function(sId, url){
			var oXmlHttp = new this.GetHttpRequest; 
		    oXmlHttp.onreadystatechange = function()  
		    {
				alert("onready");
		        if (oXmlHttp.readyState == 4 ) 
		        {
		            if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 ) 
		            {
		                //UtilAjaxLoadScript.IncludeJS( sId, url, oXmlHttp.responseText );
					    UtilAjaxLoadScript.IncludeJS( sId, url);
		            } 
		            else 
		            { 
		                alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ; 
						//this.IncludeJS( sId, url, oXmlHttp.responseText );
		            } 
		        } 
		    } 
		    oXmlHttp.open('GET', url, false); 
		    oXmlHttp.send(null); 
		},
		
		IncludeJS: function(sId, fileUrl){
		    if (!document.getElementById( sId ) ){ 
		        var oHead = document.getElementsByTagName('HEAD').item(0); 
		        var oScript = document.createElement( "script" ); 
		        oScript.language = "javascript"; 
		        oScript.type = "text/javascript"; 
		        oScript.id = sId; 
		        oScript.defer = true; 
		        oScript.src = fileUrl; 
		        oHead.appendChild( oScript ); 
		    } 			
		}
	}
}();

