﻿$(document).ready(function () {
    var searchHasFocus = false;
    $('#itemsearchbutton').click(function () {
        itemSearch(true);
        return false;
    });

    //BS spesifikt måtte bruke javacript for å justere top margin i IE CIT_UEJ 29.03.2011
    if ($.browser.msie) {
        $("#itemsearchinput").next().css("top", "7");
    }
    //BS spesifikt måtte bruke javacript for å justere top margin i IE CIT_UEJ 29.03.2011

    document.lookupHash = new Hash();
    var lastValue;

    $("#itemsearchinput").keydown(function (e) {
        switch (e.keyCode) {
            case KEY.RETURN:
                //$('#itemsearchinput').val(lastValue);
                itemSearch(true);
                return false;
            default:
                lastValue = $('#itemsearchinput').val();
                return true;
        }
    })
	.click(function () {
	    if (!searchHasFocus) {
	        $("#itemsearchinput").select();
	        searchHasFocus = true;
	    }
	})
	.blur(function () {
	    searchHasFocus = false;
	});

    //BSFunction();
});


$('#Omtale').change(function () {
    var OmtaleVal = document.getElementsByName('Omtale')[0].checked; // $("#Omtale").attr("Checked");
    if (OmtaleVal == true)
        OmtaleVal = "on";
    else
        OmtaleVal = "off";
    var result = AddUrlParameter(null, "Omtale", OmtaleVal, true);
    window.location = result;
});
$('#Note').change(function () {
    var NoteVal = document.getElementsByName('Note')[0].checked; // $("#Omtale").attr("Checked");
    if (NoteVal == true)
        NoteVal = "on";
    else
        NoteVal = "off";
    var result = AddUrlParameter(null, "Note", NoteVal, true);
    window.location = result;
});
function AddUrlParameter(sourceUrl, parameterName, parameterValue, replaceDuplicates) {
    if ((sourceUrl == null) || (sourceUrl.length == 0)) sourceUrl = document.location.href;
    var urlParts = sourceUrl.split("?");
    var newQueryString = "";
    if (urlParts.length > 1) {
        var parameters = urlParts[1].split("&");
        for (var i = 0; (i < parameters.length); i++) {
            var parameterParts = parameters[i].split("=");
            if (!(replaceDuplicates && parameterParts[0] == parameterName)) {
                if (newQueryString == "")
                    newQueryString = "?";
                else
                    newQueryString += "&";
                newQueryString += parameterParts[0] + "=" + parameterParts[1];
            }
        }
    }
    if (newQueryString == "")
        newQueryString = "?";
    else
        newQueryString += "&";
    newQueryString += parameterName + "=" + parameterValue;

    return urlParts[0] + newQueryString;
}


/*function BSFunction() {
    var checkedbox = document.getElementById('tradeterms');
    if (checkedbox == null) {
        return;
    }
    if (!checkedbox.checked) {
        $('#checkoutbuttonid').removeClass("formsubmit");//.addClass("disabled");
    }

    //$('#bs_skjulutgaattevarer_chb_id').attr('checked', 'checked');
}

$('#checkoutbuttonid').click(function () {
    var checkboxes = document.getElementById('tradeterms');
    if (!checkboxes.checked) {
        alert("Bekreft at du har lest handlebetingelser først.");
    }

});
$('#tradeterms').change(function func() {
    var checkboxes = document.getElementById('tradeterms');
    if (checkboxes.checked) {
        $('#checkoutbuttonid').removeClass("disabled").addClass("formsubmit");
        $('#checkoutbuttonid').click(function () {
            submitCurrentForm(this);
        });
    }
    else {
        $('#checkoutbuttonid').removeClass("formsubmit").addClass("disabled").unbind().removeData('events');
    }
});*/

function toggleCheckBox(chbId, classStr, styleStr, hostingControl) {

    if ($('#' + chbId + ':checked').length > 0) {
        
        $('#' + chbId).removeAttr('checked');
    }
    else {

        if ($('#' + chbId).length == 0) {
            
            $(document.createElement("input")).attr({
                type: 'checkbox'
                    , id: chbId
                    
                    , style: styleStr
                    , value: hostingControl.value
            }).addClass(classStr).appendTo(hostingControl);

//            var inputEl = $.create("input");
//            //hostingControl.append(inputEl);
//            inputEl.attr({
//                type: 'checkbox'
//                    , id: chbId

//                    , style: styleStr
//                    , value: hostingControl.value
//            }).addClass(classStr).appendTo(hostingControl);
        }

        $('#' + chbId).attr('checked', 'checked');
    }
}

