function encrypt(str, pw) {
    /* Returns encrypted CharCode-String */
    var ret    = "";
    var pw_pos = 0;
    var tmp    = 0;

    if (pw == null) pw = 'standizzle_passwizzle';

    for (var i=0; i<str.length; i++) {
        tmp = pw.charCodeAt(i);
        tmp = String.fromCharCode( (str.charCodeAt(i)^tmp/(i+2)/pw.length) % 255 );
        ret += tmp.charCodeAt(0) + ' ';
        if (++pw_pos > pw.length) pw_pos = 0;
    }
    return ret;
}

function decrypt(str, pw) {
    /* Returns decrypted String */
    var ret    = "";
    var pw_pos = 0;
    var tmp    = 0;

    if (pw == null) pw = 'standizzle_passwizzle';

    for (var i=0; i<str.length; i++) {
        tmp = pw.charCodeAt(i);
        tmp = String.fromCharCode( (str.charCodeAt(i)^tmp/(i+2)/pw.length) % 255 );
        ret += String.fromCharCode(tmp.charCodeAt(0));
        if (++pw_pos > pw.length) pw_pos = 0;
    }
    return ret;
}

function CreateStringFromCharCodes(codes) {
    /* Codes must be separated by spaces 
       Returns a String created by the codes-parameter */

    var arr_codes = codes.split(' ');
    var ret       = '';

    for (var i=0; i<arr_codes.length; i++) {
        ret += (String.fromCharCode(arr_codes[i]));
    }
    return ret;
}

function getScreenWidth() {
    return screen.width;
}

function getScreenHeight() {
    return screen.height;
}

function openWindow(url, width, height) {
    var wnd = window.open(url, "SSV Baskets Hamm", "width="+eval(width)+",height="+eval(height+30)+",left="+eval(getScreenWidth()/2-width/2)+",top="+eval(getScreenHeight()/2-height/2-15)+",dependent=yes,location=no,menubar=no,status=no,resizable=no,scrolling=no");
    wnd.focus();
}

function showPicture() {

    if (window.pageYOffset)     var add = window.pageYOffset;
    else                        var add = document.body.scrollTop; 

    document.getElementById('layer_background').style.top    = '0px';
    document.getElementById('layer_background').style.height = document.body.offsetHeight + 'px';

    document.getElementById('layer_background').style.visibility = 'visible';
    document.getElementById('layer_foreground').style.visibility = 'visible';
    fadeIn();
    movePicture();
}


function movePicture() {
    var old_y = document.getElementById('layer_background').style.top;

    if (window.pageYOffset) {
        document.getElementById('layer_foreground').style.top = window.pageYOffset + 'px';
    } else {
        /* IE */
        document.getElementById('layer_foreground').style.top = document.body.scrollTop + 'px';
    }   

    if (old_y != document.getElementById('layer_background').style.top) {
        document.getElementById('layer_foreground').innerHTML = document.getElementById('layer_foreground').innerHTML;
    }
    window.setTimeout('movePicture()', 50);
}

function closePicture() {
    fadeOut();
}

/* AJAX-Functions */
var oXML = getXMLHttpObj(); 

function getXMLHttpObj() {
    if(typeof(XMLHttpRequest) != 'undefined')
        return new XMLHttpRequest();

    var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
    for(i=0;i<axO.length;i++) {
        try {
            return new ActiveXObject(axO[i]);
        } catch(e) {
        }
    }
    return null;
}

function AJAX_Request(file, target) {
        oXML.open('GET', file, false);
        oXML.send('');
        document.getElementById(target).innerHTML = oXML.responseText;
}

/* /AJAX-Functions */



function activateTeamMenuitem(n) {
    if (n == 1) {
        document.getElementById('team_item1').className='team_item_active';
    } else {
        document.getElementById('team_item1').className='team_item';
    }

    if (n == 2) {
        document.getElementById('team_item2').className='team_item_active';
    } else {
        document.getElementById('team_item2').className='team_item';
    }

    if (n == 3) {
        document.getElementById('team_item3').className='team_item_active';
    } else {
        document.getElementById('team_item3').className='team_item';
    }

    if (n == 4) {
        document.getElementById('team_item4').className='team_item_active';
    } else {
        document.getElementById('team_item4').className='team_item';
    }

    if (n == 5) {
        document.getElementById('team_item5').className='team_item_active';
    } else {
        document.getElementById('team_item5').className='team_item';
    }
}

function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}

