﻿var _currentModalName;

// **** MIJN ARTIKELCODE ********************************

function PopupMijnArtikelCode(artcode_encoded,artcodeklant) {
    if (isB2BSelected()) {
        _currentArtikelCode = artcode_encoded;
        $("#divModals").show();
        $find('ModalBehaviourMijnArtikelCode').show();
        $get('txtMijnArtikelCode').value=artcodeklant;
        $get('txtMijnArtikelCode').focus();
    } else {
        if (al=='A') {
            alert('Custom item codes are not supported for anonymous accounts.\nPlease create an account first.');
        } else {
            PopupSelectKlant();
        }
    }
}

function closemodalwindowMijnArtikelCode(cancelit) {
    if (cancelit) {
        $find('ModalBehaviourMijnArtikelCode').hide();
        $("#divModals").hide();
    } else {
        var strNewArtCode;
        strNewArtCode = $get("txtMijnArtikelCode").value;
        ShopWebService.UpdateMyArtikelCode(sid,_currentArtikelCode,strNewArtCode,UpdateMyArtikelCode_callback, generic_callbackerror);
    }
}

function UpdateMyArtikelCode_callback(result) {
    switch (result) {
        case 'IN USE':
            alert(_ML('Eigen artikelcode toevoegen.Code reeds in gebruik'));
            $get("txtMijnArtikelCode").select();
            break;

        case 'OK':
            $find('ModalBehaviourMijnArtikelCode').hide();
            $("#divModals").hide();
            window.location.reload();
            break;

        default:
            alert(_ML('Eigen artikelcode toevoegen.Code kon niet worden toegevoegd'));
            break;
    }
}



// **** Checkbox stuff ********************************

function checkboxToggle(chkboximg) {
    if (chkboximg.attributes['checked'].value=='true') {
        chkboximg.attributes['checked'].value='false';
    } else {
        chkboximg.attributes['checked'].value='true';
    }
    chkboximg.src='images/main/' + (chkboximg.attributes['checked'].value=='true' ? '':'un') + 'checked.jpg';
}

function checkboxClick(e) {
    var t;
    var objImg;
    
    t = e.srcElement || e.target;
    
    if (t.tagName=='IMG' || t.tagName=='SPAN') {
        if (t.parentNode.className=='checklistitem') {
            objImg = t.parentNode.childNodes[0];
            if (objImg.attributes['checked'].value=='true') {
                objImg.attributes['checked'].value='false';
            } else {
                objImg.attributes['checked'].value='true';
            }
            objImg.src='images/main/' + (objImg.attributes['checked'].value=='true' ? '':'un') + 'checked.jpg';
        }
    }
    return false;
}

// **** SELECTEER KLANT ********************************

//TODO: code hiden mbv permission system
function PopupSelectKlant() {
    if ($find('ModalSelectKlantBehaviour') && $get('divAccountManagers')) {
        $("#divModals").show();
        $find('ModalSelectKlantBehaviour').show();
        $get('txtSearchCustomer').focus();

        ShopWebService.GetAccountManagers(sid, GetAccountManagers_callback, generic_callbackerror); 
    } else {
        alert('You need to select a customer, but you do not have sufficient\npermissions to do so. Please contact your administrator.');
    }
}

function GetAccountManagers_callback(result) {

    if ($get('divAccountManagers')) {
        $get('divAccountManagers').innerHTML = '...';

        var strHTML='<select id="cboAccountManagers" style="width:220px;"><option value="-1" selected></option>';
        for (i = 0; i < CARTwise.arraySize(result); i++) {
            strHTML += '<option value="' + result[i].AccountManagerNaam + '">' + result[i].AccountManagerNaam + '</option>';
        }
        strHTML += '</select>';
        $get('divAccountManagers').innerHTML=strHTML;
    }

    if (dnr!='') {
        searchCustomer(dnr,$get('cboAccountManagers').value);
    }
}

function closemodalwindowSelectKlant(cancel) {
    if (!cancel) {
        //
    }
    $find("ModalSelectKlantBehaviour").hide();
    $("#divModals").hide();
}

function searchCustomer(searchfor, accman) {
    $get('divKlantSearchResult').innerHTML=_ML('Klantselectie.Een ogenblik geduld');
    ShopWebService.SearchCustomer(sid, searchfor, accman, searchCustomer_callback, generic_callbackerror);
    return false;
}

function searchCustomer_callback(result) {
    $get('divKlantSearchResult').innerHTML=result;
    $get('txtSearchCustomer').select();
    $get('txtSearchCustomer').focus();
}

function SearchCustomer_Hover(table) {
    //table.style.backgroundColor='#ffe0e0';
}

