
var ajaxHandlerUrl = '/layouts/MA/AjaxHandler.ashx';
var listDivId = 'uc_vare_list';
var detailDivId = 'uc_vare_detail';
var nzEcomMiniBasketID;
var vareKoebTarget = null;

function nzEcom_GetVareListItemOptions(vnr, elmDrpDimID, elmUnitID, elmCountID) {

    var elmDrpDim = document.getElementById(elmDrpDimID);
    var elmUnit = document.getElementById(elmUnitID);
    var elmCount = document.getElementById(elmCountID);

    var did = '';
    if (elmDrpDim && elmDrpDim.selectedIndex != -1)
        did = elmDrpDim.options[elmDrpDim.selectedIndex].value;

    var uid = '';
    if (elmUnit && elmUnit.selectedIndex && elmUnit.selectedIndex != -1) {
        uid = elmUnit.options[elmUnit.selectedIndex].value;
    }
    else if (elmUnit && elmUnit.value) {
        uid = elmUnit.value;
    }

    var count = '';
    if (elmCount && elmCount.value)
        count = elmCount.value;

    var opts = { vnr: vnr, did: did, uid: uid, count: count, vg: selectedVgItemID, listType: listType  };

    return opts;
}

function nzEcom_GetBestillingsListItemOptions(vnr, dimID, elmUnitID, elmCountID) {

    var elmUnit = document.getElementById(elmUnitID);
    var elmCount = document.getElementById(elmCountID);

    var uid = '';
    if (elmUnit && elmUnit.selectedIndex && elmUnit.selectedIndex != -1) {
        uid = elmUnit.options[elmUnit.selectedIndex].value;
    }
    else if (elmUnit && elmUnit.value) {
        uid = elmUnit.value;
    }

    var count = '';
    if (elmCount && elmCount.value)
        count = elmCount.value;

    var opts = { vnr: vnr, did: dimID, uid: uid, count: count, vg: '' };

    return opts;
}


function nzEcom_GetVareListItemContainer(vnr) {
    return jQuery('#uc_vli_' + vnr);
}

function nzEcom_GetBestillingsListItemContainer(vnr, dimId) {
    return jQuery('#uc_bli_' + vnr + '_' + dimId);
}


function nzEcom_GetVareDetailContainer() {
    return jQuery('#' + detailDivId);
}


function nzEcom_AddToBasket(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'addToBasket', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID },
                function(data) {
                    nzEcom_UpdateMiniBasket();
                    itemAdded(opts.vnr,opts.did);
                }
            );
}

function nzEcom_UpdateVareListItem(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareListItem_Update', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareListItemContainer(opts.vnr).html(data);
										$jQ(".TImg0").hide();
										$jQ(".TImg1").hide();
                }
            );
}

function nzEcom_HideVareDetalje() {
    jQuery('#' + listDivId).show();
    jQuery('#' + detailDivId).hide();
}

function nzEcom_UpdateVareDetalje(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareDetalje_Update', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareDetailContainer().html(data);
										if ($jQ(".ProductDetailsInfo li").length == 0) {
                        $jQ(".ProductDetailsInfo").remove();
                        $jQ(".ProductDetailsInfoTop").remove();
                    }
                }
            );
}

function nzEcom_HideVareKoeb() {
    if (vareKoebTarget)
        vareKoebTarget.hide();
}

function nzEcom_ShowVareKoeb(data) {
    if (vareKoebTarget) {
        vareKoebTarget.show();
        vareKoebTarget.html(data);
    }
}


function nzEcom_RenderVareKoeb(vnr, targetElement) {
    nzEcom_HideVareKoeb();
    vareKoebTarget = targetElement;
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareKoeb_Update', vnr: vnr },
                function(data) {
                    nzEcom_ShowVareKoeb(data);
                }
            );
}

function nzEcom_UpdateVareKoeb(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareKoeb_Update', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count },
                function(data) {
                    nzEcom_ShowVareKoeb(data);
                }
            );
}


function nzEcom_UpdateBestillingsListItem(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucBestillingsListItem_Update', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: '' },
                function(data) {
                    nzEcom_GetBestillingsListItemContainer(opts.vnr, opts.did).html(data);
                }
            );
}



function nzEcom_RegisterMiniBasket(basketID) {
    nzEcomMiniBasketID = basketID;
}

function nzEcom_IsMiniBasketOpen() {
    var mini = jQuery('#' + nzEcomMiniBasketID);
    var visible = mini.hasClass('OpenMiniBasket');
    return visible;
}

