function endWith(src,str) {
	if (str == null || str == "" || src.length == 0
			|| str.length > src.length)
		return false;
	if (src.substring(src.length - str.length) == str)
		return true;
	else
		return false;
	return true;
}
function startWith(src,str) {
	if (str == null || str == "" || src.length == 0
			|| str.length > src.length)
		return false;
	if (src.substr(0, str.length) == str)
		return true;
	else
		return false;
	return true;
}
//日期格式化
Date.prototype.pattern=function(fmt) {     
    var o = {     
    "M+" : this.getMonth()+1, //月份     
    "d+" : this.getDate(), //日     
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时     
    "H+" : this.getHours(), //小时     
    "m+" : this.getMinutes(), //分     
    "s+" : this.getSeconds(), //秒     
    "q+" : Math.floor((this.getMonth()+3)/3), //季度     
    "S" : this.getMilliseconds() //毫秒     
    };     
    var week = {     
    "0" : "\u65e5",     
    "1" : "\u4e00",     
    "2" : "\u4e8c",     
    "3" : "\u4e09",     
    "4" : "\u56db",     
    "5" : "\u4e94",     
    "6" : "\u516d"    
    };     
    if(/(y+)/.test(fmt)){     
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));     
    }     
    if(/(E+)/.test(fmt)){     
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]);     
    }     
    for(var k in o){     
        if(new RegExp("("+ k +")").test(fmt)){     
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));     
        }     
    }     
    return fmt;     
}
String.prototype.Trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}  
String.prototype.LTrim = function() { 
	return this.replace(/(^\s*)/g, ""); 
}  
String.prototype.RTrim = function() { 
	return this.replace(/(\s*$)/g, ""); 
}
/**
 * 金额格式化, 参数：s 源字符串,n 小数点后几位
 * 例如：
 *12345格式化为12345.00
 *12345.6格式化为12345.60
 *12345.67格式化为12345.67
 */
function fmoney(s, n) {
	n = n > 0 && n <= 20 ? n : 2;
	s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
	var l = s.split(".")[0].split("").reverse(),
	r = s.split(".")[1];
	t = "";
	for(i = 0; i < l.length; i ++ )	{
		t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "" : "");
	}
	return t.split("").reverse().join("") + "." + r;
}

function setNote( str ) { //将一些debug信息打出
	window.status = str;
}

var tips_innerHTML = new Array();
var tips_stack = 0;

var tip_str = new Array();
tip_str[1] = "<p>&nbsp;&nbsp; 请你点击图中瞳孔</p>";
tip_str[2] = "test";

function showTipsStep( n ) { //显示某一步预存的tips
	setTips(tip_str[n]);
}

function setTips( str ) { //永久设置一个tip，如果没地方显示tip，将采用弹出窗口提示用户
	if (document.all.tiparea) {
		document.all.tiparea.innerHTML = str;
	}
	else {
		alert("提示:\r\n" + str);
	}
}

function showTempTips( str ) { //显示一个临时tip，如果没有地方显示tip，将忽略
	if (document.all.tiparea) {
		tips_innerHTML[tips_stack++] = document.all.tiparea.innerHTML;
		document.all.tiparea.innerHTML = str;
	}
}

function restoreTips() { //还原至上一个tip，如果没有地方显示tip，将忽略
	if (document.all.tiparea) {
		document.all.tiparea.innerHTML = tips_innerHTML[tips_stack-1];
	}
	tips_stack--;
}

/**
* 判断字符串长度是否符合需要
* @param str，字符串
* @param min，最小长度
* @param max，最大长度
* @return
*/
function lengthCheck(str,min,max)
{
  if(str.length<1||str.length>max)
     return false;
  else
     return true;
}

function textCounter(field, maxlimit){
	if(field.value.length>maxlimit){
		field.value=field.value.substring(0,   maxlimit); 
		alert(maxlimit+"字数内");
	}
}

var xmlHttp=null; // 全局 ajax 对象

//返回Ajax对象
function createXMLHttpRequest()
{
   xmlHttp=null;
   if (window.ActiveXObject) {
     try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     } catch(e) {
       xmlHttp=null;
     }
     
     if(xmlHttp==null) {
       try {
        xmlHttp =  new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch(e) {
         xmlHttp=null;
       }
     }
   } else if(window.XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest();
   }
   
   return xmlHttp;
}

