
var PageSize = 20;//每页计数
var CurrentPage = 1; //当前页
var CatID = 0;

$(document).ready(function(){
    //loading
    $('#loadingContainer').ajaxStart(function(){
	    $(this).show();
	    $('#loadingbackground').show().css({"opacity": "0.5"});
	}).ajaxStop(function(){
	    $(this).hide();
	});
	
	setInterval(function(){
        $('div.sub_container_page').css('top',$(window.parent.frames.right).height()-$('div.sub_container_page').height()); //设置底部分页区域的位置
        $('div.sub_container_content').css('height',$(window.parent.frames.right).height()-$('div.sub_container_title').height()-$('div.sub_container_operation').height()-$('div.sub_container_listhead').height()-$('div.sub_container_page').height()-10); //设置内容区域的高度
        if($.browser.mozilla){setList();}
        $('#frmHeight').val($(window.parent.frames.right).height());//将窗口高度用hidden记录,在iframe中取值
    },100);
	
	if(getQueryStringRegExp('CatID') == ''){
	    CatID = getQueryStringRegExp('CatID');
	};
	if(getQueryStringRegExp('type') == ''){
	    BindList('type=GetCategoryList&PageSize=' + PageSize + '&Page=' + CurrentPage,CatID);
	}
	
	//全选
    $('input[@name=chkAll]').click(function(){
        $('input[@name=chkItem]').attr('checked',$(this).attr('checked'));
    });
    
    //用户选择每页显示数量
    $('#showSum').change(function(){
        PageSize = $(this).val();
        CurrentPage = 1;
        BindList('type=GetCategoryList&PageSize=' + PageSize + '&Page=' + CurrentPage,0);
    });
    
    //修改排序
    $('#btnSaveSort').click(function(){
        var urldata = '';
        $('input[@name=chkItem][@checked]').each(function(){
            urldata += $(this).val() + ',' + $('#sort_' + $(this).val()).val() + '|';
        })
        if(urldata != ''){
            urldata = urldata.substring(0,urldata.length-1)
        }else{
            alert('请选择要修改的商品');
            return false;
        }
        urldata = 'type=UpdateSortAjax&SortInfo=' + urldata;
        $.ajax({
            url:'Category.aspx?NoCopyRight=1',
            data:urldata,
            cache:false,
            success:function(data){
                if(!checkLoginStatus(data)){return false;}//是否要重新登陆
                if(data > 0){
                    BindList('type=GetCategoryList&PageSize=' + PageSize + '&Page=' + CurrentPage,0);
                }
            },
            error:function(){alert('error');}
        });
    });
	
});//end ready

function setList()
{
	var pageWidth=document.documentElement.clientWidth-9;
	$(".sub_container_content").css("width",pageWidth);
	$(".sub_container_listhead").css("width",pageWidth);
	$(".llist").css("width",pageWidth);
//	var c1_width = pageWidth*0.08+"px";
//	var c2_width = pageWidth*0.08+"px";
//	var c3_width = pageWidth*0.16+"px";
//	var c4_width = pageWidth*0.08+"px";
//	var c5_width = pageWidth*0.08+"px";
//	var c6_width = pageWidth*0.08+"px";
//	var c7_width = pageWidth*0.08+"px";
//	var c8_width = pageWidth*0.08+"px";
//	var c9_width = pageWidth*0.12+"px";
//	var c10_width = pageWidth*0.08+"px";
//	var c11_width = pageWidth*0.08+"px";
//	$('.cat_c1').css("width",c1_width);
//	$('.cat_c2').css("width",c2_width);
//	$('.cat_c3').css("width",c3_width);
//	$('.cat_c4').css("width",c4_width);
//	$('.cat_c5').css("width",c5_width);
//	$('.cat_c6').css("width",c6_width);
//	$('.cat_c7').css("width",c7_width);
//	$('.cat_c8').css("width",c8_width);
//	$('.cat_c9').css("width",c9_width);
//	$('.cat_c10').css("width",c10_width);
	
	var c1_width = pageWidth*0.05+"px";
	var c2_width = pageWidth*0.05+"px";
	var c3_width = pageWidth*0.12+"px";
	var c4_width = pageWidth*0.08+"px";
	var c5_width = pageWidth*0.08+"px";
	var c6_width = pageWidth*0.08+"px";
	var c7_width = pageWidth*0.08+"px";
	var c8_width = pageWidth*0.08+"px";
	var c9_width = pageWidth*0.10+"px";
	var c10_width = pageWidth*0.06+"px";
	var c11_width = pageWidth*0.06+"px";
	var c12_width = pageWidth*0.06+"px";
	$('.cat_c1').css("width",c1_width);
	$('.cat_c2').css("width",c2_width);
	$('.cat_c3').css("width",c3_width);
	$('.cat_c4').css("width",c4_width);
	$('.cat_c5').css("width",c5_width);
	$('.cat_c6').css("width",c6_width);
	$('.cat_c7').css("width",c7_width);
	$('.cat_c8').css("width",c8_width);
	$('.cat_c9').css("width",c9_width);
	$('.cat_c10').css("width",c10_width);
	$('.cat_c11').css("width",c11_width);
	$('.cat_c12').css("width",c12_width);
}

