﻿
// ------------------------------------------------------------------
// javacript to change ccs style class 
// ------------------------------------------------------------------
// Works only on ellement with defined (id="somename") 
// Call like the element : 
// onMouseOut="chclass('this', 'def_class'); onMouseOver="change('this', 'over_class');

function chclass(id, newClass) {
	identity=document.getElementById(id);
	identity.className=newClass;
}

function getAddText(id) {
	div=document.getElementById(id);
	div.className='addText';
}

/* ---- FADE IN OU BOXES --- */
var state=0;
var type; 
var stepsFadeIn=5.0;
var stepsFadeOut=5.0;
var maxOpacity=95;
var val=0;
var opac='';
var obj;

function _viewColorSelect(state,divId,btnId,closerId) {
  if (document.getElementById) {
    if ( state == 1) {
      	val = 0; type = 'fadeIn';
      } else {
      	val=maxOpacity; type = '';
      }
    }
//  setTimeout("runFade(divId)",800);
  setTimeout(function(){runFade(divId,btnId,closerId)},200);
}

function ShowHideElements(sw,divId,btnId,closerId) {
//alert(divId+btnId+closerId);
  if ( sw == 1 ) {
    document.getElementById(divId).style.display = 'block';
    document.getElementById(btnId).style.display = 'none';
     val = 0;
   // alert ('show');
  }
  if ( sw == 0 ){
    document.getElementById(closerId).style.display = 'none';
    document.getElementById(divId).style.display = 'none';
    document.getElementById(btnId).style.display = 'block';
    val = 0;
    // alert ('hide');
  }  
}

function runFade(divId,btnId,closerId) {
  obj=document.getElementById(divId);
  if(typeof(obj.style.MozOpacity)=='string')opac='moz';
  else if(typeof(obj.style.opacity)=='string')opac='css3';
  else if(typeof(obj.style.filter)=='string')opac='ie';
  if(opac!='') {
    setTimeout(function(){fadeThis(divId,btnId,closerId)},10);
   }
//  	setTimeout('fadeThis()',10);
}

function fadeThis(divId,btnId,closerId) {
  val2=Math.round(val);
  if(opac=='css3')obj.style.opacity=val2/100;
  if(opac=='ie')obj.style.filter='alpha(opacity='+val2+')';
  if(opac=='moz')obj.style.MozOpacity=val2/100;
  obj.style.opacity=val2/100;
  
  if (type == 'fadeIn') {
    if (val==0) {
    	ShowHideElements(1,divId,btnId,closerId);
        document.getElementById(closerId).style.display = 'block';
    }
    val+=stepsFadeIn;
    if (val<maxOpacity ) {
    //	setTimeout('fadeThis()',10);
        setTimeout(function(){fadeThis(divId,btnId,closerId)},10);
    }
// if max display closer bg
/*
    if (val>=maxOpacity ) {
        document.getElementById(closerId).style.display = 'block';
    }
*/

  } else  //  fade out
  {
    val-=stepsFadeOut;
    if (val>0) {
    //	setTimeout('fadeThis()',10);
        setTimeout(function(){fadeThis(divId,btnId,closerId)},10);
    }
    if (val==0) {
    	ShowHideElements(0,divId,btnId,closerId);
    }
  }
}






/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
	var getElementsByClassName = function (className, tag, elm){
		if (document.getElementsByClassName) {
			getElementsByClassName = function (className, tag, elm) {
				elm = elm || document;
				var elements = elm.getElementsByClassName(className),
					nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
					returnElements = [],
					current;
				for(var i=0, il=elements.length; i<il; i+=1){
					current = elements[i];
					if(!nodeName || nodeName.test(current.nodeName)) {
						returnElements.push(current);
					}
				}
				return returnElements;
			};
		}
		else if (document.evaluate) {
			getElementsByClassName = function (className, tag, elm) {
				tag = tag || "*";
				elm = elm || document;
				var classes = className.split(" "),
					classesToCheck = "",
					xhtmlNamespace = "http://www.w3.org/1999/xhtml",
					namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
					returnElements = [],
					elements,
					node;
				for(var j=0, jl=classes.length; j<jl; j+=1){
					classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
				}
				try	{
					elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
				}
				catch (e) {
					elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
				}
				while ((node = elements.iterateNext())) {
					returnElements.push(node);
				}
				return returnElements;
			};
		}
		else {
			getElementsByClassName = function (className, tag, elm) {
				tag = tag || "*";
				elm = elm || document;
				var classes = className.split(" "),
					classesToCheck = [],
					elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
					current,
					returnElements = [],
					match;
				for(var k=0, kl=classes.length; k<kl; k+=1){
					classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
				}
				for(var l=0, ll=elements.length; l<ll; l+=1){
					current = elements[l];
					match = false;
					for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
						match = classesToCheck[m].test(current.className);
						if (!match) {
							break;
						}
					}
					if (match) {
						returnElements.push(current);
					}
				}
				return returnElements;
			};
		}
		return getElementsByClassName(className, tag, elm);
	};


