﻿
function mouseclick(options)
{
	var jqStr = "";
	var jqStr1 = "";
	with(options){
	if(titleCls!='') jqStr += titleCls	
	if(viewCls!='') jqStr1 += viewCls;
	jqStr1 += ":visible";
	var arrCls =  titleCls.split(",");
	if(arrCls.length<2) arrCls[1] = arrCls[0];
	}
	if(jqStr=='' ||jqStr1=='') return;
	$(jqStr).click(function(){
	$(arrCls[0])[0].className = arrCls[1].replace(".","");
	$(this)[0].className = arrCls[0].replace(".","");
	$(jqStr1).hide();
	$("#"+options.viewt+($(this)[0].id)).show();
	}		
	)
}

function menuClick(EvJqObj,handleJqObj,ops)
	{
      var options = {
        'cssClass' : 'on',
        'func' : null,
        'reverse' : false
        ,'link':true
      }
      $.extend(options,ops);

      var clickedIndex = 0;
      var _handleJqObjS = $(handleJqObj);
      var _EvJqObjS =  $(EvJqObj);      
        
      _EvJqObjS.each(function(i,n){          
                   if( $(n).attr("oldclass") == undefined)
	                $(n).attr("oldclass",$(n).attr("class"));  
	                           
                    $(n).click(function(){   
                         var o =  _EvJqObjS.filter("." + options.cssClass);       	       
         		         o.removeClass(options.cssClass).addClass(o.attr("oldclass"));
                  	
         		         $(this).attr("class","").addClass(options.cssClass)	         
         		        if(i < _handleJqObjS.length) {
         		            (options.reverse)? $(_handleJqObjS.get(clickedIndex)).show() : $(_handleJqObjS.get(clickedIndex)).hide();
         		            clickedIndex = i;
         		            (options.reverse)? $(_handleJqObjS.get(clickedIndex)).hide() : $(_handleJqObjS.get(clickedIndex)).show();
				            
				            if(ops instanceof Function)
				            {
				                ops(this);
				            }
				            if(options.func instanceof Function)
				            {
				                options.func(this);
				            }
				             return options.link;
				        }	 			       			   		                                         
                    }) 
      });	
	    
	}
	
function menuHover(EvJqObj,handleJqObj,ops)
	{
      var options = {
        'cssClass' : 'on',
        'func' : null,
         'reverse' : false
      }
      $.extend(options,ops);

      var clickedIndex = 0;
      var _handleJqObjS = $(handleJqObj);
      var _EvJqObjS =  $(EvJqObj);      
        
      _EvJqObjS.each(function(i,n){          
	                           
                    $(n).hover(function(){          
         		        if(i < _handleJqObjS.length) {
				            (options.reverse)? $(_handleJqObjS.get(clickedIndex)).show() : $(_handleJqObjS.get(clickedIndex)).hide();
         		            clickedIndex = i;
         		            (options.reverse)? $(_handleJqObjS.get(clickedIndex)).hide() : $(_handleJqObjS.get(clickedIndex)).show();
				            if(options.func instanceof Function)
				            {
				                options.func(this);
				            }
				            
				        }	 			       			   		                                         
                    },function(){}
                    
                    ) 
      });	
	    
	}	
	function addChildMenu(cataid,ops){
	    
	    var options = {level:1};
	    $.extend(options,ops);
	    
	    
	    var template_1 =  "<div class='wzlm_div'>"	    
               +"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"gT_tab_1\" name='New' cataid=\"@cataid\" parentid='"+ cataid +"'>"
                +"<tr>"
                + "<td width=\"60\"><input name=\"menuOrder_@cataOrder\" type=\"text\" class=\"txt\" id=\"menuOrder_@cataOrder\" value=\" @cataOrder \" size=\"2\"></td>"
                + "<td width=\"30\"> <a href='javascript:void()' cataid=\"@cataid\" onclick='showChlid(\"@cataid\",this)' class=\"toggle\">[ - ]</a> </td>"
                + "<td><div><input name=\"@cataid\" type=\"text\" class=\"txt\" id=\"@cataid\" value=\"@cataName\" size=\"30\"></div></td>"
                + "<td width=\"140\">(未保存) -> <a href=\"javascript:void()\" id=\"delCataNew_@cataid\">删除</a></td>"
                +"</tr>"
             + " </table><div class=\"wzlm_div\" id=\"wzlm_div_@cataid\">"
            + "</div><div class=\"board_tj\" style=\"margin-left:181px;\"><a href=\"javascript:void()\" class=\"tj\" onclick=\"addChildMenu('@cataid',{level:2})\">添加二级栏目</a></div></div>";      
              
        var template_2 = "<div class=\"wzlm_div\">"
                        + "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" name='New' class=\"gT_tab_1\" parentid='"+ cataid +"'>"
                        + "<tr>"
                        + "<td width=\"60\"><input name=\"menuOrder_@cataOrder\" type=\"text\" class=\"txt\" id=\"menuOrder_@cataOrder\" value=\"@cataOrder\" size=\"2\"></td>"
                        + "<td width=\"30\"><a href='javascript:void()' cataid=\"@cataid\" onclick='showChlid(\"@cataid\",this)' class=\"toggle\">[ - ]</a> </td>"
                        + "<td><div class=\"board_chd\"><input name=\"@cataid\" type=\"text\" class=\"txt\" id=\"@cataid\" value=\"@cataName\" size=\"30\"><a href=\"javascript:void()\" class=\"bd\" onclick=\"addChildMenu('@cataid',{level:2})\">添加栏目</a></div></td>"
                        + "<td width=\"140\">(未保存) -> <a href=\"javascript:void()\" id=\"delCataNew_@cataid\">删除</a></td>"
                        + "</tr>"
                     + " </table><div class=\"wzlm_div\" id=\"wzlm_div_@cataid\" >"
                     + "</div></div>"
                     
        var tmp,order;
        var new_cataid = "menuid_new_" + (++addChildMenu.guid);
        
        if(options.level == 1 ){	         
                var chTrs = $(".m_lists").children(".wzlm_div");
                
                order = chTrs.length + 1;

	            tmp = $(template_1.replace(/@cataid/g,new_cataid).replace(/@cataOrder/g,order).replace(/@cataName/g,"新增栏目"+order));
	                 
	            chTrs.filter(":last").after(tmp);            
        }	
        else
        {
            var chTrs = $("#wzlm_div_" + cataid);
            chTrs.show();
            $("a.toggle[cataid='"+cataid+"']").html("[ - ]");
            
            order = chTrs.children(".wzlm_div").length + 1;
            tmp = $(template_2.replace(/@cataid/g,new_cataid).replace(/@cataOrder/g,order).replace(/@cataName/g,"新增栏目"+order));
            chTrs.append(tmp);
            
        }  
        
        tmp.find("#delCataNew_"+new_cataid).click(function(){	  
            tmp.remove();
            return false;
        });               
        
	}
	addChildMenu.guid = 0;
	
	function geMenuJson(jqstr){
	    var o = {ChildList:null};
	    o.ChildList = getMenuJsonArr($(jqstr));
	    return o;
	}
	function getMenuJsonArr(child){
	    var ChildList = [];
	    child.each(function(i,n){	    
	       ChildList[i] = {};
	       var tab = $(n).children(".gT_tab_1:eq(0)");
	       
	       var o = $(tab).find("input:eq(1)");
	       
	       var name = o.attr("name");
	       
	       if(name.indexOf("new") > -1)
	        ChildList[i]["editType"] = 1;
	       else
	        ChildList[i]["editType"] = 2;
	        
	       ChildList[i]["cataName"] = o.val();
	       ChildList[i]["cataID"] = $(tab).attr("cataid");
	       ChildList[i]["parentID"] = $(tab).attr("parentid");
	       
	       ChildList[i]["cataOrder"] = $(tab).find("input:eq(0)").val();
	       
	       var list = $(n).children(".wzlm_div").children(".wzlm_div");
	       
           ChildList[i]["ChildList"] = getMenuJsonArr(list);	    	    
	    })  
	    return ChildList;
	}
	