var removedFilterClass;
function setRemovedFilter(filterClass) 
{
    removedFilterClass = filterClass;
}

function uncheckCheckBoxes(classStr, hostingControl) {
    //alert('uncheckCheckBoxes');
    try {

        //alert('length = ' + $('.' + classStr + ':checked').length);
        //alert('.' + classStr + ':checked');
        $('.' + classStr + ':checked').each(function (n3, chbCt) {
            chbCt.removeAttr('checked');
            chbCt.removeAttribute('checked');
            chbCt.remove();
            hostingControl.removeChild(chbCt);
        });
    }
    catch (err) { }
}


function uncheckCheckBoxesAndToggleCheckBox(chbId, classStr, styleStr, hostingControl) {
    //alert('uncheckCheckBoxesAndToggleCheckBox');
    uncheckCheckBoxes(classStr, hostingControl);
    toggleCheckBox(chbId, classStr, styleStr, hostingControl);
}

function applySearchFilters(field2typeStr) {

    var allFilterArr = Array();
    var i = 0;

    if (removedFilterClass != 'ALL') {

        $.each(field2typeStr.split('&'), function (n, field2typeV) {

            var field2typeArr = field2typeV.split('=');
            var fieldName = field2typeArr[0]; //alert(fieldName);
            var fieldType = field2typeArr[1];

            if (removedFilterClass != 'filter_' + fieldName) {

                var fieldSelectedValuesArr = Array();

                $('.filter_' + fieldName + ':checked').each(function (n2, chbCtrl) {
                    //alert(chbCtrl.id);
                    //if (chbCtrl.id.indexOf('_ALLUNCHECKED') < 0) {
                    fieldSelectedValuesArr[n2] = encodeURIComponent(chbCtrl.value ? chbCtrl.value : '_empty_');
                    //}
                });

                if (fieldSelectedValuesArr.length > 0) {
                    allFilterArr[i] = fieldName + '=' + fieldSelectedValuesArr.join('|');
                    i++;
                }
            }
        });
    }
    removedFilterClass = "";


    // utgaatte varer
    var checkedValue = $('#bs_skjulutgaattevarer_chb_id').attr('checked').toString().toLowerCase();
    isHideUtgaatteVarer = (checkedValue == 'true') || (checkedValue == 'checked');

    if (isHideUtgaatteVarer) {
        allFilterArr[i] = 'VarigUtsolgt_BSInventTable' + '=' + '0';
    }
    else {
        allFilterArr[i] = 'VarigUtsolgt_BSInventTable' + '=' + '0|1';
    }
    i++;


    $('#itemfilterexpinput').val(allFilterArr.join('&'));
    
    //alert($('#itemfilterexpinput').val() + '       2');
}

function itemSearch(isProcessOnlySearchWord) {
    if(document.productViewWebPartId === undefined)
        document.productViewWebPartId = 'ProductView.ax';
        
    var sortfieldv = '';
    var sortdirv = '';
    var filterexpv = '';

    if (!isProcessOnlySearchWord) {
        sortfieldv = $('#itemsortvalueinput').val() != undefined ? $('#itemsortvalueinput').val() : "";
        sortdirv = $('#itemsortdirinput').val() != undefined ? $('#itemsortdirinput').val() : "";
        filterexpv = $('#itemfilterexpinput').val() != undefined ? $('#itemfilterexpinput').val() : "";
        filterexpv = encodeURIComponent(filterexpv);
    }

    // BS spesific logic
    //else {
//    if (sortfieldv.length < 2)
//    {
//        sortfieldv = 'Utgitt_aar_BSInventTable';
//        sortdirv = 'DESC';
//    }

    var urlExistingArr = Array();
    var i = 0;

    $.each(getUrlVars(), function (key, value) {
        
        if (key != 'search'
            && key != 'searchparam'
            && key != 'itemsearchinput'
            && key != 'sortfield'
            && key != 'sortdir'
            && key != 'filterexp'
            && key != 'webpartid'
            && key != 'isshowmorefilters') {

            urlExistingArr[i] = key + '=' + value;
            i++;
        }
    });

    // show more filters
    if ($('#chbShowMoreFilters').length > 0) {
        var checkedValueSMF = $('#chbShowMoreFilters').attr('checked').toString().toLowerCase();
        isShowMoreFilters = (checkedValueSMF == 'true') || (checkedValueSMF == 'checked');
        if (isShowMoreFilters) {
            urlExistingArr[i] = 'isshowmorefilters' + '=' + 'true';
        }
    }

    var existingUrlStr = '';
    if (!isProcessOnlySearchWord)
        existingUrlStr = urlExistingArr.length > 0 ? '&' + urlExistingArr.join('&') : '';

    if ($('#itemsearchinput').val() || sortfieldv || filterexpv || existingUrlStr.indexOf('productgroupid') > 0) {

        if ($('#dialogVent').length > 0) {
            $('#dialogVent').show();
        }
        
        window.location = '/?'
                            + 'webpartid=' + document.productViewWebPartId
                            +  existingUrlStr
                            + '&search=true'
                            + '&searchparam=itemsearchinput' 
                            + '&itemsearchinput=' + encodeURIComponent($('#itemsearchinput').val()) 
                            + '&sortfield=' + sortfieldv 
                            + '&sortdir=' + sortdirv 
                            + '&filterexp=' + filterexpv;
    }
    return true;
}

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
        vars[key] = value;
    });
    return vars;
}