/* function for layermenu
 -------------------------------------------------------------------- */
	var navRoot,startList,node,ul,i,brow=false;
	
	startList = function() {
		brow = /(opera)/gi.test(navigator.userAgent) ? true : false;
		// alert(brow);
		// alert(getElementsByClassName("hv").length );
		
		if (document.all&&getElementsByClassName || brow ) {
	  	if (getElementsByClassName("hv") ){
	  		navRoot = getElementsByClassName("hv");
				for (i=0; i<navRoot.length; i++) {
					node = navRoot[i];
					if (node.nodeName=="LI") {
						node.onmouseover=function() {
							this.className+=" jsover";
  					}
  					node = node.onmouseout=function() {
  						this.className=this.className.replace(" jsover", "");
  					}
  				}
  			}
  		}
  	}
  }
//	window.onload=startList();
// ------------------------------------------------------------------




// ------------------------------------------------------------------
// TOGGLE FADE IN OUT
// ------------------------------------------------------------------

function toggleDisplayElement (id) {
	if (document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = "block";
	} else {
		document.getElementById(id).style.display = "none";
	}
}


function toggleFadeInElement (id) {
	var speed = '70';
	if (document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = "block";
		fadeIn(id, speed)
	} else {
		fadeOut(id, speed)
//		document.getElementById(id).style.display = "none";
	}
}


function fadeOut(id, speed) {
    var thisE = document.getElementById(id);
    thisE.style.zoom = 1; //needed for IE
    speed = speed/20;
    var i = 100;
    var intervalId = setInterval(function() {
        if(i>=0) {
            thisE.style.opacity = i/100;
            thisE.style.filter = 'alpha(opacity='+i+')';
            i -= 5;
        } else {
            setTimeout(function() {thisE.style.display = "none";}, speed);
            clearInterval(intervalId);
            return false;
        }
    }, speed);
}
function fadeIn(id, speed) {
    var thisE = document.getElementById(id);
    thisE.style.display = "block";
    thisE.style.zoom = 1; //needed for IE
    thisE.style.opacity = 0;
    thisE.style.filter = "alpha(opacity = 0)";
    speed = speed/20;
    var i = 0;
    var intervalId = setInterval(function() {
        if(i <= 100) {
            thisE.style.opacity = i/100;
            thisE.style.filter = 'alpha(opacity='+i+')';
            i += 5;
        } else {
            setTimeout(function() {thisE.style.display = "block";}, speed);
            clearInterval(intervalId);
            return false;
        }
    }, speed);
}





function OnLoadListener () {
	startList();
//	getAddText('col-pos-24');
}

window.onload=OnLoadListener;






/***************************************************************
*  Copyright notice
*
*  (c) 2007 Jérôme Schneider and Loredana Zeca <typo3dev@ameos.com>
*  All rights reserved
*
*  This script is part of the TYPO3 project. The TYPO3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
* 
*  This copyright notice MUST APPEAR in all copies of the script!
*
***************************************************************/


function glossary_onmouseover(sText, sTip) {
	oText = document.getElementById(sText);
	oTip = document.getElementById(sTip);

//setTimeout("oTip.style.visibility = 'visible';", 500);
	oTip.style.visibility = "visible";

	oTip.style.marginTop = ((parseInt(oTip.clientHeight) * -1) + 5) + "px";
	oTip.style.marginLeft = "-35px";

}

function glossary_onmouseout(sText, sTip) {

	oText = document.getElementById(sText);
	oTip = document.getElementById(sTip);
	oTip.style.visibility = "hidden";
}