/**
 * 同步提交ajax请求(支持post提交)
 * 参数：
 * url 请求路径
 * method 请求类型 get, post
 * content 请求参数 & 分割
 */
function sendXMLHttpRequest(url, method, content) {
	var xmlobj = createXMLHttpRequest();
	if(method == "get" || method == "GET") {
		url = url + "&ajax=1"; // 用来判断超时
	}
	xmlobj.open(method, url, false);
	
	if(method == "post" || method == "POST") {
		content = content + "&ajax=1"; // 用来判断超时
		xmlobj.setRequestHeader("content-length",content.length);
		xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
	}
	
	xmlobj.send(content);
	return xmlobj;
}

/**
 * 异步提交ajax请求(支持post请求)
 * 参数：
 * url: 请求路径
 * method: 请求类型 get, post
 * content: 请求参数 & 分割
 * callBackMethod: 回调函数
 */
function asc_sendXMLHttpRequest(url, method, content, callBackMethod) {
	var xmlobj = createXMLHttpRequest();
	if(method == "get" || method == "GET") {
		url = url + "&ajax=1"; // 用来判断超时
	}
	xmlobj.open(method, url, true);
	
	if(method == "post" || method == "POST") {
		content = content + "&ajax=1"; // 用来判断超时
		xmlobj.setRequestHeader("content-length",content.length);
		xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
	}
	
	var callBackFunction = eval(callBackMethod); // ajax 异步的回调函数
	xmlobj.onreadystatechange = callBackFunction;
	
	xmlobj.send(content);
	return xmlobj;
}

function co_addLoadEvent( func ){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function(){
			oldonload();
			func();
		};
	}//endif
}

/**
 * 自动调整iframe的高度
 * tom 修改过，兼容浏览器 IE6、IE8、FF3.0、傲游3.0、360浏览器、世界之窗
 * @param frameId
 */
function co_setCwinHeight(frameId){
	var datainfo=document.getElementById(frameId); //iframe id
	if (document.getElementById){
		if (datainfo && !window.opera){
			if (datainfo.contentDocument && datainfo.contentDocument.body.offsetHeight){
				// alert("method1=" + datainfo.contentDocument.body.offsetHeight);
				// alert("method2=" + datainfo.contentWindow.document.documentElement.scrollHeight);
				// alert("method3=" + datainfo.contentWindow.document.body.scrollHeight);
				var scrollHeight1 = datainfo.contentWindow.document.documentElement.scrollHeight;
				var scrollHeight2 = datainfo.contentWindow.document.body.scrollHeight;
				
				var iframeHeight = Math.max(scrollHeight1, scrollHeight2);
				
				datainfo.height = iframeHeight + 40;
			}else if(datainfo.Document && datainfo.Document.body.scrollHeight){
				// alert("ie=" + datainfo.Document.body.scrollHeight);
				datainfo.height = datainfo.Document.body.scrollHeight+ 40;
			}
		}
	}
}

/**
 * 自动调整iframe的高度
 * tom 修改过，兼容浏览器 IE6、IE8、FF3.0、傲游3.0、360浏览器、世界之窗
 * @param frameId
 */
function co_setCwinHeight2(frameId, moreHeight){
	var datainfo=document.getElementById(frameId); //iframe id
	if (document.getElementById){
		if (datainfo && !window.opera){
			if (datainfo.contentDocument && datainfo.contentDocument.body.offsetHeight){
				// alert("method1=" + datainfo.contentDocument.body.offsetHeight);
				// alert("method2=" + datainfo.contentWindow.document.documentElement.scrollHeight);
				// alert("method3=" + datainfo.contentWindow.document.body.scrollHeight);
				var scrollHeight1 = datainfo.contentWindow.document.documentElement.scrollHeight;
				var scrollHeight2 = datainfo.contentWindow.document.body.scrollHeight;
				
				var iframeHeight = Math.max(scrollHeight1, scrollHeight2);
				
				datainfo.height = iframeHeight + moreHeight;
			}else if(datainfo.Document && datainfo.Document.body.scrollHeight){
				// alert("ie=" + datainfo.Document.body.scrollHeight);
				datainfo.height = datainfo.Document.body.scrollHeight+ moreHeight;
			}
		}
	}
}

