﻿//获取商品列表，只显示一页，暂不支持翻页
function HishopGoodsList(_controlId, _searchString, _listStyle, _pageSize, _listColumns){
    this.Back = function(_backText){
    
        var _control = document.getElementById(_controlId);
        if (_control) 
            _control.innerHTML = _backText;
    }
    
    var theUrl = HishopAjaxDirUrl + "/HishopGoodsList.aspx?ListStyle=" +
    escape(_listStyle) +
    "&PageSize=" +
    escape(_pageSize) +
    "&ListColumns=" +
    escape(_listColumns);
    
    if (_searchString && _searchString != '') 
        theUrl += "&" + _searchString;
    
    GetValue2(theUrl, this.Back);
}

function HishopGoodsUpBigImages(_imageUrl, _goodsId, _viewBigImagesFileUrl, _fileId, _bigImageControlId, _bigImageLinkControlId){
    var _control = document.getElementById(_bigImageControlId);
    if (_control) 
        _control.src = _imageUrl;
    
    var _control2 = document.getElementById(_bigImageLinkControlId);
    if (_control2) {
        _control2.href = _viewBigImagesFileUrl + "?GoodsId=" + _goodsId + "&FirstImageId=" + _fileId;
    }
    
    
}

//加入收藏夹
function HishopGoodsAddFavorite(_goodsId){
    this.Back = function(_backText){
        ShowBackMessage(_backText);
    }
    
    var theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=Add2Favorite&GoodsId=" + escape(_goodsId);
    GetValue2(theUrl, this.Back);
}

function HishopGoodsDeleteFavorite(_goodsId){
    this.Back = function(_backText){
        ShowBackMessage(_backText);
    }
    
    var theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=DeleteByFavorite&GoodsId=" + escape(_goodsId);
    GetValue2(theUrl, this.Back);
}

//清理静态页面
function HishopStaticPageClear(){
    this.Back = function(_backText){
        ShowBackMessage(_backText);
    }
    
    var theUrl = HishopAjaxDirUrl + "/HishopStaticPage.aspx?Type=ClearAll";
    GetValue2(theUrl, this.Back);
}

//到Goodsmain控件，主要用于静态页面的时候执行
function HishopGoodsMain(_goodsId){
    this.Back = function(_backText){
    
    }
    
    var theUrl = HishopAjaxDirUrl + "/HishopGoodsMain.aspx?GoodsId=" + _goodsId;
    GetValue2(theUrl, this.Back);
}

function HishopGoodsStockNumUpdate(_goodsId, _stockControlId, _userSelectExtAttributeQueryString){
    this.Back = function(_backText){
        var _stockControl = document.getElementById(_stockControlId);
        if (_stockControl) {
            _stockControl.innerHTML = _backText;
            
        }
    }
    var theUrl;
    theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=GetStockNum&GoodsId=" + _goodsId;
    
    if (_userSelectExtAttributeQueryString != "") 
        theUrl += "&" + _userSelectExtAttributeQueryString;
    
    
    GetValue2(theUrl, this.Back);
    //alert(_goodsId+"|"+_stockControlId+"|"+_userSelectExtAttributeQueryString);
}


var _dataBackupAddButtonControlId;
// isLast 表示这是最后一个，在这个完成后，要把添加新备份的按钮还原显示
function HishopDataBackup(_type, _dirName, _pageIndex, _controlId, _oldSpanText, isUnshift, isLast){
    if (_type == "Goods") 
        return;
    var _spanControl = document.getElementById(_controlId);
    if (_spanControl != null && (_oldSpanText == null || _oldSpanText == '')) {
        _oldSpanText = _spanControl.innerHTML;
        _spanControl.innerHTML = "<b>" + _oldSpanText + "</b>"; //备份中的项加粗
    }
    
    var _addButtonControl;
    if (_dataBackupAddButtonControlId != null) {
        _addButtonControl = document.getElementById(_dataBackupAddButtonControlId);
        _addButtonControl.disabled = true;
        
    }
    
    
    this.Back = function(_backText){
    
        var _backText2 = _backText.split('|');
        
        
        if (_backText2[0] == "SUCCEED") {
        
            if (_spanControl != null) 
                _spanControl.innerHTML = _oldSpanText + " [完成]";
            
            
            
            if (_addButtonControl != null && isLast != null && isLast == true) 
                _addButtonControl.disabled = false;
            
        }
        else 
            if (_backText2[0] == "ERROR") {
            
                if (_spanControl != null) 
                    _spanControl.innerHTML = _oldSpanText + " " + _backText2[1];
            }
            else 
                if (_backText2[0] == "WARTING") {
                    //对于商品、订单、用户等大量信息的备份要多次处理
                    if (_spanControl != null) 
                        _spanControl.innerHTML = "<b>" + _oldSpanText + "</b>" + _backText2[1];
                    _pageIndex++;
                    //设置isunift为true,是为了保证在商品处理完成后再继续处理其它的备份
                    HishopDataBackup(_type, _dirName, _pageIndex, _controlId, _oldSpanText, true);
                }
        
        
        
    }
    
    var theUrl;
    theUrl = HishopAjaxDirUrl + "/HishopDataBackup.aspx?Type=" + _type + "&DirName=" + _dirName + "&Page=" + _pageIndex;
    
    
    GetValue2(theUrl, this.Back, null, null, null, null, null, null, null, null, null, true, isUnshift);//插入到集合中
}

