function openNewWin( url, winName, width, height )
{
    var sx = screen.width / 2 - width / 2;
    var sy = screen.height / 2 - height / 2;
    var win = window.open( url, winName, 'width=' + width + ',height=' + height + ',location=0,menu=0,scrollbars=1,status=0,titlebar=0,title=0,toolbar=0,screenx='
        + sx +',left=' + sx + ',screeny=' + sy + ',top=' + sy );
    if ( win )
    {
        win.focus();
    }
    return ( win )? false: true;
}

function showDocumentation( e )
{
    if ( !e )
    {
        e = window.event;
    }

    var target = ( e.target )? e.target: e.srcElement;
 
    if ( target.tagName == 'SPAN' )
    {
        target = target.parentNode;
        if ( !target )
        {
            return false;
        }
    }
 
    if ( target.tagName != 'A' )
    {
        return false;
    }

    win = openNewWin( target.href, 'seeds_documentation', 600, 400 );
    return false;    
}

function getInnerText( element )
{
    var result = '';
    for ( var i = 0; i < element.childNodes.length; i++ )
    {
        switch( element.childNodes[i].nodeType )
        {
            case 1:
            {
                result += getInnerText( element.childNodes[i] );
            } break;

            case 3:
            {
                result += element.childNodes[i].nodeValue;
            } break;

            // case 8: result += "\n";
        }
    }
    
    return result;
}

function copyToClipboard( element )
{
    var preElement = element.parentNode.parentNode.getElementsByTagName( 'PRE' )[0];
    if ( !preElement )
    {
        return false;
    }
    var text =getInnerText( preElement );
    if ( !document.getElementById( 'clipboard' ) )
    {
        var div = document.createElement( 'div' );
        div.id = 'clipboard';
        document.body.appendChild( div );
    }
    var clipboardElement = document.getElementById( 'clipboard' );
    clipboardElement.innerHTML = '';
    clipboardElement.innerHTML = '<embed src="/extension/seeds/design/seeds/images/clipboard.swf" FlashVars="text=' + escape( text ) + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    return false;
}

function vote( aEl, objID, opt )
{
    aEl.blur();

    var url = ezpRoot + '/rating/vote/' + objID + '/' + opt;

    var request = false;

    if ( window.XMLHttpRequest )
    {
        request = new XMLHttpRequest();
    }
    else
    {
/*@cc_on
    @if (@_jscript_version >= 5)
            var xmlObjects = ['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'];
            for ( var i = 0; i < xmlObjects.length; i++ )
            {
                try
                {
                    if ( request = new ActiveXObject( xmlObjects[i] ) )
                    {
                        break;
                    }
                }
                catch( e ) {}
            }
    @end
@*/
    }

    if ( request )
    {
        request.onreadystatechange = function()
        {
            if ( request.readyState == 4 )
            {
                var el = document.getElementById( 'ratingmessage' );
                var result = request.responseText;

                if ( result == -2 )
                {
                    el.innerHTML = "Whoops, something went wrong!";
                }
                else if ( result == -1 )
                {
                    el.innerHTML = "You have already voted!";
                }
                else if ( result == 0 )
                {
                    el.innerHTML = "Thanks for your vote, awaiting 10 votes.";
                }
                else
                {
                    el.innerHTML = "Thanks for your vote, the rating is now " + result + ".";
                    document.getElementById( 'ratingbar' ).style.width = Math.round( result * 27 ) + 'px';
                }
            }
        }

        request.open( 'POST', url, true );
        request.send( 'ajax=1' );
    }

    return false;
}