function simulateNormalSelectionProperties(obj) {
    // code from: http://the-stickman.com/web-development/javascript/finding-selection-cursor-position-in-a-textarea-in-internet-explorer/ 
    var element = document.getElementById(obj);
    var range = document.selection.createRange();   // The current selection
    var stored_range = range.duplicate();           // We'll use this as a 'dummy'        
    stored_range.moveToElementText( element );      // Select all text
    stored_range.setEndPoint( 'EndToEnd', range );  // Now move 'dummy' end point to end point of original range        
    element.selectionStart = stored_range.text.length - range.text.length; // Now we can calculate start and end points
    element.selectionEnd = element.selectionStart + range.text.length;
}

function textareaButtons(cmd) {
    if      (cmd == 'bold')       var c = 'B';
    else if (cmd == 'italic')     var c = 'I';
    else if (cmd == 'underlined') var c = 'U';

    if (navigator.appName.indexOf('Internet Explorer') != -1) {
        /* Extrawurst für den verranzten IE */
        simulateNormalSelectionProperties('gb_text');
    }

    var text  = document.gb_new_entry.gb_text.value;
    var pos_s = document.gb_new_entry.gb_text.selectionStart;
    var pos_e = document.gb_new_entry.gb_text.selectionEnd;
    text = text.substring(0, pos_s) + '[' + c + ']' + text.substring(pos_s, pos_e) + '[/' + c + ']' + text.substring(pos_e, text.length); 
    document.gb_new_entry.gb_text.value = text; 
}



function addSmiley(code) {
    if (navigator.appName.indexOf('Internet Explorer') != -1) {
        /* Extrawurst für den verranzten IE */
        simulateNormalSelectionProperties('gb_text');
    }

    var text = document.gb_new_entry.gb_text.value;
    var pos  = document.gb_new_entry.gb_text.selectionStart;
    text = text.substr(0, pos) + code + text.substr(pos, text.length); 
    document.gb_new_entry.gb_text.value = text;    
    document.gb_new_entry.gb_text.focus();
    document.gb_new_entry.gb_text.selectionStart = pos + code.length;
    document.gb_new_entry.gb_text.selectionEnd = pos + code.length;
}

function toggleSmileys() {
    if (document.getElementById('gb_smileys').style.visibility=='hidden') {
        document.getElementById('gb_smileys').style.visibility='visible';
        document.getElementById('gb_smileys').style.display='block';
        document.getElementById('toggleSmileys').innerHTML='Smileys ausblenden';
    } else {
        document.getElementById('gb_smileys').style.visibility='hidden';
        document.getElementById('gb_smileys').style.display='none';
        document.getElementById('toggleSmileys').innerHTML='Smileys einblenden';
    }
}

function fadeIn() {

    if (!fadeIn.alpha) fadeIn.alpha = 0;  

    var obj1 = document.getElementById('layer_background');
    var obj2 = document.getElementById('layer_foreground');     

    if (fadeIn.alpha <= 60) {
        obj1.style.opacity = fadeIn.alpha/100;
    	obj1.style.filter  = 'alpha(opacity=' + fadeIn.alpha + ')';
    }

    obj2.style.opacity = fadeIn.alpha/100;
	obj2.style.filter = 'alpha(opacity=' + fadeIn.alpha + ')';  

    fadeIn.alpha += 4;
    if (fadeIn.alpha >= 60)     fadeIn.alpha += 2;

    if (fadeIn.alpha < 100)     window.setTimeout("fadeIn()", 10);
    else                        delete fadeIn.alpha;
}



function fadeOut() {

    if (!fadeOut.alpha) fadeOut.alpha = 60;  

    var obj1 = document.getElementById('layer_background');
    var obj2 = document.getElementById('layer_foreground'); 

    obj1.style.opacity = fadeOut.alpha/100;
    obj1.style.filter  = 'alpha(opacity=' + fadeOut.alpha + ')';
    obj2.style.opacity = fadeOut.alpha/100;
    obj2.style.filter  = 'alpha(opacity=' + fadeOut.alpha + ')';

    fadeOut.alpha -= 4;

    if (fadeOut.alpha <= 40)    fadeOut.alpha -= 2;

    if (fadeOut.alpha > 0)      window.setTimeout("fadeOut()", 10);
    else                        { delete fadeOut.alpha;
                                  document.getElementById('layer_background').style.visibility = 'hidden';
                                  document.getElementById('layer_foreground').style.visibility = 'hidden';
                                }
}



function setPicture(pic, wholeText) {       
    document.getElementById('layer_foreground').innerHTML = '<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%"><tr><td><table align="center" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" colspan="2"><img src="uploads/'+pic+'" style="border: 1px solid #c0c0c0;"></td></tr><tr><td align="left" class="pic_box_content">'+wholeText+'</td><td class="pic_box_content" style="border-left: none; text-align: center;"><div class="sim_link" onClick="closePicture();">Schlie&szlig;en</a></div></td></tr></table></td></tr></table>';
}