﻿Type.registerNamespace('ShopMall');

ShopMall.PackageList = function ShopMall$PackageList(){
    
}

ShopMall$PackageList$set_element = function(element){
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}]);
    if (e){ 
        throw e;
    }
    
    this._element = element;
}

ShopMall$PackageList$get_element = function(){
    return this._element;
}

ShopMall$PackageList$CreateNavMenu = function(data){
    if (data != 'undefined'){
        this.get_element().innerHTML = "";
        for (var i = 0; i < data.rows.length; i++){
            var menu = document.createElement('li');
            menu.setAttribute('id', 'hopAllExpandedChild_' + i + '_tab');
            menu.className = (i == 0 ? 'navExpandedChildLITop' : ((i == data.rows.length - 1) ? 'navExpandedChildLIBottom' : 'navExpandedChildLIMiddle'));
            menu.style.left = "0px";
            menu.style.top = "0px";
            var menuBody = document.createElement('a');
            menuBody.setAttribute('id', 'shopAllExpandedChild_' + i);
            menuBody.setAttribute('name', 'shopAllExpandedChild|he|shopAllExpandedChild_' + i + '_data');
            menuBody.setAttribute('href', 'PackageList.aspx?Category=' + data.rows[i]["categoryID"]);
            menuBody.style.cursor = 'hand';
            menuBody.innerText = data.rows[i]["title"];
            menu.appendChild(menuBody);
            this.get_element().appendChild(menu);
        }
    }
}

ShopMall$PackageList$OnAddToReservePackageReturn = function(result){
    if (result != 'undefined'){
        try{
            eval(result);
        }
        catch(e){
            OnPopupHide('progress');
            var errorPopup = new CustomControl.ModalPopup('error');
            errorPopup._modalPanelId = 'error';
            errorPopup._contentPanelId = 'error_content';
            errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
            errorPopup.disableSelect();
            errorPopup.show();
            return;
        }
        
        if (result.data.length > 0){
            OnPopupHide('progress');
            if (result.data[0].MessageType != "Success"){
                var errorPopup = new CustomControl.ModalPopup();
                errorPopup._modalPanelId = 'error';
                errorPopup._contentPanelId = 'error_content';
                errorPopup._innerHTML = result.data[0].Message;
                errorPopup.disableSelect();
                errorPopup.show();
            }
            else{
                var successPopup = new CustomControl.ModalPopup();
                successPopup._modalPanelId = 'success';
                successPopup._contentPanelId = 'success_content';
                successPopup._innerHTML = result.data[0].Message;
                successPopup.disableSelect();
                successPopup.show();
                $get('ctl00_ctl00_defaultMainFrame_lblCartPackageCount').innerHTML = result.data[0].Value;
            }
        }
    }
}

ShopMall$PackageList$OnDeleteAddressReturn = function(result){
    if (result != "undefined"){
        try{
            eval(result);
        }
        catch(e){
            var errorPopup = new CustomControl.ModalPopup('error');
            errorPopup._modalPanelId = 'error';
            errorPopup._contentPanelId = 'error_content';
            errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
            errorPopup.disableSelect();
            errorPopup.show();
            return;
        }
        if (result.data.length > 0){
             if (result.data[0].MessageType == "Success"){
                ShoppingWebService.GetDeliveryNameByAccount(-1, OnDeliveryToHouseInfoReturn);
            }
        }
    }
}


ShopMall$PackageList$OnShowPackageReturn = function(result){
    if (result != "undefined"){
        try{
            eval(result);
        }
        catch(e){
            OnPopupHide('progress');
            var errorPopup = new CustomControl.ModalPopup('error');
            errorPopup._modalPanelId = 'error';
            errorPopup._contentPanelId = 'error_content';
            errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
            errorPopup.disableSelect();
            errorPopup.show();
            return;
        }
        if (result.data[0].MessageType == "Warning"){
            
        }
        else{
            try{
                eval(result.data[0].Value);
            }
            catch(e){
                OnPopupHide('progress');
                var errorPopup = new CustomControl.ModalPopup('error');
                errorPopup._modalPanelId = 'error';
                errorPopup._contentPanelId = 'error_content';
                errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
                errorPopup.disableSelect();
                errorPopup.show();
                return;
            }
            
            if ($get('showpackagecase_smallImageLink')) {
                $get('showpackagecase_smallImageLink').src = val.value2;
            }
            $get('showpackagecase_simpleDesc').innerHTML = val.value1.replace(/\[br\]/g, '<br />');
            
            if ($get('showpackagecase_itemDisplay')) {
                $get('showpackagecase_itemDisplay').setAttribute("href", resolvedUrl + "PackageDisplay.aspx?packageId=" + val.value3);
                $get('showpackagecase_bbsLink').setAttribute("href", val.value4);
            }


            try {
                $get('div_showpackage').style.visibility = "visible";
                var moveObj = new CustomControl.ToolTip($get("divBox_" + val.value3));
                var size = $common.getSize($get("div_showpackage"));
                var value = size.height - 98;  //number of br
                moveObj.set_offsetFromCursorX(20);
                moveObj.set_offsetFromCursorY(-100 - value);
                //right edge
                moveObj.set_offsetDivFromPointerX(200);
                moveObj.set_offsetDivDiffWidth(-18);
                moveObj.set_offsetDivDiffHeight(-12)
                moveObj.initialize();
                var positionTip = function(){moveObj.positionTip($get("div_showpackage"));};
                var hideTip = function(){moveObj.hideTip($get("div_showpackage"), moveObj);};
                moveObj.add_moveHandler(positionTip);
                moveObj.add_outHandler(hideTip);
            }
            catch(e) {
                
            }
        }
    }
}

ShopMall$PackageList$OnShowItemReturn = function(result){
    if (result != "undefined"){
        try{
            eval(result);
        }
        catch(e){
            OnPopupHide('progress');
            var errorPopup = new CustomControl.ModalPopup('error');
            errorPopup._modalPanelId = 'error';
            errorPopup._contentPanelId = 'error_content';
            errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
            errorPopup.disableSelect();
            errorPopup.show();
            return;
        }
        
        if (result.data[0].MessageType == "Warning"){
            
        }
        else{
            try{
                eval(result.data[0].Value);
            }
            catch(e){
                OnPopupHide('progress');
                var errorPopup = new CustomControl.ModalPopup('error');
                errorPopup._modalPanelId = 'error';
                errorPopup._contentPanelId = 'error_content';
                errorPopup._innerHTML = "系统正忙或维护，请稍候重试！";
                errorPopup.disableSelect();
                errorPopup.show();
                return;
            }
            
            $get('showitemcase_smallImageLink').src = val.value2;
            $get('showitemcase_simpleDesc').innerHTML = val.value1.replace(/\[br\]/g, '<br />');
        }
    }
}


ShopMall.PackageList.prototype = {
    set_element : ShopMall$PackageList$set_element,
    get_element : ShopMall$PackageList$get_element,
    CreateNavMenu : ShopMall$PackageList$CreateNavMenu,
    OnAddToReservePackageReturn : ShopMall$PackageList$OnAddToReservePackageReturn,
    OnDeleteAddressReturn : ShopMall$PackageList$OnDeleteAddressReturn,
    OnShowPackageReturn : ShopMall$PackageList$OnShowPackageReturn,
    OnShowItemReturn : ShopMall$PackageList$OnShowItemReturn
}

ShopMall.PackageList.registerClass('ShopMall.PackageList');

