
var ufo_rules = {
/*	UFO Objects, Stadermann */
	'#contact_map' : function(el) {
		var UFO_contact = { 
			movie:"/flash/map.swf", 
			width:"250", 
			height:"270",
			wmode:"transparent",
			majorversion:"7", 
			build:"0" 
		};
		UFO.create(UFO_contact, "contact_map");
	},
		'#flash_photo' : function(el) {
		var UFO_photo = { 
			movie:"/flash/flash_photo.swf", 
			width:"250", 
			height:"380",
			wmode:"transparent",
			majorversion:"7", 
			build:"0" 
		};
		UFO.create(UFO_photo, "flash_photo");
	}

}
Behaviour.register(ufo_rules);

/**
 * Rules for hyperlink behaviour
 */
var hyperlink_rules = {
    'a.link' : function(el){
      Event.observe(el, 'click', function(e) {
        Event.stop(e);
        var me = Event.findElement(e,'A');
        var parentLi = me.parentNode;
        
        if(Element.hasClassName(parentLi,'open')){
          Element.removeClassName(parentLi,'open');
          Element.addClassName(parentLi,'closed');
        }
        else if(Element.hasClassName(parentLi,'closed')){
          Element.removeClassName(parentLi,'closed');
          Element.addClassName(parentLi,'open');
        }
                
        var uls = parentLi.getElementsByTagName('ul');
        if(uls.length > 0){
          if(Element.hasClassName(uls[0],'open')){
            uls[0].className = uls[0].className.replace('open','closed');
          }else{
            uls[0].className = uls[0].className.replace('closed','open');
          }
        }
        return false;
     } , false);
    },
    'li.closed2 a' : function(el){
      Event.observe(el, 'click', function(e) {
        var me = Event.findElement(e,'A');
        var parentLi = me.parentNode;
        //parentLi.className = parentLi.className.replace('closed','open');
        var uls = parentLi.getElementsByTagName('ul');
        if(uls[0].className == 'closed'){
          uls[0].className = 'open';
        }else{
          uls[0].className = 'closed';
        }
        return false;
      }, false);
    },
    '#all_in' : function(el){
      Event.observe(el, 'click', function(e) {
        var open_elements = document.getElementsByClassName('folder_active');
        if(open_elements.length > 0){
          for(i=0; i < open_elements.length;i++){
            open_elements[i].className = 'folder';
          }
        }
        return false;
      }, false);
    },
    '#all_open' : function(el){
      Event.observe(el, 'click', function(e) {
        var open_elements = document.getElementsByClassName('folder');
        if(open_elements.length > 0){
          for(i=0;i < open_elements.length;i++){
            open_elements[i].className = 'folder_active';
          }
        }
        return false;
      }, false);
    },
  
    'a.popup' : function(el) {

        /**
         * Event:  click
         * Action: open a popup window
         */
        Event.observe(el, 'click', function(e) {
            var me = Event.findElement(e,'A');
            window.open(me.href,
                'PopUp',
                'width=684,height=350,top=200,left=50%,scrollbars=0,status=no,resizable=0,toolbar=0,titlebar=0,menubar=0,location=0');
            return false;
        }, false);
    },

    'a.status' : function(el) {

        /**
         * Event:  mouseover
         * Action: display the hyperlinks title in the status bar
         */
        Event.observe(el, 'mouseover', function(e) {
            var me = Event.findElement(e,'A');
            window.status=me.title;
            return true;
        },false);

        /**
         * Event:  mouseout
         * Action: clear the status bar
         */
        Event.observe(el, 'mouseout', function(e) {
            window.status='';
            return true;
        },false);
    },

    'a.switch' : function(el) {
        /**
         * Event:  click
         * Action: show / hide the element with the same ID minus "_switch"
         */

        Event.observe(el, 'click', function(e) {
            var me = Event.findElement(e,'A');
		    var c = $(me.id.replace('_switch',''));
            if (c) {
                Element.toggle(c);
            }
        }, false);
    },
    'a.werkwijze_link' : function(el) {
        /**
         * Event:  click
         * Action: hide all werkwijze elements and show the element with the same ID minus "_link"
         */

        Event.observe(el, 'click', function(e) {
          //Event.stop(e);
          var me = Event.findElement(e,'A');
          var werkwijze_elements = document.getElementsByClassName('werkwijze');
          if(werkwijze_elements.length > 0){
            for(i=0; i < werkwijze_elements.length;i++){
              werkwijze_elements[i].style.display = 'none';
            }
          }
          $(me.id.replace('_link','')).style.display = 'block';
          return false;
        }, false);
    },
    'a.juris_button' : function(el) {
        /**
         * Event:  click
         * Action: hide the jurisprudence navigation, and switch the image
         */

        Event.observe(el, 'click', function(e) {
          //Event.stop(e);
          var me = Event.findElement(e,'A');
          var img = Event.findElement(e,'img');
          if($('juris_nav').style.display == 'none'){
            $('juris_nav').style.display = 'block';
			$('left_jurisprudentie').style.width = '400px';
			$('right_jurisprudentie').style.width = '340px';
			img.src = '/images/hide.gif';
          }else{
            $('juris_nav').style.display = 'none';
			$('left_jurisprudentie').style.width = '710px';
            $('right_jurisprudentie').style.width = '20px';
            img.src = '/images/open.gif';
          }
          return false;
        }, false);
    }
}
Behaviour.register(hyperlink_rules);