function HishopDataRestore(_type, _dirName, _pageIndex, _controlId, _oldSpanText, isUnshift, isLast){


    var _spanControl = document.getElementById(_controlId);
    if (_spanControl != null && (_oldSpanText == null || _oldSpanText == '')) {
        _oldSpanText = _spanControl.innerHTML;
        _spanControl.innerHTML = "<b>" + _oldSpanText + "</b>"; //备份中的项加粗
    }
    
    this.Back = function(_backText){
    
        var _backText2 = _backText.split('|');
        
        if (_backText2[0] == "SUCCEED") {
        
            if (_spanControl != null) 
                _spanControl.innerHTML = _oldSpanText + " [完成]";
            
        }
        else 
            if (_backText2[0] == "ERROR") {
            
                if (_spanControl != null) 
                    _spanControl.innerHTML = _oldSpanText + " " + _backText2[1];
            }
            else 
                if (_backText2[0] == "WARTING") {
                    //对于商品、订单、用户等大量信息的备份要多次处理
                    if (_spanControl != null) 
                        _spanControl.innerHTML = "<b>" + _oldSpanText + "</b>" + _backText2[1];
                    _pageIndex++;
                    //设置isunift为true,是为了保证在商品处理完成后再继续处理其它的备份
                    HishopDataRestore(_type, _dirName, _pageIndex, _controlId, _oldSpanText, true);
                }
        
        
        
    }
    
    var theUrl;
    theUrl = HishopAjaxDirUrl + "/HishopDataRestore.aspx?Type=" + _type + "&DirName=" + _dirName + "&Page=" + _pageIndex;
    
    
    GetValue2(theUrl, this.Back, null, null, null, null, null, null, null, null, null, true, isUnshift); //插入到集合中
}


//所有分类的集合
var HishopClassDefineList = new Array();

function HishopClassDefine(_classId, _className, _url, _layer,_parentClassId){
    this.ClassId = _classId;
    this.ClassName = _className;
    this.Url = _url;
    this.Layer = _layer;
    this.ParentClassId = _parentClassId;

}

function HishopClassDefineAdd(_classId, _className, _url, _layer, _parentClassId) {
    HishopClassDefineList.push(new HishopClassDefine(_classId, _className, _url, _layer, _parentClassId));
}

var HexA0s = "\u00A0\u00A0";
function HishopFindClass(_parentClassId, _layer) {
   
    var _findClassDefineList = new Array();
    for (var i = 0; i < HishopClassDefineList.length; i++) {
   
        if (HishopClassDefineList[i].ParentClassId == _parentClassId && HishopClassDefineList[i].Layer == _layer) {
            _findClassDefineList.push(HishopClassDefineList[i]);

        }

    }
    return _findClassDefineList;

}

function HishopGetClass(_classId) {

    var _findClassDefine;
    for (var i = 0; i < HishopClassDefineList.length; i++) {

        if (HishopClassDefineList[i].ClassId == _classId) {
           
            _findClassDefine = HishopClassDefineList[i];

        }

    }
    return _findClassDefine;

}

//获取指定分类的上级分类
function HishopGetParentClass(_classId) {

   
    var _findParentClassDefine;
    //先找到指定分类的定义
    var _findClass = HishopGetClass(_classId);
    if (_findClass) {
       
        for (var i = 0; i < HishopClassDefineList.length; i++) {

            if (HishopClassDefineList[i].ClassId == _findClass.ParentClassId) {
                _findParentClassDefine = HishopClassDefineList[i];
             
            }

        }
    }
    return _findParentClassDefine;
}

