// Number()parseInt() parseFloat()avaScript Document
function CeeCMS_Engine(){
	this.baseUrl = "";
	this.siteName ="";	
	this.Browser = null;	
};

CeeCMS_Engine.prototype = {	

	init : function (baseUrl,siteName){
		this.baseUrl = baseUrl;
		this.siteName = siteName;	
		if( /msie/.test(window.navigator.userAgent.toLowerCase())){
		this.Browser ="msie";
		}
	if( /gecko/.test(window.navigator.userAgent.toLowerCase())){
		this.Browser ="gecko";
		}	
		
	if( /opera/.test(window.navigator.userAgent.toLowerCase())){
		this.Browser ="opera";
		}	
		},
		
	JsLoader : function (sUrl,charset,fCallback){
             var _script = document.createElement('script');
                _script.setAttribute('type', 'text/javascript');
				_script.setAttribute('charset', charset);
                _script.setAttribute('src', sUrl);
                document.getElementsByTagName('head')[0].appendChild(_script);
				switch(this.Browser){
					case "msie":
					 _script.onreadystatechange = function(){						        
                                if (this.readyState=='loaded' || this.readyState=='complete'){
									 _script.onreadystatechange = null;
                                    fCallback();
                                }
                        };
						break;
					case "gecko":
					 _script.onload = function(){
						 		_script.onload = null;
                                fCallback();
                        };
						break;					
					}                               
        },
		
	addfavorite	: function (){
		switch(this.Browser){
	    case "msie":
			window.external.addFavorite(this.baseUrl,this.siteName);
			alert(siteName);
			break; 
       case "gecko":
	   		window.sidebar.addPanel(this.siteName, this.baseUrl, "");
			break; 
		}
	},
	
	setHomePage : function (e){
		switch(this.Browser){
		case "msie":		
			e.style.behavior="url(#default#homepage)";   
			e.setHomePage(this.baseUrl);  
			e.style.behavior="";  
			break;
	    case "gecko":		
		 if(window.sidebar){
       	 	if(window.netscape){
            try{
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }catch (e){
                alert( "该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项signed.applets.codebase_principal_support 该值为true!" );
				return;
            }
        }
        var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components. interfaces.nsIPrefBranch);
        prefs.setCharPref("browser.startup.homepage",this.baseUrl);
    }
	}
	},	
	///参数
	// elsmentStr  字串格式，div#idName,div.classname,返回Document中的第一个符合条件元素。
	//LimitElement:指定元素 object;
	//searchType: "inner" 内处搜索，"outer"外部搜索直到HTML.
	GetElementByElement : function (elementStr,LimitElement,SearchType){
	    var  searchType = null;	
	    var  elemnetTargName;	   
		var  searchStr;
	    if(elementStr.indexOf("#") && elementStr.indexOf("#")>0){
		     searchType ="id";
		     elemnetTargName = elementStr.slice(0,elementStr.indexOf("#")).toUpperCase();
			 searchStr = elementStr.slice(elementStr.indexOf("#")+1);			 
		 }
	   if(elementStr.indexOf(".") && elementStr.indexOf(".")>0){
		     searchType ="className";
		     elemnetTargName = elementStr.slice(0,elementStr.indexOf(".")).toUpperCase();
			 searchStr = elementStr.slice(elementStr.indexOf(".")+1);			 
		 }
		if(searchType == null ) return null;
		if(SearchType == "inner"){			
			var elements = LimitElement.getElementsByTagName(elemnetTargName);
		    if(searchType == "className"){
			 var resultArr = [];			
		     for(var i in elements){	 
	               if(elements[i].className == searchStr){
					  resultArr.push(elements[i]);
					   }
		 
		  }
		  if (resultArr.length>0){
			  if(resultArr.length==1){
				  return resultArr[0];}else{
					  return resultArr;						  
						  }
			  }		 
		 }
			if(searchType == "id"){
		            for(var i in elements){		   
				    if(elements[i].id == searchStr){
					       return elements[i];
					}
		
	         	  }
			}		 
			}
		if(SearchType=="outer"){
			var parentElement;
			while(parentElement = LimitElement.parentNode){
				if(parentElement.tagName == elemnetTargName ){
					if(searchType=="id" && parentElement.id == searchStr )return parentElement;						
					if(searchType =="className" && parentElement.className == searchStr) return parentElement;				
					}
				LimitElement = parentElement;
				}
			
			}
			return null;
		
		},
	
	//参数字串格式，div#idName,div.classname,id返回Document中的第一个符合条件元素,class返回组数对象。
	GetElementByStr : function (elemnetStr){		   
	    var  searchType = null;	
	    var  elemnetTargName;	   
		var  searchStr;
	    if(elemnetStr.indexOf("#")>0){
		     searchType ="id";
		     elemnetTargName = elemnetStr.slice(0,elemnetStr.indexOf("#")).toUpperCase();
			 searchStr = elemnetStr.slice(elemnetStr.indexOf("#")+1);			 
		 }
	   if(elemnetStr.indexOf(".")>0){
		     searchType ="className";
		     elemnetTargName = elemnetStr.slice(0,elemnetStr.indexOf(".")).toUpperCase();
			 searchStr = elemnetStr.slice(elemnetStr.indexOf(".")+1);			 
		 }
		
 		 if(searchType == null ) return null;
	     var elements = document.getElementsByTagName(elemnetTargName);
		 if(searchType == "className"){
			 var resultArr = [];			
		 for(var i in elements){	 
	               if(elements[i].className == searchStr){
					  resultArr.push(elements[i]);
					   }
		 
		  }
		  if (resultArr.length>0){
			  if(resultArr.length==1) {return resultArr[0];}else{  return resultArr;}
			  }		 
		 }
		 if(searchType == "id"){
		 for(var i in elements){		   
	               if(elements[i].id == searchStr){
					   return elements[i];
					   }
		
		  }
		 }
		return null;
		},
		
	add : function(c, m) {
		var n;
		for (n in m)
			c.prototype[n] = m[n];
	},

	
	extend : function(p, np) {
		var o = {}, n;

		o.parent = p;

		for (n in p)
			o[n] = p[n];

		for (n in np)
			o[n] = np[n];

		return o;
	},
	
	CookieSet: function(name, value, expires, path, domain){
                if (typeof expires == "undefined")
                {
                        expires = new Date(new Date().getTime() + 365*24*3600*100);
                }

                document.cookie = name + "=" + escape(value) +
                        ((expires) ? "; expires=" + expires.toGMTString() : "") +
                        ((path) ? "; path=" + path : "; path=/") +
                        ((domain) ? "; domain=" + domain : "");
        },

    CookieGet: function(name){
                var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
                if (arr != null){
                        return unescape(arr[2]);                
                }
                return null;
    },

    CookieClear: function(name, path, domain){
                if (this.CookieGet(name)){
                        document.cookie = name + "=" +
                                ((path) ? "; path=" + path : "; path=/") +
                                ((domain) ? "; domain=" + domain : "") +
                                ";expires=Fri, 02-Jan-1970 00:00:00 GMT";
								}
        },
		
	listProperty:function(obj){	
	if(!obj){
		alert("obj:null");
		return false;
		}
		var reStr="";
		for(var i in obj){			
			   reStr = reStr + i+":"+obj[i]+"<br/>";			  
			 }
			 window.document.write(reStr);				
    }
};
var CeeCMS = CeeCMS_Engine;
CeeCMS = new CeeCMS_Engine();
CeeCMS.init("http://www.okiddy.com/","宝贝计划");

