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, "");}
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}

document.getElementsByClassName = function(className,oBox) {
 //适用于获取某个HTML区块内部含有某一特定className的所有HTML元素
 this.d= oBox || document;
 var children = this.d.getElementsByTagName('*') || document.all;
 var elements = new Array();
 for (var i = 0; i < children.length; i++) {
 var child = children[i];
 var classNames = child.className.split(' ');
 for (var j = 0; j < classNames.length; j++) {
 if (classNames[j] == className) {
 elements.push(child);
 break;
 }
 }
 }
 return elements;
}

document.getElementsByType = function(sTypeValue,oBox) {
 //适用于获取某个HTML区块内部同属于某一特定type的所有HTML元素，如:input,script,link等等
 this.d= oBox || document;
 var children = this.d.getElementsByTagName('*') || document.all;
 var elements = new Array();
 for (var i = 0; i < children.length; i++) {
 if (children[i].type == sTypeValue) {
 elements.push(children[i]);
 }
 }
 return elements;
}

function $() {
 var elements = new Array();
 for (var i = 0; i < arguments.length; i++) {
 var element = arguments[i];
 if (typeof element == 'string')
 element = document.getElementById(element);
 if (arguments.length == 1)
 return element;
 elements.push(element);
 }
 return elements;
}

$Cls = function (s,o){
return document.getElementsByClassName(s,o);
};

$Type = function (s,o){
return document.getElementsByType(s,o);
};

$Tag = function (s,o){
this.d=o || document;
return this.d.getElementsByTagName(s);
};

$Name = function (s){ //通过name的方式只能针对整个document而言，不能为其限定范围
return document.getElementsByName(s);
};

function addBookmark(title,url) {
if (window.sidebar) { 
window.sidebar.addPanel(title,url,""); 
} else if(document.all) {
window.external.AddFavorite(url,title);
} else if( window.opera && window.print ) {
return true;
}
} 
function dis_enter()
{
	if (event.keyCode==13)
	{
	window.event.keyCode=0;
	window.event.returnValue=false;	
	}
}
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
 
function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
 
function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
          var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function addloadevent(func){
var oldonload=window.onload;
	if (typeof(window.onload)!='function')
	{
	window.onload=func; 
	}
	else
	{
	    window.onload=function()
	    {
	    oldonload();
	    func();
	    }
	}
}

function ldimg1(d,wc,hc){
var bw=wc;
var bh=hc;
var td=document.getElementsByName(d);
	for (var i=0;i<td.length;i++)
	{	
	var ow=td[i].width;
	var oh=td[i].height;
	var sw,sh; 
	if   ((ow>bw)||(oh>bh))
	{ 
	var   nw   =   bw/ow; 
	var   nh   =   bh/oh; 
		if   (nw>nh)
		{ 
		sh   =   bh; 
		sw   =   ow*nh; 
		}
		else
		{ 
		sw   =   bw; 
		sh   =   oh*nw; 
		} 
	}
	else
	{ 
	sw   =   ow; 
	sh   =   oh; 
	}
	td[i].style.width=sw+"px";
	td[i].style.height=sh+"px";	
	}
}