function BindList(urldata,urlCatID){
    $.ajax({
        url:'Category.aspx?NoCopyRight=1',
        data:urldata + '&CatID=' + urlCatID,
        dataType:'json',
        cache:false,
        success:function(msg){
//            alert(msg);
            var data = msg.Category;
            var objNextRow;//记录当前行的下一行,当读取子类后,将子类的行放在objNextRow的前面
            if(urlCatID==0){
                $('tr:gt(0)','#datas').remove();//如果是获取第一级类别,将已有行删除
            }
            objNextRow = $('tr[@id$=_' + urlCatID + ']').next();
            $.each(data,function(i,n){
                var row = $('#template').clone().show();
                row.mouseover(function(){$(this).addClass('on')}).mouseout(function(){$(this).removeClass('on')}); //将复制的行显示出来并添加样式
                row.find('#CheckBox').html('<input type="checkbox" name="chkItem" value="' + n.CategoryID + '" />');//checkbox
                row.find('#CategoryID').html(n.CategoryID);//ID
                row.find('#Dir').html(PPFolder(n.CategoryNo));//ID
                row.find('#Name').html('<img src="../images/empty.gif" width="' + 10*Number(n.Depth) + '" height="1" align="absmiddle">' + (n.Child > 0 ? '<img src="images/folder_close.gif" class="folder" /> ' : '<img src="../images/empty.gif" width="9" height="1">') + n.Name + '(' + n.ProductNum + ')')
                   .find('img')
                   .css('cursor','pointer')
                   .click(function(){
                        if($(this).attr('src').toLowerCase().indexOf('folder_close.gif') != -1){
                            if($('tr[@id^=ready_' + n.CategoryID + '_]').length != 0){
                                $('tr[@id^=ready_' + n.CategoryID + '_]').show();//有子类行,显示出来
                            }else{
                                BindList('type=GetCategoryList',n.CategoryID);//没有子类行,读取出来
                            }
                            $(this).attr('src','images/folder_open.gif');
                        }else{
                            HideRows($('tr[@id$=_' + n.CategoryID + ']'),'hide');//隐藏子类
                            $(this).attr('src','images/folder_close.gif');
                        }
                   });//名称
                row.find('#Sort')
                   .find('input[@type=text]')
                   .attr('name','sort_'+n.CategoryID)
                   .attr('id','sort_'+n.CategoryID)
                   .val(n.Sort)
                   .blur(function(){CheckSort($(this));})//排序
                   .change(function(){CheckOn($(this));});
                row.find('#InBar').html('<a href="Actions.aspx?Action=ChangeInBar&CatID=' + n.CategoryID + '&Status=' + n.InBar.toLowerCase() + '"><img src="images/publish_' +n.InBar.toLowerCase() + '.png" border="0"></a>').find('a').click(function(){UpdateStatus($(this),$(this).find('img'));return false});//顶部显示
                row.find('#InNav').html('<a href="Actions.aspx?Action=ChangeInNav&CatID=' + n.CategoryID + '&Status=' +n.InNav.toLowerCase() + '"><img src="images/publish_' +n.InNav.toLowerCase() + '.png" border="0"></a>').find('a').click(function(){UpdateStatus($(this),$(this).find('img'));return false});//左边显示
                row.find('#IsShow').html('<a href="Actions.aspx?Action=ChangeIsShow&CatID=' + n.CategoryID + '&Status=' +n.IsShow.toLowerCase() + '"><img src="images/publish_' +n.IsShow.toLowerCase() + '.png" border="0"></a>').find('a').click(function(){UpdateStatus($(this),$(this).find('img'));return false});//在子类列表中显示
                row.find('#IsActive').html('<a href="Actions.aspx?Action=ChangeCatActive&CatID=' + n.CategoryID + '&Status=' +n.IsActive.toLowerCase() + '"><img src="images/publish_' +n.IsActive.toLowerCase() + '.png" border="0"></a>').find('a').click(function(){UpdateStatus($(this),$(this).find('img'));return false});//是否发布
                row.find('#ShowProduct').html('<a href="Product/Product.aspx?ProductType=Normal&Keyword=&CatID=' + n.CategoryID + '">查看商品</a> <a href="ModifyPrice.aspx?CategoryID=' + n.CategoryID + '"><font color="blue">批量修改价格</font></a>');//查看商品
                row.find('#Modify').html('<a href="CategoryAdd.aspx?NoCopyRight=1&from=list&CategoryID=' + n.CategoryID + '">修改</a>').find('a').click(function(){ShowModify($(this).attr('href'));return false});//修改
                row.find('#Delete').html('<span style="cursor:pointer;">删除</span>').find('span').click(function(){
                    if(confirm('确定要删除吗？')){
                        $.ajax({
                            url:'Category.aspx?type=DeleteCategory&CatID=' + n.CategoryID + '&NoCopyRight=1',
                            cache:false,
                            success:function(data){
								switch(data){
									case "1":
										if(urlCatID == 0){
											BindList('type=GetCategoryList&PageSize=' + PageSize + '&Page=' + CurrentPage,0);
										}else{
											HideRows($('#ready_' + urlCatID + '_' + n.CategoryID),'remove');//删除行
											if($('tr[@id^=ready_' + urlCatID + '_]').length == 0){//如果子类全部删除完,将父类前的折叠图标去掉
												$('tr[@id$=_' + urlCatID + ']').find('#Name img.folder').after('<img src="../images/empty.gif" width="9" height="1">').remove();
											}
										};
										alert('已删除');
										break;
									case "-1":
										alert('删除失败:发生未知错误!');
										break;
									case "-2":
										alert('删除失败:该分类下还有商品!');
										break;
									case "-3":
										alert('删除失败:该分类下还有子分类!');
										break;
									default:
										alert(data);
										break;
								};							
                            },//end success
                            error:function(){alert('error:delete');}
                        });
                    }
                });//删除
 
                row.attr('id','ready_' + urlCatID + '_' + n.CategoryID);//id=ready_ParentID_CategoryID
                if(objNextRow[0] == undefined){
                    $('#datas').append(row);
                }else{
                    objNextRow.before(row);
                }
                
            })//end each
            
            //分页
            $('.sub_container_page').show();
            if(urlCatID == 0){
                var pagerStyle = "flickr";//jPagerBar样式
                ShowPageBar("pageDataList1_Pager",//[containerId]
                   "Category.aspx",//[url]
                   {style:pagerStyle,mark:"pageDataList1Mark",
                   totalCount:msg.totalCount,showPageNumber:3,pageCount:PageSize,currentPageIndex:CurrentPage,noRecordTip:" 没有记录",preWord:"上一页",nextWord:"下一页",
                   onclick:"CurrentPage={pageindex};BindList('type=GetCategoryList&PageSize=" + PageSize + "&Page={pageindex}',0);return false;"}//[attr]
                );//分页结束
            }
            
        },//end success
        error:function(XMLHttpRequest,textStatus){alert(textStatus);if(textStatus=='parsererror'){alert('身份已过期,请重新登陆!');}}//end error
    });//end ajax
}

