﻿
var DragMgr={
_isDraged:false,
_curEle:null,
_curMEle:null,
_curIntval:null,
_isIE:true,
StartDrag:function(e){
curEvent=e?e:event;
DragMgr._curEle=DragMgr._isIE?event.srcElement:e.target;
DragMgr._curEle=document.getElementById(DragMgr._curEle.getAttribute("dragElement"));
if(!DragMgr._curEle)return;
DragMgr._curEle.style.zIndex=1000;
DragMgr._isDraged=true;
//DragMgr._curEle.style.border="1px dashed red";
DragMgr._curMEle=document.createElement("div");
DragMgr._curMEle.innerHTML=DragMgr._curEle.innerHTML;
DragMgr._curMEle.style.display="block";
DragMgr._curMEle.style.position="absolute";
if(DragMgr._isIE){
DragMgr._curMEle.style.filter="alpha(opacity=70)";}
else{
DragMgr._curMEle.style.MozOpacity="0.7";}
DragMgr._curMEle.style.cursor="move";
//DragMgr._curMEle.style.border="1px solid #000000";
DragMgr._curMEle.style.width=DragMgr._curEle.offsetWidth+10+"px";
DragMgr._curMEle.style.height=DragMgr._curEle.offsetHeight+10+"px";
var rect=DragMgr.GetBindingOffSetRect(DragMgr._curEle);
DragMgr._curMEle.style.top=rect.top+"px";
DragMgr._curMEle.style.left=rect.left+"px";
document.body.appendChild(DragMgr._curMEle);
DragMgr._lastX=curEvent.clientX;
DragMgr._lastY=curEvent.clientY;
DragMgr._lastTop=DragMgr._curMEle.style.top;
DragMgr._lastLeft=DragMgr._curMEle.style.left;},
Draging:function(e){
if(!DragMgr._isDraged||!DragMgr._curEle)return;
e=e?e:event;
var curX=e.clientX;
var curY=e.clientY;
DragMgr._curMEle.style.top=parseInt(DragMgr._lastTop)+curY-DragMgr._lastY+"px";
DragMgr._curMEle.style.left=parseInt(DragMgr._lastLeft)+curX-DragMgr._lastX+"px";
var pnd=DragMgr._curEle.parentNode;
var childNodes=pnd.childNodes;
var childLenth=pnd.childNodes.length;
var lastItemIndex=childLenth-1;
var STop=0;
var SLeft=0;
if(document.documentElement&&document.documentElement.scrollTop){
STop=document.documentElement.scrollTop;
SLeft=document.documentElement.scrollLeft;}
else if(document.body){
STop=document.body.scrollTop;
SLeft=document.body.scrollLeft;}
var snd=null;
var pndOffSet=DragMgr.GetBindingOffSetRect(pnd);
var PndParentNode=pnd.parentNode;
var subNodes=PndParentNode.childNodes;
var nodeLen=subNodes?subNodes.length:0;
var curNode=null;
var BNode=null;
var lastItem;
var nowCurY;
var lastPosiIndex=0;
for(var i=0;i<nodeLen;i++){
curNode=subNodes[i];
if(curNode&&curNode.tagName&&curNode.getAttribute("id")&&curNode.getAttribute("id").indexOf("DVMain")!=-1){
var childrenNodes=curNode.childNodes;
var childrenNodesLen=
childrenNodes?childrenNodes.length:0;
var children;
lastItem=childrenNodesLen-1;
if(pnd.getAttribute("id")!=curNode.getAttribute("id")){
for(var j=0;j<childrenNodesLen;j++){
nowCurY=0;
children=childrenNodes[j];
if(children){
BNode=DragMgr.GetBindingOffSetRect(children);
if(BNode){
nowCurY=(parseInt(curY)+parseInt(STop));
if(curX>=BNode.left&&curX<=BNode.right&&nowCurY>=BNode.top&&nowCurY<=BNode.bottom){
if(children.nodeName=="DIV"){
if(DragMgr._curEle){
if(j==lastItem){
curNode.appendChild(DragMgr._curEle);
pnd.appendChild(children);
lastPosiIndex=2;}
else{
if(j==1){
if(DragMgr._curEle.id==childrenNodes[lastItem].id){
curNode.insertBefore(DragMgr._curEle,childrenNodes[j]);
if(lastPosiIndex==0){
lastPosiIndex=0;}
else if(lastPosiIndex==lastItem){
pnd.appendChild(children);}
else{
pnd.insertBefore(children,pnd.childNodes[lastPosiIndex-1]);}
lastPosiIndex=0;}else{
curNode.insertBefore(DragMgr._curEle,childrenNodes[j+1]);
if(lastPosiIndex==0){
pnd.insertBefore(children,pnd.childNodes[1])}
else if(lastPosiIndex==lastItem){
pnd.appendChild(children);}
else{
pnd.insertBefore(children,
pnd.childNodes[lastPosiIndex-1]);}
lastPosiIndex=1;}}
else{
curNode.insertBefore(DragMgr._curEle,childrenNodes[j]);
if(lastPosiIndex==0){
pnd.insertBefore(children,pnd.childNodes[0])}
else if(lastPosiIndex==lastItem){
pnd.appendChild(children);}
else{
pnd.insertBefore(children,
pnd.childNodes[lastPosiIndex-1]);}
lastPosiIndex=0;}}
break;}}}}}}}else{
for(var j=0;j<childrenNodesLen;j++){nowCurY=0
children=childrenNodes[j];
if(children){
BNode=DragMgr.GetBindingOffSetRect(children);
if(BNode){
nowCurY=(parseInt(curY)+parseInt(STop));
if(curX>=BNode.left&&
curX<=BNode.right&&nowCurY>=BNode.top&&nowCurY<=BNode.bottom){
if(children.nodeName=="DIV"){
if(DragMgr._curEle){
if(j==lastItem){
curNode.appendChild(DragMgr._curEle);}else{
if(j==1){
if(DragMgr._curEle.id==
childrenNodes[lastItem].id){
curNode.insertBefore(DragMgr._curEle,childrenNodes[j]);}else{
curNode.insertBefore(DragMgr._curEle,childrenNodes[j+1]);}}else{
curNode.insertBefore(DragMgr._curEle,
childrenNodes[j]);}}
break;}}}}}}}}}},
EndDrag:function(e){
if(!DragMgr._isDraged)return;
DragMgr._isDraged=false;
DragMgr._curIntval=DragMgr.ResetPos(15,5);
//DragMgr._curEle.style.border="1px solid #9EC0E3";
DragMgr._curMEle.style.borderWidth="0px";
DragMgr._curMEle==null;
DragMgr._curEle.style.zIndex=1;
DragMgr.LogPosi();},
LogPosi:function(e){
var PN=DragMgr._curEle.parentNode;
if(PN){
if(PN.getAttribute("id")&&PN.getAttribute("id")!="DVMain_3"){
var curPN;
for(var k=1;k<3;k++){
curPN=document.getElementById("DVMain_"+k);
if(curPN){
DragMgr.LogWriter(curPN);}}}
else{
DragMgr.LogWriter(PN);}}
var Sval;},
LogWriter:function(PN){
var nodes=PN.childNodes;
var nlen=nodes.length;
Sval="";
var lastEnum=nlen-1;
for(var item=0;item<nlen;item++){
var keyId=nodes[item].id;
keyId=keyId?keyId:"--";
if(lastEnum==item){Sval+=keyId;}else{Sval+=keyId+",";}}
var ck=new HttpCookie("video");
ck.values.set(PN.id,Sval);
ck.setExpires(600000);
ck.save();},
ResetPos:function(m,s){
var filte=DragMgr._isIE?DragMgr._curMEle.filters.alpha.opacity:DragMgr._curMEle.style.MozOpacity;
var tl=parseInt(DragMgr.GetBindingOffSetRect(DragMgr._curMEle).left);
var tt=parseInt(DragMgr.GetBindingOffSetRect(DragMgr._curMEle).top);
var kl=(tl-DragMgr.GetBindingOffSetRect(DragMgr._curEle).left)/s;
var kt=(tt-DragMgr.GetBindingOffSetRect(DragMgr._curEle).top)/s;
var kf=filte/s;
return setInterval(function(){
if(s<1){
clearInterval(DragMgr._curIntval);
if(DragMgr._isIE){
DragMgr._curMEle.removeNode(true);}
else{
DragMgr._curMEle.parentNode.removeChild(DragMgr._curMEle);}
DragMgr._curEle=null;
return;}
s--;
tl-=kl;
tt-=kt;
filte-=kf;
DragMgr._curMEle.style.left=parseInt(tl)+"px";
DragMgr._curMEle.style.top=parseInt(tt)+"px";
if(DragMgr._isIE){
DragMgr._curMEle.filters.alpha.opacity=filte;}
else{
DragMgr._curMEle.style.MozOpacity=filte;}},m/s)},
GetBindingOffSetRect:function(o){
var rect=new Object();
rect.left=rect.right=rect.top=rect.bottom=0;
var twidth=o.offsetWidth;
var theight=o.offsetHeight;
while(o&&o!=document.body){
rect.left+=o.offsetLeft;
rect.top+=o.offsetTop;
o=o.offsetParent;}
rect.right=rect.left+twidth;
rect.bottom=rect.top+theight;
return rect;},
	init:function(canupdate){		
		DragMgr._isIE=document.attachEvent?true:false;		
		if(DragMgr._isIE){
		document.onmousemove=DragMgr.Draging;
		document.onmouseup=DragMgr.EndDrag;}
		else{
		document.addEventListener("mousemove",DragMgr.Draging,true);
		document.addEventListener("mouseup",DragMgr.EndDrag,true);}
		var eles=document.getElementsByTagName("*");
		for(var i=0;i<eles.length;i++){
			var ele=eles[i];
			if(ele&&ele.getAttribute("EnableDrag")=="true"&& canupdate==true){
				if(DragMgr._isIE){
				ele.attachEvent("onmousedown",DragMgr.StartDrag);}
				else{
				ele.addEventListener("mousedown",DragMgr.StartDrag,true);}
			}
		}
	}
}
if(new Array().splice==null){
Array.prototype.splice=function(){
if(arguments.length<2||arguments[1]<0)
return new Array();
var endPoint1=arguments[0];
if(endPoint1<0&&Math.abs(endPoint1)>this.length)
endPoint1=0;
var startPoint2=(endPoint1<0)?(this.length+endPoint1+arguments[1]):(endPoint1+arguments[1]);
var bArray=this.slice(0,endPoint1);
var dArray=this.slice(endPoint1,startPoint2);
var eArray=this.slice(startPoint2);
var nArray=new Array();
for(var i=2,al=arguments.length;i<al;i++){
nArray.push(arguments[i]);}
var fArray=bArray.concat(nArray,eArray);
for(var i=0,al=fArray.length;i<al;i++){
this[i]=fArray[i];}
this.length=fArray.length;
return dArray;}}
function NameValueCollection(){
this.__keys=new Array();
this.__values=new Object();
this.__checkArg=function(){
for(var i=0,j=arguments.length;i<j;i++){
if(typeof arguments[i]!="string")
return false;}
return true;}
this.allKeys=function(){
return this.__keys.concat();}
this.getValues=function(name){
if(!this.__checkArg(name)){
throw new Error("Invalid type on NameValueCollection.getValues's argument.");}
var values=this.__values[name.toLowerCase()];
return(values instanceof Array)?values:null;}
this.add=function(name,value){
if(!this.__checkArg(name,value)){
throw new Error("Invalid type on NameValueCollection.add's argument");}
var key=name.toLowerCase();
if(this.__values[key]==null){
this.__keys[this.__keys.length]=name;
this.__values[key]=new Array(value);}
else{
this.__values[key][this.__values[key].length]=value;}}
this.get=function(name){
if(!this.__checkArg(name)){
throw new Error("Invalid type on NameValueCollection.get's argument");}
var value=this.__values[name.toLowerCase()];
return(value instanceof Array)?value.join(","):null;}
this.set=function(name,value){
if(!this.__checkArg(name,value)){
throw new Error("Invalid type on NameValueCollection.set's argument");}
var key=name.toLowerCase();
if(this.__values[key]==null){
this.__keys[this.__keys.length]=name;}
this.__values[key]=new Array(value);}
this.hasKeys=function(){
return this.__keys.length>0;}
this.clear=function(){
this.__keys=new Array();
this.__values=new Object();}
this.remove=function(name){
if(!this.__checkArg(name)){
throw new Error("Invalid type on NameValueCollection.remove's argument");}
var key=name.toLowerCase();
if(this.__values[key]==null)
return;
for(var i=0,j=this.__keys.length;i<j;i++){
if(this.__keys[i]==key){
this.__keys.splice(i,1);
this.__values[key]=null;
return;}}}}
function HttpCookie(name){
this.__name;
this.__isExisted;
this.__expires;
this.__value;
this.__path;
this.values;
this.isExisted=function(){
return this.__isExisted;}
this.hasKeys=function(){
return this.values.hasKeys();}
this.__analysisCooString=function(cstring){
var subCookies=cstring.split("&");
for(var k=0,l=subCookies.length;k<l;k++){
var key,values,splitPos;
splitPos=subCookies[k].indexOf("=");
if(splitPos!=-1){
key=subCookies[k].substring(0,splitPos);
values=subCookies[k].substring(splitPos+1);
values=values.split(",");
for(var m=0,n=values.length;m<n;m++)
this.values.add(key,values[m]);}
else{
this.__value=subCookies[k];}}}
this.__init=function(name){
if(typeof name!="string")
throw new Error("Invalid type on HttpCookie's argument");
this.__name=(name!=null)?name:"";
this.__value="";
this.__isExisted=false;
this.__expires=null;
this.__path="/";
this.values=new NameValueCollection();
var cookies=document.cookie.split("; ");
for(var i=0,j=cookies.length;i<j;i++){
var name,value,splitPos;
splitPos=cookies[i].indexOf("=");
if(splitPos!=-1){
name=cookies[i].substring(0,splitPos);
value=cookies[i].substring(splitPos+1);}
else{
name=cookies[i];}
if(this.__name.toLowerCase()==name.toLowerCase()){
this.__isExisted=true;
if(value==null)return;
this.__analysisCooString(value);
break;}}}
this.getName=function(){
return this.__name;}
this.setValue=function(value){
if(value!=null){
this.__value=value.toString();
this.values=new NameValueCollection();}}
this.getValue=function(){
var value=new String();
if(this.values.hasKeys()){
var keys=this.values.allKeys();
for(var i=0,j=keys.length;i<j;i++){
value+="&"+keys[i]+"="+this.values.get(keys[i]);}}
return this.__value+((this.__value=="")?value.substring(1):value);}
this.setExpires=function(secs){
if(typeof secs=="number"){
var sysExpiresTime=new Date().getTime()+parseInt(secs)*1000;
this.__expires=new Date(sysExpiresTime).toGMTString();}}
this.setPath=function(path){
if(path!=null)
this.__path=path.toString();}
this.save=function(){
document.cookie=this.__name+"="+this.getValue()+";"+((this.__expires!=null)?"expires="+this.__expires+";":"")+
"path="+this.__path+";";}
this.__init(name);}
window.onerror=function(){return true;}
function order(ck){
		var value=new String();
		if(ck.values!=""){			
			var pn=null;
			var varry=ck.split(',');
			var keysLen=varry.length;					
			pn=document.getElementById("DVMain_3");				
			var curKey;				
			var sn=null;
			if(pn){
				for(var j=0;j<keysLen;j++){	
					curKey="DVMain_3_"+varry[j];					
					sn=document.getElementById(curKey);
					if(sn){						
					pn.appendChild(sn);
				}
			}				
		}
	}
}
function iframeShow()
{
	document.getElementById("iframe")["style"]["display"] = '';		
}