
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - vtu.js - */
(function($) {
  $(document).ready(function() {

      // handle ajax sections
      // .documentContent// - / means something under the class
      //
      // i = index , o = object
      // move facts box up
      $.each($(".documentContent//.dom-moveUp"), function(i, o) {
          var origin = $(o);
          var destination = $('div.plain');
          origin.insertBefore(destination);
        });
      
      // move history box down so it doesn't collide with the facts box
      $.each($(".documentContent//div.reviewHistory"), function(i, o) {
          var origin = $(o);
          var destination = $('div.plain');
          origin.insertAfter(destination);
        });
      
      // used for form buttons
      $.each($('div.searchColumnOne'), function(i, o) {
          var column_one_height = $(this).height();
          var column_two_height = $('div.searchColumnTwo').height();
          var form_fields_height = column_one_height - 12;
          if (column_two_height > column_one_height) {
            var form_fields_height = column_two_height - 12;
          }
          $('div.searchColumnThree').css('height', form_fields_height);
          $('div.searchColumnThree').css('min-height', form_fields_height);
        });
      
      // fix kupu table markup such that the first <tbody> is changed to
      // a <thead>; this is required for ``jquery.tablesorter.js``.
      $.each($('table.plain'), function(i, j) {
          var cnodes = $(j).children();
            // We only do the following, if it is a table with headers but without thead tag
            // This is for backward compability, and because kupu in class names doesn't distinguish
            // between plain tables with and without table headers.
            
            // Note: take care cnodes could contain: caption | thead | tbody - quick fix for that
            if (cnodes.length > 1 && cnodes.get(0).tagName.toLowerCase() != "thead" && cnodes.get(1).tagName.toLowerCase() != "thead") {
              var children = $("tbody", $(j)).eq(0).remove().children();
              var head = $("<thead />").append(children);
              $(j).prepend(head);
            };
        });
      
      // invoke table sorting with "zebra" effect
      $("table.plain").tablesorter({widgets: ['zebra']}); 
      
      // add classes "first" and "last" to header cells
      // and wrap span in cells (IE issue)
      $.each($("table.plain>thead>tr"), function(i, j) {
          var cells = $("th", $(j).eq(0));
          cells.eq(cells.length-1).addClass('last');
          cells.eq(0).addClass('first');
          $.each(cells, function(a, b) {
              $(b).wrapInner("<span></span>");
          });
      });
      
      // add class "first" to first table body row
      $.each($("table.plain>tbody"), function(i, j) {
          var rows = $("tr", $(j));
          rows.eq(0).addClass("first");
      });
      
      // alert('ping im from vtu.theme');
      
      
      // apply rounded corners to paragraphs containing a span
      // with visual highlighting

      // Note: temporaly disabled created problems with the two-columns-disable-columns template
      // // Fix for FF3 where the content column inherits table width (100%)
      // $.each($("div.portletPageColumns"), function(i, j) {
      //     var width = $(this).width();
      //     $(this).css("width", width);
      // });
      
      var settings = {
      tl: { radius: 5 },
      tr: { radius: 5 },
      bl: { radius: 5 },
      br: { radius: 5 },
      antiAlias: true,
      autoPad: true };
      
      $("span.visualHighlight").parent("p").
        wrap('<div class="highlightContainer" style="background-color: #e6f3f3">'+
             '</div>').parent('div').corner(settings);

      $("div.factsFloatRight").corner(settings);
      $("div.factsFloatLeft").corner(settings);

      $('dd.actionMenuContent').bgiframe();
    });

 })(jQuery);

/* - jquery-integration.js - */
// http://www.fi.dk/portal_javascripts/jquery-integration.js?original=1
var jq=jQuery.noConflict();if(typeof cssQuery=='undefined'){
function cssQuery(s,f){return jq.makeArray(jq(s,f))}};