//获取指定分类的所有上级分类
function HishopGetAllParentClass(_classId, _parentClassList) {

    if (_parentClassList == null)
        _parentClassList = new Array();

    var _parentClass = HishopGetParentClass(_classId);
    if (_parentClass != null) {
        
        _parentClassList.unshift(_parentClass);
        if (_parentClass.ClassId != "00000000-0000-0000-0000-000000000000") {
           
            HishopGetAllParentClass(_parentClass.ClassId, _parentClassList);
        }
    }

    return _parentClassList;

}


//创建分类列表下拉菜单类型一
function HishopCreateClassList(_selectControlId, _parentClassId, _layer, _separator) {

    var _classListControl = document.getElementById(_selectControlId);
   
    if (_classListControl) {

        var _findClassDefineList = HishopFindClass(_parentClassId, _layer);
        _layer++;

        for (var i = 0; i < _findClassDefineList.length; i++) {
            var _newOption = new Option(HexA0s + _separator + _findClassDefineList[i].ClassName, _findClassDefineList[i].ClassId);
            _classListControl.options.add(_newOption);
            HishopCreateClassList(_selectControlId, _findClassDefineList[i].ClassId, _layer, HexA0s + _separator);
        }
    }
}

//创建分类列表下拉菜单类型一
function HishopCreateClassList2(_selectControlId, _defaultSelectClassId, _separator) {

    //获取 _defaultSelectClassId的所有上级分类
    var _allParentClassList = HishopGetAllParentClass(_defaultSelectClassId, null);

    var _classListControl = document.getElementById(_selectControlId);

    if (_classListControl) {
        for (var i = 0; i < _allParentClassList.length; i++) {
            _separator = HexA0s + _separator;
            var _newOption = new Option(_separator + _allParentClassList[i].ClassName, _allParentClassList[i].ClassId);
            _classListControl.options.add(_newOption);
        }

        var _nowClass = HishopGetClass(_defaultSelectClassId);
        if (_nowClass) {
            if (_nowClass.ClassId != '00000000-0000-0000-0000-000000000000') {
                _separator = HexA0s + _separator;
                _classListControl.options.add(new Option(_separator + _nowClass.ClassName, _nowClass.ClassId));
            }
            //获取下一级的分类
            var _findClassDefineList = HishopFindClass(_nowClass.ClassId, (_nowClass.Layer + 1));

            if (_findClassDefineList.length > 0) {
                _separator = HexA0s + _separator;

                for (var i = 0; i < _findClassDefineList.length; i++) {

                    var _name = _findClassDefineList[i].ClassName;
                    //判断这个子级别的分类是否还有子级分类，如果有就加个...提示
                    var _childList = HishopFindClass(_findClassDefineList[i].ClassId, (_findClassDefineList[i].Layer + 1));
                    if (_childList != null && _childList.length > 0)
                        _name += " >";


                    _classListControl.options.add(new Option(_separator + _name, _findClassDefineList[i].ClassId));


                }
                
            }
          

          
        }

    }

}

function HishopClassListSetDefault(_selectControlId, _classId) {
    var _classListControl = document.getElementById(_selectControlId);
    for (var i = 0; i < _classListControl.options.length; i++) {
        if (_classListControl.options[i].value == _classId) {

            _classListControl.options[i].selected = true;
        }

    }
 }

 function HishopClassListChangeToUrl(_classList) {
     
     var _findClass = HishopGetClass(_classList.options[_classList.selectedIndex].value);
     if (_findClass) {
         document.location = _findClass.Url;
      }
  }

//类型二的分类列表再选项更改的时候调用
  function HishopClassListType2Change(_classList, _separator) {

     
      var _findClass = HishopGetClass(_classList.options[_classList.selectedIndex].value);
      if (_findClass) {
          //判断当前选中的分类是否还有子级的分类，如果没有的话就不再重新生成了
          var _childClass = HishopFindClass(_findClass.ClassId, (_findClass.Layer + 1));
          if (_childClass != null && _childClass.length > 0) {
              _classList.size = 8;
              _classList.options.length = 0;
              HishopCreateClassList2(_classList.id, _findClass.ClassId, _separator);
              HishopClassListSetDefault(_classList.id, _findClass.ClassId)
          }
      }
  }

  function HishopClassListType2Onblur(_classList) {
      _classList.size = 1;
  }
  function HishopClassListType2Onfocus(_classList) {
     // _classList.size = 10; //在google浏览器中会崩溃
   }

