// JavaScript Document
function dragStart(){
 if (editing) {alert("请关闭属性框!");return;}
 ao=event.srcElement;
 if((ao.tagName=="TD")||(ao.tagName=="TR"))ao=ao.offsetParent;
 else return;
 draged=true;
 tdiv=document.createElement("div");
 tdiv.innerHTML=ao.outerHTML;
 tdiv.style.display="block";
 tdiv.style.position="absolute";
 tdiv.style.filter="alpha(opacity=70)";
 tdiv.style.cursor="move";
 tdiv.style.width=ao.offsetWidth;
 tdiv.style.height=ao.offsetHeight;
 tdiv.style.top=getInfo(ao).top;
 tdiv.style.left=getInfo(ao).left;
 document.body.appendChild(tdiv);
 lastX=event.clientX;
 lastY=event.clientY;
 lastLeft=tdiv.style.left;
 lastTop=tdiv.style.top;
 try{
  ao.dragDrop(); 
 }catch(e){}
}
function draging(){
 if(!draged)return;
  var view_on="";

 view_on=$("view_on").value;
 var tX=event.clientX;
 var tY=event.clientY;
// ao.style.display="visible";				
 tdiv.style.left=parseInt(lastLeft)+tX-lastX;
 tdiv.style.top=parseInt(lastTop)+tY-lastY;
		 for(var i=0;i<parentTable.cells.length;i++){
		  var parentCell=getInfo(parentTable.cells[i]);
		  if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){
		   var subTables=parentTable.cells[i].getElementsByTagName("table");
		   if(subTables.length==0){
			if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){
				parentTable.cells[i].appendChild(ao);
				ao.style.display="";				
			}
			break;
		   }
		   for(var j=0;j<subTables.length;j++){
			var subTable=getInfo(subTables[j]);
			if(tX>=subTable.left&&tX<=subTable.right&&tY>=subTable.top&&tY<=subTable.bottom){
				parentTable.cells[i].insertBefore(ao,subTables[j]);
				ao.style.display="";
			 break;
			}else{
				parentTable.cells[i].appendChild(ao);
				ao.style.display="";
			} 
		   }
		  }
		 }
	for(var i=0;i<view.cells.length;i++){
		  var parentCell=getInfo(view.cells[i]);
  		  if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom&&view.cells[i].id!=view_on &&view.cells[i].id!="kong" ){
			 view.cells[i].className='overunselectedtab';
			 view.cells[i].appendChild(ao);
//			 alert(view.cells[i].id);
			ao.style.display="none";
//			view.cells[i].className='unselectedtab';
			}
		  else if (view.cells[i].id!=view_on &&view.cells[i].id!="kong" )
		  	view.cells[i].className='unselectedtab';
	}
}

function dragEnd(){
 if(!draged)return;
 draged=false;
 mm=ff(30,2);
 savetoCookie();
 saveView();
}

function getInfo(o)
{
 var to=new Object();
 to.left=to.right=to.top=to.bottom=0;
 var twidth=o.offsetWidth;
 var theight=o.offsetHeight;
 while(o!=document.body){
	  to.left+=o.offsetLeft;
	  to.top+=o.offsetTop;
	  o=o.offsetParent;
 }
  to.right=to.left+twidth;
  to.bottom=to.top+theight;
 return to;
}

function ff(aa,ab){
 var ac=parseInt(getInfo(tdiv).left);
 var ad=parseInt(getInfo(tdiv).top);
 var ae=(ac-getInfo(ao).left)/ab;
 var af=(ad-getInfo(ao).top)/ab;
 return setInterval(function(){if(ab<1){
							   clearInterval(mm);
							   tdiv.removeNode(true);
							   ao=null;
							   return
							  }
							 ab--;
							 ac-=ae;
							 ad-=af;
							 tdiv.style.left=parseInt(ac)+"px";
							 tdiv.style.top=parseInt(ad)+"px"
							}
,aa/ab)
}



