xBrowser={isIE:(navigator.appName.toLowerCase().indexOf('explorer')!=-1),event:function(e){if(e&&e._isxBrowserEvent){return e}e=e||window.event;var newE={};var prop;newE.preventDefault=function(){if(xBrowser.isIE){window.event.returnValue=false}else{if(e.cancelable){e.preventDefault();}}};newE.stopPropagation=function(){if(xBrowser.isIE){window.event.cancelBubble=true}else{e.stopPropagation();}};newE.button=e.button;newE.clientX=e.clientX;newE.clientY=e.clientY;newE.x=e.x;newE.y=e.y;newE.type=e.type;if(xBrowser.isIE){newE.target=e.srcElement;newE.offsetX=e.offsetX;newE.offsetY=e.offsetY;newE.screenX=e.screenX;newE.screenY=e.screenY;if(e.type=="mouseout"){newE.relatedTarget=e.toElement}else if(e.type=="mouseover"){newE.relatedTarget=e.fromElement}}else{newE.target=e.target;var offsets=xBrowser._mozOffsets(e);newE.offsetX=offsets.offsetX;newE.offsetY=offsets.offsetY;newE.relatedTarget=e.relatedTarget}if(newE.target.nodeType==3)newE.target=e.target.parentNode;newE._isxBrowserEvent=true;return newE},_mozOffsets:function(e){var target=e.target;if(typeof target.offsetLeft=='undefined'){target=target.parentNode}var pageCoordsTarget=elPageCoords(target);var pageCoordsMouse={x:window.pageXOffset+e.clientX,y:window.pageYOffset+e.clientY};var offsets={offsetX:pageCoordsMouse.x-pageCoordsTarget.x,offsetY:pageCoordsMouse.y-pageCoordsTarget.y};return offsets},addEventListener:function(el,eventName,func,isCapture){if(xBrowser.isIE){el.attachEvent("on"+eventName,func);}else{el.addEventListener(eventName,func,isCapture);list=xBrowser.getExpando(el,"_eventListenerList");if(!list){list={};xBrowser.setExpando(el,"_eventListenerList",list);}list[eventName]=list[eventName]||[];var evlist=list[eventName];for(var i=0;i<evlist.length;i++){if(evlist[i]==func)return}evlist.push(func);}},removeEventListener:function(el,eventName,func,isCapture){if(xBrowser.isIE){el.detachEvent("on"+eventName,func);}else{el.removeEventListener(eventName,func,isCapture);el=xBrowser._getExpandoEl(el);try{var evs=el.getAttribute("_eventListenerList");var evlist=evs[eventName]}catch(e){return}for(var i=0;i<evlist.length;i++){if(evlist[i]==func){evs[eventName]=evlist.splice(i,1);return}}}},getEventListeners:function(el){},_expandos:{},getExpando:function(el,key){if(xBrowser.isIE){return el[key]}else{el=xBrowser._getExpandoEl(el);var expandos=xBrowser._expandos[xBrowser._getExpandoID(el)];if(expandos)return expandos[key];return null}},setExpando:function(el,key,value){if(xBrowser.isIE){el[key]=value}else{el=xBrowser._getExpandoEl(el);var id=xBrowser._getExpandoID(el);var expandos=xBrowser._expandos[id];if(!expandos){expandos={};xBrowser._expandos[id]=expandos}expandos[key]=value}},_getExpandoEl:function(el){if(el==document||el==window)return document.body;return el},_getExpandoID:function(el){if(el==document.body)return"_body";if(!el.id)throw new Error("Element must have an ID to use generic expandos.");return el.id},setCapture:function(el){if(xBrowser.isIE){el.setCapture();}else{xBrowser._setCaptureEvent(el,"mousemove");xBrowser._setCaptureEvent(el,"mouseup");xBrowser._setCaptureEvent(el,"mousedown");xBrowser._setCaptureEvent(el,"mouseover");xBrowser._setCaptureEvent(el,"mouseout");xBrowser._setCaptureEvent(el,"click");xBrowser._setCaptureEvent(el,"dblclick");}},_setCaptureEvent:function(el,eventName){var evs=xBrowser.getExpando(el,"_eventListenerList");if(!evs)return;var evlist=evs[eventName];if(!evlist)return;for(var i=0;i<evlist.length;i++){xBrowser.addEventListener(document,eventName,evlist[i],true);}},releaseCapture:function(el){if(xBrowser.isIE){el.releaseCapture();}else{xBrowser._releaseCaptureEvent(el,"mousemove");xBrowser._releaseCaptureEvent(el,"mouseup");xBrowser._releaseCaptureEvent(el,"mousedown");xBrowser._releaseCaptureEvent(el,"mouseover");xBrowser._releaseCaptureEvent(el,"mouseout");xBrowser._releaseCaptureEvent(el,"click");xBrowser._releaseCaptureEvent(el,"dblclick");}},_releaseCaptureEvent:function(el,eventName){var evs=xBrowser.getExpando(el,"_eventListenerList");if(!evs)return;var evlist=evs[eventName];if(!evlist)return;for(var i=0;i<evlist.length;i++){xBrowser.removeEventListener(document,eventName,evlist[i],true);}},contains:function(parent,child){if(xBrowser.isIE){return parent.contains(child);}else{var obj=child.parentNode;while(obj){if(obj==parent)return true;obj=obj.parentNode}return false}},outerHTML:function(node){if(xBrowser.isIE)return node.outerHTML;var emptyElements={HR:true,BR:true,IMG:true,INPUT:true};var specialElements={TEXTAREA:true};var html='';switch(node.nodeType){case Node.ELEMENT_NODE:html+='<';html+=node.nodeName;if(!specialElements[node.nodeName]){for(var a=0;a<node.attributes.length;a++)html+=' '+node.attributes[a].nodeName.toUpperCase()+'="'+node.attributes[a].nodeValue+'"';html+='>';if(!emptyElements[node.nodeName]){html+=node.innerHTML;html+='<\/'+node.nodeName+'>'}}else switch(node.nodeName){case'TEXTAREA':for(var a=0;a<node.attributes.length;a++)if(node.attributes[a].nodeName.toLowerCase()!='value')html+=' '+node.attributes[a].nodeName.toUpperCase()+'="'+node.attributes[a].nodeValue+'"';else var content=node.attributes[a].nodeValue;html+='>';html+=content;html+='<\/'+node.nodeName+'>';break}break;case Node.TEXT_NODE:html+=node.nodeValue;break;case Node.COMMENT_NODE:html+='<!'+'--'+node.nodeValue+'--'+'>';break}return html},currentStyle:function(node,style,type){var raw;if(xBrowser.isIE){raw=node.currentStyle[xBrowser._cssToProp(style)]}else{raw=window.getComputedStyle(node,null).getPropertyValue(style);}if(type=="int"){var num=parseInt(raw);if(isNaN(num))return 0;return num}},_cssToProp:function(str){var a=str.split('-');str=a[0];for(var i=1;i<a.length;i++){c=a[i].charAt(0);str+=a[i].replace(c,c.toUpperCase());}return str},standardBoxModel:function(){return(!xBrowser.isIE||document.compatMode!="BackCompat");},width:function(node,withBorder){if(!withBorder){return node.offsetWidth-(xBrowser.currentStyle(node,"padding-left","int")+xBrowser.currentStyle(node,"padding-right","int")+xBrowser.currentStyle(node,"border-left-width","int")+xBrowser.currentStyle(node,"border-right-width","int"));}return node.offsetWidth},height:function(node,withBorder){if(!withBorder){return node.offsetHeight-(xBrowser.currentStyle(node,"padding-top","int")+xBrowser.currentStyle(node,"padding-bottom","int")+xBrowser.currentStyle(node,"border-top-width","int")+xBrowser.currentStyle(node,"border-bottom-width","int"));}return node.offsetHeight},setWidth:function(node,width){if(xBrowser.standardBoxModel()){width-=xBrowser.currentStyle(node,"padding-left","int")+xBrowser.currentStyle(node,"padding-right","int")+xBrowser.currentStyle(node,"border-left-width","int")+xBrowser.currentStyle(node,"border-right-width","int");width=Math.max(0,width);}node.style.width=width+"px"},setHeight:function(node,height){if(xBrowser.standardBoxModel()){height-=xBrowser.currentStyle(node,"padding-top","int")+xBrowser.currentStyle(node,"padding-bottom","int")+xBrowser.currentStyle(node,"border-top-width","int")+xBrowser.currentStyle(node,"border-bottom-width","int");height=Math.max(0,height);}node.style.height=height+"px"},children:function(node,siblingNum){if(xBrowser.isIE){return node.children[siblingNum]}else{var childNodes=node.childNodes;var j=0;var len=childNodes.length;for(var i=0;i<len;i++){var childNode=childNodes[i];if(childNode.nodeType==Node.ELEMENT_NODE){j++}if(j==siblingNum+1){return childNode}}return null}}};function elPageCoords(el){var coords={x:0,y:0};while(el&&el.tagName!="HTML"){coords.x+=el.offsetLeft+xBrowser.currentStyle(el,"border-left-width","int");coords.y+=el.offsetTop+xBrowser.currentStyle(el,"border-top-width","int");if(el.tagName!="BODY"){coords.x-=el.scrollLeft;coords.y-=el.scrollTop;if(!xBrowser.isIE){var el2=el.parentNode;while(el2&&el.offsetParent&&el.offsetParent!=el2){coords.x-=el2.scrollLeft;coords.y-=el2.scrollTop;el2=el2.parentNode}}}el=el.offsetParent||el.parentNode}return coords};function windowToPageCoords(x,y){var coords={x:x,y:y};if(xBrowser.isIE){if(document.compatMode=="BackCompat"){coords.x+=document.body.scrollLeft;coords.y+=document.body.scrollTop}else{coords.x+=document.documentElement.scrollLeft;coords.y+=document.documentElement.scrollTop}}else{coords.x+=window.pageXOffset;coords.y+=window.pageYOffset}return coords};var cookie={get:function(key,subkey,str){if(str){var rstr="&"+str;var start=rstr.indexOf("&"+subkey+"=")+1;if(start==-1)return null;var end=rstr.indexOf("&",start);}else{var rstr=" "+document.cookie;var start=rstr.indexOf(" "+key+"=");if(start==-1)return null;var end=rstr.indexOf(";",start);}if(end==-1)end=rstr.length;var cookie=rstr.substr(start,end-start);cookie=cookie.substr(cookie.indexOf("=")+1,cookie.length-cookie.indexOf("=")+1);if(subkey!=null&&!str){return this.get(key,subkey,cookie);}return cookie},set:function(key,value,expires){var tmp=key+"="+value;if(expires){tmp+="; expires="+expires.toGMTString();}tmp+="; path=/";document.cookie=tmp;return value},remove:function(key){var tmp=new Date(1900,0,1);document.cookie=key+"= ; path=/ expires="+tmp.toGMTString();}};function callBack(qs,clientid,value,oldvalue,viewstate,form,debug){qs["__CALLBACKID"]=clientid;qs["__CALLBACKVAL"]=value;qs["__CALLBACKOLDVAL"]=oldvalue;if(viewstate){qs=serializeForm(qs,form);qs["__EVENTTARGET"]=clientid;qs["__EVENTARGUMENT"]=""}var href=form.action;var postData=buildQS(qs);var xmlhttp=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");if(xmlhttp){xmlhttp.open("POST",href,false);xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");if(!xBrowser.isIE)xmlhttp.setRequestHeader("Referer",document.location.href);xmlhttp.send(postData+"&xmlhttp=true");if(debug&&xmlhttp.status==500){var win=open();win.document.open();win.document.write(xmlhttp.responseText);win.document.close();}}else{var joinChar=(href.search(/\?/)!=-1?"&":"?");var url=href+joinChar+postData;document.location=url}};function serializeForm(qs,form){count=form.elements.length;var element;var re=new RegExp("\\x2B","g");var re2=new RegExp("\\x3D","g");for(var i=0;i<count;i++){element=form.elements[i];if(element.tagName.toLowerCase()=="input"){qs[element.name]=element.value.replace(re,"%2B").replace(re2,"%3D");}else if(element.tagName.toLowerCase()=="select"){selectCount=element.children.length;for(var j=0;j<selectCount;j++){selectChild=element.children[j];if((selectChild.tagName.toLowerCase()=="option")&&(selectChild.selected==true)){qs[element.name]=selectChild.value.replace(re,"%2B").replace(re2,"%3D");}}}}return qs};function buildQS(params){var s=[];var param;var re=new RegExp("\\x3A","g");for(param in params){var val=params[param];if(typeof val=="Array"){for(var i=0;i<val.length;i++){val[i]=encodeURI(val[i]);}s.push(val.join(","));}else if(param!="__VIEWSTATE"){var encodedParam=encodeURI(param).replace(re,"%3A");s.push(encodedParam+"="+encodeURI(val));}else{s.push("__VIEWSTATE"+"="+val);}}return s.join("&");};
