﻿/*CVS Add-ins*/
/*
$Revision: 1.1.1.1 $
$RCSfile: behaviour_werkstatt.js,v $
author: JDE
Copyright (c) A&B FACE2NET GmbH
*/

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*
    behaviour_werkstatt.js SPD Community
    21.11.2007 JDE
*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* general methods*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */


/*Browserdetection*/
var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ff  = (agt.indexOf("firefox") != -1);
var op = (agt.indexOf("opera") != -1);


/**
* implements set_event to sort form
*/
function set_sortformbehaviour() {
  for (var i=0; i<document.forms.length; i++) {
    if(document.forms[i].getAttribute("id") && document.forms[i].getAttribute("id")=="sortform"){
	  var submitbutton = document.getElementById("change");
	  if(submitbutton) {
	    submitbutton.setAttribute("class", "displayNone");
	    if(ie) submitbutton.className = "displayNone";
	  }
	} 
  }
}


/**
* implements count_setmaxLimit to each form of the current page
*/
function set_thesiseditformbehaviour() {
  var check = document.getElementById('remLength');
  if(check){
   var counter = document.getElementById('remLength');
   var element = document.getElementById('txt_body');
   var counterlabel = document.getElementById('lremLength');
   if(element && counterlabel){
     var maxlimit = 600;
     var labeltext = document.createTextNode('vergleibende Zeichen: ');
     counterlabel.insertBefore(labeltext,counter );
	 count_setmaxLimit(element, counter,  maxlimit);
	 element.onkeydown = function() {count_setmaxLimit(this, counter, maxlimit );}
	 element.onkeyup = function() { count_setmaxLimit(this, counter, maxlimit );}
   }
   return true;    
  }
  return false;
}



function count_setmaxLimit(element, counter, maxlimit) {
  if (element.value.length > maxlimit) {
    element.value = element.value.substring(0, maxlimit);
  } else {
   counter.value = maxlimit - element.value.length; 
  }
}

/**
* implements hover and focusevent on voting stars
*/
function set_votebehaviour(){
  var anchors = document.getElementsByTagName('a');
  for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    var relAttribute = String(anchor.getAttribute('rel'));
	if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('vote'))) {
	    anchor.onmouseover = function() { 
		  this.setAttribute('class', 'hide');
	      this.className = 'hide';
		  
		  var check = String(this.parentNode.getAttribute('class'));
		  if(ie) check = String(this.parentNode.className);
		  var container = this.parentNode;
		  
		  if(check.match('stars')){
		    
		    var linklist = container.getElementsByTagName('a');
			for(var j=0; j< linklist.length; j++){
			  if(String(linklist[j].getAttribute('class')).match('hide') || String(linklist[j].className).match('hide')){
			    j=linklist.length; 
			  }else {
			     linklist[j].setAttribute('class', 'aswell');
				 linklist[j].className = 'aswell';
			  }
			}
		  }
		};
		anchor.onmouseout = function() { 
		  this.setAttribute("class", "show");
	      this.className = "show";
		  
		  var check = String(this.parentNode.getAttribute('class'));
		  if(ie) check = String(this.parentNode.className);
		  var container = this.parentNode;
		  if(check.match('stars')){
		    var linklist = container.getElementsByTagName('a');
			for(var j=0; j< linklist.length; j++){
			     linklist[j].setAttribute('class', 'show');
				 linklist[j].className = 'show';
			}
		  }		  
		};
		
		anchor.onfocus = function() {
     	  this.onmouseover();
        };
		
		anchor.onblur = function() {
          this.onmouseout();
        };
    }
  }
}


/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*loaded functions
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

addLoadEvent(set_sortformbehaviour);
addLoadEvent(set_votebehaviour);
addLoadEvent(set_thesiseditformbehaviour);