/**
 * MusicMiner Web Server
 * www.soundminer.com
 * Copyright 2006-2008 Soundminer, Inc. All Rights Reserved.
 **/
var Browser={IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,KHTML:/Konqueror|Safari|KHTML/.test(navigator.userAgent),init:function(){this.browser=this.searchString(this.dataBrowser)||"Unknown Browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"Unknown Version";this.engine=this.searchString(this.dataEngine)||"Unknown Engine";this.engver=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"Unknown Version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)return data[i].identity;}
else if(dataProp)return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataEngine:[{string:navigator.userAgent,subString:"AppleWebKit",identity:"AppleWebKit"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Gecko",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Navigator",identity:"Navigator"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"SeaMonkey",identity:"SeaMonkey"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};Browser.init();var Prototype={Version:'1.5.0_rc0',ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
Class={create:function(decl){function ctor(){if(typeof this.initialize=='function')this.initialize.apply(this,arguments);}
ctor.prototype=(typeof decl=='function')?new decl():(decl=decl||{});Class.inherit(ctor.prototype,decl.prototype);ctor.extend=Class._extend;ctor.inject=Class._inject;return ctor;},_inject:function(name,value){this.prototype[name]=Class.wrap(value,this.prototype[name]);},inherit:function(self,parent){for(var f in self)
if(f!='valueOf')
self[f]=Class.wrap(self[f],parent&&parent[f]);},supRegExp:/\Wsup\s*(\(|[\'\"\[\.][^=]*?\()/,wrap:function(override,overridden){var needSup=(override!==overridden&&typeof override=='function'&&Class.supRegExp.test(override));return needSup?function(){var result,saved=this.sup;this.sup=overridden;try{result=override.apply(this,arguments);}
catch(e){throw e;}finally{this.sup=saved;}
return result;}:override;},_extend:function(sub){if(typeof sub!='function')sub=Class.fnFromObj(sub);sub.prototype=this.prototype;return Class.create(sub);},fnFromObj:function(obj){return function(){for(var p in obj)this[p]=obj[p];this.toString=obj.toString;this.valueOf=obj.valueOf;}}};Object.extend=function(destination,source){for(var property in source)destination[property]=source[property];return destination;}
Object.clone=function(obj,deep){var _clone=new obj.constructor();for(var prop in obj){if(typeof obj[prop]=='object'&&deep)_clone[prop]=obj[prop].clone(deep);else _clone[prop]=obj[prop];}
return _clone;}
Object.inspect=function(object){try{if(object==undefined)return 'undefined';if(object==null)return 'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return '...';throw e;}}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.timeout=function(){var __method=this,args=$A(arguments),object=args.shift();setTimeout(function(){__method.apply(object,args.concat($A(arguments)));},0);}
Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event);}}
Object.extend(Number.prototype,{times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
Object.extend(String.prototype,{truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:this;},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},enclose:function(start,end,delim){return start+this.split(delim).join(start+end)+end;},itemi:function(index,delim){return parseInt(this.split(delim)[index],10);},trim:function(){return this.replace(/^\s*(.*?)\s*$/,'$1').replace(/\s+/g,' ');},collapse:function(){return this.replace(/\s+/g,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?div.childNodes[0].nodeValue:'';},toQueryParams:function(){var pairs=this.match(/^[^\?]*\??(.*)$/)[1].split('&');return pairs.inject({},function(params,pairString){var pair=pairString.split('=');params[pair[0]]=pair[1];return params;});},toArray:function(){return this.split('');},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1)return oStringList[0];var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
return camelizedString;},inspect:function(){return "'"+this.replace(/\\/g,'\\\\').replace(/'/g,'\\\'')+"'";},evalJSON:function(){try{return eval('('+this+')');}catch(e){}}});String.prototype.parseQuery=String.prototype.toQueryParams;var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=true;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.collect(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value>=result)
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value<result)
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.collect(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.collect(Prototype.K);},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},inspect:function(){return '#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)
Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0;i<this.length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=undefined||value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value&&value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0;i<this.length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},inspect:function(){return '['+this.map(Object.inspect).join(', ')+']';}});var Json={bool:function(value){return value?'true':'false';},number:function(value){return ''+value;},string:function(str){return '"'+str.replace(/(\\|")/g,'\\$1')+'"';},array:function(array,depth){var elems=[];for(var len=array.length,i=0;i<len;i++)elems.push(Json.encode(array[i]));return '['+elems.join(',')+']';},object:function(obj){var pairs=[];for(var prop in obj)pairs.push(Json.string(prop)+':'+Json.encode(obj[prop]));return '{'+pairs.join(',')+'}';},encode:function(value){switch(typeof value){case 'boolean':return Json.bool(value);case 'number':return Json.number(value);case 'string':return Json.string(value);case 'object':if(value==null)return 'null';if(value instanceof Array)return Json.array(value);return Json.object(value);case 'undefined':case 'function':default:return 'null';}}}
var H={query:function(hash){var pairs=[];for(name in hash)pairs.push(encodeURIComponent(name)+'='+(typeof hash[name]=='object'?encodeURIComponent(Json.encode(hash[name])):encodeURIComponent(hash[name])));return pairs.join('&');}}
var Hash={_each:function(iterator){for(var key in this){var value=this[key];if(typeof value=='function')continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject($H(this),function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},toQueryString:function(){return this.map(function(pair){return pair.map(encodeURIComponent).join('=');}).join('&');},inspect:function(){return '#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}}
function $H(object){var hash=Object.extend({},object||{});Object.extend(hash,Enumerable);Object.extend(hash,Hash);return hash;}
ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;do{iterator(value);value=value+1;}while(this.include(value));},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responderToAdd){if(!this.include(responderToAdd))
this.responders.push(responderToAdd);},unregister:function(responderToRemove){this.responders=this.responders.without(responderToRemove);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(responder[callback]&&typeof responder[callback]=='function'){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',parameters:''}
Object.extend(this.options,options||{});},responseIsSuccess:function(){return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);},responseIsFailure:function(){return!this.responseIsSuccess();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){var parameters=this.options.parameters||'';try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}},setRequestHeaders:function(){var requestHeaders=['X-Requested-With','XMLHttpRequest','X-Prototype-Version',Prototype.Version,'Accept','text/javascript, text/html, application/xml, text/xml, */*'];if(this.options.method=='post'){requestHeaders.push('Content-type',this.options.contentType);}
if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);},onStateChange:function(){var readyState=this.transport.readyState;if(readyState!=1)
this.respondToReadyState(this.transport.readyState);},header:function(name){try{return this.transport.getResponseHeader(name);}catch(e){}},evalJSON:function(){try{return eval('('+this.header('X-JSON')+')');}catch(e){}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(event=='Complete'){try{(this.options['on'+this.transport.status]||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.header('Content-type')||'').match(/^text\/javascript/i))
this.evalResponse();}
try{(this.options['on'+event]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+event,this,transport,json);}catch(e){this.dispatchException(e);}
if(event=='Complete')
this.transport.onreadystatechange=Prototype.emptyFunction;},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});function $(){var results=[],element;for(var i=0;i<arguments.length;i++){element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);results.push(Element.extend(element));}
return results.length<2?results[0]:results;}
document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');return $A(children).inject([],function(elements,child){if(child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
elements.push(Element.extend(child));return elements;});}
var Element=new Object();Element.extend=function(element){if(!element)return;if(_nativeExtensions)return element;if(!element._extended&&element.tagName&&element!=window){var methods=Element.Methods,cache=Element.extend.cache;for(property in methods){var value=methods[property];if(typeof value=='function')
element[property]=cache.findOrStore(value);}}
element._extended=true;return element;}
Element.extend.cache={findOrStore:function(value){return this[value]=this[value]||function(){return value.apply(null,[this].concat($A(arguments)));}}}
Element.Methods={visible:function(elem){return elem.offsetWidth!==undefined&&elem.style.display!='none';},toggle:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);Element[Element.visible(element)?'hide':'show'](element);}},hide:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);},update:function(element,html){$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);},replace:function(element,html){element=$(element);if(element.outerHTML){element.outerHTML=html.stripScripts();}else{var range=element.ownerDocument.createRange();range.selectNodeContents(element);element.parentNode.replaceChild(range.createContextualFragment(html.stripScripts()),element);}
setTimeout(function(){html.evalScripts()},10);},getHeight:function(element){element=$(element);return element.offsetHeight;},extractText:function(elem){var text='';for(var i=0;i<elem.childNodes.length;i++){if(elem.childNodes[i].nodeType==3){if(elem.childNodes[i].nodeValue.length)text+=elem.childNodes[i].nodeValue;}
else text+=E.extractText(elem.childNodes[i]);}
return text;},hasClassName:function(elem,classRegex){return elem.className&&(new RegExp("(^|\\s)("+classRegex+")(\\s|$)")).test(elem.className);},_addClassName:function(elem,className){if(elem.className)elem.className+=' '+className;else elem.className=className;},addClassName:function(elem,className){if(!Element.hasClassName(elem,className)){if(elem.className)elem.className+=' '+className;else elem.className=className;}},removeClassName:function(elem,className){elem.className=elem.className.replace(new RegExp("(^|\\s)"+className+"(\\s|$)","g"),'$2');},toggleClassName:function(elem,className,toggle){if(toggle!==undefined){if(toggle)Element.addClassName(elem,className);else Element.removeClassName(elem,className);}
else if(Element.hasClassName(elem,className))Element.removeClassName(elem,className);else Element.addClassName(elem,className);},getClassPrefixed:function(elem,prefix){var name=elem.className.match(new RegExp('\\b'+prefix+'\\S*',"g"));if(name)return name[0];return null;},replaceClassPrefixed:function(elem,prefix,name){var regex=new RegExp('\\b'+prefix+'\\S*');if(regex.test(elem.className))elem.className=elem.className.replace(regex,name);else if(elem.className)elem.className+=' '+name;else elem.className=name;},removeClassPrefixed:function(elem,prefix){elem.className=elem.className.replace(new RegExp("(^|\\s)"+prefix+"\\S*(\\s|$)","g"),'$2');},hasClassData:function(elem,prefix){return E.getClassPrefixed(elem,prefix)!='';},getClassData:function(elem,prefix){var name=E.getClassPrefixed(elem,prefix);if(name)return name.split(prefix)[1];return null;},setClassData:function(elem,prefix,data){var regex=new RegExp('\\b'+prefix+'\\S*');if(regex.test(elem.className))elem.className=elem.className.replace(regex,prefix+data);else if(elem.className)elem.className+=' '+prefix+data;else elem.className=prefix+data;},removeClassData:function(elem,prefix){elem.className=elem.className.replace(new RegExp("(^|\\s)"+prefix+'\\S*'+"(\\s|$)","g"),'$2');},getClassNum:function(elem,prefix){return 1*Element.getClassData(elem,prefix);},setClassNum:function(elem,prefix,num){return Element.setClassData(elem,prefix,1*num);},cleanWhitespace:function(element){element=$(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue))
Element.remove(node);}},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},childOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
if(element==ancestor)return true;return false;},hasChild:function(element,child){return Element.childOf(child,element);},scrollTo:function(element){element=$(element);var x=element.x?element.x:element.offsetLeft,y=element.y?element.y:element.offsetTop;window.scrollTo(x,y);},getOffsetTop:function(element){return element.offsetTop;},getOffsetLeft:function(element){return element.offsetLeft;},getOffsetWidth:function(element){return element.offsetWidth;},getOffsetHeight:function(element){return element.offsetHeight;},scrollToTarget:function(parent,target){var p=Element.actualOffset(target,parent);var trect={'left':p[0],'top':p[1],'width':Element.getOffsetWidth(target),'height':Element.getOffsetHeight(target)};var prect={'left':0,'top':0,'width':parent.offsetWidth,'height':parent.offsetHeight};var left=0;var top=0;if(trect.left+trect.width>prect.left+prect.width)left=trect.left+trect.width-(prect.left+prect.width);if(trect.left<prect.left+left)left=trect.left;if(trect.top+trect.height>prect.top+prect.height)top=trect.top+trect.height-(prect.top+prect.height);if(trect.top<prect.top+top)top=trect.top;parent.scrollTop+=top;parent.scrollLeft+=left;},actualOffset:function(element,parent){var valueT=0,valueL=0;do{valueT+=(Element.getOffsetTop(element)||0)-(element.scrollTop||0);valueL+=(Element.getOffsetLeft(element)||0)-(element.scrollLeft||0);element=element.offsetParent;}while(element&&element!=parent);if(parent&&element==parent){valueT-=(element.scrollTop||0);valueL-=(element.scrollLeft||0);}
return[valueL,valueT];},scrollOffset:function(element,parent){var valueT=0,valueL=0;do{valueT+=(Element.getOffsetTop(element)||0)-(element.scrollTop||0);valueL+=(Element.getOffsetLeft(element)||0)-(element.scrollLeft||0);element=element.offsetParent;}while(element&&element!=parent);return[valueL,valueT];},getStyle:function(element,style){var value=element.style[style.camelize()];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style)&&Element.getStyle(element,'position')=='static')value='auto';return value=='auto'?null:value;},setStyle:function(element,style){for(var name in style)element.style[name.camelize()]=(style[name]==null?'':style[name]);},getDimensions:function(element){element=$(element);if(Element.getStyle(element,'display')!='none')
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display='none';els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}},makeClipping:function(element){element=$(element);if(element._overflow)return;element._overflow=element.style.overflow;if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';},undoClipping:function(element){element=$(element);if(element._overflow)return;element.style.overflow=element._overflow;element._overflow=undefined;},getChildren:function(element,tag){if(tag=='*')return element.all?element.all:element.getElementsByTagName('*');else return element.getElementsByTagName(tag);},getInlineOpacity:function(element){return element.style.opacity||'';},setPosition:function(element,pos,correct){element=$(element);element.style.left=pos[0]+"px";element.style.top=pos[1]+"px";if(correct){element.style.left=2*pos[0]-element.offsetLeft+"px";element.style.top=2*pos[1]-element.offsetTop+"px";}},setDimensions:function(element,dims,correct){element=$(element);element.style.width=dims.width+"px";element.style.height=dims.height+"px";if(correct){element.style.width=2*dims.width-element.offsetWidth+"px";element.style.height=2*dims.height-element.offsetHeight+"px";}},setWidth:function(elem,width,correct){elem.style.width=width+'px';if(correct)elem.style.width=2*width-elem.offsetWidth+'px';},setHeight:function(elem,height,correct){elem.style.height=height+'px';if(correct)elem.style.height=2*height-elem.offsetHeight+'px';},windowToClient:function(element,point){pos=Position.cumulativeOffset(element);return[point[0]-pos[0],point[1]-pos[1]];},clientToWindow:function(element,point){pos=Position.cumulativeOffset(element);return[point[0]+pos[0],point[1]+pos[1]];},positionedParent:function(element){do{element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return element;},first:function(element,tagName,className,notClass){var elem=element.firstChild;while(elem&&(elem.nodeType!=1||(tagName&&!Element.isTagName(elem,tagName))||(className&&(notClass^!Element.hasClassName(elem,className)))))elem=elem.nextSibling;return elem;},last:function(element,tagName,className,notClass){var elem=element.lastChild;while(elem&&((tagName&&!Element.isTagName(elem,tagName))||(className&&(notClass^!Element.hasClassName(elem,className)))))elem=elem.previousSibling;return elem;},prev:function(elem,tagName,className){while((elem=elem.previousSibling)&&((tagName&&!Element.isTagName(elem,tagName))||(className&&!Element.hasClassName(elem,className))));return elem;},next:function(elem,tagName,className){while((elem=elem.nextSibling)&&((tagName&&!Element.isTagName(elem,tagName))||(className&&!Element.hasClassName(elem,className))));return elem;},findUp:function(elem,tagName,classRegex,skip){if(skip&&elem)elem=elem.parentNode;while(elem&&!((!tagName||Element.isTagName(elem,tagName))&&(!classRegex||Element.hasClassName(elem,classRegex))))
elem=elem.parentNode;return elem;},find:function(element,tagName,className){return Element.findBFS(element,function(elem){return(!tagName||Element.isTagName(elem,tagName))&&(!className||Element.hasClassName(elem,className));});},findAll:function(element,tagName,className){return Element.findAllBFS(element,function(elem){return(!tagName||Element.isTagName(elem,tagName))&&(!className||Element.hasClassName(elem,className));});},findChild:function(element,tagName,className){for(var i=0,length=element.childNodes.length;i<length;i++){var elem=element.childNodes[i];if((!tagName||Element.isTagName(elem,tagName))&&(!className||Element.hasClassName(elem,className)))
return elem;}
return null;},isTagName:function(element,tagName){return element.tagName&&element.tagName.toUpperCase()==tagName.toUpperCase();},findBFS:function(element,matchFilter,walkFilter){return Element.mapBFS(element,matchFilter,walkFilter,function(elem){return elem;},function(){return null;});},findAllBFS:function(element,matchFilter,walkFilter){return Element.mapBFS(element,matchFilter,walkFilter,function(elem,found){found.push(elem);},function(found){return found;});},mapBFS:function(element,matchFilter,walkFilter,funcFound,funcReturn){if(!matchFilter)matchFilter=function(){return true;}
if(!walkFilter)walkFilter=function(elem){return elem;};var queue=[element];var found=[];var index=0;var walk=null;while(index<queue.length){element=queue[index++];if(matchFilter(element)){ret=funcFound(element,found);if(ret!==undefined)return ret;}
if(walk=walkFilter(element))
for(var i=0;i<walk.childNodes.length;i++)
queue.push(walk.childNodes[i]);}
if(funcReturn)return funcReturn(found);},findDFS:function(element,matchFilter,walkFilter){return Element.mapDFS(element,matchFilter,walkFilter,function(elem){return elem;},function(){return null;});},findAllDFS:function(element,matchFilter,walkFilter){return Element.mapDFS(element,matchFilter,walkFilter,function(elem,found){found.push(elem);},function(found){return found;});},mapDFS:function(element,matchFilter,walkFilter,funcFound,funcReturn){if(!matchFilter)matchFilter=function(){return true;}
if(!walkFilter)walkFilter=function(){return true};var queue=[element];var found=[];while(queue.length){element=queue.pop();if(matchFilter(element)){ret=funcFound(element,found);if(ret!==undefined)return ret;}
if(walkFilter(element))
for(var i=element.childNodes.length-1;i>=0;i--)
queue.push(element.childNodes[i]);}
if(funcReturn)return funcReturn(found);},getChildren:function(element,tag){if(!tag||tag=='*')return element.all?element.all:element.getElementsByTagName('*');else return element.getElementsByTagName(tag);},clone:function(elem){var clone=elem.cloneNode(true);if(Element.buggy_clone[elem.tagName])Element.set(clone,E.value(elem));else{for(var tag in Element.buggy_clone){var elems0=elem.getElementsByTagName(tag);var elems1=clone.getElementsByTagName(tag);for(var i=elems0.length-1;i>=0;i--)Element.set(elems1[i],E.value(elems0[i]));}}
return clone;},field_tags:{'INPUT':1,'TEXTAREA':1,'SELECT':1},isField:function(elem){return Element.field_tags[elem.tagName];},value:function(elem){if(elem.tagName=='INPUT'&&elem.type=='checkbox')elem.checked;return elem.value;},set:function(elem,value){if(elem.tagName=='INPUT'&&elem.type=='checkbox')elem.checked=value?true:false;else if(Element.buggy_set[elem.tagName])return elem[Element.buggy_set[elem.tagName]]=value;return elem.value=value;}}
Element.buggy_clone={};Element.buggy_set={};var form=document.createElement('form');form.innerHTML='<p><input name="input" value="original" type="text" /><input name="checkbox" value="true" checked="checked" type="checkbox" /><textarea name="textarea">original</textarea><select name="select" value="0"><option value="0" selected="selected">opt1</option><option value="1">opt2</option></select></p>'
form.getElementsByTagName('input')[0].value='test';form.getElementsByTagName('input')[0].checked=false;form.getElementsByTagName('select')[0].value=1;var textarea=form.getElementsByTagName('textarea')[0];textarea.value='buggy_set';if(textarea.value!='buggy_set')Element.buggy_set['TEXTAREA']='innerHTML';Element.Methods.set(textarea,'test');form=form.cloneNode(true);Element.buggy_clone['INPUT']=(form.getElementsByTagName('input')[0].value!='test');Element.buggy_clone['INPUT']=Element.buggy_clone['INPUT']||form.getElementsByTagName('input')[1].checked;Element.buggy_clone['SELECT']=(form.getElementsByTagName('select')[0].value!=1);Element.buggy_clone['TEXTAREA']=(form.getElementsByTagName('textarea')[0].value!='test');if(Browser.browser=='Safari'||Browser.browser=='Opera'){Element.Methods.getOffsetTop=function(elem){if(elem.tagName=='TR'&&elem.offsetHeight==0)return elem.firstChild.offsetTop;else return elem.offsetTop;};Element.Methods.getOffsetLeft=function(elem){if(elem.tagName=='TR'&&elem.offsetHeight==0)return elem.firstChild.offsetLeft;else return elem.offsetLeft;};Element.Methods.getOffsetWidth=function(elem){if(elem.tagName=='TR'&&elem.offsetHeight==0)return elem.firstChild.offsetLeft+elem.lastChild.offsetLeft+elem.lastChild.offsetWidth;else return elem.offsetWidth;};Element.Methods.getOffsetHeight=function(elem){if(elem.tagName=='TR'&&elem.offsetHeight==0&&elem.firstChild){var tr=E.prev(elem,'tr');if(!tr)tr=E.next(elem,'tr');if(tr){var v=E.getOffsetTop(elem)-E.getOffsetTop(tr);return(v<0?-v:v);}
return elem.firstChild.offsetHeight;}
else return elem.offsetHeight;};}
var E=Element;Object.extend(Element,Element.Methods);var _nativeExtensions=true;var Toggle=new Object();Toggle.display=Element.toggle;var Field={clear:function(){for(var i=0;i<arguments.length;i++)
$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i<arguments.length;i++)
if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();},activate:function(element){element=$(element);element.focus();if(element.select)
element.select();}}
var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i<elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)
queryComponents.push(queryComponent);}
return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(var tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j<tagElements.length;j++)
elements.push(tagElements[j]);}
return elements;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)
return inputs;var matchingInputs=new Array();for(var i=0;i<inputs.length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(input);}
return matchingInputs;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.blur();element.disabled='true';}},enable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.disabled='';}},findFirstElement:function(form){return Form.getElements(form).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){Field.activate(Form.findFirstElement(form));},reset:function(form){$(form).reset();}}
Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){var key=encodeURIComponent(parameter[0]);if(key.length==0)return;if(parameter[1].constructor!=Array)
parameter[1]=[parameter[1]];return parameter[1].map(function(value){return key+'='+encodeURIComponent(value);}).join('&');}},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)
return parameter[1];}}
Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case 'submit':case 'hidden':case 'password':case 'text':return Form.Element.Serializers.textarea(element);case 'checkbox':case 'radio':return Form.Element.Serializers.inputSelector(element);}
return false;},inputSelector:function(element){if(element.checked)
return[element.name,element.value];},textarea:function(element){return[element.name,element.value];},select:function(element){return Form.Element.Serializers[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var value='',opt,index=element.selectedIndex;if(index>=0){opt=element.options[index];value=opt.value||opt.text;}
return[element.name,value];},selectMany:function(element){var value=[];for(var i=0;i<element.length;i++){var opt=element.options[i];if(opt.selected)
value.push(opt.value||opt.text);}
return[element.name,value];}}
var $F=Form.Element.getValue;if(!window.Event)var Event=new Object();Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_SPACE:32,element:function(event){element=event.target||event.srcElement;return(element.nodeType==1||element.nodeType==9)?element:element.parentNode;},related:function(event){return event.relatedTarget||event.fromTarget;},keyCode:function(event){return event.keyCode?event.keyCode:event.charCode;},setElement:function(event,element){if(event.target)event.target=element;else if(event.srcElement)event.srcElement=element;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}
else{event.returnValue=false;event.cancelBubble=true;}},preventDefault:function(event){if(event.preventDefault)event.preventDefault();else event.returnValue=false;},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},props:{'click':[true,true],'mousedown':[true,true],'mouseup':[true,true],'mouseover':[true,true],'mousemove':[true,false],'mouseout':[true,true],'keydown':[true,true],'keyup':[true,true],'keypress':[true,true],'load':[false,false],'unload':[false,false],'abort':[true,false],'error':[true,false],'select':[true,false],'change':[true,false],'submit':[false,true],'reset':[false,false],'focus':[false,false],'blur':[false,false],'resize':[true,false],'scroll':[true,false]},bubbles:function(type){return this.props[type]&&this.props[type][0];},cancelable:function(type){return this.props[type]&&this.props[type][1];},capture:[],bubble:[],root:{},xblur_func:null,xblur_event:null,observe:function(element,type,func,capture){capture=capture||false;var lambda=null;if(element.addEventListener){switch(type){case 'keypress':if(navigator.appVersion.match(/Konqueror|Safari|KHTML/))type='keydown';break;case 'xfocus':type='focus';break;case 'xblur':type='blur';break;}
element.addEventListener(type,lambda||func,capture);}
else if(element.attachEvent){var elem=element;switch(type){case 'keypress':type='keydown';break;case 'xfocus':type='focusin';break;case 'xblur':type='focusout';break;}
if(!this.bubbles(type))elem.attachEvent('on'+type,lambda||func);else{if(!this.root[type]){this.root[type]=true;document.attachEvent('on'+type,function(event){var cancelable=this.cancelable(type);for(var i=this.capture.length-1;i>=0&&(!cancelable||!event.cancelBubble);i--)this.capture[i].func(event);for(var i=0;i<this.bubble.length&&(!cancelable||!event.cancelBubble);i++)this.bubble[i].func(event);this.capture=[];this.bubble=[];}.bind(this));}
elem.attachEvent('on'+type,elem['e'+type+capture+func]=function(event){if(capture)this.capture.push({'element':elem,'event':event,'func':lambda||func});else this.bubble.push({'element':elem,'event':event,'func':lambda||func});}.bind(this));}}},stopObserving:function(elem,type,func,capture){capture=capture||false;if(type=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||elem.detachEvent))type='keydown';if(elem.removeEventListener)elem.removeEventListener(type,func,capture);else if(elem.detachEvent){try{if(!this.bubbles(type))elem.detachEvent('on'+type,func);else if(elem['e'+type+capture+func]){elem.detachEvent('on'+type,elem['e'+type+capture+func]);elem['e'+type+capture+func]=null;}}catch(e){}}}});var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},actualOffset:function(element){var valueT=0,valueL=0;do{valueT+=(element.offsetTop||0)-(element.scrollTop||0);valueL+=(element.offsetLeft||0)-(element.scrollLeft||0);element=element.offsetParent;}while(element);return[valueL,valueT];},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent:function(element){if(element.offsetParent)return element.offsetParent;if(element==document.body)return element;while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return element;return document.body;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},clone:function(source,target){source=$(source);target=$(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets[1]+'px';target.style.left=offsets[0]+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';;element.style.left=left+'px';;element.style.width=width+'px';;element.style.height=height+'px';;},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return[valueL,valueT];}}
window.getWidth=function(){if(typeof(window.innerWidth)=='number')return window.innerWidth;if(document.documentElement&&document.documentElement.clientWidth)return document.documentElement.clientWidth;if(document.body&&document.body.clientWidth)return document.body.clientWidth;return 0;}
window.getHeight=function(){if(typeof(window.innerHeight)=='number')return window.innerHeight;if(document.documentElement&&document.documentElement.clientHeight)return document.documentElement.clientHeight;if(document.body&&document.body.clientHeight)return document.body.clientHeight;return 0;}
function alertSize(){var myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;}
window.alert('Width = '+myWidth);window.alert('Height = '+myHeight);}