
function htmlFilter(str){
  return str.replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/ /g, "&nbsp;")
    .replace(/\"/g, "&quot;");
}

function isNumber(str) {
  return str != "" && !isNaN(str);
}

function isPositiveInteger(str) {
  return isNumber(str) && parseInt(str) > 0;
}

function isNonnegativeInteger(str) {
  return isNumber(str) && parseInt(str) >= 0;
}

function checkEmail(str){	
    if(isBlank(str)) return true;
    var reEmail =/[\w-.]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig;
    if(reEmail.test(str)) {
        return true;
    }else {
       return false;
    }
}

function checkwebaddress(str){
	if(isBlank(str)) return true;
	var pattern=/^http:\/\/$/;
	if(!pattern.test(str.substring(0,7))){
		return false;
	}
	return true;
}

function checkInteger(str){
	var pattern=/[^0-9]/;
	if(pattern.test(str)){
		return false;
	}
	return true;
}

function isBlank(s) {
    var re = /^\s*$/g;
    return re.test(s);
}

/**
 * Disable or enable all buttons and selectors in all forms.
 */
function disableAllFormButtons(disabled) {
  for (var i = 0, n = document.forms.length; i < n; i++) {
    var objForm = document.forms[i];

    // Run through elements and disable buttons
    for (var j = 0, m = objForm.length; j < m; j++) {
      var objElement = objForm.elements[j];
      var strElementType = objElement.type.toLowerCase();
      if (strElementType == "submit" || strElementType == "button"
          || strElementType == "select-one") {
        objElement.disabled = disabled;
      }
    }
  }
}

/**
 * 选择"全选"的checkbox.
 */
function checkAll(singleCheckboxName, allCheckboxObj) {
  var singleCheckboxes = document.getElementsByName(singleCheckboxName);
  for (i = 0; i < singleCheckboxes.length; i++) {
    singleCheckboxes[i].checked = allCheckboxObj.checked;
  }
}

/**
 * 选择其中一个checkbox.
 */
function checkOne(singleCheckboxObj, allCheckboxId) {
  var selectAll = document.getElementById(allCheckboxId);
  if (!singleCheckboxObj.disabled && !singleCheckboxObj.checked && selectAll.checked) {
    selectAll.checked = false;
    return;
  }

  var selectOne = document.getElementsByName(singleCheckboxObj.name);
  var i = 0;
  var length = selectOne.length;
  for (; i < length; i++) {
    if (!selectOne[i].checked) {
      break;
    }
  }

  if (i >= length) {
    selectAll.checked = true;
  }
}

function view(url) {
  location.href = url;
}

function statWordCount(field) {
  var stat = document.getElementById(field.name + "Stat");
  if (stat) {
    stat.innerHTML = getAbsoluteLength(field.value);
  }
}

function getAbsoluteLength(str) {
  var len = 0;
  for (var i = 0; i < str.length; i++) {
    str.charCodeAt(i) > 255 ? len += 2 : len++;
  }
  return len;
}

function setElementValue(elementId, value) {
  var e = document.getElementById(elementId);
  if (!e) {
    return;
  }

  var type = e.type.toLowerCase();
  if (type == "select-one") {
    for (var i = 0, n = e.length; i < n; i++) {
      if (e[i].value == value) {
        e[i].selected = true;
        break;
      }
    }
  }
  else if (type == "checkbox" || type == "radio") {
    if (e.value == value) {
        e.checked = true;
    }
  }
}

// 设为首页
function setHome(a, url) {
	if(document.all){
		a.style.behavior = "url(#default#homepage)";
		a.setHomePage(url);
	}else{
	  	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);
  	}
}

// 加入收藏夹
function addFavorite(title) {
  window.external.AddFavorite(window.document.location, title);
}

// 加入收藏夹
function addFavorite(url, title) {
	if (document.all)
		window.external.AddFavorite(url, title);
	else if (window.sidebar)
		window.sidebar.addPanel(title, url, "") ;
}

function windowColse() {
    if(navigator.appVersion.indexOf("MSIE 6.0") != -1){
        if(confirm('您确定要关闭此页面吗？')){
            window.close();
        }
    }
    else{
        window.close();
    }
}


function trim(str) {
	if(str !='' && str != null){
		return str.replace(/(^\s*)|(\s*$)/g, "");  
	}
	return str;
}

function isChecked(checkboxName){
	var sign = false;
	var objs = document.getElementsByName(checkboxName);
	for(i=0;i<objs.length;i++){
		if(objs[i].checked ) {
			sign=true;
		}
	}
	if(!sign){
		return false;
	}
	
	return true;
}

 
String.prototype.len=function(){  
return this.replace(/[^\x00-\xff]/g,"**").length;  
}  
 
//Set maxlength for multiline TextBox  
function setMaxLength(object,length)  
{ 
    var controlid = document.selection.createRange().parentElement().id;  
    var controlValue = document.selection.createRange().text;  
    var tempString=object.value; 
    if(tempString.len()>length) {
        tempString=tempString.substr(0,length); 
    	object.value=tempString; 
    }
     
}  
 
//Check maxlength for multiline TextBox when paste  
function limitPaste(object,length)  
{ 
        var tempLength = 0;  
        if(document.selection)  
        {  
            if(document.selection.createRange().parentElement().id == object.id)  
            {  
                tempLength = document.selection.createRange().text.len();  
            }  
        }  
        var tempValue = window.clipboardData.getData("Text");  
        tempLength = object.value.len() + tempValue.len() - tempLength;  
 
        if (tempLength > length)  
        {  
            tempLength -= length;  
            var tt="";  
            for(var i=0;i<tempValue.len()-tempLength;i++)  
                {  
                    if(tt.len()<(tempValue.len()-tempLength))  
                        tt=tempValue.substr(0,i+1);  
                    else  
                        break;  
                }  
            if(tt.len()<=0) 
            {     
                window.event.returnValue=false; 
                 
            } 
            else 
            { 
                tempValue=tt;  
                window.clipboardData.setData("Text", tempValue);  
                window.event.returnValue = true;  
            } 
        }  
     
 
}  
 
function PressLength() 
{ 
     
    if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) 
    { 
        if(event.srcElement.length!=null) 
            setMaxLength(event.srcElement,event.srcElement.length); 
    } 
} 
 
function LimitLength() 
{ 
    if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) 
    { 
        if(event.srcElement.length!=null) 
            limitPaste(event.srcElement,event.srcElement.length); 
    } 
}

function document.onkeyup(){
	if(event.keyCode < 33 || event.keyCode >47){
		PressLength(); 
	}
}

document.documentElement.attachEvent('onpaste', LimitLength);