/**
 * Behaviour rules for form elements
 */

var form_rules = {
    'input.auto_upper' : function(el) {

        /**
         * Event:  blur
         * Action: convert field value to upper case
         */
        Event.observe(el, 'blur', function(e) {
            me = Event.element(e);
            me.value = me.value.toUpperCase();
        }, false);

        /**
         * Event:  change
         * Action: convert field value to upper case
         */
        Event.observe(el, 'change', function(e) {
            me = Event.element(e);
            me.value = me.value.toUpperCase();
        }, false);
    },

	'input.auto_blur' : function(el) {

	    /**
	     * Event:  focus
	     * Action:
	     *   - replace field's classname from "_off" to "_on"
	     *   - if labeled, replace label's classname from "_off" to "_on"
	     *   - if label is image, replace image with "_hover" version
	     */
        Event.observe(el, 'focus', function(e) {
            me = Event.element(e);
            me.className = me.className.replace('_off','_on');
            var fieldLabel = $(me.id + '_label');
            if (fieldLabel) {
            	  fieldLabel.className = fieldLabel.className.replace('_off','_on');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_normal','_hover');
                }
            }
        }, false);

	    /**
	     * Event:  blur
	     * Action:
	     *   - replace field's classname from "_on" to "_off"
	     *   - if labeled, replace label's classname from "_on" to "_off"
	     *   - if label is image, replace image with "_normal" version
	     */
        Event.observe(el, 'blur', function(e) {
            me = Event.element(e);
            me.className = me.className.replace('_on','_off');
            var fieldLabel = $(me.id + '_label');
            if (fieldLabel) {
            	  fieldLabel.className = fieldLabel.className.replace('_on','_off');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_hover','_normal');
                }
            }
        }, false);
    },
    'input.rollover' : function(el) {

        /**
         * Event:  mouseover
         * Action:
         *   - if not "active", replace classname by "_hover" classname
         *   - if type is "image", replace image by "_hover" version
         */
        Event.observe(el,'mouseover',function(e) {
            var me = Event.element(e);
            if (!Element.hasClassName(me,'active')) {
                me.className = me.className.replace('_normal','_hover');
                if (me.type == 'image') {
                    me.src = me.src.replace('_normal','_hover');
                }
            }
        },false);

        /**
         * Event:  mouseout
         * Action:
         *   - replace classname by "_hover" classname
         *   - if type is "image", replace image by "_hover" version
         */
        Event.observe(el,'mouseout',function(e) {
            me = Event.element(e);
            if (!Element.hasClassName(me,'active')) {
                me.className = me.className.replace('_hover','_normal');
                if (me.type == 'image') {
                    me.src = me.src.replace('_hover','_normal');
                }
            }
        },false);
    }
}
Behaviour.register(form_rules);

var rollover_rules = {
    'img.rollover' : function(el) {

        /**
         * Event:  mouseover
         * Action: show hover version
         */
        Event.observe(el, 'mouseover', function(e) {
            me = Event.element(e);
            me.src = me.src.replace('_normal','_hover');
        }, false);

        /**
         * Event:  mouseout
         * Action: show normal version
         */
        Event.observe(el, 'mouseout', function(e) {
            me = Event.element(e);
            me.src = me.src.replace('_hover','_normal');
        }, false);
    }
}
Behaviour.register(rollover_rules);

function close_inactive_elements()
{
  // hide ULs in schoolgids menu
  var x;
  var ul_items = document.getElementsByTagName('ul');
  for(x in ul_items){
    if(ul_items[x].className == 'folder_inactive'){
      ul_items[x].className = 'folder';
    }
  }
  // hide LIs in schoolgids menu
  var x;
  var li_items = document.getElementsByTagName('li');
  for(x in li_items){
    if(li_items[x].className == 'folder_inactive'){
      li_items[x].className = 'folder';
    }
  }
}