/* BEGIN: extract from prototype.js ********** */
function $(id) {
  return document.getElementById(id);
}

/* BEGIN: adjust the height of the given iframe **************************************** */
/**
 * arg0: _iframeId
 * arg1: _nMinHeight
 */
function co_setIFrameHeight(_iframeId, _nMinHeight) {
	var iframeObj = document.getElementById(_iframeId);
	if (document.getElementById) 
	{
		if (iframeObj && !window.opera) 
		{
			if (iframeObj.contentDocument && iframeObj.contentDocument.body.offsetHeight) 
			{
				iframeObj.height = iframeObj.contentDocument.body.offsetHeight;
			} 
			else if (iframeObj.Document && iframeObj.Document.body.scrollHeight) 
			{
				iframeObj.height = iframeObj.Document.body.scrollHeight;
			}
			if (_nMinHeight != 0)
			{
				if (iframeObj.height < _nMinHeight)
				{
					iframeObj.height = _nMinHeight;
				}
			}
		}
	}
}

/*
 * 自适应iframe的高度
 */
function SetCwinHeight(iframeId) {
    var iframeid = document.getElementById(iframeId); //iframe id
     iframeid.height = "10px";//先给一个够小的初值,然后再长高.
    if (document.getElementById) {
        if (iframeid && !window.opera) {
            if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {
                iframeid.height = iframeid.contentDocument.body.offsetHeight;
            } else if (iframeid.Document && iframeid.Document.body.scrollHeight) {
                iframeid.height = iframeid.Document.body.scrollHeight;
            }
        }
    }
}


/* END: adjust the height of the given iframe **************************************** */

/* BEGIN: adjust the browser type **************************************** */
function co_getExplorer() {
	if (navigator.userAgent.indexOf("MSIE") > 0) {
		return "MSIE";
	}
	if (navigator.userAgent.indexOf("Firefox") > 0) {
		return "Firefox";
	}
	if (navigator.userAgent.indexOf("Safari") > 0) {
		return "Safari";
	}
	if (navigator.userAgent.indexOf("Camino") > 0) {
		return "Camino";
	}
	if (navigator.userAgent.indexOf("Gecko/") > 0) {
		return "Gecko";
	}
	return "UNKOWN";
}

function co_isIE() {
	return co_getExplorer() == "MSIE";
}

function co_isFF() {
	return co_getExplorer() == "Firefox";
}
/* END: adjust the browser type **************************************** */

/* BEGIN: stop event **************************************** */
function co_eventStopHandler(event)
{
	if (event.preventDefault)
  	event.preventDefault();
  else
  	event.returnValue= false;
  return false;
}
/* END: stop event **************************************** */

function co_alert(_sMsg) {
	alert(_sMsg);
}

//字符串相等判断
function co_isStrEqual(firstStr, secondeStr) {
	return firstStr == secondeStr;
}

//查询操作，如输入信息，失去光标，查询框显示message
function co_writeOrighValueForQuery(queryObj, msg) {
	if (queryObj) {
		if (queryObj.value == "") {
			queryObj.value = msg;
		}
	}
}

//obj的值为空，则将msg赋给obj.value
//若obj的值等于msg，则将obj.value置空
//适合查询：选中输入框
function co_setSepecialObjValues(obj, msg) {
	if (obj.value == "") {
		obj.value = msg;
	} else {
		if (co_isStrEqual(obj.value, msg)) {
			obj.value = "";
		}
	}
}

/**
 * 从URL中查询参数_sParamName的值
 * @param _sParamName: 参数名称
 */
function co_queryString(_sParamName) {
	var LocString=String(window.document.location.href);
	var rs=new RegExp("(^|)"+_sParamName+"=([^\&]*)(\&|$)","gi").exec(LocString),tmp;
    if(tmp=rs)return tmp[2];
    return null;
}

/**
 * 复制内容到剪贴板
 * @param _sValue:复制的内容
 */