function refreshMiniBasket(el) {
    if (document.miniBasketWebPartId === undefined)
        document.miniBasketWebPartId = 'MiniSalesBasket.ax';
    var options = { loadinto: '.minibasketwrapper', webpartid: document.miniBasketWebPartId };
    serverConnector.loadHtml(options);
    $('#inSalesBasket_' + el).html('<img src="/Images/bought_ic.gif"><a href="/SalesBasket.aspx"><span class="inFavoriteList">I handlekurv</span></a>');
}


function refreshMenuVert(){
    var options = { loadinto: '.ctl00_prodnavdynamic', webpartid: 'ProductCatalog.ax' };
    serverConnector.loadHtml(options);

}
function printDialog() {
    printArea("dialog");
}
function rebindEvents() {
    recordHandler.fieldGotFocus('.savetobasket'); //Only allows postback buttons that are "inside" the record to postback
    submitCurrentForm('.savetobasket');
    return false;
}
var iframe;
function printArea(el) {
    iframe = document.createElement('IFRAME');

    document.body.appendChild(iframe);
    doc = iframe.contentWindow.document;

    $(iframe).attr('style', 'position:absolute;width:0;height:0px;');
    doc.write('<html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">');
    doc.write('<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />');
    doc.write('<link type="text/css" href="/css/reset.css" rel="Stylesheet" />');
    doc.write('<link type="text/css" href="/css/smoothness/jquery-ui-1.8.1.custom.css" rel="stylesheet" />');
    doc.write('<link type="text/css" href="/css/bs.css" rel="Stylesheet" />');
    doc.write('<link type="text/css" href="/css/bs_override.css" rel="Stylesheet" />');
    doc.write('<asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder>');
    doc.write('<!--This css tag is referenced from code behind-->');
    doc.write('<style type="text/css" id="dynamicstyles" runat="server"></style>');
    doc.write('</head><body>');
    var innerhtml;
    if ($.browser.msie) {
        var $Divs = $('#dialog').children();
        var i = 0;
        for (i = 1; i < $Divs.length; i++) {
            doc.write($Divs[i].innerHTML);
        }
        doc.write('</body></html>');
        doc.close();
        iframe.contentWindow.focus();
        iframe.contentWindow.document.execCommand('print', false, null);
        var t = setTimeout("document.body.removeChild(iframe)", 10000);
    }
    else {
        innerhtml = document.getElementById(el).innerHTML;
        doc.write('<div>' + innerhtml + '</div></body></html>');
        doc.close();
        iframe.contentWindow.focus();
        iframe.contentWindow.print();
        setTimeout(function () { document.body.removeChild(iframe); }, 10000);
    }
}

function loadItemIdToFavoriteList(el) {
    $('#inFavoriteList_' + el).html('<img src="/Images/bought_ic.gif"><a href="/?webpartid=BS-FavoriteList.ax"><span class="inFavoriteList">I huskeliste</span></a>');
}

function loadItemIdToSalesBasket(el) {
    $('#inSalesBasket_' + el).html('<img src="/Images/bought_ic.gif"><a href="/SalesBasket.aspx"><span class="inFavoriteList">I handlekurv></span></a>');
}
