/* to make backgroundColor animations happen in jquery */
(function(d){d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(f,e){d.fx.step[e]=function(g){if(!g.colorInit){g.start=c(g.elem,e);g.end=b(g.end);g.colorInit=true}g.elem.style[e]="rgb("+[Math.max(Math.min(parseInt((g.pos*(g.end[0]-g.start[0]))+g.start[0]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[1]-g.start[1]))+g.start[1]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[2]-g.start[2]))+g.start[2]),255),0)].join(",")+")"}});function b(f){var e;if(f&&f.constructor==Array&&f.length==3){return f}if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55]}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}if(e=/rgba\(0, 0, 0, 0\)/.exec(f)){return a.transparent}return a[d.trim(f).toLowerCase()]}function c(g,e){var f;do{f=d.curCSS(g,e);if(f!=""&&f!="transparent"||d.nodeName(g,"body")){break}e="backgroundColor"}while(g=g.parentNode);return b(f)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]}})(jQuery);

// ====================
// = Barrierefreiheit =
// ====================

var ditvTextDefault = 0;

function bitvText(enlarge) {
	var s = parseFloat($('body').getStyle('fontSize'));
	var m = 0;
	var x = 'px';
	var i = 2;

	if (Prototype.Browser.IE) {
		x = '%';
		i = 10;
	}


	if (enlarge)
		m = s+i;
	else
		m = s-i;
	
   	m = m+x;

	$('body').setStyle({
		fontSize: m+''
	});
	
	if (navigator.cookieEnabled == true)
		document.cookie = "bitvTextSize=" + m + ";path=/";
}



function checkSearch(obj, spawn) {
	var chk_s = '';
	var chk_t = $('_search').value;
	
	if (spawn) {
		chk_s = $('_search').value;
		chk_t = '';
	}
	
	if (obj.value==chk_s)
		obj.value=chk_t;
}


function trim(s){
	return s.replace(/^\s*(.*)\s*$/, '$1');
}


function contrast(HC) {
	if (HC)
		$$('body')[0].addClassName('HC');
	else {
		if ($$('body')[0].hasClassName('HC'))
			$$('body')[0].removeClassName('HC');
	}
	
	if (navigator.cookieEnabled == true)
		document.cookie = "bitvHC=" + HC + ";path=/";
}






// ================
// = Menu Actions =
// ================

var mopen	   = new Object();
// var menus	= new Array('');
var unlinkmenus = new Array('menu5','menu6');
var menuover	= '';
var animate	 = true;


function menu(action, menu, timeout) {
	// setting state
	if (action=='mopen')
		menuover=menu;
	else
		menuover='';
	
	window.setTimeout("_menu_"+action+"('"+menu+"')", (timeout*1000));
	
	if (in_array(menu, unlinkmenus))
		return false;
}




function _menu_open(menu) {
	if (!animate || !menus || menu!=menuover)
		return false;
	
	// setting state
	mopen[menu]=true;
	var openDelay=1;
	
	// cleaning up other menus
	for (i=0;i<menus.length;i++) {
		if ( menus[i]!=menu && menus[i]!='' ) {
			mopen[menus[i]]=false;
			if (_menu_close(menus[i])) {
				openDelay=1000;
			}
		}
	}
	
	setTimeout(function() {
		if ($(menu).style.display=='none') {

			lockEffects();
			var queue = Effect.Queues.get('global');
			queue.each(function(e) { e.cancel() });

			new Effect.SlideDown(menu,{duration:0.5, queue: 'end', beforeStart:lockEffects, afterFinish:unlockEffects});
		}
	}, openDelay);
}




function _menu_close(menu) {
	if (!animate || !menus || menu==menuover)
		return false;
	
	// setting state
	mopen[menu]=false;
	
	if ($(menu).style.display!='none' && !mopen[menu]) {
		// $(menu).style.display='none';
		Effect.toggle(menu, 'slide', {duration:0.5, queue: 'end', beforeStart:lockEffects, afterFinish:unlockEffects});
		
		return true;
	}
}



function lockEffects()   { animate = false; }
function unlockEffects() { animate = true;  }


// =======================
// = Context Box Actions =
// =======================
aniswop=true;

function swop(box) {
	if (!aniswop)
		return false;
	
	if ($(box).style.left=='0px' || $(box).style.left==0) {
		new Effect.Move(box, {x:-228,   mode:'absolute', beforeStart:lockSwop, afterFinish:unlockSwop});
		$('swopSw').setStyle({ backgroundPosition: '-25px 0px' });
	} else {
		new Effect.Move(box, {x:0,	  mode:'absolute', beforeStart:lockSwop, afterFinish:unlockSwop});
		$('swopSw').setStyle({ backgroundPosition: '0px 0px' });
	}
}

function lockSwop()   { aniswop = false; }
function unlockSwop() { aniswop = true;  }





// ================================
// = Additional Library Functions =
// ================================
function in_array(item,arr) {
	for(p=0;p<arr.length;p++)
		if (item == arr[p]) return true;
	
	return false;
}




// ====================
// = Formular-Cleanup =
// ====================
function submitCleanup() {
	var mFields = $$("fieldset.csc-mailform div.csc-mailform-field");
	if (mFields) {
		var mLen = mFields.length;
		
		for(var i=0; i<mLen; i++) {

			var mSub = mFields[i].childElements();
			var lText = "" + mSub[0].innerHTML;
			lText = lText.replace(/.*<label.*>(.*)<\/label>.*/, "$1");

			if (mSub[1]) {
				if ( (mSub[1].hasAttribute('value') && mSub[1].readAttribute('value')!=null) || Prototype.Browser.IE ) {

					if (mSub[1].readAttribute('value')==lText) {
						mSub[1].writeAttribute('value', '');
						mSub[1].writeAttribute('valueDefault', '');
					}

				} else {

					if (mSub[1].innerHTML==lText) {
						mSub[1].innerHTML = '';
						mSub[1].writeAttribute('valueDefault', '');
					}
				}

			}
		} //endfor
		
	} //endif
}

jQuery(function(){
	jQuery('#Home .Footer .FadingRow').live('mouseenter',function(){
		jQuery(this).stop(true,true).animate({ backgroundColor:'#fef4e6' });
	}).live('mouseleave', function(){
		jQuery(this).stop(true,true).animate({ backgroundColor:'#fff' });
	});
})
