﻿/* integration helper */

var Partner = { Unknown : 0, None : 1, Interia : 2, Orange : 3 }
var partnerName = Partner.Unknown;
var InteriaDomain = ".interia.pl";
var OrangeDomain = ".orange.pl";
var OrangeLoginLink = "https://www.orange.pl/portal/map/map/xwilogin?appId=audioteka";
var orangeLoggedOut = false;

function getPartnerName() {
    if (partnerName == Partner.Unknown)
    {
        var host = location.hostname;
        partnerName = GetPartnerForDomain(host);
    }
    return partnerName;
}

function GetPartnerForDomain(domain) {
    if (domain == null)
        return Partner.None;
    else if (domain.indexOf(InteriaDomain) > -1)
        return Partner.Interia;
    else if (domain.indexOf(OrangeDomain) > -1)
        return Partner.Orange;
    else
        return Partner.None;
}

getPartnerName();

function getOrangeMapSecurityCookieValue()
{
    var mapSecurityCookie = $.cookie('mapSecurityCookie');
    if (mapSecurityCookie != null)
        return $.cookie('mapSecurityCookie');
    
    return null;
}

function getOrangeMapSecurityCookieCopyValue()
{
    var audiotekaOrangeUser = $.cookie('audiotekaOrangeUser');
    if (audiotekaOrangeUser != null)
    {
        var cookieValue = $.cookie('audiotekaOrangeUser');
        var orangeCookieCopy = cookieValue.split(',')[1];
        return orangeCookieCopy;
    }    
    return null;
}

function redirectAfterOrangeLogin()
{    
    var audiotekaOrangeBackUrl = $.cookie('audiotekaOrangeBackUrl');
    if (audiotekaOrangeBackUrl != null)
    {
        $.cookie('audiotekaOrangeBackUrl', '', { expires: 0, path: '/' });
        window.location.href = window.location.protocol + '//' + window.location.host + audiotekaOrangeBackUrl;
    }
}

function setAfterOrangeLoginUrl()
{
    $.cookie('audiotekaOrangeBackUrl', window.location.pathname + window.location.search, { expires: 1, path: '/' });
}

/* /integration helper */

function toggle(idToToggle, array, idToToggleHD, arrayHD)
{
    for(var i = 0; i < array.length; i++)         
        if($("#"+array[i]) != null)        
            array[i] == idToToggle ? $("#"+array[i]).slideDown("normal") : $("#"+array[i]).slideUp("normal");


    for(var i = 0; i < arrayHD.length; i++)         
        if($("#"+arrayHD[i]) != null)
            if (arrayHD[i] == idToToggleHD)
                {
                    switch(i)
                    {
                        case 0:
                            $("#"+arrayHD[i]).attr("class","expandedBoxHD expandedBoxHDFirst");
                            break;    
                        default:
                            $("#"+arrayHD[i]).attr("class","expandedBoxHD")
                    }
                }
            else 
                {
                    switch(i)
                    {
                        case 0:
                            $("#"+arrayHD[i]).attr("class","collapsedBoxHD collapsedBoxHDFirst");
                            break;    
                        case arrayHD.length-1 :
                            $("#"+arrayHD[i]).attr("class","collapsedBoxHD collapsedBoxHDLast");
                            break;
                        default:
                            $("#"+arrayHD[i]).attr("class","collapsedBoxHD")
                    }
                
                }
    return false;
}

function addClass(objects, className)
{
    for(var i=0; i<objects.length;i++)
    {
        $("#"+objects[i]).addClass(className);
    }
}

var defaultButtonID = null;

function defaultButton(e)
{     
    var evt = e ? e : window.event;
    var bt = document.getElementById(defaultButtonID);
    if(bt != null)
    {
        if (typeof bt == 'object')
        { 
            if (evt.keyCode == 13)
            {
                bt.click();
                return false; 
            } 
        }
    }
}

/* poprawka do jQuery dla opery 9.5 - zle liczona byla wysokosc*/
//var height_ = jQuery.fn.height;
//jQuery.fn.height = function() {
//    if ( this[0] == window && jQuery.browser.opera && jQuery.browser.version >= 9.50)
//        return window.innerHeight;
//    else return height_.apply(this,arguments);
//};