/* - event-registration.js - */
// http://www.fi.dk/portal_javascripts/event-registration.js?original=1
window.onDOMLoadEvents=new Array();window.DOMContentLoadedInitDone=false;
function addDOMLoadEvent(listener){window.onDOMLoadEvents[window.onDOMLoadEvents.length]=listener}
function DOMContentLoadedInit(){if(window.DOMContentLoadedInitDone) return;window.DOMContentLoadedInitDone=true;var exceptions=new Array();for(var i=0;i<window.onDOMLoadEvents.length;i++){var func=window.onDOMLoadEvents[i];try{func()} catch(e){exceptions[exceptions.length]=e}}
for(var i=0;i<exceptions.length;i++){throw exceptions[i]}}
function DOMContentLoadedScheduler(){if(window.DOMContentLoadedInitDone) return true;if(/KHTML|WebKit/i.test(navigator.userAgent)){if(/loaded|complete/.test(document.readyState)){DOMContentLoadedInit()} else{setTimeout("DOMContentLoadedScheduler()",250)}} else{setTimeout("DOMContentLoadedScheduler()",250)}
return true}
setTimeout("DOMContentLoadedScheduler()",250);if(window.addEventListener){window.addEventListener("load",DOMContentLoadedInit,false);document.addEventListener("DOMContentLoaded",DOMContentLoadedInit,false)} else if(window.attachEvent){window.attachEvent("onload",DOMContentLoadedInit)} else{var _dummy=function(){var $old_onload=window.onload;window.onload=function(e){DOMContentLoadedInit();$old_onload()}}}
/*@cc_on @*/
/*@if (@_win32)
{var proto="src='javascript:void(0)'";if(location.protocol=="https:") proto="src=//0";document.write("<scr"+"ipt id=__ie_onload defer "+proto+"><\/scr"+"ipt>");var script=document.getElementById("__ie_onload");script.onreadystatechange=function(){if(this.readyState=="complete"){DOMContentLoadedInit()}}};/*@end @*/


/* - register_function.js - */
// http://www.fi.dk/portal_javascripts/register_function.js?original=1
var bugRiddenCrashPronePieceOfJunk=(navigator.userAgent.indexOf('MSIE 5')!=-1&&navigator.userAgent.indexOf('Mac')!=-1)
var W3CDOM=(!bugRiddenCrashPronePieceOfJunk&&typeof document.getElementsByTagName!='undefined'&&typeof document.createElement!='undefined');var registerEventListener=function(elem,event,func){jq(elem).bind(event,func)}
var unRegisterEventListener=function(elem,event,func){jq(elem).unbind(event,func)}
var registerPloneFunction=jq;
function getContentArea(){var node=jq('#region-content,#content');return node.length?node[0]:null}


/* - plone_javascript_variables.js - */
// http://www.fi.dk/portal_javascripts/plone_javascript_variables.js?original=1
var portal_url='http://www.fi.dk';var form_modified_message='Formularen er ikke blevet gemt. Ændringer vil ikke blive gemt ';var form_resubmit_message='Du har allerede klikket på \'indsend\'-knappen. Ãnsker du at indsende denne formular igen?';var external_links_open_new_window='false';

/* - nodeutilities.js - */
// http://www.fi.dk/portal_javascripts/nodeutilities.js?original=1
function wrapNode(node,wrappertype,wrapperclass){jq(node).wrap('<'+wrappertype+'>').parent().addClass(wrapperclass)};
function nodeContained(innernode,outernode){return jq(innernode).parents().filter(function(){return this==outernode}).length>0};
function findContainer(node,func){p=jq(node).parents().filter(func);return p.length?p.get(0):false};
function hasClassName(node,class_name){return jq(node).hasClass(class_name)};
function addClassName(node,class_name){jq(node).addClass(class_name)};
function removeClassName(node,class_name){jq(node).removeClass(class_name)};
function replaceClassName(node,old_class,new_class,ignore_missing){if(ignore_missing||jq(node).hasClass(old_class))
jq(node).removeClass(old_class).addClass(new_class)};
function walkTextNodes(node,func,data){jq(node).find('*').andSelf().contents().each(function(){if(this.nodeType==3) func(this,data)})};
function getInnerTextCompatible(node){return jq(node).text()};
function getInnerTextFast(node){return jq(node).text()};
function sortNodes(nodes,fetch_func,cmp_func){var SortNodeWrapper=function(node){this.value=fetch_func(node);this.cloned_node=node.cloneNode(true)}
SortNodeWrapper.prototype.toString=function(){return this.value.toString?this.value.toString():this.value}
var items=jq(nodes).map(function(){return new SortNodeWrapper(this)});if(cmp_func) items.sort(cmp_func);else items.sort();jq.each(items, function(i){jq(nodes[i]).replace(this.cloned_node)})};
function copyChildNodes(srcNode,dstNode){jq(srcNode).children().clone().appendTo(jq(dstNode))}