function co_copy(_sValue) {
	if (window.clipboardData) { //IE
		window.clipboardData.setData("Text",_sValue);
	}
		else { //FF,使用adobe flash player插件
    var flashcopier = 'flashcopier';
		if(!document.getElementById(flashcopier)) {
    	var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
		}
	  document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+_sValue+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
	}
    /*
    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   
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
		alert('---------');
		//   maak   een   interface   naar   het   clipboard 
		var   clip   =   Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard); 
		alert(clip);
		if   (!clip)   return; 

		//   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=_sValue; 
		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("Following   info   was   copied   to   your   clipboard:\n\n"   +   _sValue); 
	return false;
	* */
}

/* 复制链接 */
function co_copyUrl(obj){
	var url = document.getElementById(obj).innerHTML;
	//alert(url);
	pb_copy2Clipboard(url);
}

/* 拷贝内容到剪贴板 */
function co_copy2Clipboard(txt){
  // ie
  if(window.clipboardData){
    window.clipboardData.clearData();
    window.clipboardData.setData("Text",txt);
  }
  // opera
  else if(navigator.userAgent.indexOf("Opera")!=-1){
    window.location=txt;
  }
  // firefox
  else if(window.netscape){
    try{
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    }
    catch(e){
      alert("你的firefox安全限制限制你进行剪贴板操作, 请打开about:config, 将signed.applets.codebase_principal_support设置为true之后重试, 相对路径为firefox根目录/greprefs/all.js");
      return false;
    }
    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("已复制到剪切板");
}

/* BEGIN: stop event **************************************** */
function co_eventStopHandler(event)
{
	if (event.preventDefault)
  	event.preventDefault();
  else
  	event.returnValue= false;
  return false;
}
/* END: stop event **************************************** */

function co_addLoadEvent( func ){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function(){
			oldonload();
			func();
		};
	}//endif
}

/* BEGIN: cookie util **************************************** */
// add a cookie
function addCookie(name, value, expireHours) {
	var cookieString = name + '=' + escape(value) + '; path=/';
	//判断是否设置过期时间
	if (expireHours > 0) {
		var date = new Date();
		date.setTime(date.getTime + expireHours*3600*1000);
		cookieString = cookieString + '; expire=' + date.toGMTString();
	}
	document.cookie = cookieString;
}

// get a cookie
//function getCookie(name) {
//	var strCookie = document.cookie;
//	var arrCookie = strCookie.split('; ');
//	for(var i=0; i<arrCookie.length; i++){
//		var arr = arrCookie[i].split('=');
//		if (arr[0] == name && arr[1]!='') return arr[1];
//	}
//	return '';
//}
function getCookie(name) {
	var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
	if (arr = document.cookie.match(reg))
		return unescape(arr[2]);
	else
		return null;
}
// delete a cookie
//function deleteCookie(name) {
//	var date = new Date();
//	date.setTime(date.getTime() - 10000);
//	document.cookie = name + '=v; expire=' + date.toGMTString();
//}
function deleteCookie(name) {
	var date = new Date();
	date.setTime(date.getTime() - 1);
	var cval = getCookie(name);
	if (cval != null)
		document.cookie = name + '='+cval+';expire=' + date.toGMTString();
}
/* BEGIN: xml util **************************************** */
// 加载xml文档
function loadXML(_xmlFile) {
	var xmlDoc;
	if (window.ActiveXObject) {
		xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
		xmlDoc.async = false;
		xmlDoc.load(_xmlFile);
	} else if (document.implementation&&document.implementation.createDocument) {
		xmlDoc = document.implementation.createDocument('', '', null);
		xmlDoc.load(_xmlFile);
	} else {
		return null;
	}
	return xmlDoc;
}
// create an xml from a string
function createXML(_str) {
	if (document.all) {
		var xmlDom = new ActiveXObject('Microsoft.XMLDOM');
		xmlDom.loadXML(_str);
		return xmlDom;
	} else {
		return new DOMParser().parseFromString(_str, 'text/xml');
	}
}
// 对xml对象进行判断
function checkXMLDocObj(_xmlFile) {
	var xmlDoc = loadXML(_xmlFile);
	if (xmlDoc == null) {
		alert('你的浏览器不支持xml文件读取,于是本页面禁止你的操作,推荐使用IE5.0以上可以解决此问题!');
	}
	return xmlDoc;
}
////----------resize iframe
function resizeIframe(_ifrm) {
  	if(_ifrm && !window.opera) {
    	if (_ifrm.contentDocument && _ifrm.contentDocument.documentElement.scrollHeight) {
    		//FF中_ifrm.contentDocument.body.clientHeight 有时为0 改用documentElement
    		var h = Math.min(_ifrm.contentDocument.documentElement.scrollHeight,_ifrm.contentDocument.body.scrollHeight)	
    		if(_ifrm.contentDocument.body.offsetWidth>800) return;
		    _ifrm.style.width = _ifrm.contentDocument.body.offsetWidth+"px";
	    	_ifrm.style.height = h+"px";
		  } else if (_ifrm.Document) {
		  	if(_ifrm.Document.body.scrollHeight) {
  		 		if(_ifrm.Document.body.scrollWidth>800) return;
  	 			_ifrm.style.width = _ifrm.Document.body.scrollWidth;
	      		_ifrm.style.height = _ifrm.Document.body.scrollHeight;
			} else {
  		 		if(_ifrm.Document.documentElement.scrollWidth>800) return;
          		_ifrm.style.width = _ifrm.Document.documentElement.scrollWidth;
	          	_ifrm.style.height = _ifrm.Document.documentElement.scrollHeight;
		    }
		}
	}
	if(parseInt(_ifrm.style.height)<238){
		_ifrm.style.height = 238+"px";
	}
	/*
	try {
		if(window.parent == window) {
			return;
		}
		
		var parentIframe = window.parent.document.getElementById("index_right");
		if(parent.resizeIframe){
			parent.resizeIframe(parentIframe);
		}
	}catch(ex) {return;}
	* */
}
function i_isIE() {
	return i_getExplorer() == "MSIE";
}
function i_getExplorer() {
	return co_getExplorer();
}
/**
 * 拷贝url到剪贴板中
 * 
 * @param _url
 */
