var miniBasketShop = '/usedInShop/1';
//
//~~~ Reload shop basket
//
function reloadBasket()
{
	widgetBasket = new WidgetBasket(null, null, null);
	widgetBasket.refreshBasket(AjaxUrl);
}

function reloadLoginStatus(){
    new Ajax.Request(AjaxUrl+'Shop/refreshLoginStatus', {
        method: 'post',
        onSuccess: function(transport){
            var returnValues = eval('('+transport.responseText+')');
            try {
                isUserAuthenticated = returnValues.isUserAuthenticated;
                if(isUserAuthenticated){
                    $('userName').innerHTML = returnValues.username;
                    $('userEnable').show();
                    $('userLogout').show();
                    $('userDisable').hide();
                }else{
                    $('userEnable').hide();
                    $('userLogout').hide();
                    $('userDisable').show();
                }
            } catch(error) {

            }
        }
    });
}

function reloadLoginStatusAndBasket(){
    reloadLoginStatus();
    reloadBasket();
}

//
//~~~ Reset shop basket (see inquiry)
//
function resetBasket(price)
{
	$('shopBasketCount').innerHTML = 0;
	$('shopBasketPrice').innerHTML = price;
}

//
//~~~ Jump Menu
//
function jumpMenu(target, obj, restore)
{
  eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");
  if (restore) obj.selectedIndex = 0;
}

//
//~~~ Open Pop Up
//
function popUp(url, target, parameters)
{
	window.open(url, target, parameters + ", resizable=yes, scrolling=auto");
}

//
//~~~ Captcha
//

function captcha(parent, session) {
	$(parent).innerHTML = '';
	new Ajax.Updater(parent, AjaxUrl + 'Captcha/index/?PHPSESSID=' + session, {evalScripts:true, asynchronous:true});
	return false;
}

function articleImageMouseover(id, hide) {
    if($('compositionImage'+id) && $('compositionImage'+id).src != '') {
        if(hide) {
            if($('compositionImage'+id).visible()) {
                $('compositionImage'+id).hide();
                $('articleImage'+id).show();
            }
        } else {
            if($('articleImage'+id) && $('articleImage'+id).visible()) {
                $('compositionImage'+id).show();
                $('articleImage'+id).hide();
            }
        }

        hideTitleAttribute('compositionImage'+id);
    }
}

function hideTitleAttribute(id) {
    if($(id)) {
        $(id).removeAttribute('title');
        $(id).removeAttribute('alt');
    }
}

//~~~ Remove size options ~~~
function removeArticleSizes(articleId)
{
    if(articleId > 0 && $('articleSize'+articleId)) {
        var object = $('articleSize'+articleId);
        try {
            for(i = object.options.length - 1; i >= 0; i--) object.options[i] = null;
        } catch(error) {}
    }
}

//~~~ Add size to selectbox ~~~
function addArticleSize(articleId, id, name, i, selected)
{
	var option = document.createElement('option');
	option.setAttribute('id', 'colorSize'+i);
	option.setAttribute('value', id);
    if(selected) {
        option.setAttribute('selected', 'selected');
    }
	option.innerHTML =  name;
	try {
        if($('articleSize'+articleId).nodeType == 1 && $('articleSize'+articleId).nodeName == 'SELECT') {
            $('articleSize'+articleId).appendChild(option);
        }
	} catch(error) {}
}

function switchColor(articleId, colorId, defaultView, size) {
    if(!switchingColors) {
        switchingColors = true;
        getArticleSizes(articleId, colorId);
        getArticleImages(articleId, colorId, defaultView, size)
    }
}

function getArticleSizes(articleId, colorId) {
    if(articleId == 0 && $('articleId')) {
        articleId = $F('articleId');
    }
    if(articleId > 0) {
        var url = AjaxUrl + 'Article/Size/article/'+articleId;
        if(colorId == 0 && $('productColor'+articleId)) {
            colorId = $F('productColor'+articleId);
        }

        if (colorId >= 1) {
            url += '/color/'+colorId;
            if($('article'+articleId+'colorListEntry'+colorId)) {
                $('article'+articleId+'colorListEntry'+colorId).addClassName('selected')
            }
            if($('article'+articleId+'colorListEntry'+$F('productColor'+articleId))) {
                $('article'+articleId+'colorListEntry'+$F('productColor'+articleId)).removeClassName('selected');
            }
            $('productColor'+articleId).value = colorId;
        }

        var currentSize = $F('articleSize'+articleId);
        removeArticleSizes(articleId);

        new Ajax.Request(url, {
            method: 'post',
            onSuccess: function(transport)
            {
                var myObject = eval('('+transport.responseText+')');
                if ( myObject.count > 1 ) addArticleSize(articleId, 0, '...');
                for (i = 0; i < myObject.count; i++) {
                    var selected = myObject.sizes[i].sizeId == currentSize;
                    addArticleSize(articleId, myObject.sizes[i].sizeId, myObject.sizes[i].sizeName, i, selected);
                }
                switchingColors = false
            }
        });
        
    }
}

function appendColor(link, articleId) {
    if(link && $('productColor'+articleId)) {
        link.href += '/customize/color/'+ $F('productColor'+articleId);
    }
}

function getArticleImages(articleId, colorId, defaultView, size) {
     if(articleId > 0 && colorId > 0) {
        var url = AjaxUrl + 'Article/Views/article/'+articleId+'/color/'+colorId;
        if(size) {
            url = url + '/size/'+size;
        }
        new Ajax.Request(url, {
            method: 'get',
            onSuccess: function(response) {

                var count = 0;
                var articleViews = response.responseText.evalJSON(true);
                articleViews.each(function(item) {
                    if($('viewImage'+item.viewId)) {
                        $('viewImage'+item.viewId).src = item.thumbLink;
                    }
                    if(item.compositionImageLink != '') compositionImage = item.compositionImageLink;
                    if(item.configurationThumbLinks) {
                        item.configurationThumbLinks.each(function(configuration) {
                           configurationId = configuration.id;                           
                           if($('configurationThumb'+ configurationId)) {
                               $('configurationThumb'+configurationId).src = configuration.image;
                           }
                        });
                    }
                    if(item.viewId == $('currentView'+articleId).value || ($('currentView'+articleId).value == 0 && count == 0))  {
                        if($('articleImage'+articleId)) $('articleImage'+articleId).src = item.hugeLink;
                        if($('compositionImage'+articleId) && item.compositionImageLink != '') $('compositionImage'+articleId).src = item.compositionImageLink;
                        if($('configurationDetailImage'+articleId)) {
                            $('configurationDetailImage'+articleId).src = compositionImage;
                        }
                    }
                    count++;
                });
            }
        });
    }
    
}
function waDebug(param) {
    //Dummy
}
