function DirProxy(uid,proxySwfName){this.uid=uid;this.proxySwfName=proxySwfName;this.flashSerializer=new FlashSerializer(false);if(!Array.prototype.push){Array.prototype.push=function(val){this[this.length]=val}}if(!Function.prototype.apply){Function.prototype.apply=function(oScope,args){var sarg=[];var rtrn,call;if(!oScope){oScope=window}if(!args){args=[]}for(var i=0;i<args.length;i++){sarg[i]="args["+i+"]"}call="oScope.__applyTemp__("+sarg.join(",")+");";oScope.__applyTemp__=this;rtrn=eval(call);oScope.__applyTemp__=null;return rtrn}}}DirProxy.prototype.call=function(){if(arguments.length==0){throw new Exception("Dir Proxy Exception","The first argument should be the function name followed by any number of additional arguments.")}var a="lcId="+escape(this.uid)+"&functionName="+escape(arguments[0]);if(arguments.length>1){var d=new Array();for(var c=1;c<arguments.length;++c){d.push(arguments[c])}a+="&args="+escape(this.flashSerializer.serialize(d))}var e="_dir_proxy_"+this.uid;if(!document.getElementById(e)){var g=document.createElement("div");g.id=e;document.body.appendChild(g)}var f=document.getElementById(e);var b=/Safari/.test(navigator.userAgent);var h=new FlashTag(this.proxySwfName,1,1,b);h.setVersion("6,0,65,0");h.setFlashvars(a);f.innerHTML=h.toString()};DirProxy.callJS=function(){var functionToCall=eval(arguments[0]);var argArray=new Array();for(var i=1;i<arguments.length;++i){argArray.push(arguments[i])}functionToCall.apply(functionToCall,argArray)};function FlashSerializer(useCdata){this.useCdata=useCdata;try{eval("1 instanceof Number");_instanceof=function(obj,classNameStr){return eval("obj instanceof "+classNameStr)}}catch(e){_instanceof=function(obj,classNameStr){return eval("/"+classNameStr+"/.test(obj)")}}}FlashSerializer.prototype.serialize=function(b){var a=new String();for(var d=0;d<b.length;++d){switch(typeof(b[d])){case"undefined":a+="t"+(d)+"=undf";break;case"string":a+="t"+(d)+"=str&d"+(d)+"="+encodeURIComponent(b[d]);break;case"number":a+="t"+(d)+"=num&d"+(d)+"="+encodeURIComponent(b[d]);break;case"boolean":a+="t"+(d)+"=bool&d"+(d)+"="+encodeURIComponent(b[d]);break;case"object":if(b[d]==null){a+="t"+(d)+"=null"}else{if(_instanceof(b[d],"Date")){a+="t"+(d)+"=date&d"+(d)+"="+encodeURIComponent(b[d].getTime())}else{try{a+="t"+(d)+"=xser&d"+(d)+"="+encodeURIComponent(this._serializeXML(b[d]))}catch(c){throw new Exception("FlashSerializationException","The following error occurred during complex object serialization: "+c.getMessage())}}}break;default:throw new Exception("FlashSerializationException","You can only serialize strings, numbers, booleans, dates, objects, arrays, nulls, and undefined.")}if(d!=(b.length-1)){a+="&"}}return a};FlashSerializer.prototype._serializeXML=function(b){var a=new Object();a.xml="<fp>";this._serializeNode(b,a,null);a.xml+="</fp>";return a.xml};FlashSerializer.prototype._serializeNode=function(d,c,a){switch(typeof(d)){case"undefined":c.xml+="<undf"+this._addName(a)+"/>";break;case"string":c.xml+="<str"+this._addName(a)+">"+this._escapeXml(d)+"</str>";break;case"number":c.xml+="<num"+this._addName(a)+">"+d+"</num>";break;case"boolean":c.xml+="<bool"+this._addName(a)+' val="'+d+'"/>';break;case"object":if(d==null){c.xml+="<null"+this._addName(a)+"/>"}else{if(_instanceof(d,"Date")){c.xml+="<date"+this._addName(a)+">"+d.getTime()+"</date>"}else{if(_instanceof(d,"Array")){c.xml+="<array"+this._addName(a)+">";for(var b=0;b<d.length;++b){this._serializeNode(d[b],c,null)}c.xml+="</array>"}else{c.xml+="<obj"+this._addName(a)+">";for(var e in d){if(typeof(d[e])=="function"){continue}this._serializeNode(d[e],c,e)}c.xml+="</obj>"}}}break;default:throw new Exception("FlashSerializationException","You can only serialize strings, numbers, booleans, objects, dates, arrays, nulls and undefined");break}};FlashSerializer.prototype._addName=function(a){if(a!=null){return' name="'+a+'"'}return""};FlashSerializer.prototype._escapeXml=function(a){if(this.useCdata){return"<![CDATA["+a+"]]>"}else{return a.replace(/&/g,"&amp;").replace(/</g,"&lt;")}};function FlashTag(d,b,a,c){this.src=d;if(c){this.src+="?"+Math.random()}this.width=b;this.height=a;this.version="7,0,14,0";this.id=null;this.bgcolor="404347";this.flashVars=null}FlashTag.prototype.setVersion=function(a){this.version=a};FlashTag.prototype.setId=function(a){this.id=a};FlashTag.prototype.setBgcolor=function(a){this.bgcolor=a};FlashTag.prototype.setFlashvars=function(a){this.flashVars=a};FlashTag.prototype.toString=function(){var a=(/Win/.test(navigator.userAgent)&&navigator.appName.indexOf("Microsoft")!=-1)?1:0;var b=new String();if(a){b+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';if(this.id!=null){b+='id="'+this.id+'" '}b+='codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" ';b+='width="'+this.width+'" ';b+='height="'+this.height+'">';b+='<param name="movie" value="'+this.src+'"/>';b+='<param name="quality" value="high"/>';b+='<param name="bgcolor" value="#'+this.bgcolor+'"/>';if(this.flashVars!=null){b+='<param name="flashvars" value="'+this.flashVars+'"/>'}b+="</object>"}else{b+='<embed src="'+this.src+'" ';b+='quality="high" ';b+='bgcolor="#'+this.bgcolor+'" ';b+='width="'+this.width+'" ';b+='height="'+this.height+'" ';b+='type="application/x-shockwave-flash" ';if(this.flashVars!=null){b+='flashvars="'+this.flashVars+'" '}if(this.id!=null){b+='name="'+this.id+'" '}b+='pluginspage="http://www.macromedia.com/go/getflashplayer">';b+="</embed>"}return b};FlashTag.prototype.write=function(a){a.write(this.toString())};