<!--

//
// SV special functions
//
var WCC_COOKIE_NAME = 'wcc';
var WCC_WIDTH  = 370;
var WCC_HEIGHT = 580;
var WINLIST_LEFT0  = screen.availWidth - WCC_WIDTH - 30;
var WINLIST_TOP0   = 20;


function svLogout()
{
    //svCloseProfProjects();
    //svCloseMylistWin();
    svCloseVideopageWin();
    svCloseWccWindows();
}


// -----------------------------------------------------------------------------
// WCC window handling
// -----------------------------------------------------------------------------
var wccPlaces = null;

function findRootWindow()
{
    var w = this;
    for (i=0; i<10; i++) {
        if (w.opener == null)
            break;
        w = w.opener;
    }
    //alert(w.top.document.title);
    return w.top;
}


// class WccPlaces
function WccPlaces()
{
    this.rightShift = 0;
    this.topShift = 0;
    this.posList = new Array();
}

function getWccPos(actorId)
{
    var winId = 'wcc' + actorId;
    var pos = null;
    var wccPlacesString = TT_getCookie(WCC_COOKIE_NAME);
    wccPlaces = wccPlacesString ? (new PHP_Serializer()).unserialize(wccPlacesString) : new WccPlaces();

    var rightShift = wccPlaces.rightShift;
    var topShift   = wccPlaces.topShift;
    var posList    = wccPlaces.posList;

    // lookup winId in window position list
    for (i = 0 ; i < posList.length ; i++) {
        if (posList[i]['winId'] == winId)
            pos = posList[i];
            break;
    }

    // if winId not found then look for free slot
    if (!pos)
    {
        for (i = 0 ; i < posList.length ; i++) {
            if (posList[i]['winId'] == '') {
                posList[i]['winId'] = winId;
                pos = posList[i];
                break;
            }
        }
    }

    // if no existing pos found then create a new window position
    if (!pos)
    {
        var left = WINLIST_LEFT0;
        var top  = WINLIST_TOP0;
        if (posList.length > 0) {
            left = posList[posList.length - 1]['left'];
            top  = posList[posList.length - 1]['top'] + WCC_HEIGHT + 25;
            if (top + WCC_HEIGHT > screen.availHeight) {
                rightShift += 166;
                topShift   += 10;
                left = WINLIST_LEFT0 - rightShift;
                top  = WINLIST_TOP0  + topShift;
            }
            if (left < 0) {
                rightShift = 0;
                topShift   = 0;
                left = WINLIST_LEFT0;
                top  = WINLIST_TOP0;
            }
        }

        //alert('pos='+left+','+top);
        pos = new Array();
        pos['winId'] = winId;
        pos['left']  = left;
        pos['top']   = top;
        posList[posList.length] = pos;
    }

    wccPlaces.rightShift = rightShift;
    wccPlaces.topShift   = topShift;
    wccPlaces.posList    = posList;
    TT_setCookie(WCC_COOKIE_NAME, (new PHP_Serializer()).serialize(wccPlaces), 0, '/');

    return pos;
}


function svOpenWcc(objOrUrl, actorId)  
{
    if (typeof(actorId) == 'undefined') actorId = '';
    var url =_arg2url(objOrUrl);
    var winName = 'wcc' + actorId;

    var height = WCC_HEIGHT;
    if (svShowProfiBewertungen()) 
    {
        height += 85;
    }
    pos = getWccPos(actorId);
    var win = window.open(url,winName,'width='+WCC_WIDTH+',height='+height+',left='+pos['left']+',top='+pos['top']+',dependent=no,toolbar=no,location=no,menubar=no,status=yes,scrollbars=yes,resizable=no');
    win.focus();
    return false; // prevent default action 
}


function svOpenProfilecard(objOrUrl, actorId)  
{
    return svOpenWcc(objOrUrl, actorId); 
}


