/*
// 解决 firefox 下的 outerHTML BUG
HTMLElement.prototype.outerHTML setter = function (str) {
 var r = this.ownerDocument.createRange();
 r.setStartBefore(this);
 var df = r.createContextualFragment(str);
 this.parentNode.replaceChild(df, this);
 return str;
}

HTMLElement.prototype.outerHTML getter = function () {
 return getOuterHTML(this)
}

function getOuterHTML(node) {
 var str = "";
 
 switch (node.nodeType) {
  case 1: // ELEMENT_NODE
   str += "<" + node.nodeName;
   for (var i=0; i<node.attributes.length; i++) {
    if (node.attributes.item(i).nodeValue != null) {
     str += " "
     str += node.attributes.item(i).nodeName;
     str += "=\"";
     str += node.attributes.item(i).nodeValue;
     str += "\"";
    }
   }

   if (node.childNodes.length == 0 && leafElems[node.nodeName])
    str += ">";
   else {
    str += ">";
    str += getInnerHTML(node);
    str += "<" + node.nodeName + ">"
   }
   break;
    
  case 3: //TEXT_NODE
   str += node.nodeValue;
   break;
   
  case 4: // CDATA_SECTION_NODE
   str += "<![CDATA[" + node.nodeValue + "]]>";
   break;
     
  case 5: // ENTITY_REFERENCE_NODE
   str += "&" + node.nodeName + ";"
   break;

  case 8: // COMMENT_NODE
   str += "<!--" + node.nodeValue + "-->"
   break;
 }

 return str;
}
// 解决 firefox 下的 outerHTML BUG over
*/



//判断对象的value是否为数字
function isNum(obj)
{
	if (isNaN(obj.value))
	{
		alert("此处必须填写数字！");
		obj.value = 0;
		obj.focus();
		return false;
	}
	return true;
}

//判断字符串是否为空
function isNull(s)
{
	if (trim(s)+"123" == "123")
	{
		return true;
	}
	return false;
}

//去空函数,相当于VB中的trim
function trim(str)
{
	var localstr = new String(str);
	var pattern = /^\s+|\s+$/g;
	localstr = localstr.replace(pattern,"");
	return localstr;
}

//返回字符串长度，中文算三个
function len(str)
{
	var i,rt=0;
	for(i=0;i<str.length;i++)
	{
		rt++;
		if(str.charCodeAt(i)>256) {
			rt = rt + 2;
		}
	}
	return rt;
}

//**********************************************************************************************************
//判断一个数是否为正整数
//参数：strNum ---- 需要判断的字符串
//返回值：true ---- 整数 false ---- 非整数
function fnIsIntNum(strNum)
{
 var strCheckNum = strNum + "";
 if(strCheckNum.length < 1)         //空字符串
  return false;
 else if(isNaN(strCheckNum))         //不是数值
  return false;
 else if(parseInt(strCheckNum) < 1)       //不是正数
  return false;
 else if(parseFloat(strCheckNum) > parseInt(strCheckNum)) //不是整数
  return false;

 return true;
}

//判断邮箱是否合法
function isEmail(str) //Email验证
{
	var par = /^[0-9a-zA-Z_.-]+@[0-9a-zA-Z-]+\.([a-zA-Z]{2,4}|[0-9a-zA-Z-]+\.[a-zA-Z]{2,4})$/;
	return (str.search(par)==0);
}

//检查用户名是否合法
function isInvalidUsername(str)
{
	if (str.length == 0) return false;
	var s_valid_rule = /ADMIN|admin/;

	var user = /[(\*\(\)\[\]\+\.\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/;
    if (str.match(user)) 
	{
		return false;
	}
	else
	{
		return (str.replace(s_valid_rule,"")!="");
	}
}

//检查BLOG名称是否合法
function isInvalidBlogname(str)
{
	if (str.length == 0) return false;
	var s_valid_rule = /[^0-9a-zA-Z_-]+/g;

	if (str.search(s_valid_rule)>-1)
	{
		return false;
	}
	return true;
}

function strGetQueryString(priStrQueryName){
	priStrValue = "";
	priIsFound = false;
	if (this.location.search.indexOf("?")==0&&this.location.search.indexOf("=")>1) {
		priArraySource = unescape(this.location.search).substring(1,this.location.search.length).split("&");
		priGetQSi = 0;
		while (priGetQSi<priArraySource.length&&!priIsFound) {
			if (priArraySource[priGetQSi].indexOf("=")>0) {
				if (priArraySource[priGetQSi].split("=")[0].toLowerCase()==priStrQueryName.toLowerCase()) {
					priStrValue = priArraySource[priGetQSi].split("=")[1];
					priIsFound = true;
				}
			} 
			priGetQSi ++ ;
		} 
	}
	return priStrValue;
}