function sc_copyurl(_url) {
	var txt = _url;//$("#" + _eleid).val();
	//txt = _reg.exec(_url);
	//alert(txt);
	var m = "复制地址成功，你可以利用快捷键CTRL+V粘贴到QQ、MSN里";

	if (window.clipboardData) {
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", txt);
		// sc_showPop(m);
		alert(m);
	} else if (navigator.userAgent.indexOf("Opera") != -1) {
		window.location = txt;
	} else if (window.netscape) {
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		} catch (e) {
			// sc_showPop("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
			alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
			return;
		}
		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);

		// sc_showPop(m);
		alert(m);
	}
}

/**
 * 根据单选 radio 的name 返回选中的radio的value
 * 如果没有任何选中的返回-1
 */
function findCheckedRadio(radioName) {
	var radioArray = document.getElementsByName(radioName);
	
	var result = "-1";
	
	for(i = 0;i < radioArray.length; i++) {
		if(radioArray[i].checked) {
			result = radioArray[i].value;
			break;
		}
	}
	
	return result;
}


/**
 * 清除 radio 的所选中的值
 */
function clearCheckedRadio(radioName) {
	var radioArray = document.getElementsByName(radioName);
	
	for(i = 0;i < radioArray.length; i++) {
		if(radioArray[i].checked) {
			radioArray[i].checked = false;
		}
	}
}

/**
 * 全选或者反选 checkbox
 * 参数：checkboxName
 * 参数：flag, true 全选，false 全不选
 */
function selectOrDeselectAll(checkboxName, flag) {
	var checkboxArray = document.getElementsByName(checkboxName);
	
    var len = checkboxArray.length;
    for (var i = 0; i < len; i++) {
    	if(flag) {
    		checkboxArray[i].checked = true;
    	} else {
    		checkboxArray[i].checked = false;
    	}
    }
}

/**
 * 从Array 中删除某个元素
 * 参数：数组中的对象
 */
Array.prototype.remove = function(obj) { 
    for ( var i=0 ; i < this.length ; ++i ) { 
        if ( this[i] == obj) { 
            this.splice(i, 1);  
            break; 
        } 
    } 
};
/**
 * 数组中是否存在某元素，存在返回位置，不存在返回-1
 */