function svWccOpened(actorId)
{
    return; // NOTE: for now

    window.svWccPolli = function()
    {
        //alert ('opener=' + typeof(window.opener));
        if (typeof(window.opener) == 'undefined')
            window.close();
    }
    window.setInterval( function(){ if (typeof(window.svWccPolli) != 'undefined') { window.svWccPolli() } }, 3000);
}


function svWccClosed(actorId)
{
    var winId = 'wcc' + actorId;
    var wccPlacesString = TT_getCookie(WCC_COOKIE_NAME);
    if (!wccPlacesString)
        return;
    wccPlaces = (new PHP_Serializer()).unserialize(wccPlacesString);

    // lookup winId in window position list
    for (i = 0 ; i < wccPlaces.posList.length ; i++) {
        if (wccPlaces.posList[i]['winId'] == winId) {
            wccPlaces.posList[i]['winId'] = '';
            TT_setCookie(WCC_COOKIE_NAME, (new PHP_Serializer()).serialize(wccPlaces), 0, '/');
            //alert('closed: ' + i + ' ' + winId);
            return;
        }
    }
}


function svCloseWccWindows()
{
    var winId;
    var rootWin = findRootWindow();
    if (typeof rootWin.WccPosList == 'undefined')
        return;
    for (i = 0 ; i < rootWin.WccPosList.length ; i++) {
        winId = rootWin.WccPosList[i]['winId'];
        _closeWin(winId);
    }
}


function svOpenWccPrintPreview(objOrUrl)
{
    var url =_arg2url(objOrUrl);
    
    var w = 750;
    var h = 750;    
    var win = window.open(url, 'sv_printpreview', 'width='+w+',height='+h+',dependent=no,toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes');
    if (win)
        win.focus();
        
    return false;
}


// -----------------------------------------------------------------------------
// external links in window
// -----------------------------------------------------------------------------

function svOpenExtern(objOrUrl)  // argument is either an achor object or an url string
{
    var url =_arg2url(objOrUrl);
    _openExternUrl(url, '_blank');

    return false;
}

// -----------------------------------------------------------------------------
// Video window
// -----------------------------------------------------------------------------

function getVideopagePos(sizeLetter)
{
    var pos = {
        width:  850,
        height: 760,
        left:   5,
        top:    5
    };
/*    
    switch(sizeLetter)
    {
       case 's':       
       case 'm':              
           pos.width  = 600;
           pos.height = 730;
           pos.left   = 270;
           pos.top    = 20;
           break;           
       default:
           pos.width  = 850;
           pos.height = 760;
           pos.left   = 5;
           pos.top    = 5;
           break;
    }
*/    
    return pos;
}


function svOpenVideopage(objOrUrl, sizeLetter)
{
    var url =_arg2url(objOrUrl);

    var pos = getVideopagePos(sizeLetter);
    if (svShowProfiBewertungen()) 
    {
        pos.height += 100;
    }
    var win = window.open(url, 'sv_video', 'width='+pos.width+',height='+pos.height+',left='+pos.left+',top='+pos.top+',dependent=no,toolbar=no,location=no,menubar=no,status=yes,scrollbars=yes,resizable=yes');
    win.focus();
    return false; // prevent default action
}


function svCloseVideopageWin()
{
    _closeWin('sv_video');
}

// -----------------------------------------------------------------------------
// MyList und Profi Auswahl Window
// -----------------------------------------------------------------------------

function svAdd(objOrUrl, popupPos)
{
    if (typeof svShowProfiProjects == 'function' && svShowProfiProjects()) 
    {
        return profOpenRollenSelector(objOrUrl, popupPos);
    }
    else 
    {
        // return svOpenMylistWin(objOrUrl);        
        var url = typeof objOrUrl == 'object' ? objOrUrl.href : objOrUrl;
        if (typeof objOrUrl == 'object') 
        {
            var x = ttPageX(objOrUrl);
            var y = ttPageY(objOrUrl);
            switch(popupPos)
            {
                case 'wcc':         x -= 240; y -= 4; break;
                case 'video':       x -= 310; y -= 4; break;            
                case 'kapitel':     x += 20;  y -= 4; break;                        
            }
            svAjaxRequestWithFeedbackMessage(url, x, y, null, function() {}); 
        }
        else // no related object, so center message
        {
            svAjaxRequestWithFeedbackMessage(url, null, null, null, function() {});             
        }
        var topWin = findRootWindow();
        if (topWin && typeof topWin.svReloadMylist != 'undefined') {
            topWin.svReloadMylist();
        }
        return false;
    }
}


