<!--

/**
 * 
 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 * @title      JS Base Library
 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 * @author     Stefan Kloiber <stefan.kloiber@fresh-flava.net>
 * @version    1.0
 * @date       March 2007

 *                        @@@@@@                      
 *                      @@      @@                    
 *                    @@    @@    @@                  
 *                    @@  @@@@@@  @@                  
 *      @@@@@@        @@    @@    @@        @@@@@@    
 *    @@      @@        @@      @@        @@      @@  
 *  @@    @@    @@        @@@@@@        @@    @@    @@
 *  @@  @@@@@@  @@          @@          @@  @@@@@@  @@
 *  @@    @@    @@          @@          @@    @@    @@
 *    @@      @@@@          @@            @@      @@  
 *      @@@@@@    @@      @@@@@@            @@@@@@    
 *                  @@  @@@@@@@@@@            @@      
 *                  @@    @@@@@@            @@        
 *                @@@@@@    @@      @@@@@@@@    @@    
 *              @@@@@@@@    @@    @@  @@@@@@@@@@  @@  
 *                    @@    @@    @@    @@          @@
 *                    @@    @@  @@      @@          @@
 *                      @@  @@@@      @@              
 *              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    
 *                                 FRESH-FLAVA.NET    

 * @desc       contains base functions

 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 * @           functions
 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 * @func       init()                                -> 
 * @func       collapse( cla )                       -> 
 * @func       opWin()                               -> open in new window
 * @func       send2Opener()                         -> 
 * @func       setInOpener( field, val )             -> 
 * @func       createInOpener( field, val, desc )    -> 
 * @func       closeWin()                            -> close opened window
 * @func       disableOnChange()                     ->
 * @func       disableOnLoad()                       ->
 * @func       disableFields( cat )                  ->
 * @func       radioCheck()                          ->
 * @func       radioChecked( val )                   ->
 * 
**/



    function collapse( cla ) {

        var ulMembers, i, ii, lis, liA, liAText, newLink, newText, tohide;
        if (document.getElementById('main')) {
            ulMembers = document.getElementById('main').getElementsByTagName('ul');
            
            for (i = 0; i < ulMembers.length; i++) {
                if (new RegExp( '\\b' +cla+ '\\b' ).test( ulMembers[i].className )) {
                    lis = ulMembers[i].getElementsByTagName('li');

                    for (ii = 0; ii < lis.length; ii++) {
                        if (lis[ii].getElementsByTagName('a')[0]) {
                            tohide = lis[ii].getElementsByTagName('div')[0];
                            lis[ii].getElementsByTagName('a')[0].tohide = tohide;
                            
                            lis[ii].getElementsByTagName('a')[0].onclick = function() {
                                if (cssjs( 'check', this.tohide, 'hidden' )) {
                                    cssjs( 'swap', this.tohide, 'hidden', 'shown' );
                                    if (this.parentNode.parentNode.className == 'tree') { this.style.backgroundImage = "url('./img/icons/i_node_up.gif')"; }
                                } else {
                                    cssjs( 'swap', this.tohide, 'shown', 'hidden' );
                                    if (this.parentNode.parentNode.className == 'tree') { this.style.backgroundImage = "url('./img/icons/i_node_down.gif')"; }
                                }
                                return false;
                            }
                        }
                    }
                }
            }
        }

        function cssjs( act, obj, class1, class2 ) {
            switch (act){
                case 'swap':
                    obj.className = !cssjs( 'check', obj, class1 ) ? obj.className.replace( class2, class1 ) : obj.className.replace( class1, class2 );
                break;
                case 'add':
                    if (!cssjs( 'check', obj, class1 )) { obj.className += obj.className ? ' ' +class1 : class1; }
                break;
                case 'check':
                    return new RegExp( '\\b' +class1+ '\\b' ).test( obj.className )
                break;
            }
        }

        function swimg( imgobj ) {
            var src, newsrc;
            src = imgobj.src;
            newsrc = ( /_down/.test(src) ) ? src.replace( '_down', '_up' ) : src.replace( '_up', '_down' );
            imgobj.src = newsrc;
        }

        function swdisplay( displayobj, divobj ) {
            var displayValue = displayobj.value == 0 ? 1 : 0;
            displayobj.value = displayValue;
        }

    }



    function opWin() {

        var ashow = document.getElementsByTagName('a');
        for (var ai = 0; ai < ashow.length; ai++) {
            if (new RegExp( /popup=1/ ).test( ashow[ai].href )) {
                ashow[ai].onclick = function() { return( popUp( this ) ); }
            } else if (ashow[ai].getAttribute('rel') == 'newtab') {
                ashow[ai].onclick = function() { return newTab( this.href ); }
            }
        }


        function popUp( o ) {
            var cArr, attArr, width, height, winName, xPos, yPos, puFeat, puWin;
            cArr = o.className.split( ' ' );
            attArr = cArr[1].split( '##' );

            width = attArr[0];
            height = attArr[1];
            winName = attArr[2];

            xPos = (screen.availWidth - width) / 2;
            yPos = (screen.availHeight - height) / 2;
            puFeat = 'width=' +width+ ',height=' +height+ ',toolbar=no,status=yes,scrollbars=yes,resizable=yes,left=' +xPos+ ',top=' +yPos;
            puWin = window.open( o.href, winName, puFeat, false );
        
            if (puWin.opener == null) puWin.opener = window;
            puWin.opener.name = "popup";

            return false;
        }

        function newTab( url ) {
            window.open( url );
            return false;
        }

    }


    function send2Opener() {

        var field, val, desc;
        if (document.getElementById('input')) {
            field = document.getElementById('input').value;
            val = document.getElementById('upload').value;
            opener.setInOpener( field, val );
        }
        if (document.getElementById('select')) {
            field = document.getElementById('select').value;
            val = document.getElementById('val').value;
            desc = document.getElementById('upload').value;;
            opener.createInOpener( field, val, desc );
        }
    }

    function setInOpener( field, val ) {

        var inpField, aNode;
        inpField = document.getElementById(field);
        inpField.value = val;
        aNode = inpField;
        while (aNode.nextSibling.nodeName != 'A') {
            aNode = aNode.nextSibling;
        }
        /* loeschen des aufrufenden links */
        aNode.nextSibling.parentNode.removeChild( aNode.nextSibling );
    }

    function createInOpener( field, val, desc ) {

        var opts, i, opt, optTxt;

        opts = document.getElementById(field).getElementsByTagName('option');
        for (i = 0; i < opts.length; i++) {
            opts[i].removeAttribute( 'selected' );
        }

        opt = document.createElement( 'option' );
        opt.setAttribute( 'selected', 'selected' );
        opt.value = val;
        optTxt = document.createTextNode( desc );
        opt.appendChild( optTxt );
        
        document.getElementById(field).appendChild( opt );

    }

    function closeWin() {

        if (document.getElementById('uploadBack')) {
            document.getElementById('uploadBack').onclick = function() { window.close(); }
        }
        if (document.getElementById('insertClubBack')) {
            document.getElementById('insertClubBack').onclick = function() { window.close(); }
        }
        if (document.getElementById('insertVenueBack')) {
            document.getElementById('insertVenueBack').onclick = function() { window.close(); }
        }
        if (document.getElementById('closeWin')) {
            document.getElementById('closeWin').onclick = function() { window.close(); }
        }

    }



    function disableOnChange() {

        if (document.getElementById('cat')) {
            document.getElementById('cat').onchange = function() { disableFields( 'cat' ); }
        }
        if (document.getElementById('projectcat_select')) {
            document.getElementById('projectcat_select').onchange = function() { disableProjectFields( 'projectcat_select' ); }
        }
        if (document.getElementById('choose1')) {
            document.getElementById('choose1').onchange = function() { disableProjectFields( 'choose1' ); }
        }
        if (document.getElementById('choose0')) {
            document.getElementById('choose0').onchange = function() { disableProjectFields( 'choose0' ); }
        }

    }

    function disableOnLoad() {

        if (document.getElementById('catId')) {
            disableFields( 'catId' );
        }
        if (document.getElementById('projectId')) {
            disableProjectFields( 'projectId' );
        }
        if (document.getElementById('choose1')) {
            if (document.getElementById('choose1').checked && document.getElementById('projectId')) disableProjectFields( 'choose1' );
        }
        if (document.getElementById('choose0')) {
            if (document.getElementById('choose0').checked && document.getElementById('projectId')) disableProjectFields( 'choose0' );
        }
    }


    function disableFields( cat ) {

        switch (document.getElementById(cat).value) {
            case '0000000001':
                document.getElementById('lead').removeAttribute( 'disabled' );
                document.getElementById('formalities').removeAttribute( 'disabled' );
                document.getElementById('journal').removeAttribute( 'disabled' );
                document.getElementById('venueInfo').removeAttribute( 'disabled' );
                document.getElementById('meetingScheduleExt').removeAttribute( 'disabled' );
                document.getElementById('guests').removeAttribute( 'disabled' );
            break;
            case '0000000004': /* Vorstandssitzung */
                document.getElementById('lead').removeAttribute( 'disabled' );
                document.getElementById('formalities').removeAttribute( 'disabled' );
                document.getElementById('formalities').setAttribute( 'disabled', 'disabled' );
                document.getElementById('journal').removeAttribute( 'disabled' );
                document.getElementById('journal').setAttribute( 'disabled', 'disabled' );
                document.getElementById('venueInfo').removeAttribute( 'disabled' );
                document.getElementById('venueInfo').setAttribute( 'disabled', 'disabled' );
                document.getElementById('meetingScheduleExt').removeAttribute( 'disabled' );
                document.getElementById('meetingScheduleExt').setAttribute( 'disabled', 'disabled' );
                document.getElementById('guests').removeAttribute( 'disabled' );
                // document.getElementById('guests').setAttribute( 'disabled', 'disabled' );
            break;
            default:
                document.getElementById('lead').removeAttribute( 'disabled' );
                document.getElementById('lead').setAttribute( 'disabled', 'disabled' );
                document.getElementById('formalities').removeAttribute( 'disabled' );
                document.getElementById('formalities').setAttribute( 'disabled', 'disabled' );
                document.getElementById('journal').removeAttribute( 'disabled' );
                document.getElementById('journal').setAttribute( 'disabled', 'disabled' );
                document.getElementById('venueInfo').removeAttribute( 'disabled' );
                document.getElementById('venueInfo').setAttribute( 'disabled', 'disabled' );
                document.getElementById('meetingScheduleExt').removeAttribute( 'disabled' );
                document.getElementById('meetingScheduleExt').setAttribute( 'disabled', 'disabled' );
                document.getElementById('guests').removeAttribute( 'disabled' );
                if (document.getElementById(cat).value == 0000000005) document.getElementById('guests').setAttribute( 'disabled', 'disabled' );
            break;
        }
    }


    function disableProjectFields( cat ) {

        switch (document.getElementById(cat).value) {
            case 'prev0':
                var fieldArray = new Array( 'subH2', 'subImgPrev', 'subDescription' );
                for (var i = 0; i < fieldArray.length; i++) {
                    document.getElementById(fieldArray[i]).removeAttribute( 'disabled' );
                    //document.getElementById(fieldArray[i]).setAttribute( 'disabled', 'disabled' );
                    document.getElementById(fieldArray[i]).style.backgroundColor = "#d4d0c8";
                    document.getElementById(fieldArray[i]).style.color = "#808080";
                }
            break;
            case 'prev1':
                var fieldArray = new Array( 'subH2', 'subImgPrev', 'subDescription' );
                for (var i = 0; i < fieldArray.length; i++) {
                    document.getElementById(fieldArray[i]).removeAttribute( 'disabled' );
                    document.getElementById(fieldArray[i]).style.backgroundColor = "#fff";
                    document.getElementById(fieldArray[i]).style.color = "#000";
                }
            break;
            case '0000000001':
                document.getElementById('projectdescription_text').removeAttribute( 'disabled' );
                var fieldArray = new Array( 'projectarticle', 'project', 'subH1', 'subImg', 'subLinkUrl', 'choose1', 'choose0', 'subH2', 'subImgPrev', 'subDescription' );
                for (var i = 0; i < fieldArray.length; i++) {
                    document.getElementById(fieldArray[i]).setAttribute( 'disabled', 'disabled' );
                }
            break;
            case '0000000002':
                document.getElementById('projectdescription_text').removeAttribute( 'disabled' );
                document.getElementById('projectarticle').removeAttribute( 'disabled' );
                var fieldArray = new Array( 'project', 'subH1', 'subImg', 'subLinkUrl', 'choose1', 'choose0', 'subH2', 'subImgPrev', 'subDescription' );
                for (var i = 0; i < fieldArray.length; i++) {
                    document.getElementById(fieldArray[i]).setAttribute( 'disabled', 'disabled' );
                }
            break;
            case '0000000003':
                var fieldRem = new Array( 'project', 'subH1', 'subImg', 'subLinkUrl', 'choose1', 'choose0' );
                for (var i = 0; i < fieldRem.length; i++) {
                    document.getElementById(fieldRem[i]).removeAttribute( 'disabled' );
                }
                var fieldSet = new Array( 'projectdescription_text', 'projectarticle', 'subH2', 'subImgPrev', 'subDescription' );
                for (var j = 0; j < fieldSet.length; j++) {
                    document.getElementById(fieldSet[j]).removeAttribute( 'disabled' );
                    document.getElementById(fieldSet[j]).setAttribute( 'disabled', 'disabled' );
                }
            break;
            default:
                var fieldArray = new Array( 'projectdescription_text', 'projectarticle', 'project', 'subH1', 'subImg', 'subLinkUrl', 'choose1', 'choose0', 'subH2', 'subImgPrev', 'subDescription' );
                for (var i = 0; i < fieldArray.length; i++) {
                    document.getElementById(fieldArray[i]).setAttribute( 'disabled', 'disabled' );
                }

            break;
        }
    }


    function radioCheck() {

        if (document.getElementById('checkAll')) {
            document.getElementById('checkAll').onclick = function() { radioChecked( 1 ); }
        }
        if (document.getElementById('checkAllAN')) {
            document.getElementById('checkAllAN').onclick = function() { radioChecked( 3 ); }
        }

    }


    function radioChecked( val ) {

        var radios, i;
        radios = document.getElementsByTagName('input');
        for (i = 0; i < radios.length; i++) {
            if (radios[i].type == 'radio') {
                radios[i].removeAttribute( 'checked' );
                if (radios[i].value == val) {
                    radios[i].setAttribute( 'checked', 'checked' );
                }
            }
        }
    }



    function historyBack() {
        var hbArray = new Array( 'editLinkBack', 'editMemberBack', 'editMeetingBack', 'editPressBack', 'editProjectBack', 'editScheduleBack' );
        for (var i = 0; i < hbArray.length; i++) {
            if (document.getElementById(hbArray[i])) {
                document.getElementById(hbArray[i]).onclick = function() { window.location.href = this.parentNode.href; }
            }
        }
    }





/////////////////////////////////////////////////////////////////////




/////////////////////////////////////////////////////////////////////



    function init() {



        collapse( 'members' );
        collapse( 'tree' );
        opWin();
        send2Opener();
        closeWin();

        disableOnChange();
        disableOnLoad();
        radioCheck();
        historyBack();

/*
        if (document.images) document.images['imgLoader'].src = "img/blank.gif";
*/
    }


    window.onload = init;








-->