/* - cookie_functions.js - */
// http://www.fi.dk/portal_javascripts/cookie_functions.js?original=1
function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()} else{expires=""}
document.cookie=name+"="+escape(value)+expires+"; path=/;"};
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length)}
if(c.indexOf(nameEQ)==0){return unescape(c.substring(nameEQ.length,c.length))}}
return null};

/* - select_all.js - */
// http://www.fi.dk/portal_javascripts/select_all.js?original=1
function toggleSelect(selectbutton,id,initialState,formName){id=id||'ids:list'
var state=selectbutton.isSelected;state=state==null?Boolean(initialState):state;selectbutton.isSelected=!state;jq(selectbutton).attr('src',portal_url+'/select_'+(state?'all':'none')+'_icon.gif');var base=formName?jq(document.forms[formName]):jq(document);base.find(':checkbox[name='+id+']').attr('checked',!state)}


/* - dragdropreorder.js - */
// http://www.fi.dk/portal_javascripts/dragdropreorder.js?original=1
var ploneDnDReorder={};ploneDnDReorder.dragging=null;ploneDnDReorder.table=null;ploneDnDReorder.rows=null;ploneDnDReorder.doDown=function(e){var dragging=jq(this).parents('.draggable:first');if(!dragging.length) return;ploneDnDReorder.rows.mousemove(ploneDnDReorder.doDrag);ploneDnDReorder.dragging=dragging;dragging._position=ploneDnDReorder.getPos(dragging);dragging.addClass("dragging");return false};ploneDnDReorder.getPos=function(node){var pos=node.parent().children('.draggable').index(node[0]);return pos==-1?null:pos};ploneDnDReorder.doDrag=function(e){var dragging=ploneDnDReorder.dragging;if(!dragging) return;var target=this;if(!target) return;if(jq(target).attr('id')!=dragging.attr('id')){ploneDnDReorder.swapElements(jq(target),dragging)};return false};ploneDnDReorder.swapElements=function(child1,child2){var parent=child1.parent();var items=parent.children('[id]');items.removeClass('even').removeClass('odd');if(child1[0].swapNode){child1[0].swapNode(child2[0])} else{var t=parent[0].insertBefore(document.createTextNode(''),child1[0]);child1.insertBefore(child2);child2.insertBefore(t);jq(t).remove()};parent.children('[id]:odd').addClass('even');parent.children('[id]:even').addClass('odd')};ploneDnDReorder.doUp=function(e){var dragging=ploneDnDReorder.dragging;if(!dragging) return;dragging.removeClass("dragging");ploneDnDReorder.updatePositionOnServer();dragging._position=null;try{delete dragging._position} catch(e){};dragging=null;ploneDnDReorder.rows.unbind('mousemove',ploneDnDReorder.doDrag);return false};ploneDnDReorder.updatePositionOnServer=function(){var dragging=ploneDnDReorder.dragging;if(!dragging) return;var delta=ploneDnDReorder.getPos(dragging)-dragging._position;if(delta==0){return};var args={item_id:dragging.attr('id').substr('folder-contents-item-'.length)};args['delta:int']=delta;jQuery.post('folder_moveitem',args)};

/* - collapsiblesections.js - */
// http://www.fi.dk/portal_javascripts/collapsiblesections.js?original=1
function activateCollapsibles(){jq('dl.collapsible:not([class$=Collapsible])').find('dt.collapsibleHeader:first').click(function(){var c=jq(this).parents('dl.collapsible:first');if(!c)return true;var t=c.hasClass('inline')?'Inline':'Block';c.toggleClass('collapsed'+t+'Collapsible').toggleClass('expanded'+t+'Collapsible')}).end().each(function(){var s=jq(this).hasClass('collapsedOnLoad')?'collapsed':'expanded';var t=jq(this).hasClass('inline')?'Inline':'Block';jq(this).removeClass('collapsedOnLoad').addClass(s+t+'Collapsible')})};jq(activateCollapsibles);