function nzEcom_OpenMiniBasket() {
    var mini = jQuery('#' + nzEcomMiniBasketID);

    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'renderMiniBasket' },
                function(data) {
                    mini.html(data);
                    if($jQ("#ShowMiniCartOnPage").length!=0){
											mini.children(".CartMiniBasket").addClass('OpenMiniBasket');
											//setTimeout("hideMiniBasket()",3000);
										}
										/*if(location.href.indexOf('bestillingsforleob.aspx')<0){
											mini.children(".CartMiniBasket").addClass('OpenMiniBasket');
										}*/
                }
            );
}

function hideMiniBasket(){
	jQuery('#' + nzEcomMiniBasketID).children('.CartMiniBasket').slideUp();
	jQuery('#' + nzEcomMiniBasketID).children('.CartMiniBasket').removeClass('OpenMiniBasket');
}

function nzEcom_ToggleMiniBasket() {
    if (nzEcom_IsMiniBasketOpen())
        nzEcom_CloseMiniBasket();
    else
        nzEcom_OpenMiniBasket();
}

function nzEcom_CloseMiniBasket() {
    var mini = jQuery('#' + nzEcomMiniBasketID);
    mini.removeClass('Open');
}

function nzEcom_UpdateMiniBasket() {
    if (nzEcom_IsMiniBasketOpen() == false) {
        nzEcom_OpenMiniBasket();
    }
    return;
}

function nzEcon_RemoveMiniBasketItem(vnr, did, uid) {
    var mini = jQuery('#' + nzEcomMiniBasketID);
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'removeMiniBasketItem', vnr: vnr, did: did, uid: uid },
                function(data) {
                    mini.html(data);
										itemRemoved(vnr,did);
                }
            );
}


function nzEcom_UpdateVareListItem_AddToBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareListItem_Update_AddToBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareListItemContainer(opts.vnr).html(data);
										$jQ(".TImg0").hide();
										$jQ(".TImg1").hide();
                }
            );
}

function nzEcom_UpdateVareListItem_RemoveFromBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareListItem_Update_RemoveFromBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareListItemContainer(opts.vnr).html(data);
										$jQ(".TImg0").hide();
										$jQ(".TImg1").hide();
                }
            );
}


function nzEcom_UpdateVareDetalje_AddToBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareDetalje_Update_AddToBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareDetailContainer().html(data);
                    if ($jQ(".ProductDetailsInfo li").length == 0) {
                        $jQ(".ProductDetailsInfo").remove();
                        $jQ(".ProductDetailsInfoTop").remove();
                    }
                }
            );
}

function nzEcom_UpdateVareDetalje_RemoveFromBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareDetalje_Update_RemoveFromBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_GetVareDetailContainer().html(data);
                    if ($jQ(".ProductDetailsInfo li").length == 0) {
                        $jQ(".ProductDetailsInfo").remove();
                        $jQ(".ProductDetailsInfoTop").remove();
                    }
                }
            );

}


function nzEcom_UpdateVareKoeb_AddToBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareKoeb_Update_AddToBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_ShowVareKoeb(data);
                }
            );
}

function nzEcom_UpdateVareKoeb_RemoveFromBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucVareKoeb_Update_RemoveFromBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: selectedVgItemID, listType: listType },
                function(data) {
                    nzEcom_ShowVareKoeb(data);
                }
            );
}


function nzEcom_UpdateBestillingsListItem_AddToBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucBestillingsListItem_Update_AddToBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: '' },
                function(data) {
                    nzEcom_GetBestillingsListItemContainer(opts.vnr, opts.did).html(data);
                }
            );
}

function nzEcom_UpdateBestillingsListItem_RemoveFromBL(opts) {
    jQuery.post(
                ajaxHandlerUrl,
                { nzTarget: 'ucBestillingsListItem_Update_RemoveFromBL', vnr: opts.vnr, did: opts.did, uid: opts.uid, count: opts.count, vg: '' },
                function(data) {
                    Ecom_RemoveFromBL(opts);
										nzEcom_GetBestillingsListItemContainer(opts.vnr, opts.did).html(data);
                }
            );
}

//Skjul vare i bestillingslisten
function Ecom_RemoveFromBL(opts){
	jQuery("#ProductItemsContainer div[id]").each(function(){
		if(jQuery(this).attr("id").indexOf(opts.vnr)>0){
			jQuery(this).hide();
		}
	});
}

