dojo.provide("cocoon");
dojo.provide("cocoon.ajax.insertion");
dojo.require("dojo.dom");
cocoon.ajax.insertion={};
dojo.lang.mixin(cocoon.ajax.insertion,{before:function(_1,_2){
return cocoon.ajax.insertionHelper.insert(_1,_2,function(_3,_4){
_3.parentNode.insertBefore(_4,_3);
});
},after:function(_5,_6){
return cocoon.ajax.insertionHelper.insert(_5,_6,function(_7,_8){
if(_7.nextSibling){
_7.parentNode.insertBefore(_8,_7.nextSibling);
}else{
_7.parentNode.appendChild(_8);
}
});
},top:function(_9,_a){
return cocoon.ajax.insertionHelper.insert(_9,_a,function(_b,_c){
if(_b.firstChild){
_b.insertBefore(_c,_b.firstChild);
}else{
_b.appendChild(_c);
}
});
},bottom:function(_d,_e){
return cocoon.ajax.insertionHelper.insert(_d,_e,function(_f,_10){
_f.appendChild(_10);
});
},inside:function(_11,_12){
return cocoon.ajax.insertionHelper.insert(_11,_12,function(_13,_14){
while(_13.hasChildNodes()){
var _15=_13.firstChild;
if(_15.nodeType==dojo.dom.ELEMENT_NODE){
cocoon.ajax.insertionHelper.destroy(_15);
}
_13.removeChild(_15);
}
_13.appendChild(_14);
});
},replace:function(_16,_17){
return cocoon.ajax.insertionHelper.insert(_16,_17,function(_18,_19){
_18.parentNode.replaceChild(_19,_18);
cocoon.ajax.insertionHelper.destroy(_18);
});
}});
cocoon.ajax.insertionHelper={};
dojo.lang.mixin(cocoon.ajax.insertionHelper,{importNode:function(_1a,_1b){
if(_1a.xml||dojo.lang.isString(_1a)){
var _1c=dojo.lang.isString(_1a)?_1a:_1a.xml;
var div=_1b.createElement("DIV");
var _1e="(?:<script.*?>)((\n|\r|.)*?)(?:</script>)";
var _1f=_1c.replace(new RegExp(_1e,"img"),"");
var _20="(<textarea[^<]*)/>";
var _21=_1f.match(_20);
var _22=_1f.replace(new RegExp(_20,"img"),"$1></textarea>");
div.innerHTML=_22;
var _23=new RegExp(_1e,"img");
var _24=new RegExp(_1e,"im");
var _25=_1c.match(_23);
var _26=new Array();
if(_25){
for(var i=0;i<_25.length;i++){
_26.push(_25[i].match(_24)[1]);
}
}
return {element:dojo.dom.getFirstChildElement(div),scripts:_26};
}else{
var _26=new Array();
var _28=this._importDomNode(_1a,_1b,_26);
return {element:_28,scripts:_26};
}
},_importDomNode:function(_29,_2a,_2b){
switch(_29.nodeType){
case dojo.dom.ELEMENT_NODE:
if(_29.nodeName.toLowerCase()=="script"){
_2b.push(_29.firstChild&&_29.firstChild.nodeValue);
return;
}
var _2c=_2a.createElement(_29.nodeName);
var _2d=_29.attributes;
for(var i=0;i<_2d.length;i++){
var _2f=_2d[i];
_2c.setAttribute(_2f.nodeName,_2f.nodeValue);
}
var _30=_29.childNodes;
for(var j=0;j<_30.length;j++){
var _32=this._importDomNode(_30[j],_2a,_2b);
if(_32){
_2c.appendChild(_32);
}
}
return _2c;
break;
case dojo.dom.TEXT_NODE:
return _2a.createTextNode(_29.nodeValue);
break;
case dojo.dom.CDATA_SECTION_NODE:
return _2a.createTextNode(_29.nodeValue);
break;
}
},_runScripts:function(_33){
for(var i=0;i<_33.scripts.length;i++){
eval(_33.scripts[i]);
}
},insert:function(_35,_36,_37){
_35=dojo.byId(_35,_36);
var _38=this.importNode(_36,_35.ownerDocument);
_37(_35,_38.element);
this._runScripts(_38);
return this.parseDojoWidgets(_38.element);
},destroy:function(_39){
var _3a=dojo.widget.byNode(_39);
if(_3a){
_3a.destroy(true,true);
}else{
var _3b=_39.childNodes;
for(var i=0;i<_3b.length;i++){
var _3d=_3b[i];
if(_3d.nodeType==dojo.dom.ELEMENT_NODE){
this.destroy(_3d);
}
}
}
},parseDojoWidgets:function(_3e){
var _3f=this.findParentWidget(_3e);
var _40=new dojo.xml.Parse();
var div=document.createElement("DIV");
_3e.parentNode.replaceChild(div,_3e);
div.appendChild(_3e);
var _42=_40.parseElement(div,null,true);
dojo.widget.getParser().createComponents(_42,_3f);
_3e=div.firstChild;
div.parentNode.replaceChild(_3e,div);
_3f&&_3f.onResized();
return _3e;
},findParentWidget:function(_43){
var _44=_43.parentNode;
var _45;
while(_44&&!_45){
var _45=dojo.widget.byNode(_44);
if(_45){
return _45;
}
_44=_44.parentNode;
}
}});
dojo.require("dojo.dom");
dojo.require("dojo.html");
dojo.provide("cocoon.ajax.BUHandler");
cocoon.ajax.BUHandler=function(){
};
cocoon.ajax.BUHandler.fade=function(_46){
dojo.require("dojo.fx.*");
dojo.fx.highlight(element,dojo.graphics.color.hex2rgb("#ffc"),700,300);
};
dojo.lang.extend(cocoon.ajax.BUHandler,{highlight:null,processResponse:function(doc,_48){
var _49=doc.documentElement;
var _4a=[];
if(_49.nodeName.toLowerCase()=="bu:document"){
_4a=_49.childNodes;
dojo.debug("got response using: XMLHTTPTransport");
}else{
_49=dojo.byId("browser-update",doc);
if(_49){
_4a=_49.childNodes;
dojo.debug("got response using: IframeTransport");
}else{
this.handleError("No response data found",doc);
}
}
for(var i=0;i<_4a.length;i++){
var _4c=_4a[i];
if(_4c.nodeType==dojo.dom.ELEMENT_NODE){
var _4d=_4c.nodeName.replace(/.*:/,"").toLowerCase();
if(_4d=="textarea"){
_4d=_4c.getAttribute("name");
}
var _4e=this.handlers[_4d];
if(_4e){
_4e(_4c);
}else{
this.handleError("No handler found for element "+_4d,doc);
}
}
}
},handleError:function(_4f,_50){
if(confirm(_4f+"\nShow server response?")){
var w=window.open(undefined,"Cocoon Error","location=no,resizable=yes,scrollbars=yes");
if(w==undefined){
alert("You must allow popups from this server to display the response.");
}else{
var doc=w.document;
if(_50.responseText){
doc.open();
doc.write(_50.responseText);
doc.close();
}else{
if(_50.childNodes){
dojo.dom.copyChildren(doc,_50);
}
}
}
}
},handlers:{replace:function(_53){
var id=_53.getAttribute("id");
if(!id){
alert("no id found on update element");
return;
}
var _55=dojo.dom.getFirstChildElement(_53);
if(!_55&&_53.nodeName.toLowerCase()=="textarea"){
_55=dojo.dom.createDocumentFromText(_53.value).documentElement;
}
var _56=document.getElementById(id);
if(!_56){
alert("no element '"+id+"' in source document");
return;
}
var _57=cocoon.ajax.insertion.replace(_56,_55);
if(this.highlight){
this.highlight(_57);
}
}}});
var forms_onloadHandlers=new Array();
function forms_onload(){
for(var i=0;i<forms_onloadHandlers.length;i++){
forms_onloadHandlers[i].forms_onload();
}
forms_onloadHandlers=new Array();
}
var forms_onsubmitHandlers=new Array();
function forms_onsubmit(){
if(forms_onsubmitHandlers==null){
return false;
}
for(var i=0;i<forms_onsubmitHandlers.length;i++){
if(forms_onsubmitHandlers[i].forms_onsubmit()==false){
return false;
}
}
forms_onsubmitHandlers=null;
return true;
}
function oldforms_submitForm(_5a,_5b){
_5b=_5b||_5a.name;
var _5c=forms_getForm(_5a);
if(_5c==null){
alert("Cannot find form for "+_5a);
}else{
_5c["forms_submit_id"].value=_5b;
if(!_5c.onsubmit||_5c.onsubmit()!=false){
_5c.submit();
}
}
}
function forms_getForm(_5d){
while(_5d!=null&&_5d.tagName!=null&&_5d.tagName.toLowerCase()!="form"){
_5d=_5d.parentNode;
}
return _5d;
}
function forms_moveInBody(_5e){
_5e.parentNode.removeChild(_5e);
document.body.appendChild(_5e);
}
function forms_createPopupWindow(id){
var _60=new PopupWindow(id);
_60.autoHide();
_60.forms_id=id;
_60.forms_onload=function(){
forms_moveInBody(document.getElementById(this.forms_id));
};
forms_onloadHandlers.push(_60);
return _60;
}
function forms_createOptionTransfer(id,_62){
var _63=new OptionTransfer(id+".unselected",id);
_63.setAutoSort(true);
_63.forms_id=id+":input";
_63.forms_onload=function(){
var _64=forms_getForm(document.getElementById(this.forms_id));
this.init(_64);
sortSelect(this.left);
sortSelect(this.right);
};
_63.submitOnChange=_62;
_63.forms_transferLeft=function(){
this.transferLeft();
if(this.submitOnChange){
forms_submitForm(document.getElementById(this.forms_id));
}
};
_63.forms_transferRight=function(){
this.transferRight();
if(this.submitOnChange){
forms_submitForm(document.getElementById(this.forms_id));
}
};
_63.forms_transferAllLeft=function(){
this.transferAllLeft();
if(this.submitOnChange){
forms_submitForm(document.getElementById(this.forms_id));
}
};
_63.forms_transferAllRight=function(){
this.transferAllRight();
if(this.submitOnChange){
forms_submitForm(document.getElementById(this.forms_id));
}
};
forms_onloadHandlers.push(_63);
_63.forms_onsubmit=function(){
selectAllOptions(this.right);
};
forms_onsubmitHandlers.push(_63);
return _63;
}
function forms_showTab(_65,idx,_67,_68){
if(_68.length>0){
document.getElementById(_68).value=idx;
}
for(var i=0;i<_67;i++){
var tab=document.getElementById(_65+"_tab_"+i);
if(tab!=null){
tab.className=(i==idx)?"forms-tab forms-activeTab":"forms-tab";
}
var _6b=document.getElementById(_65+"_items_"+i);
if(_6b!=null){
_6b.style.display=(i==idx)?"":"none";
if(i==idx&&window.onTabShownHandlers!=null&&window.onTabShownHandlers[_65]!=null){
var _6c=window.onTabShownHandlers[_65][_65+"_items_"+i];
if(_6c!=null){
eval(_6c);
}
}
}
}
}
function FormsMultiValueEditor(id){
this.select=document.getElementById(id+":input");
this.entry=document.getElementById(id+":entry");
var _6e=this;
this.entry.onkeypress=function(_6f){
return _6e.processInputKey(_6f);
};
this.select.onkeydown=function(_70){
return _6e.processSelectKey(_70);
};
this.select.onchange=function(_71){
return _6e.processSelectChange(_71);
};
var _72=document.getElementById(id+":delete");
_72.onclick=function(){
_6e.deleteValues();
return false;
};
var _73=document.getElementById(id+":up");
_73.onclick=function(){
_6e.moveUp();
return false;
};
var _74=document.getElementById(id+":down");
_74.onclick=function(){
_6e.moveDown();
return false;
};
var _75=new Object();
_75.forms_onsubmit=function(){
_6e.selectAll();
};
forms_onsubmitHandlers.push(_75);
}
FormsMultiValueEditor.prototype.processInputKey=function(_76){
if(_76==null){
_76=window.event;
}
if(_76.keyCode==13||_76.keyCode==10){
var _77=this.entry;
var _78=this.select;
var _79=_77.value;
if(_79==null||_79==""){
return false;
}
var _7a=_76.ctrlKey;
var _7b=-1;
for(var i=0;i<_78.options.length;i++){
if(_78.options[i].selected&&_7a&&_7b==-1){
_7b=i;
}
_78.options[i].selected=false;
}
if(_7b==-1){
_7b=_78.options.length;
}
_78.options[_7b]=new Option(_79,_79,false,true);
_77.value="";
return false;
}else{
return true;
}
};
FormsMultiValueEditor.prototype.processSelectKey=function(_7d){
if(_7d==null){
_7d=window.event;
}
if(_7d.keyCode==46){
this.deleteValues();
return false;
}else{
if(_7d.ctrlKey&&_7d.keyCode==38){
this.moveUp();
return false;
}else{
if(_7d.ctrlKey&&_7d.keyCode==40){
this.moveDown();
return false;
}
}
}
};
FormsMultiValueEditor.prototype.deleteValues=function(){
var _7e=this.select.options;
var i=0;
var _80=-1;
while(i<_7e.length){
if(_7e[i].selected){
_7e[i]=null;
_80=i;
}else{
i++;
}
}
if(_80!=-1){
if(_7e.length>_80){
_7e[_80].selected=true;
}else{
if(_80-1>=0){
_7e[_80-1].selected=true;
}
}
}
};
FormsMultiValueEditor.prototype.processSelectChange=function(){
var _81=this.select.options;
for(var i=0;i<_81.length;i++){
if(_81[i].selected){
this.entry.value=_81[i].value;
break;
}
}
};
FormsMultiValueEditor.prototype.moveUp=function(){
var _83=this.select.options;
if(_83.length==0){
return;
}
if(_83[0].selected){
return;
}
for(var i=0;i<_83.length;i++){
if(_83[i].selected){
var _85=this.cloneOption(_83[i-1]);
var _86=this.cloneOption(_83[i]);
_83[i-1]=_86;
_83[i]=_85;
}
}
};
FormsMultiValueEditor.prototype.cloneOption=function(_87){
return new Option(_87.text,_87.value,false,_87.selected);
};
FormsMultiValueEditor.prototype.moveDown=function(){
var _88=this.select.options;
if(_88.length==0){
return;
}
if(_88[_88.length-1].selected){
return;
}
for(var i=_88.length-1;i>=0;i--){
if(_88[i].selected){
var _8a=this.cloneOption(_88[i+1]);
var _8b=this.cloneOption(_88[i]);
_88[i+1]=_8b;
_88[i]=_8a;
}
}
};
FormsMultiValueEditor.prototype.selectAll=function(){
var _8c=this.select.options;
for(var i=0;i<_8c.length;i++){
_8c[i].selected=true;
}
};
if(dojo){
dojo.provide("cocoon.forms");
dojo.provide("cocoon.forms.common");
}else{
cocoon=cocoon||{};
cocoon.forms=cocoon.forms||{};
}
cocoon.forms.getForm=function(_8e){
while(_8e!=null&&_8e.tagName!=null&&_8e.tagName.toLowerCase()!="form"){
_8e=_8e.parentNode;
}
return _8e;
};
cocoon.forms.submitForm=function(_8f,_90){
var _91=this.getForm(_8f);
if(_91==null){
alert("Cannot find form for "+_8f);
return;
}
if(!_90){
_90=_8f.name;
}
var _92=_91.getAttribute("dojoWidgetId");
if(_92){
dojo.widget.byId(_92).submit(_90);
}else{
_91["forms_submit_id"].value=_90;
if(!_91.onsubmit||_91.onsubmit()!=false){
_91.submit();
}
}
};
forms_submitForm=function(){
cocoon.forms.submitForm.apply(cocoon.forms,arguments);
};
dojo.provide("cocoon.forms.CFormsForm");
dojo.require("dojo.event");
dojo.require("dojo.widget.DomWidget");
dojo.widget.defineWidget("cocoon.forms.CFormsForm",dojo.widget.DomWidget,{widgetType:"CFormsForm",isContainer:true,buildRendering:function(_93,_94,_95){
this.domNode=_94["dojo:"+this.widgetType.toLowerCase()].nodeRef;
this.id=this.domNode.getAttribute("id");
this.domNode.setAttribute("dojoWidgetId",this.widgetId);
dojo.event.connect("around",this.domNode,"onsubmit",this,"_browserSubmit");
dojo.event.connect(this.domNode,"onclick",this,"_grabClickTarget");
},_grabClickTarget:function(_96){
this.lastClickTarget=dojo.html.getEventTarget(_96);
},_browserSubmit:function(_97){
if(_97.proceed()==false){
return false;
}
var _98=_97.args[0]||window.event;
var _99=this.lastClickTarget;
this.submit(_99&&_99.name);
return false;
},submit:function(_9a,_9b){
var _9c=this.domNode;
var _9d=this;
var _9e="text/xml";
if(!_9b){
_9b={};
}
document.body.style.cursor="wait";
var uri=_9c.getAttribute("ajax-action").replace(/&amp;/g,'&');
if(!uri){
uri=_9c.action;
}
if(uri==""){
uri=document.location;
}
_9c["forms_submit_id"].value=_9a;
_9b["cocoon-ajax"]=true;
if(dojo.io.formHasFile(_9c)){
if(dojo.render.html.safari){
_9c.submit();
return;
}
dojo.require("dojo.io.IframeIO");
_9e="text/html";
}
dojo.io.bind({url:uri,handle:function(_a0,_a1,evt){
_9d._handleBrowserUpdate(_9d,_9a,_a0,_a1,evt);
},method:"post",mimetype:_9e,content:_9b,formNode:_9c,sendTransport:true});
if(_9c[_9a]){
_9c[_9a].disabled=true;
}
},_handleBrowserUpdate:function(_a3,_a4,_a5,_a6,evt){
document.body.style.cursor="auto";
if(this.domNode[_a4]){
this.domNode[_a4].disabled=false;
}
var _a8=new cocoon.ajax.BUHandler();
if(_a5=="load"){
if(!_a6){
cocoon.ajax.BUHandler.handleError("No xml answer",_a6);
return;
}
_a8.handlers["continue"]=function(){
_a3._continue();
};
_a8.processResponse(_a6,evt);
}else{
if(_a5=="error"){
_a8.handleError("Request failed",_a6);
}else{
}
}
},_continue:function(){
var _a9=this.domNode;
if(_a9.method.toLowerCase()=="post"){
var div=document.createElement("div");
var _ab="<form action='"+_a9.action.replace(/&/g,'&amp;')+"' method='POST'>"+"<input type='hidden' name='cocoon-ajax-continue' value='true'/>";
if(_a9.elements["continuation-id"]){
_ab+="<input type='hidden' name='continuation-id' value='"+_a9.elements["continuation-id"].value+"'/>";
}
_ab+="</form>";
div.innerHTML=_ab;
document.body.appendChild(div);
div.firstChild.submit();
}else{
var _ac="?cocoon-ajax-continue=true";
if(_a9.elements["continuation-id"]){
_ac+="&continuation-id="+_a9.elements["continuation-id"].value;
}
window.location.href=_a9.action+_ac;
}
}});
dojo.io.checkChildrenForFile=function(_ad){
var _ae=false;
var _af=_ad.getElementsByTagName("input");
dojo.lang.forEach(_af,function(_b0){
if(_ae){
return;
}
if(_b0.getAttribute("type")=="file"&&!_b0.disabled){
_ae=true;
}
});
return _ae;
};

