﻿dragobj=null;

function drag_init(){
    
	$(".txt").mousedown(function(){drag_addevent(this)});
	$(".txt").mousemove(function(){drag_ontitle(this)});
	$(".txt").css("cursor","move");
	$(".txt").each(function(){$(this).width($(this).parent().width()*0.6);});
	$(".txt").each(function(){$(this).parent().find("b").remove();$(this).after("<div style=\"width:15px;float:right;\"  onclick=\"dray_closemodule(this)\"><b class=\"dd2\">X</b></div><div style=\"width:15px;float:right;\"  onclick=\"changeModule2(this);\">＿</div>");});
}
function drag_addevent(e){
e=e||event;
	//if(dragobj!=null) return false;
	$(e).unbind("mousemove");
	dragobj=$(e).parent().parent();
	dragobj.xy=dray_getxy(e);
	dragobj.xx=new Array((event.clientX-dragobj.xy[1]),(event.clientY-dragobj.xy[0]))
	
	$(dragobj).after($("#draghidden_div2"));
	$("#draghidden_div2").css("height",dragobj.height());
	$("#draghidden_div").width(dragobj.parent().css("width"));
	//$("#draghidden_div3").width(dragobj.parent().css("width"));
	$("#draghidden_div2").show();
	$("#drag_save").show();
}
function dray_getxy(e){
	var a=new Array()
	var t=e.offsetTop;
	var l=e.offsetLeft;
	var w=e.offsetWidth;
	var h=e.offsetHeight;
	while(e=e.offsetParent){
		t+=e.offsetTop;
		l+=e.offsetLeft;
	}
	a[0]=t;a[1]=l;a[2]=w;a[3]=h;
  	return a;
}

var isclose=false;
function dray_closemodule(e){
    if(confirm('确定删除?')){
        //alert($(e).parent().parent().attr("id"));
        //alert($(e).html());
        $(e).parent().parent().hide();
        isclose=true;
        drag_save('');
    }
}
function createtmpl(e){

	$("#draghidden_div").show();
	$("#draghidden_div").empty();
	$(dragobj).removeClass();
	$(dragobj).addClass("modulediv2");
	//$("#draghidden_div3").show();
	//$("#draghidden_div3").empty();
	$(dragobj).appendTo($("#draghidden_div"));
	//$(dragobj).clone().appendTo($("#draghidden_div3"));

	
}
function drag_ontitle(e){
    if(dragobj!=null){
        $(e).parent().parent().before($("#draghidden_div2"));
    }

}
document.onmousemove=function(e){
	e=e||event
	if(dragobj!=null){
		$("#draghidden_div").css("left",(event.clientX-dragobj.xx[0])+"px");
		$("#draghidden_div").css("top",(event.clientY-dragobj.xx[1])+"px");
		//$("#draghidden_div3").css("left",(event.clientX-dragobj.xx[0])+"px");
		///$("#draghidden_div3").css("top",(event.clientY-dragobj.xx[1])+"px");
		createtmpl(e);
	}
} 
document.onmouseup=function(){
	if(dragobj!=null){
		$(dragobj).removeClass();
		$(dragobj).addClass("modulediv");
		$("#draghidden_div2").after($("#draghidden_div").html());
		$("#draghidden_div").empty();
		$("#draghidden_div2").empty();
		$("#draghidden_div2").hide();
		$("#draghidden_div").hide();
		//$("#draghidden_div3").empty();
		//$("#draghidden_div3").hide();
		$("#enddiv").after($("#draghidden_div2"));
		$("#draghidden_div2").after($("#draghidden_div"));
		dragobj=null;
		$(".txt").mousedown(function(){drag_addevent(this)});
		$(".txt").mousemove(function(){drag_ontitle(this)});
		
	}
}

function drag_layout(s,format){
    if(s!=""){
        $(".modulediv").each(function(){$(this).hide();});
        var s1=s.split("/");
        for(var i=0;i<s1.length;i++){
            
            var div=$("#c"+i);
            var s2=s1[i].split(",");
            for(var j=0;j<s2.length;j++){
                if(s2[j]!="" && $("#"+s2[j])!=null) {
                    $("#"+s2[j]).show();
                    $("#"+s2[j]).appendTo(div);
                    $(".indexrss").appendTo($("#c0"));
                }
            }
        }
    }
    changeFormat(format);
}

var layoutstr="";
function drag_save(e){
    var s="";
    $(".modulediv").each(function(){
    if($(this).prev().attr("class")!="modulediv")
	    s+="/";
    else
	    s+=",";
	if($(this).css("display")!="none") s+=$(this).attr("id");
        
    });
   //alert(s);
    if(s!="") 
    {
        var pl=new SOAPClientParameters();
        if(e!="")
        {
            pl.add("s",e);
            layoutstr=e;
            }
        else
            pl.add("s",s.replace(",,",",").replace("/,","/").replace(",/","/").replace("//","/").substring(1));
        SOAPClient.invoke(url,"ModifyLayoutStr",pl,true,drag_save_CallBack);
    }
    else
        alert('出错！');
}

function drag_save_CallBack(result){
    $("#btnAddClass").attr("disabled","");
    if(result=="True"){
        if(layoutstr!="")
            window.location.reload();
        else
        {
            $("#drag_save").hide();
            if(!isclose) alert("保存成功!");
            isclose=false;
        }
    }
    else 
        alert(result);
}

/*firefox window.event*/
function __firefox(){
    HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
    window.constructor.prototype.__defineGetter__("event", __window_event);
    Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
    return this.style;
}
function __window_event(){
    return __window_event_constructor();
}
function __event_srcElement(){
    return this.target;
}
function __window_event_constructor(){
    if(document.all){
        return window.event;
    }
    var _caller = __window_event_constructor.caller;
    while(_caller!=null){
        var _argument = _caller.arguments[0];
        if(_argument){
            var _temp = _argument.constructor;
            if(_temp.toString().indexOf("Event")!=-1){
                return _argument;
            }
        }
        _caller = _caller.caller;
    }
    return null;
}
if(window.addEventListener){
    __firefox();
}
/*end firefox.event*/