function GetCookieVal(offset)

{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}


function SetCookie(name, value)

{
var expdate = new Date();
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2]: null;
var path = (argc > 3) ? argv[3] : "/";
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
document.cookie = name + "=" + value +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))+((secure == true) ? "; secure" : "");
}


function DelCookie(name)

{
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}
function GetCookie(name)

{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return GetCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}





function savetoCookie(){
 var c_1="";
 var c_2="";
 var c_3="";
 var view="";

 view=$("view_on").value;

 for(var i=0;i<parentTable.cells.length;i++){
  var subTables=parentTable.cells[i].getElementsByTagName("table");
  
  if (parentTable.cells[i].id=="c_1")
  for(var j=0;j<subTables.length;j++){
   if(subTables[j].className!="dragTable")	continue;
		var id_str=(subTables[j].id).substring(2);
//		alert(id_str);
		c_1+=view+"_1_"+id_str+	"_"+$("m_"+ id_str + "_param").value
		if($("m_"+ id_str + "_r3").className!="itemshow")
			c_1+="_0_%";
		else 
			c_1+="_1_%";
  }
 
   if (parentTable.cells[i].id=="c_2")
  for(var j=0;j<subTables.length;j++){
   if(subTables[j].className!="dragTable")	continue;
		var id_str=(subTables[j].id).substring(2);
//		alert(id_str);
		c_2+=view+"_2_"+id_str+	"_"+$("m_"+ id_str + "_param").value
		if($("m_"+ id_str + "_r3").className!="itemshow")
			c_2+="_0_%";
		else 
			c_2+="_1_%";
  }
  if (parentTable.cells[i].id=="c_3")
  for(var j=0;j<subTables.length;j++){
   if(subTables[j].className!="dragTable")	continue;
		var id_str=(subTables[j].id).substring(2);
//		alert(id_str);
		c_3+=view+"_3_"+id_str+	"_"+$("m_"+ id_str + "_param").value
		if($("m_"+ id_str + "_r3").className!="itemshow")
			c_3+="_0_%";
		else 
			c_3+="_1_%";
  }
 
 }
//alert(GetCookie("model"));
var _model=GetCookie("model").split("%");
var model="";
for(var i=0;i<_model.length-1;i++)
{
	//alert(_model[i]);
	if(_model[i].indexOf(view+"_")<0) model+=_model[i]+"%";
}
model+=c_1+c_2+c_3;
//alert(model);
SetCookie("model",model,365*24*60*60);
}	



function switch_view(view_var,view_name){
//	alert(GetCookie("view"));

	var _view=GetCookie("view").split("%");
	var view="";
	for(var i=0;i<_view.length-1;i++)
	{
//			alert(_view[i]);
			if(_view[i].indexOf("_1_")>=0) _view[i]=_view[i].replace(/_1_/,"_0_");
			if(_view[i].indexOf(view_var)>=0  && _view[i].indexOf("_0_")>=0) _view[i]=_view[i].replace(/_0_/,"_1_");
			view+=_view[i]+"%";

	}
//	alert(view);
	SetCookie("view",view,365*24*60*60);
	location.reload();	
}

function saveView()
{	var move_view="";
	 for(var i=0;i<view.cells.length;i++){
		  var subTables=view.cells[i].getElementsByTagName("table");
		  move_view=view.cells[i].id;
		  if(subTables.length!=0)
		  {
			for(var j=0;  j<subTables.length  ;j++)
			{
				if(subTables[j].className=="dragTable")
				{
					var move_str="";
					var model_str=subTables[j].id;
					move_str=model_str+"_"+$(model_str + "_param").value
					if($(model_str+"_r3").className!="itemshow")
						move_str+="_0_%";
					else 
						move_str+="_1_%";
					SetCookie("model",move_view+"_1"+move_str.replace(/m/,"")+GetCookie("model"),365*24*60*60);
				}
			}
		  }
	 }
	
}


