
/*第一种形式 第二种形式 更换显示样式*/
function setTab(menuId, m, n) {
	var tli = document.getElementById(menuId + m).getElementsByTagName("li");
	var mli = document.getElementById(menuId + m).getElementsByTagName("ul");
	for (i = 0; i < tli.length; i++) {
		tli[i].className = i == n ? "hover" : "";
	}
}
/************* 链接查询 显示链接被选中 ***********/
var currentHref;
function changeCurrent(href) {
	if (currentHref != null) {
		currentHref.setAttribute("class", "");
		currentHref.setAttribute("className", "");
	}
	href.setAttribute("class", "current");
	href.setAttribute("className", "current");
	currentHref = href;
}
function setCurentHrefNull() {
	if (currentHref != null) {
		currentHref.setAttribute("class", "");
		currentHref.setAttribute("className", "");
	}
	currentHref = null;
}


//////////////////////////////////////////////////////////////////////////////////////////////

var stopscroll = false;
var preTop = 0;
var currentTop = 0;
var stoptime = 0;
var leftElem;
var scrollElem;
function init_srolltext(scrollId, messageId) {
	scrollElem = document.getElementById(scrollId);
	with (scrollElem) {
		style.overflow = "hidden";
		noWrap = true;
	}
	scrollElem.onmouseover = new Function("stopscroll = true");
	scrollElem.onmouseout = new Function("stopscroll = false");
	leftElem = document.getElementById(messageId);
	scrollElem.appendChild(leftElem.cloneNode(true));
	scrollElem.scrollTop = 0;
	setInterval("scrollUp()", 40);
}
function scrollUp() {
	if (stopscroll) {
		return;
	}
	currentTop += 1;
	if (currentTop == 19) {
		stoptime += 1;
		currentTop -= 1;
		if (stoptime == 30) {
			currentTop = 0;
			stoptime = 0;
		}
	} else {
		preTop = scrollElem.scrollTop;
		scrollElem.scrollTop += 1;
		if (preTop == scrollElem.scrollTop) {
			scrollElem.scrollTop = 0;
			scrollElem.scrollTop += 1;
		}
	}
}


