/*
*       $Header: /home/cvsd/exceloxp/site/frontend/js/menu.js,v 1.3 2006/12/07 14:38:05 paulinad Exp $
*/
        /**
         * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
         *
         * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
         * http://www.opensource.org/licenses/mit-license.php
         *
         * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
         *   legal reasons.
         */
        if( typeof deconcept == "undefined" )
        {
                var deconcept = new Object();
        }
        if( typeof deconcept.util == "undefined" )
        {
                deconcept.util = new Object();
        }
        if( typeof deconcept.SWFObjectUtil == "undefined" )
        {
                deconcept.SWFObjectUtil = new Object();
        }
        deconcept.SWFObject = function( _1, id, w, h, _5, c, _7, _8, _9, _a, _b )
        {
                if( !document.createElement || !document.getElementById )
                {
                        return;
                }
                this.DETECT_KEY = _b ? _b : "detectflash";
                this.skipDetect = deconcept.util.getRequestParameter( this.DETECT_KEY );
                this.params = new Object();
                this.variables = new Object();
                this.attributes = new Array();
                if( _1 )
                {
                        this.setAttribute( "swf", _1 );
                }
                if( id )
                {
                        this.setAttribute( "id", id );
                }
                if( w )
                {
                        this.setAttribute( "width", w );
                }
                if( h )
                {
                        this.setAttribute( "height", h);
                }
                if( _5 )
                {
                        this.setAttribute( "version", new deconcept.PlayerVersion( _5.toString().split( "." ) ) );
                }
                this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion( this.getAttribute( "version" ), _7 );
                if( c )
                {
                        this.addParam( "bgcolor", c );
                }
                var q = _8 ? _8 : "high";
                this.addParam( "quality", q );
                this.setAttribute( "useExpressInstall", _7 );
                this.setAttribute( "doExpressInstall", false );
                var _d = ( _9 ) ? _9 : window.location;
                this.setAttribute( "xiRedirectUrl", _d );
                this.setAttribute( "redirectUrl", "" );
                if( _a )
                {
                        this.setAttribute( "redirectUrl", _a );
                }
        };
        deconcept.SWFObject.prototype = { 
                setAttribute:function( _e, _f )
                {
                        this.attributes[_e] = _f;
                }
                , getAttribute:function( _10 )
                {
                        return this.attributes[_10];
                }
                , addParam:function( _11, _12)
                {
                        this.params[_11]=_12;
                }
                , getParams:function()
                {
                        return this.params;
                }
                , addVariable:function( _13, _14 )
                {
                        this.variables[_13] = _14;
                }
                , getVariable:function( _15 )
                {
                        return this.variables[_15];
                }
                , getVariables:function()
                {
                        return this.variables;
                }
                , getVariablePairs:function()
                {
                        var _16 = new Array();
                        var key;
                        var _18 = this.getVariables();
                        for( key in _18 )
                        {
                                _16.push( key + "=" + _18[key] );
                        }
                        return _16;
                }
                , getSWFHTML:function()
                {
                        var _19 = "";
                        if( navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length )
                        {
                                if( this.getAttribute( "doExpressInstall" ) )
                                {
                                        this.addVariable( "MMplayerType", "PlugIn" );
                                }
                                _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute( "swf" ) + "\" width=\"" + this.getAttribute( "width" ) + "\" height=\"" + this.getAttribute( "height" ) + "\"";
                                _19 += " id=\"" + this.getAttribute( "id" ) + "\" name=\"" + this.getAttribute( "id" ) + "\" ";
                                var _1a = this.getParams();
                                for( var key in _1a )
                                {
                                        _19 += [key] + "=\"" + _1a[key] + "\" ";
                                }
                                var _1c = this.getVariablePairs().join( "&" );
                                if( _1c.length > 0 )
                                {
                                        _19 += "flashvars=\"" + _1c + "\"";
                                }
                                _19 += "/>";
                        }
                        else
                        {
                                if( this.getAttribute( "doExpressInstall" ) )
                                {
                                        this.addVariable( "MMplayerType", "ActiveX" );
                                }
                                _19 = "<object id=\"" + this.getAttribute( "id" ) + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute( "width" ) + "\" height=\"" + this.getAttribute( "height" ) + "\">";
                                _19 += "<param name=\"movie\" value=\"" + this.getAttribute( "swf" ) + "\" />";
                                var _1d = this.getParams();
                                for( var key in _1d )
                                {
                                        _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />";
                                }
                                var _1f = this.getVariablePairs().join( "&" );
                                if( _1f.length > 0 )
                                {
                                        _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";
                                }
                                _19 += "</object>";
                        }
                        return _19;
                }
                , write:function( _20 )
                {
                        if( this.getAttribute( "useExpressInstall" ) )
                        {
                                var _21 = new deconcept.PlayerVersion( [6, 0, 65] );
                                if( this.installedVer.versionIsValid( _21 ) && !this.installedVer.versionIsValid( this.getAttribute( "version" ) ) )
                                {
                                        this.setAttribute( "doExpressInstall", true );
                                        this.addVariable( "MMredirectURL", escape( this.getAttribute( "xiRedirectUrl" ) ) );
                                        document.title = document.title.slice( 0, 47 ) + " - Flash Player Installation";
                                        this.addVariable( "MMdoctitle", document.title );
                                }
                        }
                        if( this.skipDetect || this.getAttribute( "doExpressInstall" ) || this.installedVer.versionIsValid( this.getAttribute( "version" ) ) )
                        {
                                var n = ( typeof _20 == "string" ) ? document.getElementById( _20 ) : _20;
                                n.innerHTML = this.getSWFHTML();
                                return true;
                        }
                        else
                        {
                                if( this.getAttribute( "redirectUrl" ) != "" )
                                {
                                        document.location.replace( this.getAttribute( "redirectUrl" ) );
                                }
                        }
                        return false;
                }
        };
        deconcept.SWFObjectUtil.getPlayerVersion = function( _23, _24 )
        {
                var _25 = new deconcept.PlayerVersion( [0, 0, 0] );
                if( navigator.plugins && navigator.mimeTypes.length )
                {
                        var x = navigator.plugins[ "Shockwave Flash" ];
                        if( x && x.description )
                        {
                                _25 = new deconcept.PlayerVersion( x.description.replace( /([a-z]|[A-Z]|\s)+/, "" ).replace( /(\s+r|\s+b[0-9]+)/, "." ).split( "." ) );
                        }
                }
                else
                {
                        try
                        {
                                var axo = new ActiveXObject( "ShockwaveFlash.ShockwaveFlash" );
                                for( var i = 3; axo != null; i++ )
                                {
                                        axo = new ActiveXObject( "ShockwaveFlash.ShockwaveFlash." + i );
                                        _25 = new deconcept.PlayerVersion( [i, 0, 0] );
                                }
                        }
                        catch( e ){}
                        if( _23 && _25.major > _23.major )
                        {
                                return _25;
                        }
                        if( !_23 || ( ( _23.minor != 0 || _23.rev != 0 ) && _25.major == _23.major ) || _25.major != 6 || _24 )
                        {
                                try
                                {
                                        _25 = new deconcept.PlayerVersion( axo.GetVariable( "$version" ).split( " " )[1].split( "," ) );
                                }
                                catch( e ){}
                        }
                }
                return _25;
        };
        deconcept.PlayerVersion = function( _29 )
        {
                this.major = parseInt( _29[0] ) != null ? parseInt( _29[0] ) : 0;
                this.minor = parseInt( _29[1] ) || 0;
                this.rev = parseInt( _29[2] ) || 0;
        };
        deconcept.PlayerVersion.prototype.versionIsValid = function( fv )
        {
                if( this.major < fv.major )
                {
                        return false;
                }
                if( this.major > fv.major )
                {
                        return true;
                }
                if( this.minor < fv.minor )
                {
                        return false;
                }
                if( this.minor > fv.minor )
                {
                        return true;
                }
                if( this.rev < fv.rev )
                {
                        return false;
                }
                return true;
        };
        deconcept.util = {
                getRequestParameter:function( _2b )
                {
                        var q = document.location.search || document.location.hash;
                        if( q )
                        {
                                var _2d = q.indexOf( _2b + "=" );
                                var _2e = ( q.indexOf( "&", _2d ) >- 1 ) ? q.indexOf( "&", _2d ) : q.length;
                                if( q.length > 1 && _2d >- 1 )
                                {
                                        return q.substring( q.indexOf( "=", _2d ) + 1, _2e );
                                }
                        }
                        return "";
                }
        };
        if( Array.prototype.push == null )
        {
                Array.prototype.push = function( _2f )
                {
                        this[this.length] = _2f;
                        return this.length;
                };
        }
        var getQueryParamValue = deconcept.util.getRequestParameter;
        var FlashObject = deconcept.SWFObject; // for backwards compatibility
        var SWFObject = deconcept.SWFObject;

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja zalatwia problem z wstawianiem flashy do IE
        //
        function drawFlash( path, param, quality, bgcolor, width, height, name, flashDiv )
        {
		var so = new SWFObject( path, name, width, height, "8", bgcolor );
		so.addParam( "quality", quality );
                var par = param.split( "&" );
                for( var i = 0; i < par.length; i++ )
                {
                        var p = par[i].split( "=" );
                        so.addVariable( p[0], p[1] );
                }
                so.addParam( "wmode", "transparent" );
		so.write( flashDiv );
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja zalatwia problem z wstawianiem flashy do IE
        //
        function drawFlashOld( path, param, quality, bgcolor, width, height, name )
        {
                document.write( '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'" id="mainElem" align="middle">' );
                document.write( '<param name="allowScriptAccess" value="sameDomain" />' );
                document.write( '<param name="movie" value="'+path+'" />' );
                document.write( '<param name="quality" value="'+quality+'" />' );
                document.write( '<param name="bgcolor" value="'+bgcolor+'" />' );
                document.write( '<param name="wmode" value="transparent" >' );
                document.write( '<param name="FlashVars" value="'+param+'" >' );
                document.write( '<embed src="'+path+'?'+param+'" quality="'+quality+'" bgcolor="'+bgcolor+'" width="'+width+'" height="'+height+'" name="'+name+'" wmode="transparent" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />' );
                document.write( '</object>' );
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: przycina tekst do wskazanej dlugosci
        //
        function checkNumChars( id, num )
        {
                oTxt = document.getElementById( id );
                vTxt = oTxt.value;
                if( vTxt.length > num )
                {
                        vTxt = vTxt.substr( 0, num );
                        oTxt.value = vTxt;
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: odsyla do wyszukiwania ze stronicowania
        //
        function submitContactForm( a_txt )
        {
                oName = document.getElementById( "name" ).value;
                oSurName = document.getElementById( "surname" ).value;
                oEmail = document.getElementById( "conemail" ).value;
                oSubject = document.getElementById( "subject" ).value;
                getWysiwyg( 0 );
                oContent = document.getElementById( "wText0" ).value;
                if( ( oName != "" ) && ( oSurName != "" ) && ( oEmail != "" ) && ( oSubject != "" ) && ( oContent != "" ) )
                {
                        document.forms.contactForm.submit();
                }
                else
                {
                        alert( a_txt );
                }
        }

        //global object that contains popup image data
        var popupImageObj;
        
                
//------------------------------------------------------------------------------------------------------------

        /** DO NOT REMOVE UNDER ANY CIRCUMSTANCES !!!
         * Function is used to show image popup window.
         * Window is created after complete image loading
         *
         * @param popupImageObj global variable - image to show object
         */
        function showImagePopupWindow()
        {
                if( popupImageObj.complete == true )
                {
                        windowWidth = popupImageObj.width + 20;
                        windowHeight = popupImageObj.height + 30;
                        
                        verticalPosition = (document.body.clientWidth - windowWidth) / 2;
                        if(verticalPosition < 0) verticalPosition = 0;
                        
                        horizontalPosition = (document.body.clientHeight - windowHeight) / 2;
                        if(horizontalPosition < 0) horizontalPosition = 0;
                        
                        popupWindowObj = window.open(   popupImageObj.src, 
                                                        "image_window", 
                                                        "channelmode=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, titlebar=no, \
                                                        width="+ windowWidth +", height="+ windowHeight +", \
                                                        left="+ verticalPosition +", top="+ horizontalPosition +"" );
                        popupWindowObj.focus();
                }
                else
                {
                        setTimeout( "showImagePopupWindow()", 10 );
                }
        }
        /////////////////////////////////////////////////////////////////////////
        //      DO NOT REMOVE UNDER ANY CIRCUMSTANCES !!!
        //  Opis: pokazuje obrazek w nowym dopasowanym oknie
        //
        function showImage( pathToImage )
        {
                popupImageObj = new Image();
                popupImageObj.src = pathToImage;
                
                showImagePopupWindow( popupImageObj );
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: zmienia lokacje na podany adres
        //
        function go_to_location( a_location )
        {
                window.location = a_location;
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: przypisuje akcje do wykonania i robi submita
        //
        function sendReferenceMail( a_text )
        {
                l_adresat = document.getElementById( "adresat" );
                l_nadawca = document.getElementById( "nadawca" );
                if( ( l_adresat.value == "" ) || ( l_nadawca.value == "" ) )
                {
                        alert( a_text );
                }
                else
                {
                        getWysiwyg( 0 );
                        document.forms.polec_nas.submit();
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: przypisuje akcje do wykonania i robi submita
        //
        function subscriptAction( a_akcja )
        {
                l_hidden_action = document.getElementById( "akcja" );
                l_hidden_action.value = a_akcja;
                document.forms.subskrypt_form.submit();
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja sprawdza, czy grafika jest aktywna, czy nie
        //
        function checkIsOn( a_id )
        {
                oButton = document.getElementById( a_id );
                sSrc = oButton.src;
                iLen = sSrc.length;
                sRoz = sSrc.substr( iLen-6, 2 );
                if( sRoz == "_a" )
                {
                        return 1;
                }
                else
                {
                        return 0;
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja podmienia obrazki bez tekstu przy wywolaniu
        //
        function changeImage2( a_name, on_off ) 
        {
                old_img = document.getElementById( a_name );
                old_src = old_img.src;
                len = old_src.length;
                roz = old_src.substr( len-4, len );
                new_src = old_src;
                if( on_off == 1 )
                {
                        if( checkIsOn( a_name ) == 0 )
                        {
                                new_src = old_src.substr( 0, len-4 ) + "_a" + roz;
                        }
                }
                else
                {
                        if( checkIsOn( a_name ) == 1 )
                        {
                                new_src = old_src.substr( 0, len-6 ) + roz;
                        }
                }
                old_img.src = new_src
        } 

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: zmienia lokacje strony na podany adres
        //
        function LocationFromMenu( adres )
        {
                window.location = adres;
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: usowa nadmiarowe spacje ze stringa
        //
        function erase_space( str )
        {
                newstr = "";
                i = 0;
                strlen = str.length;
                znak = str.charAt(i);
                while( ( znak != "" ) && ( i < strlen ) )
                {
                        if( znak == " " )
                        {
                                i++;
                        }
                        else
                        {
                                while( ( znak != "" ) && ( znak != " " ) && ( i < strlen ) )
                                {
                                        newstr = newstr + znak;
                                        i++;
                                        znak = str.charAt(i);
                                }
                                newstr = newstr + "+";
                                i++;
                        }
                        znak = str.charAt(i);
                }
                len = newstr.length;
                znak = newstr.charAt( len-1 );
                if( znak == "+" )
                {
                        newstr = newstr.substr( 0, len-1 );
                }
                return newstr;
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: sprawdza dlugosc wszystkich podanych slow
        //
        function checkWordsLength( a_str )
        {
                l_ok = 1;
                l_str = "";
                l_index = 0;
                l_len = a_str.length;
                if( l_len > 1 )
                {
                        l_index = a_str.indexOf( "+" );
                        if( l_index > 0 )
                        {
                                l_str = a_str.substr( 0, l_index );
                                if( l_str.length > 1 )
                                {
                                        r_str = a_str.substr( l_index+1, l_len );
                                        l_ok = checkWordsLength( r_str );
                                }
                                else
                                {
                                        if( l_str.length > 0 )
                                        {
                                                l_ok = 0;
                                        }
                                }
                        }
                }
                else
                {
                        l_ok = 0;
                }
                return l_ok;
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: odsyla do wyszukiwania, jesli wpisano slowa
        //
        function SendWords( a_host, a_id, text_to_alert1, text_to_alert2, a_type )
        {
                word_container = document.getElementById( a_id );
                words = word_container.value;
                if( words != "" )
                {
                        words = words.toLocaleLowerCase();
                        re = /(\+)/g;
                        words = words.replace( re, "d7d18cfb3a0d8293e2f5d94ea30e04d2" );
                        words = erase_space( words );
                        is_ok = checkWordsLength( words );
                        if( is_ok == 1 )
                        {
                                words = encodeURI(words);
                                re = /(\%25+)/g;
                                words2 = words.replace( re, "e1e4faf650b9178c832fd6ce887e11d4" );
                                re = /(\/)/g;
                                words2 = words2.replace( re, "9fbbaa4cc515bc46e0c12e82a31df736" );
                                adres = a_host + "/wyszukiwanie/slowa/" + words2;
                                if( a_type == 1 )
                                {
                                        document.forms.searchmod.action = adres;
                                        document.forms.searchmod.submit();
                                }
                                else if( a_type == 2 )
                                {
                                        document.forms.searchtop.action = adres;
                                        document.forms.searchtop.submit();
                                }
                                else
                                {
                                        window.location = adres;
                                }
                        }
                        else
                        {
                                alert( text_to_alert1 );
                        }
                }
                else
                {
                        alert( text_to_alert2 );
                }
        }

//-------------------------------------------------------------------------------

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: odsyla do wyszukiwania ze stronicowania
        //
        function sendPaging( a_adres )
        {
                document.forms.searchmod.action = a_adres;
                document.forms.searchmod.submit();
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: odsyla do wyszukiwania ze stronicowania
        //
        function sendModuleSearch( a_adres )
        {
                document.getElementById( "moduleSearch1" ).value = 0;
                document.forms.searchmod.action = a_adres;
                document.forms.searchmod.submit();
        }

//-------------------------------------------------------------------------------
//
//      tu mini wysiwyg
//
//-------------------------------------------------------------------------------

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: inicjuje wysiwyg
        //
        function initWysiwyg()
        {
                oTArea = document.getElementsByName( "wysiwyg" );
                for( i = 0; i < oTArea.length; i++ )
                {
                        content = getContent( oTArea[i] );
                        if( content != null )
                        {
                                try
                                {
                                        content.designMode = "on";
                                }
                                catch( e ){}
                        }
                        else
                        {
                                alert( "ERROR: Cannot enable wysiwyg" );
                        }
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: zarzadza tekstowym panelem wysiwyg
        //
        function setTextStyle( nr, style, param )
        {
                obj = document.getElementById( "wysiwyg"+nr+"" );
                content = getContent( obj );
                if( content != null )
                {
                        content.execCommand( style, null, param );
                }
                else
                {
                        alert( "ERROR: Wysiwyg not enabled" );
                }
                
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: pobiera content dla obiektu
        //
        function getContent( obj )
        {
                if( content = obj.contentWindow.document )
                {
                        return content;
                }
                else if( content = obj.document )
                {
                        return content;
                }
                else
                {
                        return null;
                }
                
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: pobiera dane z wysiwyg i wstawia je w ukryte pole tekstowe
        //
        function getWysiwyg( nr )
        {
                frameObj = document.getElementById( "wysiwyg"+nr+"" );
                frame = getContent( frameObj );
                if( frame != null )
                {
                        input = document.getElementById( "wText"+nr+"" );
                        input.value = frame.body.innerHTML;
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: ustawia dane w wysiwyg na dane z pola tekstowego
        //
        function setWysiwyg( nr )
        {
                frameObj = document.getElementById( "wysiwyg"+nr+"" );
                frame = getContent( frameObj );
                if( frame != null )
                {
                        sVal = document.getElementById( "wText"+nr+"" ).value;
                        frame.body.contentEditable = true;
                        frame.body.innerHTML = sVal;
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: ustawia dane w wysiwyg na dane z pola tekstowego
        //
        function emptyWysiwyg( nr )
        {
                frameObj = document.getElementById( "wysiwyg"+nr+"" );
                frame = getContent( frameObj );
                if( frame != null )
                {
                        frame.body.innerHTML = '';
                }
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja sprawdza, czy ciag jest liczba calkowita o okreslonej ilosci znakow
        //
        function myIsInt( v, i, j )
        {
                len = v.length;
                if( !isNaN( v ) && ( len >= i ) && ( len <= j ) )
                {
                        return 1;
                }
                return 0;
        }

        /////////////////////////////////////////////////////////////////////////
        //
        //  Opis: funkcja sprawdza, czy ciag jest poprawnym adresem e-mail
        //
        function isEMail( email )
        {
                re = /^[-a-z0-9!#$%&\'*+\/=?^_`{|}~]+(\.[-a-z0-9!#$%&\'*+\/=?^_`{|}~]+)*@(([a-z]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+([a-z]([-a-z0-9]*[a-z0-9]+)?){2,63}$/g;
                check = email.replace( re, "" );
                if( check == '' )
                {
                        return 1;
                }
                return 0;
        }