function show_change_viewname(view_var,view_name)
{
 	$(view_var+"_i").className="itemshow";
	$(view_var+"_i").focus();
	$(view_var+"_d").className="itemshow";
	$(view_var+"_a").className="itemhidden";
	
}


function change_viewname(view_var)
{
 	$(view_var+"_i").className="itemhidden";
	$(view_var+"_d").className="itemhidden";
	$(view_var+"_a").className="itemshow";
	var new_name=$(view_var+"_i").value.replace(/view/g,"");
	new_name=new_name.replace(/_/g,"");
	new_name=new_name.replace(/%/g,"");
//	alert(encodeURI(new_name));
	if(new_name=="") return;
	$(view_var+"_a").innerHTML=new_name;
	//alert(GetCookie("view"));
	var _view=GetCookie("view").split("%");
	var view="";
	for(var i=0;i<_view.length-1;i++)
	{

			if(_view[i].indexOf(view_var)>=0  && _view[i].indexOf("_1_")>=0) _view[i]=view_var+"_1_"+new_name+"_";
			view+=_view[i]+"%";

	}
//	alert(view);
	SetCookie("view",view,365*24*60*60);
//	alert(GetCookie("view"));
	
}


function del_view(view_var)
{
	if(!confirm("你确认删除此标签吗?")) return;
	var _view=GetCookie("view").split("%");
	var view="";
	for(var i=0;i<_view.length-1;i++)
	{

			if(_view[i].indexOf(view_var)>=0  && _view[i].indexOf("_1_")>=0) _view[i]=view_var;//no value
			else view+=_view[i]+"%";

	}
	_view=view.split("%");
	view="";
	for(var i=0;i<_view.length-1;i++)
	{

			if(i==0) view+=_view[i].replace(/_0_/,"_1_")+"%";
			else view+=_view[i]+"%";

	}

	SetCookie("view",view,365*24*60*60);
	
	var _model=GetCookie("model").split("%");
	var model="";
	for(var i=0;i<_model.length-1;i++)
	{

			if(_model[i].indexOf(view_var+"_")>=0 ) _model[i]=view_var;//no value
			else model+=_model[i]+"%";

	}
	SetCookie("model",model,365*24*60*60);
	location.reload();	
}

function addview(){
	var _view=GetCookie("view").split("%");
	var view=GetCookie("view");
	var add_view="";
	
	if(_view.length>=6){
			alert("最多可以添加5个标签！");
			return;
	}
	for(var i=0;i<_view.length-1;i++){
		if(view.indexOf("view0"+i)<0){
				add_view="view0"+i+"_1_"+"标签_%";
				break;
		}
	}
	if(add_view=="")  add_view="view0"+(_view.length-1)+"_1_"+"标签_%";
	view=view.replace(/_1_/,"_0_")+add_view;
//	alert(view);
	SetCookie("view",view,365*24*60*60);
	location.reload();	
}


function _savenotepad(model_no,model_sub){

		var _text=($("m_"+model_no + "_"+model_sub + "_r3").getElementsByTagName("textarea"))[0].value;
		SetCookie("notepad_",_text,365*24*60*60);

}




function _addmore(obj){
	var _model=obj.split("_");
	var model=GetCookie("model").split("%");
	var view= GetCookie("view");
	if (view.indexOf(_model[0])<0)
	{
		alert("添加失败");
		return;
	}
	for(var i=1;i<model.length-1;i++)
	{
		var model_tmp=model[i].split("_");
		if(model_tmp[2]==_model[2]&&model_tmp[3]==_model[3])
		{
			alert("添加失败");
			return;
		}
	}
						
						
	$("m_"+_model[2]+"_" +_model[3]).className="touming";
	$("m_"+_model[2]+"_" +_model[3]+"_confirm").innerHTML="<span class=itemtitle>添加</span>";
	
	SetCookie("model",GetCookie("model")+obj+"%",365*24*60*60);
//	alert(GetCookie("model")+obj+"%");
}