///////////////////////
function getX(elementID) {
	var el = elementID;
	return el.offsetLeft;
}
function getY(elementID) {
	var el = elementID;
	return el.offsetTop;
}
function getElementPositionX(elemID) {
	var offsetTrail = document.getElementById(elemID);
	var offsetLeft = 0;
	while (offsetTrail) {
		offsetLeft += offsetTrail.offsetLeft;
		offsetTrail = offsetTrail.offsetParent;
	}
	if (navigator.userAgent.indexOf("Mac") != -1 && typeof (document.body.leftMargin) != "undefined") {
		offsetLeft += document.body.leftMargin;
	}
	return offsetLeft;
}
function getElementPositionY(elemID) {
	var offsetTrail = document.getElementById(elemID);
	var offsetTop = 0;
	while (offsetTrail) {
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	if (navigator.userAgent.indexOf("Mac") != -1 && typeof (document.body.leftMargin) != "undefined") {
		offsetTop += document.body.topMargin;
	}
	return offsetTop;
}


////////////////////////////////////////////////////////////////////////////////////////////
/* This function is used to change the style class of an element */
function swapClass(obj, newStyle) {
    obj.className = newStyle;
}

function isUndefined(value) {   
    var undef;   
    return value == undef; 
}

//选中所有复选框
function checkAll(theForm) { // check all the checkboxes in the list
  for (var i=0;i<theForm.elements.length;i++) {
    var e = theForm.elements[i];
        var eName = e.name;
        if (eName != 'allbox' && 
            (e.type.indexOf("checkbox") == 0)) {
            e.checked = theForm.allbox.checked;        
        }
    } 
}

function confirmDelete(name,msg) {  
	msg=msg+name+"?"
    var ans = confirm(msg);
    if (ans) {
        return true;
    } else {
        return false;
    }
}

/* Function to clear a form of all it's values */
function clearForm(frmObj) {
    for (var i = 0; i < frmObj.length; i++) {
        var element = frmObj.elements[i];
        if(element.type.indexOf("text") == 0 || 
                element.type.indexOf("password") == 0) {
                    element.value="";
        } else if (element.type.indexOf("radio") == 0) {
            element.checked=false;
        } else if (element.type.indexOf("checkbox") == 0) {
            element.checked = false;
        } else if (element.type.indexOf("select") == 0) {
            for(var j = 0; j < element.length ; j++) {
                element.options[j].selected=false;
            }
            element.options[0].selected=true;
        }
    } 
}

/* Function to get a form's values in a string */
function getFormAsString(frmObj) {
    var query = "";
    for (var i = 0; i < frmObj.length; i++) {
        var element = frmObj.elements[i];
        if (element.type.indexOf("checkbox") == 0 || 
            element.type.indexOf("radio") == 0) { 
            if (element.checked) {
                query += element.name + '=' + escape(element.value) + "&";
            }
        } else if (element.type.indexOf("select") == 0) {
            for (var j = 0; j < element.length ; j++) {
                if (element.options[j].selected) {
                    query += element.name + '=' + escape(element.value) + "&";
                }
            }
        } else {
            query += element.name + '=' 
                  + escape(element.value) + "&"; 
        }
    } 
    return query;
}

/* Function to hide form elements that show through
   the search form when it is visible */
function toggleForm(frmObj, iState) // 1 visible, 0 hidden 
{
    for(var i = 0; i < frmObj.length; i++) {
        if (frmObj.elements[i].type.indexOf("select") == 0 || frmObj.elements[i].type.indexOf("checkbox") == 0) {
            frmObj.elements[i].style.visibility = iState ? "visible" : "hidden";
        }
    } 
}

/* Helper function for re-ordering options in a select */
function opt(txt,val,sel) {
    this.txt=txt;
    this.val=val;
    this.sel=sel;
}

/* Function for re-ordering <option>'s in a <select> */
function move(list,to) {     
    var total=list.options.length;
    index = list.selectedIndex;
    if (index == -1) return false;
    if (to == +1 && index == total-1) return false;
    if (to == -1 && index == 0) return false;
    to = index+to;
    var opts = new Array();
    for (i=0; i<total; i++) {
        opts[i]=new opt(list.options[i].text,list.options[i].value,list.options[i].selected);
    }
    tempOpt = opts[to];
    opts[to] = opts[index];
    opts[index] = tempOpt
    list.options.length=0; // clear
    
    for (i=0;i<opts.length;i++) {
        list.options[i] = new Option(opts[i].txt,opts[i].val);
        list.options[i].selected = opts[i].sel;
    }
    
    list.focus();
} 

/*  This function is to select all options in a multi-valued <select> */
function selectAll(elementId) {
    var element = document.getElementById(elementId);
    len = element.length;
    if (len != 0) {
        for (i = 0; i < len; i++) {
            element.options[i].selected = true;
        }
    }
}

/* This function is used to select a checkbox by passing
 * in the checkbox id
 */
function toggleChoice(elementId) {
    var element = document.getElementById(elementId);
    if (element.checked) {
        element.checked = false;
    } else {
        element.checked = true;
    }
}

/* This function is used to select a radio button by passing
 * in the radio button id and index you want to select
 */
function toggleRadio(elementId, index) {
    var element = document.getElementsByName(elementId)[index];
    element.checked = true;
}

/* This function is used to open a pop-up window */
function openWindow(url, winTitle, winParams) {
    winName = window.open(url, winTitle, winParams);
    winName.focus();
}


/* This function is to open search results in a pop-up window */
function openSearch(url, winTitle) {
    var screenWidth = parseInt(screen.availWidth);
    var screenHeight = parseInt(screen.availHeight);

    var winParams = "width=" + screenWidth + ",height=" + screenHeight;
        winParams += ",left=0,top=0,toolbar,scrollbars,resizable,status=yes";

    openWindow(url, winTitle, winParams);
}

/* This function is used to set cookies */
function setCookie(name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? ";expires=" + expires.toGMTString() : "") +
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : "");
}

