﻿
/* SHOPPING BASKET */

//Het aantal items in de shopping basket visueel updaten
function SetWinkelMandjeItemsAantal(aantal) {
    try {
        var oCtrl = $get('itemsInBasket');
        oCtrl.innerHTML = aantal;
    }
    catch (e) {
        var error = e;
    }
}
function GetWinkelMandjeItemsAantal() {
    try {
        var oCtrl = $get('itemsInBasket');
        return parseInt(oCtrl.innerHTML);
    }
    catch (e) {
        return 0;
    }
}
function goToMandje() {
    window.location = BaseHref + ActiveLanguage + '/Basket/1.aspx';
}
function addToShoppingBasket(themaID) {
    //var isInStock = SupertubeServices.IsInStock(themaID, ActiveLanguage);
    //if (isInStock) {
        SupertubeServices.AddToShoppingBasket(themaID, 1, ActiveLanguage);
        var aantal = GetWinkelMandjeItemsAantal() + 1;
        SetWinkelMandjeItemsAantal(aantal);
    //}
    //else {
    //    ActiveLanguage == "NL" ?
    //    alert('Deze Supertube is momenteel enkel beschikbaar in onze verkoopspunten.') :
    //    alert('Ce Supertube est momentanément disponible uniquement auprès de nos distributeurs.');
    //}

   // window.location = 'http://www.supertu.be/' + ActiveLanguage + '/Basket/1.aspx';
}

function setToShoppingBasket(themaID, aantal, taalID) {
    try {
        var iAantal = parseInt(aantal);
        SupertubeServices.SetToShoppingBasket(themaID, iAantal, taalID);
        var oSubmit = $get(sFakeSubmit);
        oSubmit.click();
    }
    catch (e) {
        if (DebugMode)
            alert(e);
    }
}

/* MISC */

function GetLanguage() {
    return ActiveLanguage;
}
function SetLanguage(_lang) {
    ActiveLanguage = _lang;
}

function GetCurrentUrl() {
    return CurrentUrl;
}

function SetTaalKeuzeLinks() {
    var oNL = $get('lnkTaalKeuzeNL');
    var oFR = $get('lnkTaalKeuzeFR');
    oNL.href = BuildUrl('NL', ThemaID);
    oFR.href = BuildUrl('FR', ThemaID);
}

function BuildUrl(taal, thema) {
    if (thema != null && thema != undefined) {
        if (thema > 0) {
            return BaseHref + taal + '/Thema/' + thema + '.aspx';
        }
    }
    return BaseHref + taal + '.aspx';
}

function BuildThemaUrl() {
    if (ThemaID != null && ThemaID != undefined && ThemaID > 0)
        return BuildUrl(ActiveLanguage, ThemaID);
    else
        return BuildUrl(ActiveLanguage, null);
}

/* JS PAGE LOAD EVENT */

function WWWRedirect() {
    try {
        var url = window.location.href.toLowerCase();

        // dev
        if (url.indexOf('localhost') != -1 || url.indexOf('siliconimage') != -1) {
            return;
        }

        // 'www' is noodzakelijk voor de correcte werking van supertube
        if (url.indexOf('www.') == -1 && url.indexOf('supertu.be') != -1) {
            url = url.replace('https://', '');
            url = url.replace('http://', '');
            url = url.replace('ftp://', '');

            url = 'http://www.' + url;

            window.location = url;
        }
    }
    catch (e) {
    }
}

function pageLoad() {

    //WWWRedirect();

    //Ajax browsing history
    Sys.Application.add_navigate(function(sender, e) {
        var oThema = null;

        if (VPath == 'default') {
            try {
                oThema = e.get_state()["thema"];

                if (oThema == undefined)
                    oThema = 0;

                if (ThemaID != oThema) {
                    ThemaID = oThema;
                    if (oThema < 1)
                        AjaxLoad_StartPage();
                    else if (oThema >= 1)
                        AjaxLoad_ThemaPage(oThema);
                }

                SetTaalKeuzeLinks();
            }
            catch (e) {
                if (DebugMode) {
                    alert(e);
                }
            }
        }
    });

}

/* CONTROL LOADING */

//Loading progress
function DisplayLoadingProgress(targetID) {
    //huidige hoogte van targetID
    var h = $('#' + targetID).height();
    //loading progress animatie
    $('#' + targetID).append('<div id=\'loadingProgress\' class=\'loadingProgress\' style=\'height:' + h + 'px; line-height:' + h + 'px;\'>&nbsp;<img src=\'' + BaseHref + 'img/loading.gif\' alt=\'\' />&nbsp;</div>');
}
function EndDisplayLoadingProgress(targetID) {
	initializepartners( );
	tooltip();
}

