/**
 * @author Tom Buers
 */

(function($){$.fn.traverse=function(options){var defaultValues={panelClass:'',moveUpButton:"<button href='#'>/\\</button>",moveDownButton:"<button href='#'>\\/</button>",disableButton:false,moveHandler:function(){}};var options=$.extend(true,defaultValues,options);var posPanel=$("<span class='traverse-pos-panel'></span>");var upBtn=$(options.moveUpButton);var downBtn=$(options.moveDownButton);upBtn.addClass('traverse-up-btn');downBtn.addClass('traverse-down-btn');posPanel.addClass(options.panelClass);upBtn.click(function(){var btn=$(this);var travElem=btn.parent().parent();var prevElem=travElem.prev();prevElem.before(travElem);$.fn.traverse.setButtons(travElem);$.fn.traverse.setButtons(prevElem);btn.parent().parent().trigger('move_element');return false;});downBtn.click(function(){var btn=$(this);var travElem=btn.parent().parent();var nextElem=travElem.next();nextElem.after(travElem);$.fn.traverse.setButtons(travElem);$.fn.traverse.setButtons(nextElem);btn.parent().parent().trigger('move_element');return false;});if(options.disableButton){$.fn.traverse.setButtons=function(el){var _tmpPosPanel=$('.traverse-pos-panel',el);if(_tmpPosPanel.length==0){_tmpPosPanel=(posPanel.clone()).append(upBtn.clone(true)).append(downBtn.clone(true));el.prepend(_tmpPosPanel);}
var curUpBtn=_tmpPosPanel.children('.traverse-up-btn');var curDownBtn=_tmpPosPanel.children('.traverse-down-btn');try{if(el.is(':first-child')){curUpBtn.attr('disabled',true);if(el.is(':last-child')){curDownBtn.attr('disabled',true);}else{curDownBtn.removeAttr('disabled');}}else if(el.is(':last-child')){curDownBtn.attr('disabled',true);curUpBtn.removeAttr('disabled');}else{curUpBtn.removeAttr('disabled');curDownBtn.removeAttr('disabled');}}catch(e){alert(e);return false;}}}else{$.fn.traverse.setButtons=function(el){var _tmpPosPanel=$('.traverse-pos-panel',el);if(_tmpPosPanel.length==0){_tmpPosPanel=posPanel.clone();}
var curBtns=_tmpPosPanel.children();if(el.is(':first-child')){if(curBtns.hasClass('traverse-down-btn')&&curBtns.length==1){return null;}
_tmpPosPanel.append(downBtn.clone(true));}else if(el.is(':last-child')){if(curBtns.hasClass('traverse-up-btn')&&curBtns.length==1){return null;}
_tmpPosPanel.append(upBtn.clone(true));}else{if(curBtns.length==2){return null;}
_tmpPosPanel.append(upBtn.clone(true));_tmpPosPanel.append(downBtn.clone(true));}
el.prepend(_tmpPosPanel);}}
return this.each(function(){var tEl=$(this);tEl.bind('move_element',options.moveHandler);$.fn.traverse.setButtons(tEl);});}
$.fn.traverse.setButtons=function(){};})(jQuery);