/* This function is used to get cookies */
function getCookie(name) {
    var prefix = name + "=" 
    var start = document.cookie.indexOf(prefix) 

    if (start==-1) {
        return null;
    }
    
    var end = document.cookie.indexOf(";", start+prefix.length) 
    if (end==-1) {
        end=document.cookie.length;
    }

    var value=document.cookie.substring(start+prefix.length, end) 
    return unescape(value);
}

/* This function is used to delete cookies */
function deleteCookie(name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// This function is for stripping leading and trailing spaces
String.prototype.trim = function () {
    return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};

// This function is used by the login screen to validate user/pass
// are entered. 
function validateRequired(form) {                                    
    var bValid = true;
    var focusField = null;
    var i = 0;                                                                                          
    var fields = new Array();                                                                           
    oRequired = new required();                                                                         
                                                                                                        
    for (x in oRequired) {                                                                              
        if ((form[oRequired[x][0]].type == 'text' || form[oRequired[x][0]].type == 'textarea' || form[oRequired[x][0]].type == 'select-one' || form[oRequired[x][0]].type == 'radio' || form[oRequired[x][0]].type == 'password') && form[oRequired[x][0]].value == '') {
           if (i == 0)
              focusField = form[oRequired[x][0]]; 
              
           fields[i++] = oRequired[x][1];
            
           bValid = false;                                                                             
        }                                                                                               
    }                                                                                                                                                                                             
    if (fields.length > 0) {
       focusField.focus();                                                       
    }                                                                                                   
   return  fields;                                                                                   
}

function validateRequiredTwo(form) {                                 
    var bValid = true;
    var focusField = null;
    var i = 0;                                                                                          
    var fields = new Array();                                                                           
    oRequired = new requiredtwo();                                                                         
                                                                                                        
    for (x in oRequired) {                                                                              
        if ((form[oRequired[x][0]].type == 'text' || form[oRequired[x][0]].type == 'textarea' || form[oRequired[x][0]].type == 'select-one' || form[oRequired[x][0]].type == 'radio' || form[oRequired[x][0]].type == 'password') && form[oRequired[x][0]].value == '') {
           if (i == 0)
              focusField = form[oRequired[x][0]]; 
              
           fields[i++] = oRequired[x][1];
            
           bValid = false;                                                                             
        }                                                                                               
    }                                                                                                                                                                                             
    if (fields.length > 0) {
       focusField.focus();                                                       
    }                                                                                                   
   return  fields;                                                                                   
}

// This function is a generic function to create form elements
function createFormElement(element, type, name, id, value, parent) {
    var e = document.createElement(element);
    e.setAttribute("name", name);
    e.setAttribute("type", type);
    e.setAttribute("id", id);
    e.setAttribute("value", value);
    parent.appendChild(e);
}



function highlightTableRows(tableId) {
    var previousClass = null;
    var table = document.getElementById(tableId); 
    var startRow = 0;
    // workaround for Tapestry not using thead
    if (!table.getElementsByTagName("thead")[0]) {
	    startRow = 1;
    }

    var tbody = table.getElementsByTagName("tbody")[0];
    var rows = tbody.getElementsByTagName("tr");
    // add event handlers so rows light up and are clickable
    for (i=startRow; i < rows.length; i++) {
    	//remove by luck 2008,2,25 for ie6 show the sidebar
       // rows[i].onmouseover = function() { previousClass=this.className;this.className+=' over' };
       // rows[i].onmouseout = function() { this.className=previousClass };
       //end modify by luck
        rows[i].onclick = function() {
            var cell = this.getElementsByTagName("td")[0];
            var link = cell.getElementsByTagName("a")[0];
            if(link==null) return false;   //fix
            if (link.onclick) {
                call = link.getAttribute("onclick");
                if (call.indexOf("return ") == 0) {
                    call = call.substring(7);
                } 
                // this will not work for links with onclick handlers that return false
                eval(call);
            } else {
                location.href = link.getAttribute("href");
            }
            this.style.cursor="wait";
            return false;
        }
    }
}

function highlightFormElements() {
    // add input box highlighting
    addFocusHandlers(document.getElementsByTagName("input"));
    addFocusHandlers(document.getElementsByTagName("textarea"));
}

function addFocusHandlers(elements) {
    for (i=0; i < elements.length; i++) {
        if (elements[i].type != "button" && elements[i].type != "submit" &&
            elements[i].type != "reset" && elements[i].type != "checkbox" && elements[i].type != "radio") {
            if (!elements[i].getAttribute('readonly') && !elements[i].getAttribute('disabled')) {
                elements[i].onfocus=function() {this.style.backgroundColor='#ffd';this.select()};
                elements[i].onmouseover=function() {this.style.backgroundColor='#ffd'};
                elements[i].onblur=function() {this.style.backgroundColor='';}
                elements[i].onmouseout=function() {this.style.backgroundColor='';}
            }
        }
    }
}

function radio(clicked){
    var form = clicked.form;
    var checkboxes = form.elements[clicked.name];
    if (!clicked.checked || !checkboxes.length) {
        clicked.parentNode.parentNode.className="";
        return false;
    }

    for (i=0; i<checkboxes.length; i++) {
        if (checkboxes[i] != clicked) {
            checkboxes[i].checked=false;
            checkboxes[i].parentNode.parentNode.className="";
        }
    }

    // highlight the row    
    clicked.parentNode.parentNode.className="over";
}

window.onload = function() {
    highlightFormElements();
    if ($('successMessages')) {
        new Effect.Highlight('successMessages');
        // causes webtest exception on OS X : http://lists.canoo.com/pipermail/webtest/2006q1/005214.html
        // window.setTimeout("Effect.DropOut('successMessages')", 3000);
    }
    if ($('errorMessages')) {
        new Effect.Highlight('errorMessages');
    }
    
    /* Initialize menus for IE */
    if ($("primary-nav")) {
        var navItems = $("primary-nav").getElementsByTagName("li");
    
        for (var i=0; i<navItems.length; i++) {
            if (navItems[i].className == "menubar") {
                navItems[i].onmouseover=function() { this.className += " over"; }
                navItems[i].onmouseout=function() { this.className = "menubar"; }
            }
        }
    }
}

// Show the document's title on the status bar
window.defaultStatus=document.title;




///////////////////////////////////////////////////////////
//  以下为公用函数
////////////////////////////////////////////////////////////
function findChildElement(element, tagName) {
	var isFounded = false;
	var elements = element;
	var result = element;
	if (element.tagName == tagName) {
		return element;
	}
	while (!isFounded && elements != null && result != null && result.tagName != tagName) {
		elements = elements.childNodes;
		for (var i = 0; elements != null && i < elements.length; i++) {
			result = elements.item(i);
			var result2 = findChildElement(result, tagName);
			if (result == null || result2 == null) {
				continue;
			}
			if (result.tagName == tagName || result2.tagName == tagName) {
				if (result2.tagName == tagName) {
					result = result2;
				}
				isFounded = true;
				break;
			}
		}
	}
	if (isFounded) {
		return result;
	} else {
		return null;
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// 提供Javascript类似Java的startWith和endWith方法
String.prototype.endWith = function (str) {
	if (str == null || str == "" || this.length == 0 || str.length > this.length) {
		return false;
	}
	if (this.substring(this.length - str.length) == str) {
		return true;
	} else {
		return false;
	}
	return true;
};
String.prototype.startWith = function (str) {
	if (str == null || str == "" || this.length == 0 || str.length > this.length) {
		return false;
	}
	if (this.substr(0, str.length) == str) {
		return true;
	} else {
		return false;
	}
	return true;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// CSS className运算
function jscss(a, o, c1, c2) {
	switch (a) {
	  case "swap":
		o.className = !jscss("check", o, c1) ? o.className.replace(c2, c1) : o.className.replace(c1, c2);
		break;
	  case "add":
		if (!jscss("check", o, c1)) {
			o.className += o.className ? " " + c1 : c1;
		}
		break;
	  case "remove":
		var rep = o.className.match(" " + c1) ? " " + c1 : c1;
		o.className = o.className.replace(rep, "");
		break;
	  case "check":
		return new RegExp("\\b" + c1 + "\\b").test(o.className);
		break;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
////让Fixfox和IE支持相同的insertHtml方法
function insertHtml(where, el, html) {
	where = where.toLowerCase();
	if (el.insertAdjacentHTML) {
		switch (where) {
		  case "beforebegin":
			el.insertAdjacentHTML("BeforeBegin", html);
			return el.previousSibling;
		  case "afterbegin":
			el.insertAdjacentHTML("AfterBegin", html);
			return el.firstChild;
		  case "beforeend":
			el.insertAdjacentHTML("BeforeEnd", html);
			return el.lastChild;
		  case "afterend":
			el.insertAdjacentHTML("AfterEnd", html);
			return el.nextSibling;
		}
		throw "Illegal insertion point -> \"" + where + "\"";
	}
	var range = el.ownerDocument.createRange();
	var frag;
	switch (where) {
	  case "beforebegin":
		range.setStartBefore(el);
		frag = range.createContextualFragment(html);
		el.parentNode.insertBefore(frag, el);
		return el.previousSibling;
	  case "afterbegin":
		if (el.firstChild) {
			range.setStartBefore(el.firstChild);
			frag = range.createContextualFragment(html);
			el.insertBefore(frag, el.firstChild);
			return el.firstChild;
		} else {
			el.innerHTML = html;
			return el.firstChild;
		}
	  case "beforeend":
		if (el.lastChild) {
			range.setStartAfter(el.lastChild);
			frag = range.createContextualFragment(html);
			el.appendChild(frag);
			return el.lastChild;
		} else {
			el.innerHTML = html;
			return el.lastChild;
		}
	  case "afterend":
		range.setStartAfter(el);
		frag = range.createContextualFragment(html);
		el.parentNode.insertBefore(frag, el.nextSibling);
		return el.nextSibling;
	}
	throw "Illegal insertion point -> \"" + where + "\"";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
////给Fixfox增加outerHTML方法
function enable_outerHTML() {
	if (typeof (HTMLElement) != "undefined" && !window.opera) {
		HTMLElement.prototype.__defineGetter__("outerHTML", function () {
			var a = this.attributes, str = "<" + this.tagName, i = 0;
			for (; i < a.length; i++) {
				if (a[i].specified) {
					str += " " + a[i].name + "=\"" + a[i].value + "\"";
				}
			}
			if (!this.canHaveChildren) {
				return str + " />";
			}
			return str + ">" + this.innerHTML + "</" + this.tagName + ">";
		});
		HTMLElement.prototype.__defineSetter__("outerHTML", function (s) {
			var r = this.ownerDocument.createRange();
			r.setStartBefore(this);
			var df = r.createContextualFragment(s);
			this.parentNode.replaceChild(df, this);
			return s;
		});
		HTMLElement.prototype.__defineGetter__("canHaveChildren", function () {
			return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
		});
	}
}

/////////////////////////////////////////////////////////////
String.prototype.trim = function () {  
    // 用正则表达式将前后空格
    // 用空字符串替代。  
	return this.replace(/(^\s*)|(\s*$)/g, "");
};
String.prototype.replaceAll = stringReplaceAll;
function stringReplaceAll(AFindText, ARepText) {
	if (ARepText == "" || ARepText == null) {
		return AFindText;
	}
	var raRegExp = new RegExp(AFindText.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g, "\\$1"), "ig");
	return this.replace(raRegExp, ARepText);
}
String.prototype.dvHTMLEncode = dvHTMLEncode;
function dvHTMLEncode() {
	var string = this;
	if (string != "") {
		string = string.replaceAll("\\\"", "\"");
		string = string.replaceAll("\\'", "'");
		string = string.replaceAll("\\\\", "\\");
		string = string.replaceAll("/", "/");
		string = string.replaceAll("\t", "\\t");
		string = string.replaceAll("\\n'", "\n'");
		string = string.replaceAll("\\f", "\f");
	}
	return string;
}
//清除html标签
String.prototype.clearHtmlTagCode = clearHtmlTagCode;
function clearHtmlTagCode(){
	var str = this;
	str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
	str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
	return str;
}

//将HTML转义为普通文本
String.prototype.htmlConverToText = htmlConverToText;
function htmlConverToText(str) {
	 str = str.replace(/<br[^>]*>(?:(rn)|r|n)?/gi, 'n');
	 var codeArray = new Array("&nbsp;","&#39;",
				"&quot;","&amp;","&lt;","&gt;",
				"&euro;","&lsquo;","&rsquo;","&rsquo;","&ldquo;","&rdquo;","&ndash;","&mdash;","&iexcl;","&cent;",
				"&pound;","&curren;","&yen;","&brvbar;","&sect;","&uml;","&copy;","&ordf;","&laquo;","&not;",
				"&reg;","&macr;","&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;",
				"&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;","&Agrave;","&Aacute;",
				"&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;","&Egrave;","&Eacute;","&Ecirc;","&Euml;",
				"&Igrave;","&Iacute;","&Icirc;","&Iuml;","&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;",
				"&Ouml;","&times;","&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;",
				"&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;","&egrave;","&eacute;",
				"&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;","&eth;","&ntilde;","&ograve;","&oacute;",
				"&ocirc;","&otilde;","&ouml;","&divide;","&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&uuml;",
				"&yacute;","&thorn;","&yuml;","&OElig;","&oelig;","&#372;","&#374","&#373","&#375;","&sbquo;",
				"&#8219;","&bdquo;","&hellip;","&trade;","&#9658;","&bull;","&rarr;","&rArr;","&hArr;","&diams;",
				"&asymp;");
	  var charArray = new Array(
				" ","'","\"","&","<",">","€","‘","’","’","“","”","–","—",
				"¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","®","¯","°","±","²","³","´","µ", 
				"¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É", 
				"Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý", 
				"Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ", 
				"ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ", 
				"ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈");
	  for(var i = 0;i<codeArray.length;i++){
		  str = str.replaceAll(codeArray[i], charArray[i]);
	  }
	 return str;
}
String.prototype.getSubstringExceptHtml = getSubstringExceptHtml;
function getSubstringExceptHtml(size) {
	var length = 0;
	var startPoint = this.indexOf("<");
	var endPoint = this.indexOf(">");
	var returnString = this;
	var string = this;
	var oraString = this;
	var oldEndPoint = 0;
	//由于字符串不符合规则如td>xxxxxxx,去除前面非法html标签
	if(endPoint>-1&&endPoint< startPoint){
		oraString = this.substring(endPoint+1,this.length);
		string = oraString;
	}
	//总长度小于指定长度,直接返回
	if(this.length<size){
		return this;
	}
	if (startPoint >= 0) {
		while (length < size) {
			endPoint = string.indexOf(">");
			startPoint = string.indexOf("<");
			var string = string.substring(endPoint + 1, string.length);
			//如果字符串不符合规则如xxxxxxx<td,去除后面非法html标签返回
			if(startPoint>=0 && endPoint<0){
				returnString = oraString.substring(0,oldEndPoint);
				break;
			}
			//如果没有再查找到html标签，则直接计算截取位置，进行截取
			if (startPoint < 0) {
				returnString = oraString.substring(0, oldEndPoint + (size - length));
				break;
			}
			length += startPoint;
			//如果下一个标签之前，普通字符已经超过，则进行截取返回
			if (length > size) {
				returnString = oraString.substring(0, startPoint + oldEndPoint - (length - size));
				break;
			}
			if (length == size) {
				returnString = oraString.substring(0, startPoint);
			}
			oldEndPoint += endPoint + 1;
		}
	} else {
		returnString = oraString.substring(0, size);
	}
	return returnString;
}


Date.prototype.format = function (mask) {
	var d = this;
	var zeroize = function (value, length) {
		if (!length) {
			length = 2;
		}
		value = String(value);
		for (var i = 0, zeros = ""; i < (length - value.length); i++) {
			zeros += "0";
		}
		return zeros + value;
	};
	return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0) {
		switch ($0) {
		  case "d":
			return d.getDate();
		  case "dd":
			return zeroize(d.getDate());
		  case "ddd":
			return ["Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"][d.getDay()];
		  case "dddd":
			return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][d.getDay()];
		  case "M":
			return d.getMonth() + 1;
		  case "MM":
			return zeroize(d.getMonth() + 1);
		  case "MMM":
			return ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][d.getMonth()];
		  case "MMMM":
			return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][d.getMonth()];
		  case "yy":
			return String(d.getFullYear()).substr(2);
		  case "yyyy":
			return d.getFullYear();
		  case "h":
			return d.getHours() % 12 || 12;
		  case "hh":
			return zeroize(d.getHours() % 12 || 12);
		  case "H":
			return d.getHours();
		  case "HH":
			return zeroize(d.getHours());
		  case "m":
			return d.getMinutes();
		  case "mm":
			return zeroize(d.getMinutes());
		  case "s":
			return d.getSeconds();
		  case "ss":
			return zeroize(d.getSeconds());
		  case "l":
			return zeroize(d.getMilliseconds(), 3);
		  case "L":
			var m = d.getMilliseconds();
			if (m > 99) {
				m = Math.round(m / 10);
			}
			return zeroize(m);
		  case "tt":
			return d.getHours() < 12 ? "am" : "pm";
		  case "TT":
			return d.getHours() < 12 ? "AM" : "PM";
		  case "Z":
			return d.toUTCString().match(/[A-Z]+$/);   
  
            // Return quoted strings with the surrounding quotes removed   
		  default:
			return $0.substr(1, $0.length - 2);
		}
	});
};
function subContent(content, length) {
	if (content == null) {
		return content;
	}
	if (content.length <= length) {
		return content;
	}
	var byteLength = 0;
	var totleLength = length*2;
	while(byteLength<totleLength){
		byteLength = content.substring(0, length).match(/[^ -~]/g) == null ? content.substring(0, length).length : content.substring(0, length).length + content.substring(0, length).match(/[^ -~]/g).length;
		if(Math.floor((totleLength - byteLength)/2)==0){
			break;
		}
		length = parseInt(length) + Math.floor((totleLength - byteLength)/2);
		if(length>content.length){
				return content;
		}
	}
	var returnValue =  content.substring(0, length);
	return content.substring(0, length) + "...";
}
//返回1---n随机整数
function getRandom(n)
{
	var randomnNum=Math.floor(Math.random()*n+1)
	return randomnNum;
}

///////////////////////////////////////////////////////////
function setElementClassName(ele, className) {
	if (ele == undefined) {
		return false;
	}
	ele.setAttribute("className", className);
	ele.setAttribute("class", className);
	return true;
}
function setElementClassNameById(id, className) {
	var ele = document.getElementById(id);
	return setElementClassName(ele, className);
}
function setElementClass(element, className) {
	setElementClassName(element, className);
}
function DateToStr(dt) {
	var str = "";
	if (dt.getFullYear) {
		var y, m, d, h, t;
		y = dt.getFullYear();
		str = "" + y;
		m = dt.getMonth() + 1;
		if (m < 10) {
			str += "-0" + m;
		} else {
			str += "-" + m;
		}
		d = dt.getDate();
		if (d < 10) {
			str += "-0" + d;
		} else {
			str += "-" + d;
		}
		h = dt.getHours();
		if (h < 10) {
			str += " 0" + h;
		} else {
			str += " " + h;
		}
		t = dt.getMinutes();
		if (t < 10) {
			str += ":0" + t;
		} else {
			str += ":" + t;
		}
		  //str=""+y+"-"+m+"-"+d+" "+h+":"+t;
	}
	return str;
}
//限制文本框输入内容///////
function regInput(reg, event)
	{
		var code = event.keyCode;
		if(code<1){
			code = event.which;
		}
		if(code==8||code==46){
			return true;
		}
		
		var inputStr = String.fromCharCode(code);
		return reg.test(inputStr);
	}
	
function regInput2(reg,elementValue, event)
	{
		var code = event.keyCode;
		if(code<1){
			code = event.which;
		}
		if(code==8||code==46){
			return true;
		}
		
		var inputStr = String.fromCharCode(code);
		return reg.test(elementValue+inputStr);
	}
/*****w3c规范中getElementsByName是按着name属性进行检索的，而MS的IE却是按着id来检索
	此方法是强迫IE按照name来检索
****/	
function getElementsByNameIE(tag,eltname){ 
  var elts=document.getElementsByTagName(tag); 
  var count=0; 
  var elements=[]; 
  for(var i=0;i<elts.length;i++){ 
     if(elts[i].getAttribute("name")==eltname){ 
        elements[count++]=elts[i]; 
     } 
  } 
  return elements; 
} 

/****** 对body 添加事件监听 ******/
function addWinEvent(eventName,func){ 
  if(window.addEventListener==null){ // IE
       window.attachEvent("on"+eventName,func);
    } else{//Mozilla, Netscape, Firefox
    	window.addEventListener(eventName,func,false); 
    }
} 

//显示服务流程和服务说明
   function showFlow(){
   		var display=document.getElementById("showflowdiv").style.display;
   		document.getElementById("showservicediv").style.display="none";
   		document.getElementById('serviceIF').style.display="none";
   		var DivRef = document.getElementById('showflowdiv');
        var IfrRef = document.getElementById('flowIF');
   		if(display=="none"){
   			document.getElementById("showflowdiv").style.display="";
   			//document.getElementById("showflowdiv").innerHTML="";
   			DivRef.style.display = "block";
			IfrRef.style.width = DivRef.offsetWidth;
			IfrRef.style.height = DivRef.offsetHeight;
			IfrRef.style.top = DivRef.style.top;
			IfrRef.style.left = DivRef.style.left;
			IfrRef.style.zIndex = DivRef.style.zIndex - 1;
			IfrRef.style.display = "block";
   		}
   		if(display=="" || display=="block"){
   			DivRef.style.display = "none";
            IfrRef.style.display = "none";
   		}
   }
   function showService(){
   		var display=document.getElementById("showservicediv").style.display;
   		document.getElementById("showflowdiv").style.display="none";
   		document.getElementById('flowIF').style.display="none"
   		var DivRef = document.getElementById('showservicediv');
        var IfrRef = document.getElementById('serviceIF');
   		if(display=="none"){
   			document.getElementById("showservicediv").style.display="";
   			//document.getElementById("showservicediv").innerHTML="";
   			DivRef.style.display = "block";
			IfrRef.style.width = DivRef.offsetWidth;
			IfrRef.style.height = DivRef.offsetHeight;
			IfrRef.style.top = DivRef.style.top;
			IfrRef.style.left = DivRef.style.left;
			IfrRef.style.zIndex = DivRef.style.zIndex - 1;
			IfrRef.style.display = "block";
   		}
   		if(display=="" || display=="block"){
   			 DivRef.style.display = "none";
             IfrRef.style.display = "none";
   		}
   }
   
// 鼠标移出  查看服务流程     查看服务说明  隐藏Div
function mouseOut(divId,ifId) {
	var divIdElement = document.getElementById(divId);
	var ifIdElement  = document.getElementById(ifId);
	if(divIdElement != null && divIdElement != "null") {
		divIdElement.style.display="none";
	}
	if(ifIdElement != null && ifIdElement != "null") {
		ifIdElement.style.display="none";
	}
}

function mouseOver(divId,ifId){
	var divIdElement = document.getElementById(divId);
	var ifIdElement  = document.getElementById(ifId);
	if(divIdElement != null && divIdElement != "null") {
		divIdElement.style.display="";
	}
	if(ifIdElement != null && ifIdElement != "null") {
		ifIdElement.style.display="";
	}
}

