//Specifieke content laden
function AjaxLoad_StartPage() {
    ThemaID = 0;
    Sys.Application.addHistoryPoint({ thema: ThemaID }, 'Supertu.be #' + ThemaID );    
    DisplayLoadingProgress('tube_body');
    AjaxLoadControl_Taal('tube_body', '~/UControls/PageData/StartPage.ascx', ActiveLanguage);
}
function AjaxLoad_ThemaPage_Redirect(themaID) {
    window.location = BaseHref + ActiveLanguage + '/Thema/' + themaID + '.aspx';
}
function AjaxLoad_ThemaPage(themaID) {
    //Geen thema, dan niks doen
    if (themaID < 1)
        return;

    //Browser geschiedenis
    Sys.Application.addHistoryPoint({ thema: themaID }, 'Supertu.be #' + ThemaID);

    //Ajax of redirect afhankelijk van url rewrite
    if (VPath == 'default') {
        DisplayLoadingProgress('tube_body');
        var o = $get('tube_body');
        AjaxLoadControl_TaalThema('tube_body', '~/UControls/PageData/ThemaPagina.ascx', ActiveLanguage, themaID);
    }
    else {
        AjaxLoad_ThemaPage_Redirect(themaID);
    }
}

//Partners
function AjaxLoad_PartnersHtml() {
    if (BarcodeEditie != null && BarcodeEditie != undefined) {
        SupertubeServices.GetPartners_HtmlTable(
            ThemaID, ActiveLanguage, BarcodeEditie,
            AjaxLoadControl_Partners_OnCompleteInit,
            AjaxLoadControl_Partners_OnTimeOut,
            AjaxLoadControl_Partners_OnError);
    }
    else {
        SupertubeServices.GetPartners_HtmlTable(
            ThemaID, ActiveLanguage,
            AjaxLoadControl_Partners_OnCompleteInit,
            AjaxLoadControl_Partners_OnTimeOut,
            AjaxLoadControl_Partners_OnError);
    }
}
function AjaxLoadControl_Partners_OnCompleteInit(arg) {
    var oCtrl = $get('partner_overview');
    if (oCtrl != null && oCtrl != undefined)
        oCtrl.innerHTML = arg;
}
function AjaxLoadControl_Partners_OnTimeOut(arg) {
    var oCtrl = $get('partner_overview');
    if (oCtrl != null && oCtrl != undefined)
        oCtrl.innerHTML = '<p style=\'color:red;\'>Timeout</p><p>' + arg + '</p>';
}
function AjaxLoadControl_Partners_OnError(arg) {
    var oCtrl = $get('partner_overview');
    if (oCtrl != null && oCtrl != undefined)
        oCtrl.innerHTML = '<p style=\'color:red;\'>Error</p><p>' + arg + '</p>';
}

//Basisfuncties om usercontrols in te laden
var AjaxLoadControl_TargetID = '';

function AjaxLoadControl_TaalThema(targetId, controlVirtualPath, taal, themaID) {
    AjaxLoadControl_TargetID = targetId;
    SupertubeServices.LoadUserControl_TaalThema(
        controlVirtualPath, taal, themaID,
        AjaxLoadControl_OnCompleteInit,
        AjaxLoadControl_OnTimeOut,
        AjaxLoadControl_OnError);
}
function AjaxLoadControl_Taal(targetId, controlVirtualPath, taal) {
    AjaxLoadControl_TargetID = targetId;        
    SupertubeServices.LoadUserControl_Taal(
        controlVirtualPath, taal,
        AjaxLoadControl_OnCompleteInit,
        AjaxLoadControl_OnTimeOut,
        AjaxLoadControl_OnError);
}
function AjaxLoadControl_OnCompleteInit(arg) {
    if (AjaxLoadControl_TargetID == '')
        AjaxLoadControl_TargetID = 'tube_body';
    IsAsyncPostback = true;
    var oCtrl = $get(AjaxLoadControl_TargetID);
    oCtrl.innerHTML = arg;
    EndDisplayLoadingProgress('tube_body');
}
function AjaxLoadControl_OnTimeOut(arg) {
    if (AjaxLoadControl_TargetID == '')
        AjaxLoadControl_TargetID = 'tube_body';
    var oCtrl = $get(AjaxLoadControl_TargetID);
    oCtrl.innerHTML = '<p style=\'color:red;\'>Timeout</p><p>' + arg + '</p>';
    EndDisplayLoadingProgress('tube_body');
}
function AjaxLoadControl_OnError(arg) {
    if (AjaxLoadControl_TargetID == '')
        AjaxLoadControl_TargetID = 'tube_body';
    var oCtrl = $get(AjaxLoadControl_TargetID);
    oCtrl.innerHTML = '<p style=\'color:red;\'>Error</p><p>' + arg + '</p>';
    EndDisplayLoadingProgress('tube_body');
}