Array.prototype.indexOf=function(substr,start){
 var ta,rt,d='\0';
 if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}
 var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);
 if(t==-1)return -1;rt+=str.slice(0,t).replace(/[^\0]/g, '').length;
 return rt;
};

/**
 * 判断ajax是否超时
 */
function validateAjaxSessionOut(xmlobj) {
	var isSessionOut = xmlobj.getResponseHeader("isSessionOut"); // 是否过期
	if(isSessionOut == 'true') {
		alert('您已超时，请重新登录！');
		top.window.location.href='/community/login.do';
		return true;
	}
	return false;
}
function $$(i) {
	return document.getElementsByName(i);
}
function $tag(i) {
	return document.getElementsByTagName(i);
}

/**
*图片
*/
function resizeimg(ImgD, iwidth, iheight) {
	// if (/MSIE 6.0/ig.test(navigator.appVersion)) {
	var image = new Image();
	image.src = ImgD.src;
	if (image.width > 0 && image.height > 0) {
		if (image.width / image.height >= iwidth / iheight) {
			if (image.width > iwidth) {
				ImgD.width = iwidth;
				ImgD.height = (image.height * iwidth) / image.width;
			} else {
				ImgD.width = image.width;
				ImgD.height = image.height;
			}
		} else {
			if (image.height > iheight) {
				ImgD.height = iheight;
				ImgD.width = (image.width * iheight) / image.height;
			} else {
				ImgD.width = image.width;
				ImgD.height = image.height;
			}
		}
		// }
	}
	if(ImgD.style.display == "none") {
		ImgD.style.display="inline";
		ImgD.parentNode.style.background="#fff";
		try{
			var div=ImgD.parentNode.parentNode.getElementsByTagName("DIV")[0];
			if(div.id.indexOf("hasPrice_")>-1){
				if($('lookCheckbox')){
					if($('lookCheckbox').checked){
						div.style.visibility = "visible";
					}else{
						div.style.visibility = "hidden";
					}
					return;
				}
				if($('showprice_checkbox') && $('showprice_checkbox').checked){
					div.style.visibility = "visible";
				}
				if($('lookInput') && $('lookInput').checked){
					div.style.visibility = "visible";
				}
			}
		}catch (e) {
			
		}
	}
}
/**
*图片等比例压缩,居中显示
*/
function DrawImage(ImgD,imgWidth,imgHeight){   
	var image=new Image();
	image.src=ImgD.src;
      
	if(image.width>0 && image.height>0){
		//宽=长
		if (image.width/image.height == imgWidth/imgHeight) {
			if (image.width > imgWidth) {
				ImgD.width = imgWidth;
				ImgD.height = imgHeight;				
			} else {
				ImgD.className="list_k_pic_img";
			}
		//宽>长
		} else if(image.width/image.height > imgWidth/imgHeight) {
			var iWidth;
			var iHeight;
			if (image.height >= imgHeight) {
				ImgD.height = imgHeight;
				iWidth = (image.width*imgHeight)/image.height;
			} else {
				ImgD.height=image.height;
				iWidth = image.width;
			}		
			ImgD.width = iWidth;
			iHeight = ImgD.height;
			if (iWidth > imgWidth) {
				var leftWidth = -(iWidth-imgWidth)/2;
				ImgD.style.marginLeft=leftWidth+"px";
			} 
			if (iHeight < imgHeight) {
				ImgD.className="list_k_pic_img";
			}
		//宽<长
		} else {
			var iWidth;
			var iHeight;
			if(image.width>=imgWidth){ 
				ImgD.width=imgWidth;				  
				iHeight=(image.height*imgWidth)/image.width;     
			} else {
				ImgD.width=image.width;  
				iHeight=image.height;
			}
			ImgD.height=iHeight;
			iWidth = ImgD.width;
			if (iHeight > imgHeight) {
				var topHeight = -(iHeight-imgHeight)/2;
				ImgD.style.marginTop=topHeight+"px";
			}
		}   
	}
} 
/*
 * 截取字符串,区别汉字和英文
 */