function reSize(){
        $("#rightContainer").width($(".t_main").width() - $("#leftContainer").width());
     
        var h = document.body.clientHeight - $(".n_top").height();
        $("#leftContainer").height(h);    
        $("#rightContainer").height(h);
	}
	
function autoFrameHeight(){
        var maxheight=getMaxHeight();
        var cf = window.parent.document.getElementsByTagName("iframe");
         for(i=0;i<cf.length;i++)
         {
             if(cf[i].contentWindow==window)
             {
                 cf[i].style.height = maxheight + 250 +"px";
                 cf[i].parentNode.style.height = maxheight + 250 + "px";
                 break;
             }
         }
    }

 

/*******************
获取页面最大高度
*******************/
function getMaxHeight(){  
    var body = document.getElementsByTagName("body")[0];
    var bh;
    //if (window.navigator.userAgent.indexOf("MSIE")>=1)
    //  bh = document.body.clientHeight;
    // else
     //{
      var wrapper = document.getElementById("wrapper");
      if(wrapper == null)
       wrapper = addWrapper();
       bh = wrapper.scrollHeight;
     //}
    var mt = Number(String(getObjStyle(body,"marginTop")).replace("px",""));
    var mb = Number(String(getObjStyle(body,"marginBottom")).replace("px",""));
    return bh + mt + mb + 15;
}
    
/************
获取当前页面对象实时样式
************/
function getObjStyle(obj,styleName){    
    return document.defaultView!=null?document.defaultView.getComputedStyle(obj,null)[styleName]:obj.currentStyle[styleName];
}
    
/***************
在body下增加一个id为wrapper的div
用于处理页面高度
***************/
function addWrapper(){
 var body = document.getElementsByTagName("body")[0];
 var wrapper = document.createElement("div");
 wrapper.setAttribute("id","wrapper");
 wrapInner(body,wrapper);
 return wrapper;
}


/**********
内容插入包容dom
**********/
function wrapInner(container,obj){
    var ctn = container;
    var innerWrapper = obj;
    ctn.insertBefore(innerWrapper,ctn.firstChild)
    while(innerWrapper.nextSibling){
        innerWrapper.appendChild(innerWrapper.nextSibling);
    }
}

function menuList(jqExp)
    {
        var parentObj = $(jqExp);
        if(parentObj.length == 0)
            return ;
       
        var childObj = parentObj.find(" > div:first");
        if(childObj.length == 0)
            return;
       
        childObj.hide();
        
        childObj.each(function(){
            var oThis = $(this);
            $(this).parent().hover(function(){
               oThis.show();
            },function(){
               oThis.hide();
        })
        })


        var o = childObj.find("> div");
       
        if(o.length > 0) {
            menuList(o);
         }   
        
    }