//显示某个分类的子分类UL
   function showChildClass(_classControl, _childUlId, _showType, _newCssClass) {
       _classControl.className = _newCssClass;
       var x = getposOffset(_classControl, 'left');
       var y = getposOffset(_classControl, 'top');
       var _clientRect = _classControl.getBoundingClientRect(); //获取链接部分的坐标
       var _add = _clientRect.right - _clientRect.left;
     
       var _childUiControl = document.getElementById(_childUlId);
       if (_clientRect && _childUiControl) {
           if (_showType == "InRight") {
               _childUiControl.style.display = "block";
               _childUiControl.style.left = (_add + x) + "px";
               _childUiControl.style.top = y + "px";
           }
           else if (_showType == "InBottom") {
               _childUiControl.style.display = "block";
               _childUiControl.style.left = _clientRect.left + "px";
           }
       }
   }
   function displayChildClass(_classControl, _childUlId, _oldCssClass) {
    
       _classControl.className = _oldCssClass;
       var _childUiControl = document.getElementById(_childUlId);
       if (_childUiControl) {
           _childUiControl.style.display = "none";
       }
   }




   

   var sortArray;
   var sortId = -1;
   function showwindowExtra(obj, objdiv, addx, addy, ids) {
       if (sortArray[ids].length > 0) {
           $("sortTitle").innerHTML = obj.innerHTML;
           $("sortTitle").href = obj;
           if (sortArray[ids].length == 0) {
               sortId = -1;
               $("sortContentBox").style.display = "none";
           }
           else {
               sortId = ids;
               $("sortContentBox").style.display = "inline";
               $("sortContent" + sortId).style.display = "";
           }
           var x = getposOffset(obj, 'left');
           var y = getposOffset(obj, 'top');
           var div_obj = $(objdiv);
           div_obj.style.left = (x + addx) + 'px';
           div_obj.style.top = (y + addy) + 'px';
           div_obj.style.display = "inline";

       }
   }

   function hidewindowExtra(objdiv, ids) {
       var div_obj = $(objdiv);
       var ul_obj = $("sortContent" + ids);
       if (div_obj) div_obj.style.display = "none";
       if (ul_obj) ul_obj.style.display = "none";
   }

   function showwindowExtra2() {
       if (sortId != -1) $("sortContent" + sortId).style.display = "";
       $('sortBox').style.display = 'inline';
   }

   function hidewindowExtra2() {
       if (sortId != -1) $("sortContent" + sortId).style.display = "none";
       $('sortBox').style.display = 'none';
   }

   function loadOver() {
       $("SortBoxShadowLeft").style.height = "2px";
       $("SortBoxShadowLeft").style.position = "static";
   }


   function GoodsStartBuyDatetimeCheck(_d, _buyControlId,_showMessageControlId ,_message) {
       var _span = $(_buyControlId);
       var _show = $(_showMessageControlId);
       
       if (_span) {
           var _nowDate = new Date();
           if (_nowDate < _d) {
               _span.style.display = "none";
               if (_show) {
                   _show.innerHTML = _message;
               }
               
           }
          
       }
   }

   function ProcurementStarVote(_goodsId, _userSelectExtAttributeQueryString) {
       this.Back = function(_backText) {

           if (_backText == "") {
               alert("操作成功!");
               document.location.reload(); //刷新当前页面
           }
           else {
               //提示错误信息
               alert(_backText);
           }
       }
       var theUrl;
       theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=ProcurementStarVote&GoodsId=" + _goodsId;

       if (_userSelectExtAttributeQueryString != "")
           theUrl += "&" + _userSelectExtAttributeQueryString;


       GetValue2(theUrl, this.Back);
   }

   function ProcurementVote(_procurementId) {
       this.Back = function(_backText) {

           if (_backText == "") {
               alert("操作成功!");
               document.location.reload(); //刷新当前页面
           }
           else {
               //提示错误信息
               alert(_backText);
           }
       }
       
       var theUrl;
       theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=ProcurementVote&ProId=" + _procurementId;
       GetValue2(theUrl, this.Back);
   }

   function ProcurementBuy(_procurementId) {
       this.Back = function(_backText) {

           if (_backText == "") {
               //alert("操作成功!");
               document.location.href = 'ViewShoppingCart.aspx';
               //document.location.reload(); //刷新当前页面
           }
           else {
               //提示错误信息
               alert(_backText);
           }
       }

       var theUrl;
       theUrl = HishopAjaxDirUrl + "/HishopGoods.aspx?Type=ProcurementBuy&ProId=" + _procurementId;
       GetValue2(theUrl, this.Back);
   }