function SearchCustomer_Out(table) {
    table.style.backgroundColor=table.attributes['orgback'].value;
}

function customerSelected(pk) {
    ShopWebService.Impersonate(sid, pk, encodeURIComponent(window.location.href), Impersonate_callback, generic_callbackerror);
}

function Impersonate_callback(result) {
    window.location.reload(false);
}

function deselectCustomer() {
    ShopWebService.ReleaseImpersonation(sid, -1, encodeURIComponent(window.location.href), Impersonate_callback, generic_callbackerror);
}

function ReleaseImpersonation_callback(result) {
    window.location.reload(false);
}

function keypressSearchCustomer(obj,evt) {
    if (evt.keyCode == 13) {
        evt.cancelBubble=true;
        if (evt.stopPropagation) evt.stopPropagation();
        searchCustomer($get('txtSearchCustomer').value,$get('cboAccountManagers').value);
        return false;
    }
}

// **** BESTELLIJSTEN ********************************

function closemodalwindowBestellijst(cancel) {
    if (!cancel) {
        //
    }
    $find("ModalBehaviourBestellijst").hide();
    $("#divModals").hide();
    window.location.reload();
}


// **** NEW ORDER ********************************

function closemodalwindowNewOrder(cancel) {
    if (cancel) {
        $find("ModalBehaviourNewOrder").hide();
        $("#divModals").hide();
        return false;
    } else {
        var strReferentie;
        var strOmschrijving;
        
        strReferentie = $get('txtNewOrderReferentie').value;
        if (strReferentie=='') {
            alert(_ML('Nieuwe order.Voer referentie in'));
            return false;
        }
        strOmschrijving = $get('txtNewOrderOmschrijving').value;

        ShopWebService.NewOrder(sid, strReferentie, strOmschrijving, NewOrder_callback, generic_callbackerror);
    }
}

function NewOrder_callback(result) {
    $find("ModalBehaviourNewOrder").hide();
    $("#divModals").hide();
    ShopWebService.GetCurrentLanguageCode(function(res){window.location.href='/' + res + '/a?action=home&r=' + new Date().getTime();});
}

// **** CHANGE PASSWORD *********************************

function changePassword() {
    $("#divModals").show();
    $find('ModalBehaviourChangePassword').show();
    $get('txtOldPwd').value="";
    $get('txtNewPwd').value="";
    $get('txtNewPwd2').value="";
    $get('txtOldPwd').focus();
}

// **** INVALID ORDER UNIT ********************************

function closemodalwindowInvalidOrderUnit(cancel) {
    if (cancel) {
        if (_currentCartAdd_minbesteleenheid) {
            _currentCartAddInputbox.value = _currentCartAdd_minbesteleenheid;
            wizard_UpdateAantal(_currentCartAddInputbox, window.event, _currentCartAdd_OrderRegel_PK, _currentCartAdd_minbesteleenheid);
        }
        $find("ModalBehaviourInvalidOrderUnit").hide();
        $("#divModals").hide();
        return false;
    } else {
        $find("ModalBehaviourInvalidOrderUnit").hide();
        $("#divModals").hide();

        if (_currentCartAdd_method=='addtocart') {
            $get(_currentCartAdd_aantalstub + _currentCartAdd_artikelcode).value = $get('txtOrderUnitValue').value;
            return addtocart_wrapper(_currentCartAdd_artikelcode,_currentCartAdd_buttonid,_currentCartAdd_columnindex,_currentCartAdd_doanimation,_currentCartAdd_aantalstub,_currentCartAdd_minbesteleenheid);
        }

        if (_currentCartAdd_method=='addtocartfromsearchpopup') {
            $get(_currentCartAdd_aantalstub + _currentCartAdd_artikelcode).value = $get('txtOrderUnitValue').value;
            return addtocartfromsearchpopup_wrapper(_currentCartAdd_artikelcode,_currentCartAdd_buttonid,_currentCartAdd_columnindex,_currentCartAdd_doanimation,_currentCartAdd_aantalstub,_currentCartAdd_minbesteleenheid);
        }
        
        if (_currentCartAdd_method=='changeaantalindockingpanel') {
            CartAantal_updateaantalfrominvalidqty(_currentCartAdd_artikelcode, $get('txtOrderUnitValue').value);
        }
        
        if (_currentCartAdd_method=='wizardupdateaantal') {
            _currentCartAddInputbox.value = $get('txtOrderUnitValue').value;
            wizard_UpdateAantal(_currentCartAddInputbox,window.event,_currentCartAdd_OrderRegel_PK,_currentCartAdd_minbesteleenheid);
        }
    }
}

