/* Copyright 2008 Google Inc. All Rights Reserved. */ (function(){var DB_mode=false;function DumpError(a){try{throw a;}catch(c){DumpException(c)}}
function DumpException(a,c){c="Javascript exception: "+(c?c:"")+" "+a;if(BR_AgentContains_("msie")&&!window.opera)c+=" "+a.name+": "+a.message+" ("+a.number+")";var b="";if(typeof a=="string")b=a+"\n";else for(var d in a)try{b+=d+": "+a[d]+"\n"}catch(e){}b+=DB_GetStackTrace(DumpException.caller);a=c+"\n"+b;if(DB_mode){try{var f=(new Date).getTime()-DB_starttime,g="["+f+"] "+HtmlEscape(a).replace(/\n/g,"<br>")+"<br>";g="<font color=#ff0000><b>Error: "+g+"</b></font>";DB_win.focus()}catch(h){}DB_WriteDebugHtml(g)}else typeof log!=
"undefined"&&log(HtmlEscape(a))}var function_name_re_=/function (\w+)/;
function DB_GetStackTrace(a){try{if(!(BR_AgentContains_("msie")&&!window.opera)&&!(BR_AgentContains_("safari")||BR_AgentContains_("konqueror"))&&BR_AgentContains_("mozilla"))return Error().stack;if(!a)return"";var c;var b=function_name_re_.exec(String(a));c=b?b[1]:"";c="- "+c+"(";for(b=0;b<a.arguments.length;b++){if(b>0)c+=", ";var d=String(a.arguments[b]);if(d.length>40)d=d.substr(0,40)+"...";c+=d}c+=")\n";c+=DB_GetStackTrace(a.caller);return c}catch(e){return"[Cannot get stack trace]: "+e+"\n"}}
var DB_starttime,DB_win=null,DB_winopening=false;
function DB_WriteDebugHtml(a){if(DB_mode)try{if((DB_win==null||DB_win.closed)&&!DB_winopening)try{DB_winopening=true;DB_win=window.open("","debug","width=700,height=500,toolbar=no,resizable=yes,scrollbars=yes,left=16,top=16,screenx=16,screeny=16");DB_win.blur();DB_win.document.open();DB_winopening=false;var c="<font color=#ff0000><b>To turn off this debugging window,hit 'D' inside the main caribou window, then close this window.</b></font><br>";DB_WriteDebugHtml(c)}catch(b){}DB_win.document.write(a);DB_win.scrollTo(0,
1000000)}catch(d){}};function BR_AgentContains_(a){if(a in BR_AgentContains_cache_)return BR_AgentContains_cache_[a];return BR_AgentContains_cache_[a]=navigator.userAgent.toLowerCase().indexOf(a)!=-1}var BR_AgentContains_cache_={};function HasClass(a,c){if(a==null||a.className==null)return false;if(a.className==c)return true;a=a.className.split(" ");for(var b=0;b<a.length;b++)if(a[b]==c)return true;return false}
function RemoveClass(a,c){if(a.className!=null)if(a.className==c)a.className="";else{for(var b=a.className.split(" "),d=[],e=false,f=0;f<b.length;f++)if(b[f]!=c)b[f]&&d.push(b[f]);else e=true;if(e)a.className=d.join(" ")}}var amp_re_=/&/g,lt_re_=/</g,gt_re_=/>/g;function HtmlEscape(a){if(!a)return"";return a.replace(amp_re_,"&amp;").replace(lt_re_,"&lt;").replace(gt_re_,"&gt;").replace(quote_re_,"&quot;")}var quote_re_=/\"/g;function forid_1(a){return document.getElementById(a)}
function forid_2(a){return document.all[a]}var forid=document.getElementById?forid_1:forid_2;function log(a){try{if(window.parent!=window&&window.parent.log){window.parent.log(window.name+"::"+a);return}}catch(c){}var b=forid("log");if(b){a="<p class=logentry><span class=logdate>"+new Date+"</span><span class=logmsg>"+a+"</span></p>";b.innerHTML=a+b.innerHTML}else window.status=a};var global=this;if(!Function.prototype.apply)Function.prototype.apply=function(a,c){var b=[];a||(a=global);c=c||[];for(var d=0;d<c.length;d++)b[d]="args["+d+"]";b="oScope.__applyTemp__.peek()("+b.join(",")+");";if(!a.__applyTemp__)a.__applyTemp__=[];a.__applyTemp__.push(this);b=eval(b);a.__applyTemp__.pop();return b};if(!Array.prototype.push)Array.prototype.push=function(){for(var a=0;a<arguments.length;a++)this[this.length]=arguments[a];return this.length};
if(!Array.prototype.pop)Array.prototype.pop=function(){if(this.length){var a=this[this.length-1];this.length--;return a}};Array.prototype.peek=function(){return this[this.length-1]};if(!Array.prototype.shift)Array.prototype.shift=function(){if(this.length!=0){for(var a=this[0],c=0;c<this.length-1;c++)this[c]=this[c+1];this.length--;return a}};
if(!Array.prototype.unshift)Array.prototype.unshift=function(){for(var a=arguments.length,c=this.length-1;c>=0;c--)this[c+a]=this[c];for(c=0;c<a;c++)this[c]=arguments[c];return this.length};if(!Array.prototype.forEach)Array.prototype.forEach=function(a,c){for(var b=0;b<this.length;b++)a.call(c,this[b],b,this)};function AS_Assert(){}AS_Assert.raise=function(a){if(typeof Error!="undefined")throw new Error(a||"Assertion Failed");else throw a;};AS_Assert.fail=function(a){a=a||"Assertion failed";typeof DumpError!="undefined"&&DumpError(a+"\n");AS_Assert.raise(a)};AS_Assert.isTrue=function(a,c){if(!a){if(c===undefined)c="Assertion failed";AS_Assert.fail(c)}};AS_Assert.equals=function(a,c,b){if(a!=c){if(b===undefined)b="AS_Assert.equals failed: <"+a+"> != <"+c+">";AS_Assert.fail(b)}};
AS_Assert.typeOf=function(a,c,b){if(typeof a!=c){if(a||a=="")try{if(c==AS_Assert.TYPE_MAP[typeof a]||a instanceof c)return}catch(d){}if(b===undefined){if(typeof c=="function")if(b=c.toString().match(/^\s*function\s+([^\s\{]+)/))c=b[1];b="AS_Assert.typeOf failed: <"+a+"> not typeof "+c}AS_Assert.fail(b)}};AS_Assert.TYPE_MAP={string:String,number:Number,"boolean":Boolean};
AS_Assert.numArgs=function(a,c){var b=AS_Assert.numArgs.caller;if(b&&b.arguments.length!=a){if(c===undefined)c=b.name+" expected "+a+" arguments  but received "+b.arguments.length;AS_Assert.fail(c)}};var XH_ieProgId_,JSCompiler_inline_XH_ACTIVE_X_IDENTS_23=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
if(typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined"){for(var JSCompiler_inline_i$$25_24=0;JSCompiler_inline_i$$25_24<JSCompiler_inline_XH_ACTIVE_X_IDENTS_23.length;JSCompiler_inline_i$$25_24++){var JSCompiler_inline_candidate_25=JSCompiler_inline_XH_ACTIVE_X_IDENTS_23[JSCompiler_inline_i$$25_24];try{new ActiveXObject(JSCompiler_inline_candidate_25);XH_ieProgId_=JSCompiler_inline_candidate_25;break}catch(JSCompiler_inline_e$$11_26){}}if(!XH_ieProgId_)throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed.");
};if("undefined"==typeof log)log=function(){};var DST_metaXmlHttp=undefined;
function DST_toggleMeta(a,c,b){a:{for(b=b;b;){if(HasClass(b,"collapse")){RemoveClass(b,"collapse");b=b;var d="expand";HasClass(b,d)||(b.className+=" "+d);b=true;break a}if(HasClass(b,"expand")){RemoveClass(b,"expand");b=b;d="collapse";HasClass(b,d)||(b.className+=" "+d);b=false;break a}b=b.parentNode}b=void 0}a=a;c=c;b=b?1:0;DST_metaXmlHttp=XH_ieProgId_?new ActiveXObject(XH_ieProgId_):new XMLHttpRequest;c="/"+a+"/"+c+"/source/setmetabubble.do?alt=js&expanded="+b+"&cd="+(new Date).getTime();a=DST_metaXmlHttp;
b=DST_setMetadataBubbleCallback;a.open("GET",c,true);a.onreadystatechange=b;try{a.send(null)}catch(e){log("XMLHttpSend failed "+e.toString()+"<br>"+e.stack);throw e;}}function DST_setMetadataBubbleCallback(){DST_metaXmlHttp.readyState==4&&DST_metaXmlHttp.status==200&&DST_gotMetadataBubble(DST_metaXmlHttp.responseText)}function DST_gotMetadataBubble(a){try{eval("_d="+a)}catch(c){alert("DST: error parsing response");return null}}_toggleMeta=DST_toggleMeta;})()