function resizeImgByName(imgName,resizeToWidth,resizeToHeight)
{ 
	var ImgList=document.getElementsByName(imgName);
	var ImgObj,oWidth,oHeight,newWidth,newHeight
	for (var i=0;i<ImgList.length;i++)
	{
		ImgObj=ImgList[i]; 
		oWidth=ImgObj.width;
		oHeight=ImgObj.height; 
		if ((oWidth>resizeToWidth)||(oHeight>resizeToHeight))
		{  
			if   (resizeToWidth/oWidth>resizeToHeight/oHeight)
			{ 
				newHeight = resizeToHeight; 
				newWidth = oWidth*resizeToHeight/oHeight; 
			}
			else
			{ 
				newWidth = resizeToWidth; 
				newHeight = oHeight*resizeToWidth/oWidth; 
			} 
			ImgObj.style.width=newWidth+"px";
			ImgObj.style.height=newHeight+"px";
		}	 
	}  
}
function resizeImgById(id,resizeToWidth,resizeToHeight){ 
	var obj=document.getElementById(id); 
	if(obj){
		var oWidth=obj.width;
		var oHeight=obj.height;
		var newWidth,newHeight;
		if ((oWidth>resizeToWidth)||(oHeight>resizeToHeight)){  
			if   (resizeToWidth/oWidth>resizeToHeight/oHeight){ 
				newHeight = resizeToHeight; 
				newWidth = oWidth*resizeToHeight/oHeight; 
			}
			else{ 
				newWidth = resizeToWidth; 
				newHeight = oHeight*resizeToWidth/oWidth; 
			} 
			obj.style.width=newWidth+"px";
			obj.style.height=newHeight+"px";
		}
	}	
}
function setAllImgSizeByBoxId(boxId,maxWidth,maxHeigh){	
	var box=null;
	if(boxId!='')
	{
		if($(boxId))
		box=$(boxId)
	}
	if(box){
		imgArr=$Tag('img',box); 
		for (var i=0;i<imgArr.length;i++){	
			var imgWidth=imgArr[i].width;
			var imgHeight=imgArr[i].height;
			
			if((imgWidth>maxWidth)||(imgHeight>maxHeigh)){ 
				var setWidth,setHeight; 
				var   scaleW   =   maxWidth/imgWidth; 
				var   scaleH   =   maxHeigh/imgHeight; 
				if((scaleW)>(scaleH)){ 
					setHeight   =   maxHeigh; 
					setWidth    =   imgWidth*scaleH; 
				}
				else{ 
					setWidth   =   maxWidth; 
					setHeight   =   imgHeight*scaleW; 
				} 
				imgArr[i].style.width=setWidth+"px";
				imgArr[i].style.height=setHeight+"px";	
			}			
		}		
	}
} 
function setAllImgSizeAddLinkByBoxId(boxId,maxWidth,maxHeigh)
{	
	var box=null;
	var imgArr;
	if(boxId!='')
	{
		if($(boxId))
		box=$(boxId)
	}  
	if(box!=null)
	imgArr=$Tag('img',box); 
	else
	imgArr=$Tag('img'); 
	for (var i=0;i<imgArr.length;i++)
	{	
		var imgWidth=imgArr[i].width;
		var imgHeight=imgArr[i].height;
		
		if((imgWidth>maxWidth)||(imgHeight>maxHeigh))
		{ 
			var setWidth,setHeight; 
			var   scaleW   =   maxWidth/imgWidth; 
			var   scaleH   =   maxHeigh/imgHeight; 
			if((scaleW)>(scaleH))
			{ 
				setHeight   =   maxHeigh; 
				setWidth    =   imgWidth*scaleH; 
			}
			else
			{ 
				setWidth   =   maxWidth; 
				setHeight   =   imgHeight*scaleW; 
			} 
			imgArr[i].style.width=setWidth+"px";
			imgArr[i].style.height=setHeight+"px";	
			addHref(imgArr[i])
		} 	
	}
} 
function setImgSize(img,maxWidth,maxHeigh)
{	 
	var imgWidth=img.width;
	var imgHeight=img.height;
	
	if((imgWidth>maxWidth)||(imgHeight>maxHeigh))
	{ 
		var setWidth,setHeight; 
		var   scaleW   =   maxWidth/imgWidth; 
		var   scaleH   =   maxHeigh/imgHeight; 
		if((scaleW)>(scaleH))
		{ 
			setHeight   =   maxHeigh; 
			setWidth    =   imgWidth*scaleH; 
		}
		else
		{ 
			setWidth   =   maxWidth; 
			setHeight   =   imgHeight*scaleW; 
		} 
		img.style.width=setWidth+"px";
		img.style.height=setHeight+"px";	
	} 	 
}

function fix_box_height(box1_id,box2_id)
{
b1=document.getElementById(box1_id);
b2=document.getElementById(box2_id);
h1=b1.offsetHeight;
h2=b2.offsetHeight;
if (h1>h2)
b2.style.height=h1+"px"
else if (h1<h2)
b1.style.height=h2+"px"
}

function getQuery(name)   
{   
	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");   
	var r = window.location.search.substr(1).match(reg);   
	if (r!=null) return unescape(r[2]);
	return null;   
}   

function isEmail(str)
{	   
	var reg=/^[\w-.]+@[\w-]+\.\w{2,4}(\.{0,1}\w{2,4}){0,2}$/ig;
	return reg.test(str)    
}
function isInteger(str)
{
	var reg=/^\d+$/ig;
	return reg.test(str)            
}

//浏览器检测
window["MzBrowser"]={};(function()
{
if(MzBrowser.platform) return;
var ua = window.navigator.userAgent;
MzBrowser.platform = window.navigator.platform;

MzBrowser.firefox = ua.indexOf("Firefox")>0;
MzBrowser.opera = typeof(window.opera)=="object";
MzBrowser.ie = !MzBrowser.opera && ua.indexOf("MSIE")>0;
MzBrowser.mozilla = window.navigator.product == "Gecko";
MzBrowser.netscape= window.navigator.vendor=="Netscape";
MzBrowser.safari= ua.indexOf("Safari")>-1;

if(MzBrowser.firefox) var re = /Firefox(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.ie) var re = /MSIE( )(\d+(\.\d+)?)/;
else if(MzBrowser.opera) var re = /Opera(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.netscape) var re = /Netscape(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.safari) var re = /Version(\/)(\d+(\.\d+)?)/;
else if(MzBrowser.mozilla) var re = /rv(\:)(\d+(\.\d+)?)/;

if("undefined"!=typeof(re)&&re.test(ua))
MzBrowser.version = parseFloat(RegExp.$2);
})(); 