//function setPopupBoxPosition() {
//    var popupCssClass = '.popupBox';
//    var popupPaddingHorizontal = -60;
//    var popupPaddingVertical = 30;
//    var popup = $(popupCssClass);
//    var iframe;
//    if (popup != null) {
//        var top, left;
//        //szerokosc prawej kolumny, po jej uwzglednieniu popup pojawia sie na srodku contentu a nie srodku strony
//        var leftOffset = 280; 
//        topNumber = ($(window).height() - popup.height())/2;
//        top = topNumber + 'px';
//        jQuery.each(jQuery.browser, function(i, val) {
//          if(i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") {
//            if (document.body.style.paddingTop != "") {
//                topNumber +=  parseInt(document.body.style.paddingTop);
//            }
//            if (document.body.style.marginTop != "") {
//                topNumber +=  parseInt(document.body.style.marginTop);
//            }
//            top = topNumber + document.documentElement.scrollTop + 'px';
//            popup.css({"position": "absolute"});
//          }
//        });
//        left = ($(window).width() - leftOffset - popup.width())/2  + 'px';
//        popup.css({"top": top, "left": left});
//        var iframeHeight = popup.height() + popupPaddingVertical + "px";
//        var iframeWidth;
//        iframeWidth = popup.width() + popupPaddingHorizontal;
//        if (iframeWidth<0) iframeWidth = 0;
//        iframeWidth += "px";
//        if (popup.next().is('iframe')) {
//            popup.next('iframe').css({"top": top, "left": left, "width": iframeWidth, "height": iframeHeight});
//        }
//        else {
//            iframe = $('<iframe class="popupBoxFrame" frameborder="0" style="display: none;"></iframe>');
//            iframe.css({"top": top, "left": left, "width": iframeWidth, "height": iframeHeight});
//            popup.after(iframe);
//        }
//    }
//}

function addLoadEvent(func) {
    var oldonload = window.onload; 
    if (typeof window.onload != 'function') { 
        window.onload = func; 
    } 
    else { 
        window.onload = function() { 
            if (oldonload) { 
                oldonload(); 
            } 
            func(); 
        } 
    } 
}

// wyrownuje wysokosci DIV-ow bedacych dzieckiem elementu o ID colsParentID
function vJustifyCols(colsParentID){
    
    var colsParent = document.getElementById(colsParentID);
    if (colsParent == null) {
        return;
    }
    var childrenCount = colsParent.childNodes.length;
    if (childrenCount > 0) {
        var colsToJustify = new Array();
        var child;
        for(i=0; i<childrenCount; i++) {
            child = colsParent.childNodes[i];
            if (child.tagName == 'DIV') {
                colsToJustify.push(child.id);
            }
        }
    }
    var maxHeight = 0;
    for (i=0; i<colsToJustify.length; i++) {
        if (document.getElementById(colsToJustify[i]).offsetHeight > maxHeight){
            maxHeight = document.getElementById(colsToJustify[i]).offsetHeight;
        }
    }
    if (maxHeight > 0) {
        for(i=0; i<colsToJustify.length; i++) {
            document.getElementById(colsToJustify[i]).style.height = maxHeight + "px";
        }
    }   
}

function vJustifyColsJournalist() {
    vJustifyCols('journalist2Columns');
}


// wyrownuje wysokosci divow, ktorych id-ki sa podane jako parametry
function vJustifyThreeCols(id1, id2, id3){
    var div1 = $('#' + id1 + ' .editorArea');
    var div2 = $('#' + id2 + ' .editorArea');
    var div3 = $('#' + id3 + ' .editorArea');
    var maxHeight = 0;
    
    if ((div1.length != 0) && (div1.outerHeight() > maxHeight))
        maxHeight = div1.outerHeight();

    if ((div2.length != 0) && (div2.outerHeight() > maxHeight))
        maxHeight = div2.outerHeight();

    if ((div3.length != 0) && (div3.outerHeight() > maxHeight))
        maxHeight = div3.outerHeight();
    
    if (div1.length != 0)
        div1.height(maxHeight - (div1.outerHeight() - div1.height()));
    if (div2.length != 0)
        div2.height(maxHeight - (div2.outerHeight() - div2.height()));
    if (div3.length != 0)
        div3.height(maxHeight - (div3.outerHeight() - div3.height()));
}

function movePopupToMainContainer(divPopupId)
{
   var originalDiv = $('#' + divPopupId);
   originalDiv.appendTo('#mainContainer');
}

function getPreLoggedInCookie()
{       
    var loginCookie = $.cookie('prelogin');
    if(loginCookie!=null)
        return $.cookie('prelogin');

    return null;
}

function getPreLoggedNameInCookie()
{
    var loginCookie = $.cookie('preloginUserName');
    if(loginCookie!=null)
        return $.cookie('preloginUserName');
    
    return null;
}

function setPreLoggedUserName(userName)
{   
    var loginCookie = $.cookie('prelogin');
    if (loginCookie != null)
    {
        $.cookie('preloginUserName', userName, { expires: 365, path: '/' });
    }
}

function setPreLoggedInCookie(userLogin,userName)
{   
    var loginCookie = $.cookie('prelogin');
    if(loginCookie==null) {
        $.cookie('prelogin', userLogin, { expires: 365, path: '/' });
        $.cookie('preloginUserName', userName, { expires: 365, path: '/' });
    }
    else
        if($.cookie('prelogin')!=userLogin) {
            $.cookie('prelogin', userLogin, { expires: 365, path: '/' });
            $.cookie('preloginUserName', userName, { expires: 365, path: '/' });
        }
}

