/**
 * Effects类
 * 功能：页面特效
 *
 * oEffects = new Effects();
 * oEffects.select('tt', 'all');
 */
if( typeof(Effects) != 'function' ){
	var Effects = function(){
		Effects.superclass.constructor.call(this);

		/**
		 * 加入收藏夹/书签
		 */
		this.addFavorite = function(url, title){
			if(this.browserName == "ie"){
				window.external.addFavorite(url, title);
			}else if(this.browserName == "firefox"){
				window.sidebar.addPanel(title, url, "");
			}else{
				try{
					window.external.addFavorite(url, title);
				}catch (e){
					try{
						window.sidebar.addPanel(title, url, "");
					}catch (e){
						alert("加入收藏失败，请使用Ctrl+D进行添加");
					}
				}
			}
		};

		/**
		 * 设为首页
		 * @param object obj 页面对象
		 * @param string url
		 */
		this.setHome = function(obj, url){
			try{
				obj.style.behavior='url(#default#homepage)';
				obj.setHomePage(url);
			}catch(e){
				if(window.netscape) {
					try {
				    	netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
				    }catch (e) {
				    	alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true',双击即可。");
				    }
				    var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
				    prefs.setCharPref('browser.startup.homepage',url);
			    }
			}
		};

		this.copyToClipBoard = function(id){
			var txt = $("#"+id).val();
			if(window.clipboardData) {
		        window.clipboardData.clearData();
		        window.clipboardData.setData("Text", txt);
			} else if(navigator.userAgent.indexOf("Opera") != -1) {
			     window.location = txt;
			} else if (window.netscape) {
			     try {
			          netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			     } catch (e) {
			          alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
			     }
			     var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
			     if (!clip)
			          return;
			     var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
			     if (!trans)
			          return;
			     trans.addDataFlavor('text/unicode');
			     var str = new Object();
			     var len = new Object();
			     var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
			     var copytext = txt;
			     str.data = copytext;
			     trans.setTransferData("text/unicode",str,copytext.length*2);
			     var clipid = Components.interfaces.nsIClipboard;
			     if (!clip)
			          return false;
			     clip.setData(trans,null,clipid.kGlobalClipboard);
			     alert("复制成功！")
			}
		};

		/**
		 * 全选、反选、不选
		 * @param stirng name input名称
		 * @param stirng type 类型:all-全选 invert-反选 none-不选
		 */
		this.select = function(name, type){
			var inputs = $("input[name='"+name+"']");
			var inputsLen = inputs.length;
			for (var i = 0; i < inputsLen ; i++ ){
				if (inputs[i].type.toLowerCase() == 'checkbox'){
					if(type == 'all'){
						inputs[i].checked = true;
					}else if(type == 'invert'){
						inputs[i].checked = ! inputs[i].checked;
					}else if(type == 'none'){
						inputs[i].checked = false;
					}
				}
			}
		};

		this.postCounter = function(textareaId, tipId){
			$("#"+textareaId).keyup(function(){
				var num = $("#"+textareaId).val().length;
				if(num <= 288){
					$("#"+tipId).html("还可输入<em>"+(288-num)+"</em>个字");
				}else{
					$("#"+tipId).html("已超出<em>"+(num-288)+"</em>个字");
					return false;
				}
			});
		};

		/**
		 * 改变样式
		 * @param curId
		 * @param preStr  s
		 * @param classVal
		 * @return
		 */
		this.changeClass = function(curId, preStr, classVal){
			$("li[id*='"+preStr+"']").each(function(){
				$(this).removeClass(classVal);
			});
			$("li[id="+curId+"]").addClass(classVal);
		};
		
		/**
		 * 复制内容到剪贴板
		 */
		this.clip = function(id, type){
			var clipBoardContent=""; 
			try{
				clipBoardContent+="";
				if(typeof(arguments[1]) != "undefined" && type==2){
					var oEditor = FCKeditorAPI.GetInstance(id);
					clipBoardContent+=oEditor.EditorDocument.body.innerText;
				}else{
					clipBoardContent+=document.getElementById(id).value;
				}
				window.clipboardData.setData("Text",clipBoardContent);
				alert("你已复制你的推广连接!");
				document.getElementById(id).select();
			}catch(e){
				alert("firefox游览，请手动复制！");
				document.getElementById(id).select();
			}
		}
	}
	extend(Effects,Base);
	oEffects = new Effects();
}