//为firefox 添加insertAdjacentHTML
//if(MzBrowser.firefox)   
 
if(!(typeof(HTMLElement)=='undefined'))
{
	HTMLElement.prototype.insertAdjacentHTML=function(where, html)
	{
	var e=this.ownerDocument.createRange();
	e.setStartBefore(this);
	e=e.createContextualFragment(html);
	switch (where)
	{
	case 'beforeBegin': this.parentNode.insertBefore(e, this);break;
	case 'afterBegin': this.insertBefore(e, this.firstChild); break;
	case 'beforeEnd': this.appendChild(e); break;
	case 'afterEnd':
	if(!this.nextSibling) this.parentNode.appendChild(e);
	else this.parentNode.insertBefore(e, this.nextSibling); break;
	}
	}
}

function addHref(element)
{
    var link1 = document.createElement("a");
    link1.href = element.src;
    element.parentNode.insertBefore(link1,element);
    link1.appendChild(element);
	link1.target="_blank";
}

function addEvent(element, type, handler) {	
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	if (!element.events) element.events = {};	
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};		
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	handlers[handler.$$guid] = handler;	
	element["on" + type] = handleEvent;
};

addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};

function handleEvent(event) {
	var returnValue = true;	
	event = event || fixEvent(window.event);	
	var handlers = this.events[event.type];	
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};
/*function addEvent(el, event, fn, obj, overrideContext, bCapture){
  var context = el, isCapture = bCapture ? bCapture : false, wrappedFn = null;

  if (overrideContext) {
    if (overrideContext === true) {
      context = obj;
    }
    else {
      context = overrideContext;
    }
  }
  wrappedFn = function(){
    return fn.call(context);
  };
  try {
    el.addEventListener(event, wrappedFn, isCapture);
  } 
  catch (e) {
    try {
      el.attachEvent('on' + event, wrappedFn);
    } 
    catch (e) {
      el['on' + event] = wrappedFn;
    }
  }
}*/
function getType(o) {
  var _t; return ((_t = typeof(o)) == "object" ? o==null && "null" || Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();
}
function refreshPage(){ 
	window.location.reload(); 
}
function changeImgVerify(imgVerifyId,verifyCodePageUrl){
	url=verifyCodePageUrl || 'VerifyCode.aspx';
	imgId=imgVerifyId || 'img_verify';
	$(imgId).src=url+'?t='+(new Date().getTime().toString(36));	
}
function changeColor(obj){
	var colorArr=['#000','red'];
	var colorV=obj.getAttribute("color");
	if(colorV&&colorV.split(',').length>1)
		colorArr=colorV.split(',')
	var colorIndex=-1; 		
	function doChangeColor(){
		if(colorIndex==colorArr.length)
			colorIndex=0;			
		else
			colorIndex++;		
		obj.style.color=colorArr[colorIndex];		
	
	}
	setInterval(doChangeColor,200);
}
function setOpacity( elem, level ) {   
    if ( elem.filters )
        elem.style.filter="alpha(opacity="+level+")";
    else
        elem.style.opacity = level / 100;
}
function DhtmlObject(el) {
    if (el) {
        var actualLeft = el.offsetLeft;
        var actualTop = el.offsetTop;
        var current = el.offsetParent;
        while (current !== null) {
            actualLeft += current.offsetLeft;
            actualTop += current.offsetTop;
            current = current.offsetParent;
        }
        this.Position = { x: actualLeft, y: actualTop }
    }
}
function isParent(p,c) {
    var result = false; 
    if(p.hasChildNodes&&p.hasChildNodes()){
        for ( var i = 0,l = p.childNodes.length; i <  l; i++ ) {
            var n = p.childNodes[i];            
            if(n===c){
                return true;
            } 
            result=isParent(n,c);
            if(result)
                return true;      
        }
    }
    return result;
}
function getEventToElement(e){
    var e = e || window.event;
    return (e.type == 'mouseout' ? e.relatedTarget : e.target) || e.toElement;    
}
function getEventFromElement(e){
    var e = e || window.event;
    return (e.type == 'mouseover' ? e.relatedTarget : e.target) || e.fromElement;    
}
function stopBubble(e){
    if(e&&e.stopPropagation){
        e.stopPropagation();
    }
    else
        window.event.cancelBubble=true;
}
function ShowInPosition(el, x, y) {
	el.style.left = x + 'px'
	el.style.top = y + 'px'
	el.style.visibility = 'visible';
}
function fadeOut(obj, callback) {
	for (var i = 100; i >= 0; i = i - 5) {
		(function() {
			var pos = i;
			setTimeout(function() { setOpacity(obj, pos); }, (101 - pos) * 10);
		})();
	}
	if (callback)
		setTimeout(callback, 1200);
}



