var PListItem=Class.create({initialize:function(b,a){this.id=b;this.parent=a},getId:function(){return this.id.replace(this.parent.id,"")},setupItem:function(d){try{var b=this.parent.getSpecialItem("newPListItem");b=b.cloneNode(true);b.id=this.id;this.node=b}catch(f){alert("BUG: No item template defined!");throw f}var c=b.descendants();var h=c.length;for(var a=0;a<h;a++){var g=c[a].id;if(g.length>0){c[a].id=this.id+g}}d.insert(b);b.show()},setActions:function(b){for(key in b){var a=this.node.down("."+key);if(a==undefined){a=$(this.id+key)}if(b[key].onclick!=undefined){a.onclick=b[key].onclick}}},setValues:function(a){for(key in a){try{key=key.replace(".","");if(key.charAt(0).toUpperCase()==key.charAt(0)){var c=this.node.down("."+key);if(c==undefined){var d=this.id+key;c=$(d)}c.update(a[key])}else{if(key=="innerHTML"){this.node.update(a[key])}else{this.node.setAttribute(key,a[key])}}}catch(b){alert("BUG: Invalid value name "+key);throw (b)}}},setBackground:function(a){this.node.className=a},addClassName:function(a){this.node.addClassName(a)},removeClassName:function(a){this.node.removeClassName(a)},setupEditor:function(f){try{var b=$("editor").cloneNode(true);b.id=b.id+this.id;var a=$("editorControls").cloneNode(true);a.id=this.id+a.id;var c=this.node.down("#"+this.id+f);c.removeClassName("scroll_komentar");c.insert(b);c.insert(a);this.editor=new BBEditor(b,0,false)}catch(d){alert("BUG: BBEditor not initialised properly!");throw (d)}},getEditor:function(){return this.editor},scrollTo:function(){this.node.scrollTo()},getNode:function(a){return this.node.down("#"+this.id+a)},observe:function(b,a){this.node.observe(b,a)},remove:function(){this.node.remove();this.node=undefined}});var PList=Class.create({initialize:function(c,b,a){if(a==undefined){a=true}this.id=c.toString();this.items=new Array();this.classNames=b;if(a){this.setEmptyState()}},addItem:function(d,b){var a=this.items.length;if(a==0){try{$(this.id+"WaitingItem").remove()}catch(f){$(this.id+"EmptyItem").remove()}}var g=d;if(!(d instanceof PListItem)){d=this.id+d;d=new PListItem(d,this)}else{alert("BUG")}if(this.contains(g)){return}d.setupItem($(this.id));this.items.push(d);if(this.classNames!=undefined){var c=this.classNames[a%this.classNames.length];d.setBackground(c)}d.setValues(b);return d},removeItem:function(c){var b=false;c=this.id+c;for(var a=this.items.length-1;a>=0;a--){if(this.items[a].id==c){b=this.items[a];this.items[a].remove();break}}if(this.bufferedItem==b){this.bufferedItem=undefined}this.items=this.items.without(b)},contains:function(a){return this.getItem(a)!=undefined},convertItem:function(a){return this.resolveItem(a.id)},resolveItem:function(b){if(this.bufferedItem!=undefined&&this.bufferedItem.id==b){return this.bufferedItem}for(var a=this.items.length-1;a>=0;a--){if(this.items[a].id==b){this.bufferedItem=this.items[a];return this.items[a];break}}return undefined},getItem:function(a){return this.resolveItem(this.id+a)},getItems:function(){return this.items},clear:function(d){if(d==undefined){d=false}this.bufferedItem=undefined;var c=this.items.length;for(var a=0;a<c;a++){var b=this.items.pop();b.remove()}this.items=new Array();if(d){this.setWaitingState()}else{this.setEmptyState()}},setWaitingState:function(){if($(this.id+"WaitingItem")!=undefined){return}if($(this.id+"EmptyItem")!=undefined){$(this.id+"EmptyItem").remove()}try{var a=this.getSpecialItem("waitingPListItem");a=a.cloneNode(true);a.id=this.id+"WaitingItem";$(this.id).insert(a);a.show()}catch(b){alert("BUG: No waiting item defined!");throw b}},setEmptyState:function(){if($(this.id+"EmptyItem")!=undefined){return}if($(this.id+"WaitingItem")!=undefined){$(this.id+"WaitingItem").remove()}try{var b=this.getSpecialItem("emptyPListItem");b=b.cloneNode(true);b.id=this.id+"EmptyItem";$(this.id).insert(b);b.show()}catch(a){alert("BUG: No empty item defined!");throw a}},getSpecialItem:function(a){var b=$(this.id).down("."+a.replace(".",""));if(b!=undefined){return b}a=a.charAt(0).toUpperCase()+a.substr(1);return $(this.id+a)}});var PPage=Class.create({initialize:function(a,b){this.listId=a;this.page=b},setChangePageFunction:function(a){this.changePageFunction=a},setup:function(b,d){var f=new Element("span");f.addClassName("strani");if(d==true){f.addClassName("trenutna")}var e=new Element("a");b.insert(f);f.insert(e);e.update(this.page);var c=this.changePageFunction;var a=this.page;f.onclick=function(){c(a)};this.pageElement=f}});var PPageContainer=Class.create({initialize:function(h,d,c){this.className=h+"PageContainer";if($$("."+this.className).length<1){return}var k=$$("."+h+"Pages");for(var g=k.length-1;g>=0;g--){k[g].update(d)}this.listId=h;var b=$$("."+this.className);for(var f=b.length-1;f>=0;f--){var a=b[f];var e=a.descendants();for(var g=e.length-1;g>=0;g--){e[g].remove()}a.update("")}this.pages=new Object();this.maxPages=d;for(var g=1;g<=this.maxPages;g++){this.pages[g]=new PPage(this.listId,g);this.pages[g].setChangePageFunction(c)}},page:function(){return this.currentPage},setPage:function(k){if(this.pages==undefined){return}if(this.pages[1]==undefined){return}k=parseInt(k);var d=this.pages[1].changePageFunction;var c=$$("."+this.className);for(var f=c.length-1;f>=0;f--){var a=c[f];var e=a.descendants();for(var g=e.length-1;g>=0;g--){e[g].remove()}a.update("");var h=k-3;if(h>=0){var n=new Element("span");n.addClassName("strani zadnja");var m=new Element("a");m.update("&laquo;");n.insert(m);a.insert(n);n.onclick=function(){d(1)};var n=new Element("span");n.addClassName("strani");var m=new Element("a");m.update("&lt;");n.insert(m);a.insert(n);n.onclick=function(){d(k-1)}}else{if(h==-1){var n=new Element("span");n.addClassName("strani");var m=new Element("a");m.update("&lt;");n.insert(m);a.insert(n);n.onclick=function(){d(k-1)}}}for(var g=2;g>0;g--){if((k-g)<=0){continue}this.pages[k-g].setup(a,false)}this.pages[k].setup(a,true);var l=0;for(var g=1;k+g<=this.maxPages&&g<=2;g++){this.pages[k+g].setup(a,false);l++}for(var g=0;g<l;g++){var n=new Element("span");n.addClassName("strani");if(g!=0){n.addClassName("zadnja")}var m=new Element("a");n.insert(m);m.update(g==0?"&gt;":"&raquo;");a.insert(n);if(g==0){n.onclick=function(){d(k+1)}}else{var b=this.maxPages;n.onclick=function(){d(b)}}}}this.currentPage=k},clear:function(){var d=$$("."+this.className);for(var a=d.length-1;a>=0;a--){var c=d[a].descendants();for(var b=c.length-1;b>=0;b--){c[b].remove()}}for(key in this.pages){this.pages[key]=undefined}}});function pfTogglePageSelector(e,c){var d=$(e);if(!d.visible()){var b=$(c);var a=b.cumulativeOffset();d.setStyle({position:"absolute",top:(a[1]+b.getHeight())+"px",left:a[0]+"px"});d.show();$("page_"+e).focus()}else{d.hide()}}function pfGoToPage(e,a,b){var c=$("page_"+e);var d=c.getValue();if(!(d.toString().search(/^-?[0-9]+$/)==0)){errorMessage(pi18n("Page selector can only accept <b>numbers</b>."));return}if(parseInt(d)<1||parseInt(d)>a){errorMessage(pi18n("Page <b>%1</b> does not exist.",d));return}b(d);$(e).hide();c.clear()};
