﻿var aufklapper=function(obj,attr){
	var element=document.getElementById(obj);

	if(element._lock==true){
		element._toggle=true;
		return;
	}

	element._lock=true;

	if(!element.style.display||element.style.display=='none'){
		if(!element._init){
			element._visibility=element.style.visibility;
			element._overflow=element.style.overflow;
			element.style.visibility='hidden';
			element.style.display='block';
			element._geometry={width:element.offsetWidth,height:element.offsetHeight};
			element.style.display='none';
			element.style.height='0px';
			element.style.visibility=element._visibility;
			element._duration=(!attr.duration)?1:attr.duration;
			element._steps=Math.ceil(element._geometry.height/((element._duration*1000)/5));
			element._lock=true;
			element._toggle=false;
			element._init=true;
		}

		element.style.overflow='hidden';
		element.style.display='block';

		aufklapperopen(obj,element._duration);
	}else{
		element.style.overflow='hidden';
		aufklapperclose(obj,element._duration);
	}
}

var aufklapperopen=function(obj,timing){
	var element=document.getElementById(obj);
	var newHeight=element.clientHeight+element._steps;

	if(newHeight>element._geometry.height){
		element.style.overflow=element._overflow;
		element.style.height=element._geometry.height+'px';
		element._lock=false;
	}else{
		element.style.height=newHeight+'px';

		if(element._toggle==true){
			element._toggle=false;
			setTimeout("aufklapperclose('"+obj+"',"+element._duration+");",element._duration);
		}else{
			setTimeout("aufklapperopen('"+obj+"',"+element._duration+");",element._duration);
		}
	}
}

var aufklapperclose=function(obj,timing){
	var element=document.getElementById(obj);
	var newHeight=element.clientHeight-element._steps;

	if(newHeight<=0){
		element.style.height='0px';
		element.style.display='none';
		element.style.overflow=element._overflow;
		element._lock=false;
	}else{
		element.style.height=newHeight+'px';

		if(element._toggle==true){
			element._toggle=false;
			setTimeout("aufklapperopen('"+obj+"',"+element._duration+");",element._duration);
		}else{
			setTimeout("aufklapperclose('"+obj+"',"+element._duration+");",element._duration);
		}
	}
}

var highlight=function(obj,attr){
	var element=document.getElementById(obj);

	//if(element._lock==true){
	//	return;
	//}

	element._lock=true;

	element._background=element.style.background;
	element._duration=(!attr.duration)?1:attr.duration;
	element._startColor=(!attr.startColor)?'#ff00ff':attr.startColor;
	element._endColor=(!attr.endColor)?'#ffffff':attr.endColor;



	//alert(((!attr.startColor)?'#ff00ff':attr.startColor).replace( /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,{r:'$1',g:'$2',b:'$3'}));
	element._startColor=((!attr.startColor)?'#ff00ff':attr.startColor).replace( /[^\da-f]/g,'').replace( /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/,{r:'$1',g:'$2',b:'$3'});
	alert(((!attr.startColor)?'#ff00ff':attr.startColor).replace( /[^\da-f]/g,'').replace( /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/,"{r:'$1',g:'$2',b:'$3'}"));
	alert(element._startColor.string2Opbject);
	//element._steps=Math.ceil(element._geometry.height/((element._duration*1000)/5));

	//element.style.overflow='hidden';
	//element.style.display='block';

	//highlightfade(obj,element._duration);
}

var highlightfade=function(obj,timing){
	var element=document.getElementById(obj);
	var newHeight=element.clientHeight+element._steps;

	if(newHeight>element._geometry.height){
		element.style.overflow=element._overflow;
		element.style.height=element._geometry.height+'px';
		element._lock=false;
	}else{
		element.style.height=newHeight+'px';

		if(element._toggle==true){
			element._toggle=false;
			setTimeout("aufklapperclose('"+obj+"',"+element._duration+");",element._duration);
		}else{
			setTimeout("aufklapperopen('"+obj+"',"+element._duration+");",element._duration);
		}
	}
}

var dec2hex=function(num){
	if(num>255){
		num=255;
	}else if(num<0){
		num=0;
	}

	var hex=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');

	return hex[(num/16)-((num % 16)/16)]+hex[num % 16];
}

var hex2dec=function(num){
	return parseInt(num,16);
}