function cutString(name, maxLength){
	if(!maxLength){maxLength = 20;}   
	if(name==null||name.length<1){return "";}   
	
	var w = 0;//字符串长度，一个汉字长度为2
    var s = 0;//汉字个数
    var p = false;//判断字符串当前循环的前一个字符是否为汉字
    var b = false;//判断字符串当前循环的字符是否为汉字
    var addStr = "...";
    var nameSub;
        
    for (var i=0; i<name.length; i++) {
       if(i>1 && b==false){p = false;}
       if(i>1 && b==true){p = true;}
       
       var c = name.charCodeAt(i);
       //单字节加1
       if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
           w++;
           b = false;
       }else {
           w+=2;
           s++;
           b = true;
       }   
       if(w>maxLength && i<=name.length-1){   
           if(b==true && p==true){nameSub = name.substring(0,i);}   
           if(b==false && p==false){nameSub = name.substring(0,i-1);}   
           if(b==true && p==false){nameSub = name.substring(0,i);}   
           if(p==true){nameSub = name.substring(0,i);}
           break;   
       }   
    } 
    if(w<=maxLength){   
        return name;
    }   
    return nameSub;
}
/*
 * 截取字符串,区别汉字和英文,添加"..."
 */
function cutStringAddStr(name, maxLength){
	if(!maxLength){maxLength = 20;}   
	if(name==null||name.length<1){return "";}   
	
	var w = 0;//字符串长度，一个汉字长度为2
    var s = 0;//汉字个数
    var p = false;//判断字符串当前循环的前一个字符是否为汉字
    var b = false;//判断字符串当前循环的字符是否为汉字
    var addStr = "...";
    var nameSub;
        
    for (var i=0; i<name.length; i++) {
       if(i>1 && b==false){p = false;}
       if(i>1 && b==true){p = true;}
       
       var c = name.charCodeAt(i);
       //单字节加1
       if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
           w++;
           b = false;
       }else {
           w+=2;
           s++;
           b = true;
       }   
       if(w>maxLength && i<=name.length-1){   
           if(b==true && p==true){nameSub = name.substring(0,i-2)+addStr;}   
           if(b==false && p==false){nameSub = name.substring(0,i-3)+addStr;}   
           if(b==true && p==false){nameSub = name.substring(0,i-2)+addStr;}   
           if(p==true){nameSub = name.substring(0,i-2)+addStr;}
           break;   
       }   
    } 
    if(w<=maxLength){   
        return name;
    }   
    return nameSub;
}

function loadImage(id,url,callback) {
    var img = new Image();
    img.src = url;
    if (img.complete) {
    	if (callback != null){
            callback.call(img,id);    		
    	}
        return;
    }

    img.onload = function () {
    	if (callback != null){
            callback.call(img,id);    		
    	};
        return;
    };
    
    img.onerror = function () {
    	if (callback != null){
    		img.src = contextPath + "/img/nopic.jpg";
            callback.call(img,id);    		
    	};
        return;
    };
};
function loadImageRead(id,url,callback,sId) {
    var img = new Image();
    img.src = url;
    if (img.complete) {
    	if (callback != null){
            callback.call(img,id,sId);    		
    	}
        return;
    }

    img.onload = function () {
    	if (callback != null){
            callback.call(img,id,sId);    		
    	};
        return;
    };
    
    img.onerror = function () {
    	if (callback != null){
    		img.src = contextPath + "/img/nopic.jpg";
            callback.call(img,id,sId);    		
    	};
        return;
    };
};
function loadImageList(id,url,callback,sName) {
    var img = new Image();
    img.src = url;
    if (img.complete) {
    	if (callback != null){
            callback.call(img,id,sName);    		
    	}
        return;
    }

    img.onload = function () {
    	if (callback != null){
            callback.call(img,id,sName);    		
    	};
        return;
    };
    
    img.onerror = function () {
    	if (callback != null){
    		img.src = contextPath + "/img/nopic.jpg";
            callback.call(img,id,sName);    		
    	};
        return;
    };
};
//图片加载
function MM_swapImgRestore() { // v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { // v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image(); d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { // v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { // v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function getStringLength(str){
	str = str.replace(/(^\s*)|(\s*$)/g, "");
	var chineseRegex = /[^\x00-\xff]/g;
	var strLength = str.replace(chineseRegex,"**").length;
	return strLength;
}
