/**
 * muntilan package
 * 
 * @author donna iwan setiawan
 * @version 1 
 * copyright - (c) 2007 - 2008 donna iwan setiawan
 * license - GPL version 3 or any later version <http://www.gnu.org/licenses/gpl-3.0.txt>
 */
doi.muntilanjs=new function(){var A={};return{redrawSequenceNumber:function(F){if(doi.dom.isUndefined(F)){F="0"}var G=doi.dom.$("#muntilanjs-list-"+F+"-id");if(!G){return false}var E=A[F];if(!E.data.showSequenceNumber){return false}var C=G.childNodes[0].childNodes[0];var B=C.rows.length;for(var D=1;D<B;D++){C.childNodes[D].childNodes[0].innerHTML=D}},del:function(I,F){if(doi.dom.isUndefined(F)){F="0"}if(confirm("Are You sure You want to delete this record?")){var E=I.parentNode.parentNode;var C=E.parentNode;A[F].data.remove(E.rowIndex-1);C.removeChild(E);var B=C.rows.length;for(var D=1;D<B;D++){if(D%2==0){var G="doi_row_2"}else{var G="doi_row_1"}C.rows[D].className=G}}this.redrawSequenceNumber(F);var H=null;if(doi.widget.modalBox2&&doi.widget.modalBox2.visible()){H=doi.widget.modalBox2}else{if(doi.widget.modalBox1&&doi.widget.modalBox1.visible()){H=doi.widget.modalBox1}else{if(doi.widget.modalBox&&doi.widget.modalBox.visible()){H=doi.widget.modalBox}}}if(H){H.resize()}return false},insert:function(Q){var Y=arguments[1]||[];var M=A[Q];if(M){var V={};for(var K=0;K<Y.length;K++){if(M.unique.isUnique(K)){if(M.data.findByIndex(K,Y[K])){alert("Duplicate data found. Could not insert data.");return false}}var I=M.data.getLabel(K);if(I){V[I]=Y[K]}}M.data.push(V)}if(doi.dom.isUndefined(Q)){Q="0"}var N=doi.dom.$("#muntilanjs-list-"+Q+"-id");if(!N){return false}var B=N.childNodes[0].childNodes[0];var T=B.rows.length-1;var X=document.createElement("tr");if(T%2==0){var W="doi_row_1"}else{var W="doi_row_2"}X.className=W;doi.event.add(X,"mouseover",function(){this.className="doi_row_hover"});doi.event.add(X,"mouseout",function(){this.className=W});B.appendChild(X);if(M.data.showSequenceNumber){var H=document.createElement("td");X.appendChild(H);H.setAttribute("align","right");H.innerHTML="&nbsp;"}var G=this.get(Q).html;for(var S=0;S<G.length;S++){var H=document.createElement("td");X.appendChild(H);var P=M.data.getAlign(S);var F=M.data.getValign(S);H.setAttribute("align",P);H.setAttribute("valign",F);H.innerHTML=G[S];var R=S;if(M.data.showSequenceNumber){R++}if(B.firstChild&&B.firstChild.childNodes&&B.firstChild.childNodes[R]&&doi.dom.trim(B.firstChild.childNodes[R].innerHTML)==""){doi.dom.style(H,"display:none")}}var J=doi.dom.getElementsByTagName("td",X);var E=0;if(M.data.showSequenceNumber){E=1}for(var S=E;S<J.length;S++){var C=S-E;var D=doi.dom.getElementsByTagName("*",J[S]);var U=false;if(D){for(var R=0;R<D.length;R++){if(doi.dom.isDefined(D[R].value)&&D[R].nodeName!="OPTION"){if(doi.dom.isDefined(Y[C])){U=true;D[R].value=Y[C];if(D[R].getAttribute("title")=="statictext"){var L=document.createTextNode(Y[C]);if(J[S].lastChild&&J[S].lastChild.nodeName=="#text"){J[S].replaceChild(L,J[S].lastChild)}else{J[S].appendChild(L)}}}}}}if(!U){if(doi.dom.isDefined(Y[C])){J[S].innerHTML=Y[C]}}}this.redrawSequenceNumber(Q);var O=null;if(doi.widget.modalBox2&&doi.widget.modalBox2.visible()){O=doi.widget.modalBox2}else{if(doi.widget.modalBox1&&doi.widget.modalBox1.visible()){O=doi.widget.modalBox1}else{if(doi.widget.modalBox&&doi.widget.modalBox.visible()){O=doi.widget.modalBox}}}if(O){doi.widget.render({attribute:{zIndex:O.zIndex()+100}});O.resize()}else{doi.widget.render()}},row:function(E){while(E&&!doi.dom.isElement(E,"tr")){E=E.parentNode}if(!E){return false}var C=doi.dom.getElementsByTagName("*",E);var D=[];for(var B=0;B<C.length;B++){if(C[B].value){D.push(C[B].value)}}return D},edit:function(L,J){while(L&&!doi.dom.isElement(L,"tr")){L=L.parentNode}if(!L){return false}var H=arguments[2]||[];var Q=A[J];if(Q){var M={};var E=L.rowIndex-1;var O=Q.data.getValue(E);Q.data.del(E);for(var P=0;P<H.length;P++){if(Q.unique.isUnique(P)){if(Q.data.findByIndex(P,H[P])){alert("Duplicate data found. Could not insert data.");Q.data[E]=O;return false}}var N=Q.data.getLabel(P);if(N){M[N]=H[P]}}Q.data[E]=M}var C=doi.dom.getElementsByTagName("td",L);var B=0;if(Q.data.showSequenceNumber){B=1}for(var G=B;G<C.length;G++){var D=G-B;var K=doi.dom.getElementsByTagName("*",C[G]);var I=false;for(var F=0;F<K.length;F++){if(doi.dom.isDefined(K[F].value)){I=true;if(doi.dom.isDefined(H[D])){K[F].value=H[D]}}}if(!I){if(doi.dom.isDefined(H[D])){C[G].innerHTML=H[D]}}}},get:function(B){return A[B]},register:function(C){A[C]={html:[],element:null,data:[],unique:[]};var B=A[C];B.data.fields=[];B.data.byId={};B.data.showSequenceNumber=true;B.data.pushAll=function(D){for(var E in D){if(E=="byId"){this.byId=doi.dom.merge(this.byId,D[E]);continue}this.push(D[E])}};B.data.del=function(D){this[D]=null};B.data.remove=function(D){if(this.length-1<D){return }this.del(D);var F=D+1;for(var E=F;E<this.length;E++){this[D++]=this[E]}delete this[D]};B.data.find=function(D,F){for(var E=0;E<this.length;E++){if(this[E]&&this[E][D]&&this[E][D]==F){return true}}return false};B.data.getValue=function(D){if(this[D]){return new doi.dom.clone(this[D])}return null};B.data.getLabel=function(D){if(this.fields[D]&&this.fields[D]["label"]){return this.fields[D]["label"]}return false};B.data.getAlign=function(D){if(this.fields[D]&&this.fields[D]["align"]){return this.fields[D]["align"]}return"center"};B.data.getValign=function(D){if(this.fields[D]&&this.fields[D]["valign"]){return this.fields[D]["valign"]}return"middle"};B.data.findByIndex=function(D,E){if(this.fields[D]&&this.fields[D]["label"]){return this.find(this.fields[D]["label"],E)}return false};B.unique.data=B.data;B.unique.pushAll=function(E){for(var D in E){this.push(E[D])}};B.unique.isUnique=function(E){var D=this.data.getLabel(E);for(var F=0;F<this.length;F++){if(this[F]==D){return true}}return false};return B}}};