// ====================
// = 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 open        = 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=='open')
        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
    open[menu]=true;
    var openDelay=1;
    
    // cleaning up other menus
    for (i=0;i<menus.length;i++) {
        if ( menus[i]!=menu && menus[i]!='' ) {
            open[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
    open[menu]=false;
    
    if ($(menu).style.display!='none' && !open[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
}
