HD.util.Common={observable:null,getObservable:function(){if(this.observable==null){this.observable=new HD.util.Observable()
}return this.observable
},compareString:function(B,A){return(B===A)?0:(B>A)?1:-1
},showOverlay:function(L,O,D,P,H){var J=HD.get("hdwcOverlay");
if(J){this.hideOverlay(H)
}this.getObservable().notifyObservers("overlayOpen");
var B=540>YAHOO.util.Dom.getViewportHeight()&&parseInt(P,10)>450;
if(B){P=YAHOO.util.Dom.getViewportHeight()-40
}if(!(typeof D=="number")){D=parseInt(D.replace(/px/g,""))
}if(!(typeof P=="number")){P=parseInt(P.replace(/px/g,""))
}var C=(YAHOO.util.Dom.getViewportWidth()/2)-(D/2);
var K=YAHOO.util.Dom.getDocumentScrollTop();
var A=((YAHOO.util.Dom.getViewportHeight()+K)/2)-(P/2);
C=Math.round(C);
A=Math.round(A);
var E={constraintoviewport:true,close:true,draggable:true,zIndex:100000,modal:true,visible:false,iframe:true,underlay:"shadow",x:C,y:A,height:typeof P=="number"?P+"px":P||null,width:typeof D=="number"?D+"px":D||null};
var G=new YAHOO.widget.Panel("hdwcOverlay",E);
G.setBody(L);
G.render(document.body);
G.center();
G.show();
var F=this;
var N=function(){var R=F.getObservable.call(F);
R.notifyObservers("overlayClose_Click");
HD.util.Common.hideOverlay(H)
};
var J=HD.get("hdwcOverlay");
var Q=HD.getByClass("hdClose","*",J);
if(Q.length>0){Q[0].onclick=N
}Q=HD.getByClass("container-close","a",J);
for(var I=0,M=Q.length;
I<M;
I++){Q[I].href="javascript:void(0)";
(function(){Q[I].onclick=N
})()
}if(B){YAHOO.util.Event.onContentReady("hdwcBody",function(){var S=HD.get("hdwcBody");
var R=HD.get("scrollableDiv");
if(S){S.style.height=(parseInt(P,10)-65)+"px"
}if(R){R.style.height=(parseInt(P,10)-90)+"px"
}});
YAHOO.util.Event.onContentReady("suggestions",function(){var S=YAHOO.util.Dom.getElementsByClassName("suggestionsContentWrapper","div");
if(S[0]){for(var R=0;
R<S.length;
R++){S[R].style.height=(parseInt(P,10)-65)+"px"
}}})
}this.overlay=G;
return J
},hideOverlay:function(A){if(this.overlay!=null){this.overlay.hide();
if(!A){this.overlay.destroy()
}this.getObservable().notifyObservers("overlayClose")
}},scrollOverlay:function(){if(this.overlay!=null){var D=this.overlay.getFocusableElements();
var C=D[0];
var A=C.contentWindow.document;
var B=A.getElementById("hdwcBody");
B.scrollTop=0
}},closeOverlay:function(C){var B=YAHOO.util.Dom.getElementsByClassName(C);
for(var A=0;
A<B.length;
A++){YAHOO.util.Event.on(B[A],"click",function(){if(window.parent){window.parent.HDWC.util.hideOverlay()
}})
}},createModule:function(D,A,B,E,F){var C=new YAHOO.widget.Module(D,{visible:A});
C.render();
var G=A;
if(B!=null){YAHOO.util.Event.on(B,"click",function(){G=!G;
C[G?"show":"hide"].call(C)
})
}if(E!=null){YAHOO.util.Event.on(E,"click",function(){G=!G;
C.show.call(C)
})
}if(F!=null){YAHOO.util.Event.on(F,"click",function(){G=!G;
C.hide.call(C)
})
}},createTabs:function(C,F){if(C==null||C.length<1||F==null){return null
}var E=new YAHOO.widget.TabView();
for(var B=0,A=C.length;
B<A;
B++){var D=C[B];
E.addTab(new YAHOO.widget.Tab({label:D.header,content:D.body,active:D.isActive||false}))
}E.appendTo(F);
return E
},requestContent:function(C,E,D){if(!this.hasValue(D)){D="GET"
}var A=E;
var B={success:function(F){A(F.responseText)
},failure:function(F){}};
YAHOO.util.Connect.asyncRequest(D,C,B)
},hasValue:function(A){return A!=null&&A!=""
},timestamp:function(){return new Date().getTime()
},generateElementId:function(){return"hdEl"+this.timestamp()+Math.floor(Math.random()*10000)
},uploadFile:function(D,C,E){YAHOO.util.Connect.setForm(D,true);
var A=E;
var B={upload:function(F){A(F.responseText)
},failure:function(F){}};
YAHOO.util.Connect.asyncRequest("POST",C,B)
},getRequestParam:function(B){if(!B){return 
}B=B.replace(/\[/g,"[").replace(/\]/g,"]");
var A="[\\?&]"+B+"=([^&#]*)";
var E=new RegExp(A);
var D=E.exec(window.location.href);
var C=D==null?null:D[1];
return !!C&&C.match(/^(true|1)$/)?true:(!!C&&C.match(/^(false|0)$/)?false:(!!C&&C.match(/^(null|undefined)$/)?null:C))
},log:function(A){},includeJs:function(C,D){var A=D;
var B=document.createElement("script");
B.type="text/javascript";
B.language="javascript";
B.src=C;
if(navigator.userAgent.indexOf("IE")>=0){B.onreadystatechange=function(){if(B&&("loaded"==B.readyState||"complete"==B.readyState)){B.onreadystatechange=null;
A()
}}
}else{B.onload=function(){B.onload=null;
A()
}
}document.getElementsByTagName("head")[0].appendChild(B)
},callbackCounter:0,insertContent:function(B,A,E){var D="hdcb"+this.callbackCounter++;
window[D]=E;
if(A.indexOf("?")<0){A+="?"
}else{if(A.indexOf("&")==A.length-1){}else{A+="&"
}}A+="hdcbid="+D;
var C=this.get(B);
this.requestContent(A,function(F){var G=document.createElement("div");
G.innerHTML=F;
C.appendChild(G)
})
},get:function(A){return YAHOO.util.Dom.get(A)
},trim:function(B,A){if(B.length>A){B=B.substr(0,A).replace(/\s*$/,"")
}return B
},stripHtmlTags:function(L,O,P,K,F){if(O){var B=P||["img","embed"];
var N=document.createElement("div");
N.innerHTML=L;
var I=function(T){var Q=true;
if(T.childNodes&&T.childNodes.length>0){for(var S=0,R=T.childNodes.length;
S<R;
S++){if(!T.childNodes[S].nodeName.match(/^br$/i)){Q=false;
break
}}}return Q
};
var E=function(R,S){if(R&&(S||I(R))){var Q=R.parentNode;
Q.removeChild(R);
arguments.callee(Q)
}};
if(F){var J=0;
var M=new RegExp("^("+B.join("|")+")$","i");
var D=N.getElementsByTagName("*");
var A=[];
for(var H=0,C=D.length;
H<C;
H++){A.push(D[H])
}for(var G=0,C=A.length;
G<C;
G++){if(A[G].nodeName.match(M)){E(A[G],true);
J++
}if(J>=F){break
}}}else{for(var H=0;
H<B.length;
H++){var A=N.getElementsByTagName(B[H]);
for(var G=A.length-1;
G>=0;
G--){E(A[G],true)
}}}return K?N:N.innerHTML
}else{return L.replace(/<\S[^><]*>/g,"")
}},ellipseText:function(G,C,I){if(G.length>C){if(I){var H=this.stripHtmlTags(G,I,null,true);
var F=[];
(function(K){if(K.nodeType==3){F.push(K)
}else{for(var J=0;
J<K.childNodes.length;
J++){arguments.callee(K.childNodes[J])
}}})(H);
var A=0;
var B=null;
for(var D=0;
D<F.length;
D++){if(F[D].data.length+A>C){B=F[D];
B.data=this.trim(B.data,C-A);
var E=B.data.lastIndexOf(" ");
if(E>0){B.data=B.data.substr(0,E)
}B.data+="...";
break
}else{A+=F[D].data.length
}}if(B){(function(J){if(J){while(J.nextSibling){J.parentNode.removeChild(J.nextSibling)
}arguments.callee(J.parentNode)
}})(B)
}G=H.innerHTML
}else{G=this.stripHtmlTags(G,I);
G=this.trim(G,C);
var E=G.lastIndexOf(" ");
if(E>0){G=G.substr(0,E)
}G+="..."
}}return G
},round:function(B,C){if(C==null){C=0
}var D=Math.pow(10,C);
var A=Math.round(B*D);
return A/D
},getAppUrl:function(){return window.location.href.split("?")[0]
},getHostUrl:function(){var A=window.location;
return A.host
},getServerUrl:function(){var A=window.location;
return[A.protocol,"//",A.host].join("")
},setCookie:function(B,C,E){try{var A="";
if(E!=null){A="; expires="+E
}document.cookie=B+"="+C+A+"; path=/"
}catch(D){}},getCookie:function(B,F){try{F=F!=null?F:document;
var E=B+"=";
var A=F.cookie.split(";");
for(var C=0;
C<A.length;
C++){var G=A[C];
while(G.charAt(0)==" "){G=G.substring(1,G.length)
}if(G.indexOf(E)==0){return G.substring(E.length,G.length)
}}return null
}catch(D){}},eraseCookie:function(A){setCookie(A,"",-1)
},contains:function(D,C){if(D!=null&&C!=null){for(var B=0,A=D.length;
B<A;
B++){if(D[B]==C){return true
}}}return false
},scrollTo:function(A){var C=0;
var B=0;
while(A!=null){C+=A.offsetLeft;
B+=A.offsetTop;
A=A.offsetParent
}window.scrollTo(C,B)
},scrollToTop:function(){window.scrollTo(0,0)
},addImage:function(A,C){var B=new Image();
if(C){B.onload=C
}B.src=A;
B.style.width="0px";
B.style.height="0px";
document.body.appendChild(B)
},printStackTrace:function(){var I=[];
var B=false;
try{D.dont.exist+=0
}catch(F){if(F.stack){var J=F.stack.split("\n");
for(var D=0,E=J.length;
D<E;
D++){if(J[D].match(/^\s*[A-Za-z0-9\-_\$]+\(/)){I.push(J[D])
}}I.shift();
B=true
}else{if(window.opera&&F.message){var J=F.message.split("\n");
for(var D=0,E=J.length;
D<E;
D++){if(J[D].match(/^\s*[A-Za-z0-9\-_\$]+\(/)){var H=J[D];
if(J[D+1]){H+=" at "+J[D+1];
D++
}I.push(H)
}}I.shift();
B=true
}}}if(!B){var A=arguments.callee.caller;
while(A){var G=A.toString();
I.push(G);
A=A.caller
}}var C=HD.get("hdConsole");
if(C==null){C=document.createElement("div");
C.id="hdConsole";
document.body.appendChild(C)
}C.innerHTML=I.join("<br/>");
return 
},analyticsOpenString:function(){return"default_analyticsOpenString"
},analyticsCloseString:function(){return"default_analyticsCloseString"
}};
HD.register("hd_common",HD.util.Common,{version:"1.0",build:"1"});