_page=function(){this.set_nodeid=function(b){this.nodeid=b};this.set_type=function(b){this.type=b};this.set_pagename=function(b){this.pagename=b};this.modules_chooser=function(c){this.process_answer=function(g){var d=g.replace(new RegExp("[\n|\r|\f]","g"),"");var f=new RegExp('(<div\\s*?class="module_edit_presenter".*?)<div\\s*?class="content',"gi");var e=f.exec(d);var h=d.replace(f,'<div class="content');h=h.replace(new RegExp("hrefs*=s*[\"']?([^'\">]+)['\"]","i"),'href="javascript://"');d='<div class="module_preview" id="module_preview" style="height:0px;">'+h+"</div>";if(e&&e[1]){d=e[1]+d}else{d='<form name="add" method="get" enctype="multipart/form-data" class="module_edit" id="form_961517333"onsubmit="return false"><input type="hidden" name="moduleid" id="moduleid" value="'+this.moduleid+'" /><input class="add_submit" name="submit_" id="submit_" type="button" /></form>'+d}return d};this.process_content=function(o){var m;var t=YAHOO.util.Selector.query(".module_edit_presenter",o,true);var f=YAHOO.util.Selector.query(".module_preview",o,true);var d=YAHOO.util.Selector.query("form",o,true);var h=d.box_style.value;o.module=true;o.className=o.className.replace(new RegExp("box([0-9]+)","gi"),"");o.className+=" "+h;var e=YAHOO.util.Selector.query(".add_submit",d,true);var u=this;e.setAttribute("onclick","dex.page.add_module_from_form(this.form, '"+this.module_name+"')");e.onclick=function(){dex.page.add_module_from_form(this.form,u.module_name)};var q=YAHOO.util.Selector.query("select",d);m=q.length;for(var g=0;g<m;g++){q[g].setAttribute("onchange","return dex.page.get_module_preview(this)")}var l=YAHOO.util.Selector.query("input",d);m=l.length;for(var g=0;g<m;g++){if(l[g].type=="text"){l[g].setAttribute("onblur","return dex.page.get_module_preview(this)")}}var l=YAHOO.util.Selector.query("textarea",d);m=l.length;for(var g=0;g<m;g++){if(l[g].type=="text"){l[g].setAttribute("onblur","return dex.page.get_module_preview(this)")}}if(t){var s=t.firstChild.offsetHeight;var p=new YAHOO.util.Anim(t,{height:{to:s}},0.25);p.animate()}if(f){f.className="module_preview "+this.module_name;var r=f.firstChild.offsetHeight;var n=new YAHOO.util.Anim(f,{height:{to:r}},0.25);n.onComplete.subscribe(function(){f.style.height="auto"});n.animate()}};this.load_module=function(){this.dialog.load_form(dex.page.url+"/module/"+this.moduleid+"/")};var b={dialog_id:"module_form_dialog",width:"400px",process_answer:true,process_content:true};for(a in c){this[a]=c[a];b[a]=c[a]}this.dialog=new dex.dialog(this,b)};this.get_module_preview=function(b){var d,f,c;var e=b.form;var f="";document.getElementById("module_preview").innerHTML='<div class="ajax_load" style="display:block"></div>';for(d=0;e.elements[d];d++){if(e.elements[d].name){if(e.elements[d].name.trim()=="moduleid"){c=e.elements[d].value.trim()}else{f+="&"+e.elements[d].name.trim()+"="+escape(utf8_encode(e.elements[d].value.trim()))}}}YAHOO.util.Connect.asyncRequest("GET",this.url+"/module/"+c+"/?"+f,{cache:false,success:dex.page.render_module_preview,scope:this});return false};this.render_module_preview=function(b){var c=b.responseText.replace(new RegExp("[\n|\r|\f]","gi"),"");c=c.replace(new RegExp("hrefs*=s*[\"']?([^'\">]+)['\"]","gi"),'href="javascript://"');c=c.replace(new RegExp('<div class="module_edit_presenter" name="module_edit">(.*)<div class="clear"></div>',"gi"),"");YAHOO.plugin.Dispatcher.process(document.getElementById("module_preview"),c)};this.change_style=function(e,b){var c=e.parentNode.parentNode.parentNode;var d=YAHOO.util.Selector.query("form",c,true);var f=this.find_module_div(c);d.box_style.value=b;f.className=f.className.replace(new RegExp("box([0-9]+)","gi"),"");f.className+=" "+b};this.add_module_from_form=function(e,g){var d,f="",c=0;for(d=0;e.elements[d];d++){if(e.elements[d].name){if(e.elements[d].name.trim()=="moduleid"){c=e.elements[d].value.trim()}else{if(f!=""){f+="&"}f+=e.elements[d].name.trim()+"="+escape(utf8_encode(e.elements[d].value.trim()))}}}close_active_dialog("module_form_dialog");var b=this.create_module(c,g,f);this.toggle_admin_tab();TF.Scroller.anchorScroll(b.id);return false};this.add_module=function(d,c){var b=this.modules.length;var e=d.id;this.modules[b]=new dex.module(e,b,c);this.modules[b].render();this.module_refs[e]=b};this.create_module=function(e,l,h){var d=document.createElement("DIV");var b=h.match(new RegExp("box([0-9]+)","i"));d.className="object module"+e;if(l){d.className+=" "+l}if(b&&b[0]){d.className+=" "+b[0]}d.id="object_0_0_0_"+Math.ceil(Math.random()*99999)+"_mid"+e;var c=this.get_shortest_col();c.appendChild(d);var f=this.modules.length;this.modules[f]=new dex.module(d.id,f);this.modules[f].need_to_save_changes=true;this.module_refs[d.id]=f;if(h){this.modules[f].refresh(e,h)}else{this.modules[f].refresh(e)}return d};this.get_shortest_col=function(){var e;var d=0;var b=this.container.length-1;var f=this.container[b].childNodes;var b=f.length;for(e=0;e<b;e++){if(f[e].nodeName=="DIV"&&f[e].className=="column"&&(d>f[e].offsetHeight||!d)){d=f[e].offsetHeight;longestelm=f[e]}}return longestelm};this.get_page_colors=function(){if(!this.css_link||!this.css_link.parentNode){this.css_link=document.getElementById("css_link");this.css_link_base=this.css_link.href.split("?")[0];this.colors=new Array();var d="";var c="";if(this.css_link.href.indexOf("?")!=-1){var f=this.css_link.href.split("?")[1];var e=f.split("&");for(var b=0;b<e.length;++b){d=e[b].split("=");if(d[0]=="bg"){this.bg=d[1]}else{if(d[0]!="time"){this.colors[d[0]]=d[1]}}}}}return this.colors};this.reload_css=function(){if(!this.css_link||!this.css_link.parentNode){this.css_link=document.getElementById("css_link")}YAHOO.plugin.Dispatcher.cssLoader(this.css_link.href,{cache:false,override:true,styleElement:"css_link"})};this.set_page_color=function(e,d){this.colors[e]=d;var c=this.css_link_base+"?";c+=e+"="+d;for(var b in this.colors){if(b!=e){c+="&"+b;if(this.colors[b]){c+="="+this.colors[b]}}}c+="&bg="+this.bg;this.css_link.href=c;this.reload_css();return this.colors};this.set_color=function(b){this.get_page_colors();this.set_page_color("color",b);this.changes_where_made()};this.set_navcolor1=function(b){this.get_page_colors();this.set_page_color("navcolor1",b);this.changes_where_made()};this.set_navcolor2=function(b){this.get_page_colors();this.set_page_color("navcolor2",b);this.changes_where_made()};this.set_fontcolor=function(b){this.get_page_colors();this.set_page_color("fontcolor",b);this.changes_where_made()};this.set_linkcolor=function(b){this.get_page_colors();this.set_page_color("linkcolor",b);this.changes_where_made()};this.set_linkcolor1=function(b){this.get_page_colors();this.set_page_color("linkcolor1",b);this.changes_where_made()};this.set_linkcolor2=function(b){this.get_page_colors();this.set_page_color("linkcolor2",b);this.changes_where_made()};this.set_bgcolor=function(b){this.get_page_colors();this.set_page_color("bgcolor",b);this.changes_where_made()};this.set_boxcolor=function(b){this.get_page_colors();this.set_page_color("boxcolor",b);this.changes_where_made()};this.set_boxbordercolor=function(b){this.get_page_colors();this.set_page_color("boxbordercolor",b);this.changes_where_made()};this.changes_where_made=function(){this.save()};this.dont_forget_to_save=function(){return"You made changes to this page. If you click OK you will loose them."};this.set_signature_hash=function(b){this.signature_hash=b};this.save=function(){var f="method=save_layout";var q,e,p,r,m,t,c,o,x,d,w;t=0;for(q=0;this.container[q];q++){c=0;e=this.container[q].childNodes;for(p=0;p<e.length;p++){if(e[p].id&&e[p].id.substring(0,6)=="column"){r=e[p].childNodes;c++;for(m=0;m<r.length;m++){if(r[m].id&&r[m].id.substring(0,6)=="object"){x=r[m].id.split("_")[5];f+="&module["+t+"]="+(q+1)+"_"+c+"_"+t+"_"+m+"_"+x;if(!(this.module_refs[r[m].id]==null)){d=this.modules[this.module_refs[r[m].id]].get_settings();for(w=0;d[w];w++){if(d[w].name){f+="&module_settings["+t+"]["+d[w].name.trim()+"] = "+d[w].value.trim()}}}t++}}}}}var b=this.get_page_colors();var u=document.getElementById("page").className.split(" ")[0];var v=document.getElementById("page").className.split(" ")[1];f+="&page_name="+u+"&type="+v;for(var q in b){if(b[q]){f+="&"+q+"="+b[q]}}if(this.signature_hash){YAHOO.util.Connect.initHeader("X-Signature",this.signature_hash)}var n=YAHOO.util.Connect.asyncRequest("POST",this.url+"json/save_layout/",{},f)};this.fix=function(b){if(!b){b="fix"}for(a=0;this.container[a];a++){if(b=="fix"){YAHOO.util.Dom.setStyle(this.container[a],"overflow","hidden")}else{YAHOO.util.Dom.setStyle(this.container[a],"overflow","visible")}if(this.container[a].className.indexOf("editable")!=-1){this.set_columns_height(b)}}};this.set_columns_height=function(f){var e,d,c,b;if(!(f=="auto"||f=="fix")){return false}for(e=0;this.container[e];e++){b=Math.ceil(this.container[e].offsetHeight);c=this.container[e].childNodes;for(d=0;d<c.length;d++){if(c[d].className=="column"){YAHOO.util.Dom.setStyle(c[d],"height","auto")}}}if(f=="auto"){return}for(e=0;this.container[e];e++){b=Math.ceil(this.container[e].offsetHeight);c=this.container[e].childNodes;for(d=0;d<c.length;d++){if(c[d].className=="column"){YAHOO.util.Dom.setStyle(c[d],"height",b+"px")}}}};this.toggle_admin_tab=function(c,d){this.load_admin_module=function(l,m){var f=document.getElementById("edit_page_tab");var h=document.getElementById("edit_page_module");h.innerHTML="";dex.put_ajaxon(h);YAHOO.util.Dom.setStyle(f,"height","0px");f.style.display="block";var g=h.offsetHeight;var n=new YAHOO.util.Anim("edit_page_tab",{height:{to:g}},0.3);n.onComplete.subscribe(function(){var o=dex.page.url+"/module/"+dex.page.admin_module+"/?page="+document.getElementById("page").className.split(" ")[0]+m;YAHOO.plugin.Dispatcher.fetch("edit_page_module",o,{cache:false,onLoad:function(){dex.page.show_admin_module()}})});n.animate();dex.page.admin_tab="loading";dex.page.admin_module=l;dex.page.params_string=m};this.show_admin_module=function(){document.getElementById("edit_page_tab").style.display="block";var g=document.getElementById("edit_page_module");var f=g.offsetHeight;var h=new YAHOO.util.Anim("edit_page_tab",{from:0,height:{to:f}},0.5,YAHOO.util.Easing.easeOut);h.onComplete.subscribe(function(){dex.page.admin_tab="visible";YAHOO.util.Dom.setStyle(document.getElementById("edit_page_tab"),"height","auto")});h.animate();dex.page.admin_tab="showing"};this.hide_admin_module=function(g){var f=new YAHOO.util.Anim("edit_page_tab",{height:{to:0}},0.5,YAHOO.util.Easing.easeOut);f.onComplete.subscribe(function(){dex.page.admin_tab="";document.getElementById("edit_page_tab").style.display="none";if(g){g()}});f.animate();dex.page.admin_tab="hidding"};params_string="";if(d){for(var b in d){params_string+="&"+b+"="+d[b]}}this.fix("auto");if(dex.page.admin_module&&dex.page.admin_module==c&&dex.page.params_string==params_string){if(dex.page.admin_tab==""){this.show_admin_module()}else{this.hide_admin_module()}}else{var e=false;if(c){e=function(){dex.page.load_admin_module(c,params_string)}}this.hide_admin_module(e)}};this.render=function(){if(!getCookie("sid")||!getCookie("i")){var c=getElementsByClass("requirelogin",null,"a");if(c){var h=c.length;for(var m=0;m<h;m++){var n=c[m].getAttribute("onclick");var d=c[m].getAttribute("href");c[m].onclick=function(){new dex.login(function(){});return false};c[m].href="javascript://"}}}var c=YAHOO.util.Selector.query(".afterload");if(c){var h=c.length;for(var m=0;m<h;m++){c[m].style.display="block"}}var b;this.url=this.get_post_path();for(m=0;this.container[m];m++){var g=this.container[m].childNodes;for(j=0;j<g.length;j++){if(g[j].id&&g[j].id.substring(0,6)=="column"){var e=(this.container[m].className.indexOf("editable")!=-1);if(e){new YAHOO.util.DDTarget(g[j].id)}var f=g[j].childNodes;for(k=0;k<f.length;k++){if(f[k].id&&f[k].id.substring(0,6)=="object"){this.add_module(f[k],e)}}}}}};this.change_source=function(b){var c=b.form.source;if(parseInt(b[b.selectedIndex].value)){c.disabled=false}else{c.disabled=true}};this.find_module_div=function(c){var b=dex.find_enclosing_div(c);if(b){if(b.module){return b}else{if(b.parentNode){return this.find_module_div(b.parentNode)}}}return false};this.find_module=function(c){var b=this.find_module_div(c);if(b){return b.module}return false};this.get_post_path=function(){var b=window.location.protocol+"//"+window.location.host+"/"+this.type+"/"+this.nodeid+"/";return b};this.load_module_from_form=function(c,b){this.modules[c].load_from_form(b)};var a;this.container=new Array;this.modules=new Array;this.admin_tab="";this.module_refs=new Array;for(a=0;document.getElementById("container_"+(a+1));a++){this.container[a]=document.getElementById("container_"+(a+1))}YAHOO.util.Dom.addClass(this.container[0].parentNode,"drag_enable")};dex.module=function(c,b,a){this.div_id=c;this.module_index=b;this.div=document.getElementById(c);this.div.module=this;this.url=dex.page.url;this.module_id=this.div.className.match(new RegExp("module[0-9]+","gi"))[0].substr(6);if(typeof(a)=="undefined"){this.editable=true}else{this.editable=a}this.on_render=function(d){YAHOO.plugin.Dispatcher.process(this.div,d.responseText);this.div=document.getElementById(this.div_id);this.div.module=this;this.render();if(this.need_to_save_changes){dex.page.changes_where_made();this.need_to_save_changes=false}};this.render=function(){if(this.editable){var f=this.div.getElementsByTagName("H3")[0];if(f&&f.className=="headline"){var d=new YAHOO.dex.DDmodule(this.div_id);d.setHandleElId(f);this.editor_presenter=YAHOO.util.Selector.query(".module_edit_presenter",this.div,true);if(this.editor_presenter){this.editor=YAHOO.util.Selector.query(".module_edit_holder",this.editor_presenter,true);this.form=YAHOO.util.Selector.query(".module_edit",this.editor,true)}if(this.form){edit_btn=YAHOO.util.Selector.query(".edit",f,true);close_btn=YAHOO.util.Selector.query(".close",f,true);if(edit_btn){edit_btn.module_index=this.module_index;YAHOO.util.Event.addListener(edit_btn,"click",function(g){dex.page.modules[b].edit()},0,this)}if(close_btn){YAHOO.util.Event.addListener(close_btn,"click",function(g){this.remove(g)},0,this)}var e=YAHOO.util.Selector.query(".add_submit",this.form,true);e.module_index=this.module_index;e.setAttribute("onclick","dex.page.load_module_from_form(this.module_index, this.form)");e.onclick=function(){dex.page.load_module_from_form(this.module_index,this.form)}}}}};this.set_style=function(g){var e=this.div.className.split(" ");var d="";for(var f=0;f<e.length;f++){if(e[f].indexOf("box")!=-1){e[f]=""}d+=" "+e[f]}d+=" "+g;this.div.className=d;this.edit()};this.load_from_form=function(e){var d=parseInt(e.moduleid.value);var f="";for(i=0;i<e.length;i++){if(e[i].name){f+="&"+e[i].name+"="+escape(utf8_encode(e[i].value))}}if(e.box_style){this.set_style(e.box_style.value)}this.refresh(d,f);this.need_to_save_changes=true;return false};this.refresh=function(d,e){if(!d){d=this.module_id}if(!e){e=""}dex.overlay_ajaxon(this.div);YAHOO.util.Connect.asyncRequest("POST",this.url+"/module/"+d+"/",{success:function(f){this.on_render(f)},scope:this},e);return false};this.get_settings=function(){if(this.form){return this.form.elements}else{return false}};this.edit=function(){if(this.editor.style.display=="block"){var e=this;var f=0;var d=new YAHOO.util.Anim(this.editor_presenter,{height:{to:f}},0.3);var g=new YAHOO.util.Anim(this.editor,{opacity:{to:0}},0.3);g.onComplete.subscribe(function(){e.editor.style.display="none"});d.animate();g.animate()}else{this.editor.style.display="block";var f=this.editor.offsetHeight;var d=new YAHOO.util.Anim(this.editor_presenter,{height:{to:f}},0.3);var g=new YAHOO.util.Anim(this.editor,{opacity:{to:1}},0.3);d.animate();g.animate()}return false};this.remove=function(h){var g=YAHOO.util.Event.getTarget(h);var d=dex.page.find_module_div(g);if(d){var f=new YAHOO.util.Anim(d,{height:{to:0},opacity:{to:0}},0.3);f.onComplete.subscribe(function(){d.parentNode.removeChild(d);dex.page.changes_where_made()});f.animate()}}};YAHOO.dex=function(){};YAHOO.dex.DDmodule=function(d,a,b){YAHOO.dex.DDmodule.superclass.constructor.call(this,d,a,b);this.logger=this.logger||YAHOO;var c=this.getDragEl();Dom.setStyle(c,"opacity",0.67);this.goingUp=false;this.lastY=0;this.drop_destination_wrapper=document.createElement("div");this.drop_destination_wrapper.className="object_drop_destination_wrapper";this.drop_destination_dummy=document.createElement("div");Dom.setStyle(this.drop_destination_dummy,"visibility","hidden");this.drop_destination_wrapper.appendChild(this.drop_destination_dummy)};YAHOO.extend(YAHOO.dex.DDmodule,YAHOO.util.DDProxy,{startDrag:function(a,d){dex.page.fix("fix");var b=this.getDragEl();this.draggedElement=this.getEl();var c=this.draggedElement.innerHTML.replace(/id=\"[^\"]*\"/gi,"");this.drop_destination_dummy.innerHTML=c;b.innerHTML=c;Dom.replaceClass(b,this.draggedElement.className);Dom.setStyle(b,"border",0);Dom.setStyle(this.draggedElement,"display","none");this.draggedElement.parentNode.insertBefore(this.drop_destination_wrapper,this.draggedElement)},endDrag:function(f){var d=YAHOO.util.Dom;var c=this.getDragEl();d.setStyle(c,"visibility","");var b=new YAHOO.util.Motion(c,{points:{to:d.getXY(this.drop_destination_wrapper)}},0.2,YAHOO.util.Easing.easeOut);this.draggedElement.parentNode.removeChild(this.draggedElement);this.drop_destination_wrapper.parentNode.insertBefore(this.draggedElement,this.drop_destination_wrapper);b.onComplete.subscribe(function(){this.drop_destination_wrapper.parentNode.removeChild(this.drop_destination_wrapper);d.setStyle(c,"visibility","hidden");d.setStyle(this.draggedElement,"display","block");dex.page.fix("auto");dex.page.changes_where_made()},this,this);b.animate()},onDrag:function(a){Event=YAHOO.util.Event;var b=Event.getPageY(a);if(b<this.lastY){this.goingUp=true}else{if(b>this.lastY){this.goingUp=false}}this.lastY=b},onDragOver:function(f,g){var a=Dom.get(g);if(a.nodeName.toLowerCase()=="div"){var c=YAHOO.util.DragDropMgr;if(a.className.toLowerCase().substring(0,6)=="object"){var d=a.parentNode;if(this.goingUp){d.insertBefore(this.drop_destination_wrapper,a)}else{d.insertBefore(this.drop_destination_wrapper,a.nextSibling)}}else{if(a.className.toLowerCase().substring(0,6)=="column"){if(this.drop_destination_wrapper.parentNode!=a){a.appendChild(this.drop_destination_wrapper)}}}c.refreshCache();var b=this.getDragEl();b.style.width=this.drop_destination_wrapper.offsetWidth+"px";b.style.height=this.drop_destination_wrapper.offsetHeight+"px"}}});Dom=YAHOO.util.Dom;