function getE(id)
{
	return document.getElementById(id);
}
function isNum(str) {
	var patrn = /^[0-9]{1,50}$/;
	return (patrn.exec(str)) ? true : false;
}
function isMobile(str) {
	var patrn = /^(13|15|18)\d{9}$/;
	return (patrn.exec(str)) ? true : false;
}
function isTel(str) {
	var patrn = /^(\d{3,4}\-)?\d{7,8}(\*\d{1,6})?$/;
	return (patrn.exec(str)) ? true : false;
}
function isEmail(str) {
	var patrn = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
	return (patrn.exec(str)) ? true : false;
}

function ltrim(s) {
	return s.replace(/^\s*/, "");
}
function rtrim(s) {
	return s.replace(/\s*$/, "");
}
function trim(s) {
	return rtrim(ltrim(s));
}

function HTMLTextRender(s) {
	return s
		.replaceAll("&", "&amp;")
		.replaceAll("\"", "&quot;")
		.replaceAll("<", "&lt;")
		.replaceAll(">", "&gt;");
}

String.prototype.replaceAll = function(s1, s2) {
	return this.replace(new RegExp(s1, "gm"), s2);
}
function setFirstFrameUrl(aurl) {
	var afrm = document.getElementById("frm");
	afrm.src = aurl;
	// alert(afrm.src);
	// alert(document.frames.length);
	// window.document.frames[0].location = aurl;
}

function copyToClipboard() {
	
	var txt = this.location.href;
	
	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("复制成功！")
}


//Public functions and objects
var Davinci = new Object();
// Davinci.RequestHandler
Davinci.RequestHandler = function(p_OnData,p_OnErr)
{
	this.OnData = p_OnData;
	this.OnErr = p_OnErr;
};

// Davinci.Reqest
Davinci.Request = function(p_CmdID,p_strURL,p_Handler,p_strMethod,p_ParamList,p_strContentType)
{
	var m_ObjectSelf = this;
	this.m_Data = new Object();
	this.m_CmdID = p_CmdID;
	this.m_strURL = p_strURL;
	this.m_Handler = p_Handler;
	this.m_strMethod = p_strMethod;
	this.m_ParamList = p_ParamList;
	this.m_strContentType = p_strContentType;
	
	this.onState = function()
	{
		if(m_ObjectSelf.m_XMLHttpReq.readyState == 4)
		{
			if(m_ObjectSelf.m_XMLHttpReq.status == 200)
			{				
				m_ObjectSelf.m_Handler.OnData(m_ObjectSelf.m_XMLHttpReq.responseXML,m_ObjectSelf);
			}
			else
			{
				m_ObjectSelf.m_Handler.OnErr(100,"t_XMLHttpReq Fail Status="+m_ObjectSelf.m_XMLHttpReq.status,m_ObjectSelf);
			}
		}
	}
};

Davinci.Request.prototype.fire = function()
{	
	if(!this.m_strMethod)
	{		
		this.m_strMethod = "GET";
	}
	
	if(!this.m_strContentType && this.m_strMethod=="POST")
	{		
		this.m_strContentType = "application/x-www-form-urlencoded;";		
	}
	
	if(window.ActiveXObject)
	{
		try
		{
			this.m_XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{			
			try
			{
				this.m_XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
			}
		}
	}
	else if(window.XMLHttpRequest)
	{
		this.m_XMLHttpReq = new XMLHttpRequest();
	}
		
	if(!this.m_XMLHttpReq)
	{
		this.m_Handler.OnErr(10,"Can not create Microsoft.XMLHTTP object");
		return;
	}		
	
	try
	{			
		this.m_XMLHttpReq.onreadystatechange = this.onState;
		this.m_XMLHttpReq.open(this.m_strMethod,this.m_strURL,true);

		if(this.m_strContentType)
			this.m_XMLHttpReq.setRequestHeader("Content-Type",this.m_strContentType);

		this.m_XMLHttpReq.send(this.m_ParamList);
	}
	catch(e)
	{	
		this.m_Handler.OnErr(10,"Exception when send request,Msg:"+e.message);
		return;
	}
};

if(!document.all){  
    // ä¸º XMLDocument add  loadXML method 
    XMLDocument.prototype.loadXML = function(xmlString){  
        var childNodes = this.childNodes;  
        for (var i = childNodes.length - 1; i >= 0; i--){  
            this.removeChild(childNodes[i]);  
        }  
        var dp = new DOMParser();  
        var newDOM = dp.parseFromString(xmlString, "text/xml");  
        var newElt = this.importNode(newDOM.documentElement, true);  
        this.appendChild(newElt);  
    }  
     // prototying the XMLDocument  
    XMLDocument.prototype.selectNodes = function(cXPathString, xNode){  
        if( !xNode ) { xNode = this; }   
        var oNSResolver = this.createNSResolver(this.documentElement)  
        var aItems = this.evaluate(cXPathString, xNode, oNSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)  
        var aResult = [];  
        for( var i = 0; i < aItems.snapshotLength; i++){  
            aResult[i] =   aItems.snapshotItem(i);  
        }  
        return aResult;  
    }  
    // prototying the Element  
    Element.prototype.selectNodes = function(cXPathString){  
        if(this.ownerDocument.selectNodes){  
            return this.ownerDocument.selectNodes(cXPathString, this);  
        }else{throw "For XML Elements Only";}  
    }  
    XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) {   
        if( !xNode ) { xNode = this; }   
        var xItems = this.selectNodes(cXPathString, xNode);  
        if(xItems.length > 0){  
            return xItems[0];  
        }else{  
            return null;  
            }  
    }  
    // prototying the Element  
    Element.prototype.selectSingleNode = function(cXPathString) {  
        if(this.ownerDocument.selectSingleNode){  
            return this.ownerDocument.selectSingleNode(cXPathString, this);  
        }else{throw "For XML Elements Only";}  
    }  
    //  Firefox inner Node add text perperty  
    Element.prototype.__defineGetter__( "text",  function(){  
            return this.textContent;  
        }  
    );   
};

function refreshScore(articleid) {
	var handler = new Davinci.RequestHandler(refScoreResult, errScoreResult);
	var req = new Davinci.Request(0, "ljscorelist.action", handler, "POST", "aid=" + articleid);
	req.fire();
}
function errScoreResult() {
}
function refScoreResult(responseXML, request) {
	var score = responseXML.getElementsByTagName("score")[0].firstChild.nodeValue;
	var aid = responseXML.getElementsByTagName("aid")[0].firstChild.nodeValue;
	document.getElementById('ding' + aid).innerHTML = score;
}