function removePreLoggedInCookie()
{
    $.cookie('prelogin', '', { expires: 0, path: '/' });
    $.cookie('preloginUserName', '', { expires: 0, path: '/' });
}

function getBasketItemsCountInCookie()
{
    var basketCountCookie = $.cookie('basketCount');
    if (basketCountCookie != null)
        return $.cookie('basketCount');
    
    return 0;
}

function getIsNewUserInCookie()
{
    var isNewUserCookie = $.cookie('IsNewUser');
    if (isNewUserCookie == null)
    {
        setIsNewUserInCookie();
        return true;
    }
    var isNewUserNowCookie = $.cookie('IsNewUserNow');
    if (isNewUserNowCookie != null)
        return true;
        
    return false;
}

function setIsNewUserInCookie()
{
    var isNewUserCookie = $.cookie('IsNewUser');
    var newExpirationDate = new Date();
    newExpirationDate.setTime(newExpirationDate.getTime() + (2 * 3600 * 1000));
    if (isNewUserCookie == null)
    {
        $.cookie('IsNewUser', 'False', { expires: 3650, path: '/' });
        $.cookie('IsNewUserNow', 'True', { expires: newExpirationDate, path: '/' });
    }    
}

function getScrollPosY()
{
	if (window.pageYOffset != undefined)
	{
		return window.pageYOffset;
	}
	else if (document.documentElement != undefined)
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body != undefined)
	{
		return document.body.scrollTop;		
	}
}

function showHighlightedOpinionsLoader() {
    $('.imgHighlightedOpinionsLoader').show();
}

function hideHighlightedOpinionsLoader(){
    $('.imgHighlightedOpinionsLoader').hide();
}

function registerErrorHandler(scriptManager)
{
    if(scriptManager != null)
    {
        scriptManager.add_endRequest(onEndRequest);
    }
}

function onEndRequest(sender, args)
{
    var error = args.get_error();
    if (error != null)
    {
        args.set_errorHandled(true);
    }
} 




function setFlashPlayer(audioFileUrl, flashWidth, spanId)
{
    var playerVersion = swfobject.getFlashPlayerVersion();
    var playerMovieUrl = "";
    var playerHeight = "";
    switch(partnerName)
    {
        case Partner.Orange:
            playerMovieUrl = "/_swf_orange/audioteka_player_mp3";
            playerHeight = "15";
            break;
        default:
            playerMovieUrl = "/_swf/audioteka_player_mp3";
            playerHeight = "12";
    }    
    
    if (playerVersion.major==0)
    {
        if (audioFileUrl != "")
        {
            document.write('<a href="' + audioFileUrl + '">Próbka do odsłuchu</a>');
        }
    }
    else
    {
	    if (AC_FL_RunContent_ReturnString == 0) {
		    alert("This page requires AC_RunActiveContent.js.");
	    } else {
		    var embed = AC_FL_RunContent_ReturnString(
			    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
			    'width', flashWidth,
			    'height', playerHeight,
			    'src', playerMovieUrl,
			    'quality', 'high',
			    'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
			    'align', 'middle',
			    'play', 'true',
			    'loop', 'true',
			    'scale', 'showall',
			    'wmode', 'transparent',
			    'devicefont', 'false',
			    'id', 'audioteka_player_mp3',
			    'bgcolor', '#ffffff',
			    'name', 'audioteka_player_mp3',
			    'menu', 'true',
			    'allowFullScreen', 'false',
			    'allowScriptAccess','sameDomain',
			    'movie', playerMovieUrl,
			    'salign', '',
			    'flashvars', 'mp3=' + audioFileUrl + '&volume=60'
			    ); //end AC code
			$("#" + spanId).html(embed);
	    }
	}
	
}

function makeTemporaryDisabled(btnClientId, timeout)
{
    $("#" + btnClientId).unbind('click');
    $("#" + btnClientId).click(function() { return false; });
    window.setTimeout("unmakeTemporaryDisabled('" + btnClientId + "', " + timeout.toString() + ");", timeout);
}

function unmakeTemporaryDisabled(btnClientId, timeout)
{
    $("#" + btnClientId).unbind('click');
    $("#" + btnClientId).click(
        function() { eval("makeTemporaryDisabled('" + btnClientId + "', " + timeout.toString() + ");"); }
    );
}

var fancyboxFacebookPopupOptions = {showCloseButton: false, titleShow: false, centerOnScroll: true, overlayOpacity: 0.2, padding: 0, margin: 0, width: 538, scrolling: 'no'};
var fancyboxFacebookPopupOptionsWithResize = {showCloseButton: false, titleShow: false, centerOnScroll: true, overlayOpacity: 0.2, padding: 0, margin: 0, width: 538, scrolling: 'no', onComplete: function() {$.fancybox.resize();}};