﻿// JavaScript Document
// 上海蓝速E-Service项目公用JS库
// 1.04.02.0001
// Dev. 追梦客
// QQ. 16991200
// 此类在使用过程中要使用jQuery，请在之前添加jQuery脚本注册

(function ($){
	window.eService = window.$e = new eService();
	function eService(){
        this.Urls = {
		        UpdateArticleVisities:"/article/UpdateArticleVisities.html"//文章点击数更新地址
	    }
	}
	eService.prototype.PrintPage = function(obj){
		//打印页面
		window.print();
	}

	eService.prototype.GetBrowser = function (){
	    //获得浏览器类型
	    if(navigator.userAgent.indexOf("MSIE")>0)return 1; 
		if(navigator.userAgent.indexOf("Firefox")>0)return 2; 
		return 0; 
	}
	eService.prototype.AddToFavorite = function (url,title){
	    //添加到收藏夹
		switch(this.GetBrowser()){
		   case 1:
			window.external.addFavorite(url,title);
		   break;
		   case 2:
			window.sidebar.addPanel(title, url, "");
		   break;
		   case 0:
			alert("加入收藏失败，您使用的浏览器不支持这个功能");
		   break;
		}
	}
	eService.prototype.SetForHomePage = function (sender){
	    //设为首页
		try{
			sender.style.behavior="url(#default#homepage)";
			sender.setHomePage("http://" + location.hostname);
		}catch(ex){
			//TODO Nothing
			//alert(ex)
		}
		return false;
	}

	eService.prototype.SetCookie = function (sName, sValue, timeKeep)
    {
        //设置COOKIES值
        //timeKeep单位：小时
	    var now=new Date();
	    var expireTime= new Date(now.valueOf()+timeKeep*60000*60);
	    document.cookie = sName + "=" + escape(sValue) + "; path=/; expires=" + expireTime.toGMTString() + ";";
    }
    eService.prototype.GetCookie = function (sName)
    {
        //获取指定名称的COOKIE项的值
	    var aCookie = document.cookie.split("; ");
	    for (var i=0; i < aCookie.length; i++)
	    {
		    var aCrumb = aCookie[i].split("=");
		    if (sName == aCrumb[0]) 
			    return unescape(aCrumb[1]);
	    }
	    return null;
    }
    eService.prototype.GetCurrentDateTime = function ()
    {
        //获取当前时间
        var date = new Date();
        var current=new String("");
        current += date.getFullYear()+"-";
        current += date.getMonth() + 1+"-";
        current += date.getDate()+" ";
        current += date.getHours()+":";
        current += date.getMinutes()+":";
        current += date.getSeconds();
        return current;
    }
    eService.prototype.GoUrl = function (url)
    {
       var _rg = /^(http:\/\/|ftp:\/\/|https:\/\/)/ig;
		if(_rg.test(url))
		{
			var _popup = open(url,"_blank","");
			if(_popup == null)
			{
				location.href = url;	
			}
		}
    }
    eService.prototype.GoTo = function (url)
    {
        //将页面跳转到指定的地址
        if(url)
        {
            location.href = url;
        }
    }
    eService.prototype.UpdateArticleVisities = function (id,show){
        //id 文章ID
        //show 显示访问数的元素ID
        
        $.post(this.Urls.UpdateArticleVisities,{"id":id},function (data){
            $("#"+show).text(data);
        });
    }

	eService.prototype.SetFontSize = function(target,font_size){
		//设置指定指定区域的字体大小，并自动设置行间距
		var _box = document.getElementById(target);
		if(_box)
		{
			_box.style.fontSize = font_size+"px";
			_box.style.lineHeight = (font_size * 1.5)+"px";
		}
	}
	eService.prototype.CopyContent = function(target){
		var meintext = $("#"+target).text();
		if(CopyToClipboard(meintext)!=false)
		{
			alert("复制完成");
		}
	}
	function CopyToClipboard(meintext){
		if (window.clipboardData) 
		{
			// the IE-manier
			window.clipboardData.setData("Text", meintext);
//		}else if(navigator.userAgent.indexOf("Opera")!=-1){
//			window.location = meintext;	
		}
		else if (window.netscape) 
		{ 
			// dit is belangrijk maar staat nergens duidelijk vermeld:
			// you have to sign the code to enable this, or see notes below 
			try{
				netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
			}catch(e){
				alert("您的firefox安全限制您进行剪贴板操作，请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试。");
				return false	
			}
			  
			// maak een interface naar het clipboard
			var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
			if (!clip) return;
			//alert(clip);
			// maak een transferable
			var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
			if (!trans) return;
			   
			// specificeer wat voor soort data we op willen halen; text in dit geval
			trans.addDataFlavor('text/unicode');
			   
			// om de data uit de transferable te halen hebben we 2 nieuwe objecten 
			// nodig om het in op te slaan
			var str = new Object();
			var len = new Object();
			var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
			var copytext=meintext;
			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);
		}
		else
		{
			return false;
		}
	
//		alert("复制完成");
//		return false;

	}
	
	eService.prototype.ShowToolTips = function (sender,alt){
		var offset = $("img[usemap=#"+$(sender).parent().attr("id")+"]").offset();
		offset.width = 0;
		offset.height = 0;
		var rect = $(sender).attr("coords").split(",");
		if(rect.length!=4)
		{
			return;
		}
		offset.left += parseInt(rect[0]);
		offset.top  += parseInt(rect[1]);
		offset.width += parseInt(rect[2])-parseInt(rect[0]);
		offset.height += parseInt(rect[3])-parseInt(rect[1]);
//		offset.left += $(document).scrollLeft();
//		offset.top  += $(document).scrollTop();		

		////呈现报纸上面的区域盒子
		if($("#ShowToolTipsBox").get(0)==null){//创建盒子
			$("body").append("<div style=\"border:solid 2px #F00;display:none;position:absolute;\" id=\"ShowToolTipsBox\"></div>");
		}
		
		$("#ShowToolTipsBox").width(offset.width+"px");
		$("#ShowToolTipsBox").height(offset.height+"px");
		$("#ShowToolTipsBox").css({left:offset.left+"px",top:offset.top+"px"});
		$("#ShowToolTipsBox").show();
		
		if($("#ShowToolTips").get(0)==null){//创建盒子
			$("body").append("<div style=\"border:solid 2px #0CF;background-color:#DFF9FF;display:none;position:absolute;padding:2em;font-size:18px;font-weight:bold;\" id=\"ShowToolTips\"></div>");
		}
		
		var evt = this.ShowToolTips.caller.arguments.length==1?this.ShowToolTips.caller.arguments[0]:event;
		if(evt.pageX || evt.pageY)
		{ 
			$("#ShowToolTips").css({left: evt.pageX+'px',top:evt.pageY+'px'});
		} 
		else
		{ 
			$("#ShowToolTips").css({left: (evt.clientX + document.body.scrollLeft - document.body.clientLeft)+'px',top:(evt.clientY + document.body.scrollTop  - document.body.clientTop)+'px'});
		}
		$("#ShowToolTips").html(alt);
		$("#ShowToolTips").show();

		sender.onmouseout = function (evt){
			$("#ShowToolTipsBox").hide();
			$("#ShowToolTips").hide();
		};		
	}
	eService.prototype.Zoom = function (target,mode){
		var fs =parseInt($("#"+target).css("fontSize"));
		if(mode.toLowerCase()=="out"){
			if(fs>12)
			{
				$("#"+target).css("fontSize",fs-2);
			}
		}else{
			if(fs<24)
			{
				$("#"+target).css("fontSize",fs+2);
			}
					
		}
	}
	eService.prototype.HtmlEnCode = function (s){
	    s = s.toString();
	    s = s.replace("&","&amp;");
	    s = s.replace("<","&lt;");
	    s = s.replace(">","&gt;");
		return s;
	}
	eService.prototype.GetRndString = function (l){
		if(l==null || typeof(l)!="number" || l<=0)
		{
			l = 16;
		}
	    var RndString = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghijkmnpqrstuvwxyz";
        var s="";
        for(var i=0;i<l;i++)
		{
            s += RndString.substr(Math.floor(Math.random() * RndString.length) ,1);
		}
        return s;
	}
    eService.prototype.GetStock = function (id,t){
		//加载股市行情信息
		if(t!=null){
	        $("#"+id).load("/Scripts/GetStock.ashx",{type:t,r:Math.random()},null);
	    }else{
	        $("#"+id).load("/Scripts/GetStock.ashx",{r:Math.random()},null);
	    }
	}
})(jQuery);