//更新类别几种状态的公共方法
function UpdateStatus(aObj,imgObj){
    $.ajax({
        url:aObj.attr('href')+'&NoCopyRight=1',
        cache:false,
        success:function(data){
            if(!checkLoginStatus(data)){return false;}//是否要重新登陆
            if(data == 1){//如果更新成功,改变图片
                var newhref = '';
                if(imgObj.attr('src').toLowerCase().indexOf('publish_true.png') != -1){
                    imgObj.attr('src','images/publish_false.png');
                    newhref = aObj.attr('href').replace('=true','=false');
                    aObj.attr('href',newhref);//重新设置链接
                }else{
                    imgObj.attr('src','images/publish_true.png');
                    newhref = aObj.attr('href').replace('=false','=true');
                    aObj.attr('href',newhref);//重新设置链接
                }// end if else
            }//end if
        },
        error:function(){alert('error');}
    });//end ajax
}//end funciton UpdateStatus

//点击修改,显示修改商品的页面
function ShowModify(href){
    $('#frmModify').attr('src',href+'&ran='+Math.random()).css('height',$(window.parent.frames.right).height()).show().siblings().hide();
}

//递归隐藏行,递归删除行,action为hide表示隐藏行,action为remove为删除行
function HideRows(objTopRow,action){
    var rowid = objTopRow.attr('id');
    var startIndex = rowid.lastIndexOf('_');
    var catid = rowid.substring(startIndex+1);
    if(action=='remove'){objTopRow.remove();}//如果是删除类别,objTopRow也要删除,如果是隐藏,objTopRow不用隐藏
    $('tr[@id^=ready_' + catid + '_]').each(function(){
        if(action=='hide'){
            $(this).hide();//隐藏行
            HideRows($(this),'hide');//递归
            $(this).find('#Name').find('img.folder').attr('src','images/folder_close.gif');
        }
        else if(action == 'remove'){
            $(this).remove();//删除行
            HideRows($(this),'remove');
        }
    });
}//end function HideRows()

function CheckSort(obj){
	var reg = new RegExp(/\D/g);
	if(reg.test(obj.val()) || obj.val().Trim() == ''){
	    alert('排序填写错误');
	    obj.focus();
	};
}
function CheckOn(obj){
    obj.parent().siblings('td[@id=CheckBox]').find('input[@name=chkItem]').attr('checked','true');
}

//去掉字符串前后空格
String.prototype.Trim = function() { 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

//获取URL中参数
function getQueryStringRegExp(name){    
	var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
	if (reg.test(location.href))
		return unescape(RegExp.$2.replace(/\+/g, " "));
		return "";
}

function checkLoginStatus(data){
    var result = true;
    if(data.indexOf('<!DOCTYPE') != -1){
        result = false;
        alert('身份已过期,请重新登陆!');
    }
    return result;
}

function PPFolder(cid){
    return (cid.length > max_value.length ? cid.substring(0,max_value.length) : cid);
}