function svDel(objOrUrl)
{
    var url =_arg2url(objOrUrl);    
    if (typeof svShowProfiProjects == 'function' && svShowProfiProjects()) 
    {
        self.location = url;
    }
    else 
    {
        self.location = url;
    }
    return false;
}


function svOpenMylistWin(objOrUrl)
{
    var url =_arg2url(objOrUrl);
    window.location.href = url
    return false; 
}


function svCloseMylistWin()
{
    _closeWin('sv_mylist');
}


function openMerklisteDownloadWin()
{
    url = "win_zipdownload.php";
    win = window.open(url,'sv_download','width=200,height=400,left=400,top=200,dependent=no,toolbar=no,location=no,menubar=no,status=yes,scrollbars=yes,resizable=yes');
}


// -----------------------------------------------------------------------------
// ProfProjects Window
// -----------------------------------------------------------------------------

function svOpenProfProjects(objOrUrl)
{
    var url =_arg2url(objOrUrl);
    window.location.href = url;
    return false;
/**    
    var w = findRootWindow();    
    if (window == w && window.opener != null)
        w = window.open(url,'_blank');    
    else
        w.location.href = url;
    w.focus();
    return false; 
**/    
}


function svCloseProfProjects()
{
    _closeWin('sv_profproj');
}


// -----------------------------------------------------------------------------
// Help Window
// -----------------------------------------------------------------------------

function svOpenHelp(objOrUrl)
{
    var url =_arg2url(objOrUrl);

    var win = window.open(url, 'sv_help', 'width=800,height=600,dependent=no,toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
    if (win)
        win.focus();

    return false; // prevent default action
}


// -----------------------------------------------------------------------------
// Tutorial Video Window
// -----------------------------------------------------------------------------

function svOpenTutorialVideo(objOrUrl)
{
    var url =_arg2url(objOrUrl);
    
//alert('screen.width:' + screen.width + ', screen.height' + screen.height);
    var w = 960 + 40;
    var h = 792 + 30;    
    if (w > screen.width) {
        h = (screen.width/w) * h;
        w = screen.width;        
    }
    if (h > screen.height) {
        w = (screen.height/h) * w;
        h = screen.height;        
    }
    var win = window.open(url, 'sv_tutorialvideo', 'width='+w+',height='+h+',dependent=no,toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes');
    if (win)
        win.focus();
        
    return false;
}


// -----------------------------------------------------------------------------
// Crew United Window
// -----------------------------------------------------------------------------

function svOpenCrewUnitedSearch(search)
{
    if (search) {
        _openExternUrl('http://www.crew-united.com/index.asp?suche='+escape(search), '_blank');
    }
    return false;
}

// -----------------------------------------------------------------------------
// local helpers
// -----------------------------------------------------------------------------

function _arg2url(objOrUrl)
{
    // argument is either an achor object or an url string
    if (typeof objOrUrl.href == 'undefined')
        return objOrUrl;
    else
        return objOrUrl.href
}

function _openExternUrl(url, target)
{
    if (url.substr(0, 11).toLowerCase() == 'javascript:') {
        jsStatement = url.substr(11, url.length - 11);
        return eval(jsStatement);
    }
    else {
        return window.open(url,target,'width='+((screen.availWidth/6*5)-60) + ',height='+(screen.availHeight/6*5) + ',left='+(screen.availWidth/12) + ',top=10,dependent=no,toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
    }
}

function _closeWin(name)
{
    win = window.open('', name);
    if (win) win.close();
}


-->