/* - form_tabbing.js - */
// http://www.fi.dk/portal_javascripts/form_tabbing.js?original=1
var ploneFormTabbing={};ploneFormTabbing._toggleFactory=function(container,tab_ids,panel_ids){return function(e){jq(tab_ids).removeClass('selected');jq(panel_ids).addClass('hidden');var orig_id=this.tagName.toLowerCase()=='a'?'#'+this.id:jq(this).val();var id=orig_id.replace(/^#fieldsetlegend-/,"#fieldset-");jq(orig_id).addClass('selected');jq(id).removeClass('hidden');jq(container).find("input[name=fieldset.current]").val(orig_id);return false}};ploneFormTabbing._buildTabs=function(container,legends){var threshold=6;var tab_ids=[];var panel_ids=[];legends.each(function(i){tab_ids[i]='#'+this.id;panel_ids[i]=tab_ids[i].replace(/^#fieldsetlegend-/,"#fieldset-")});var handler=ploneFormTabbing._toggleFactory(container,tab_ids.join(','),panel_ids.join(','));if(legends.length>threshold){var tabs=document.createElement("select");var tabtype='option';jq(tabs).change(handler).addClass('noUnloadProtection')} else{var tabs=document.createElement("ul");var tabtype='li'}
jq(tabs).addClass('formTabs');legends.each(function(){var tab=document.createElement(tabtype);jq(tab).addClass('formTab');if(legends.length>threshold){jq(tab).text(jq(this).text());tab.id=this.id;tab.value='#'+this.id} else{var a=document.createElement("a");a.id=this.id;a.href="#"+this.id;jq(a).click(handler);var span=document.createElement("span");jq(span).text(jq(this).text());a.appendChild(span);tab.appendChild(a)}
tabs.appendChild(tab);jq(this).remove()});jq(tabs).children(':first').addClass('firstFormTab');jq(tabs).children(':last').addClass('lastFormTab');return tabs};ploneFormTabbing.select=function($which){if(typeof $which=="string")
$which=jq($which.replace(/^#fieldset-/,"#fieldsetlegend-"));if($which[0].tagName.toLowerCase()=='a'){$which.click();return true} else if($which[0].tagName.toLowerCase()=='option'){$which.attr('selected',true);$which.parent().change();return true} else{$which.change();return true}
return false};ploneFormTabbing.initializeDL=function(){var tabs=jq(ploneFormTabbing._buildTabs(this,jq(this).children('dt')));jq(this).before(tabs);jq(this).children('dd').addClass('formPanel');tabs=tabs.find('li.formTab a,option.formTab');if(tabs.length)
ploneFormTabbing.select(tabs.filter(':first'))};ploneFormTabbing.initializeForm=function(){var fieldsets=jq(this).children('fieldset');if(!fieldsets.length) return;var tabs=ploneFormTabbing._buildTabs(this,fieldsets.children('legend'));jq(this).prepend(tabs);fieldsets.addClass("formPanel");jq(this).find('input[name=fieldset.current]').addClass('noUnloadProtection');var tab_inited=false;jq(this).find('.formPanel:has(div.field.error)').each(function(){var id=this.id.replace(/^fieldset-/,"#fieldsetlegend-");var tab=jq(id);tab.addClass("notify");if(tab.length&&!tab_inited)
tab_inited=ploneFormTabbing.select(tab)});jq(this).find('.formPanel:has(div.field span.fieldRequired)').each(function(){var id=this.id.replace(/^fieldset-/,"#fieldsetlegend-");jq(id).addClass('required')});if(!tab_inited){jq('input[name=fieldset.current][value^=#]').each(function(){tab_inited=ploneFormTabbing.select(jq(this).val())})}
if(!tab_inited){var tabs=jq("form.enableFormTabbing li.formTab a,"+"form.enableFormTabbing option.formTab,"+"div.enableFormTabbing li.formTab a,"+"div.enableFormTabbing option.formTab");if(tabs.length)
ploneFormTabbing.select(tabs.filter(':first'))}
jq("#archetypes-schemata-links").addClass('hiddenStructure');jq("div.formControls input[name=form_previous],"+"div.formControls input[name=form_next]").remove()};jq(function(){jq("form.enableFormTabbing,div.enableFormTabbing").each(ploneFormTabbing.initializeForm);jq("dl.enableFormTabbing").each(ploneFormTabbing.initializeDL)});
