%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/home/infra/BACKUP-FUSIONINVENTORY/lib/REDIPS_drag/
Upload File :
Create Path :
Current File : //proc/self/root/home/infra/BACKUP-FUSIONINVENTORY/lib/REDIPS_drag/redips-drag-source.min.js

"use strict";var REDIPS=REDIPS||{};REDIPS.drag=function(){var init,initTables,enableDrag,enableTable,imgOnMouseMove,handlerOnMouseDown,handlerOnDblClick,tableTop,handlerOnMouseUp,handlerOnMouseMove,elementDrop,elementDeleted,resetStyles,registerEvents,cellChanged,handlerOnResize,setTableRowColumn,setPosition,setTdStyle,getTdStyle,boxOffset,calculateCells,getScrollPosition,autoScrollX,autoScrollY,cloneObject,copyProperties,cloneLimit,elementControl,getStyle,findParent,findCell,saveContent,relocate,emptyCell,shiftCells,cellList,maxCols,moveObject,deleteObject,animateObject,getTableIndex,getPosition,rowOpacity,rowEmpty,rowClone,rowDrop,formElements,normalize,hasChilds,objMargin=null,screen={width:0,height:0},scrollData={width:null,height:null,container:[],obj:null},edge={page:{x:0,y:0},div:{x:0,y:0},flag:{x:0,y:0}},bgStyleOld,tables=[],sortIdx,moved,cloned,clonedId=[],currentCell=[],dragContainer=null,divBox=null,pointer={x:0,y:0},threshold={x:0,y:0,value:7,flag:false},shiftKey=false,cloneClass=false,animationCounter=[],table=null,table_old=null,table_source=null,row=null,row_old=null,row_source=null,cell=null,cell_old=null,cell_source=null,obj=false,objOld=false,mode="cell",hover={colorTd:"#E7AB83",colorTr:"#E7AB83"},scroll={enable:true,bound:25,speed:20},only={div:[],cname:"only",other:"deny"},mark={action:"deny",cname:"mark",exception:[]},style={borderEnabled:"solid",borderDisabled:"dotted",opacityDisabled:"",rowEmptyColor:"white"},tableSort=true,trash={className:"trash",question:null,questionRow:null},saveParamName="p",dropMode="multiple",multipleDrop="bottom",td={},animation={pause:20,step:2,shift:false},shift={mode:"horizontal1",after:"default",overflow:"bunch"},clone={keyDiv:false,keyRow:false,sendBack:false,drop:false},rowDropMode="before",event={changed:function(){},clicked:function(){},cloned:function(){},clonedDropped:function(){},clonedEnd1:function(){},clonedEnd2:function(){},dblClicked:function(){},deleted:function(){},dropped:function(){},droppedBefore:function(){},finish:function(){},moved:function(){},notCloned:function(){},notMoved:function(){},shiftOverflow:function(){},relocateBefore:function(){},relocateAfter:function(){},relocateEnd:function(){},rowChanged:function(){},rowClicked:function(){},rowCloned:function(){},rowDeleted:function(){},rowDropped:function(){},rowDroppedBefore:function(){},rowDroppedSource:function(){},rowMoved:function(){},rowNotCloned:function(){},rowNotMoved:function(){},rowUndeleted:function(){},switched:function(){},undeleted:function(){}};init=function(dc){var self=this,i,imgs,redipsClone;if(dc===undefined||typeof dc!=="string"){dc="drag"}dragContainer=document.getElementById(dc);if(!document.getElementById("redips_clone")){redipsClone=document.createElement("div");redipsClone.id="redips_clone";redipsClone.style.width=redipsClone.style.height="1px";dragContainer.appendChild(redipsClone)}enableDrag("init");initTables();handlerOnResize();REDIPS.event.add(window,"resize",handlerOnResize);imgs=dragContainer.getElementsByTagName("img");for(i=0;i<imgs.length;i++){REDIPS.event.add(imgs[i],"mousemove",imgOnMouseMove);REDIPS.event.add(imgs[i],"touchmove",imgOnMouseMove)}REDIPS.event.add(window,"scroll",calculateCells)};imgOnMouseMove=function(){return false};initTables=function(selector){var i,j,k,tblSelector,element,level,groupIdx,tableNodeList,nestedTables,tdNodeList,rowspan;tables.length=0;if(selector===undefined){tableNodeList=dragContainer.getElementsByTagName("table")}else{tableNodeList=document.querySelectorAll(selector)}for(i=0,j=0;i<tableNodeList.length;i++){if(tableNodeList[i].parentNode.id==="redips_clone"||tableNodeList[i].className.indexOf("nolayout")>-1){continue}element=tableNodeList[i].parentNode;level=0;do{if(element.nodeName==="TD"){level++}element=element.parentNode}while(element&&element!==dragContainer);tables[j]=tableNodeList[i];if(!tables[j].redips){tables[j].redips={}}tables[j].redips.container=dragContainer;tables[j].redips.nestedLevel=level;tables[j].redips.idx=j;animationCounter[j]=0;tdNodeList=tables[j].getElementsByTagName("td");for(k=0,rowspan=false;k<tdNodeList.length;k++){if(tdNodeList[k].rowSpan>1){rowspan=true;break}}tables[j].redips.rowspan=rowspan;j++}for(i=0,groupIdx=sortIdx=1;i<tables.length;i++){if(tables[i].redips.nestedLevel===0){tables[i].redips.nestedGroup=groupIdx;tables[i].redips.sort=sortIdx*100;nestedTables=tables[i].getElementsByTagName("table");for(j=0;j<nestedTables.length;j++){if(nestedTables[j].className.indexOf("nolayout")>-1){continue}nestedTables[j].redips.nestedGroup=groupIdx;nestedTables[j].redips.sort=sortIdx*100+nestedTables[j].redips.nestedLevel}groupIdx++;sortIdx++}}};handlerOnMouseDown=function(e){var evt=e||window.event,offset,mouseButton,position,X,Y;if(this.redips.animated===true){return true}evt.cancelBubble=true;if(evt.stopPropagation){evt.stopPropagation()}shiftKey=evt.shiftKey;if(evt.which){mouseButton=evt.which}else{mouseButton=evt.button}if(elementControl(evt)||!evt.touches&&mouseButton!==1){return true}if(window.getSelection){window.getSelection().removeAllRanges()}else if(document.selection&&document.selection.type==="Text"){try{document.selection.empty()}catch(error){}}if(evt.touches){X=pointer.x=evt.touches[0].clientX;Y=pointer.y=evt.touches[0].clientY}else{X=pointer.x=evt.clientX;Y=pointer.y=evt.clientY}threshold.x=X;threshold.y=Y;threshold.flag=false;REDIPS.drag.objOld=objOld=obj||this;REDIPS.drag.obj=obj=this;cloneClass=obj.className.indexOf("clone")>-1?true:false;if(REDIPS.drag.tableSort){tableTop(obj)}if(dragContainer!==obj.redips.container){dragContainer=obj.redips.container;initTables()}if(obj.className.indexOf("row")===-1){REDIPS.drag.mode=mode="cell"}else{REDIPS.drag.mode=mode="row";REDIPS.drag.obj=obj=rowClone(obj)}calculateCells();if(!cloneClass&&mode==="cell"){obj.style.zIndex=999}table=row=cell=null;setTableRowColumn();table_source=table_old=table;row_source=row_old=row;cell_source=cell_old=cell;REDIPS.drag.td.source=td.source=findParent("TD",obj);REDIPS.drag.td.current=td.current=td.source;REDIPS.drag.td.previous=td.previous=td.source;if(mode==="cell"){REDIPS.drag.event.clicked(td.current)}else{REDIPS.drag.event.rowClicked(td.current)}if(table===null||row===null||cell===null){setTableRowColumn();table_source=table_old=table;row_source=row_old=row;cell_source=cell_old=cell;if(table===null||row===null||cell===null){return true}}moved=cloned=false;REDIPS.event.add(document,"mousemove",handlerOnMouseMove);REDIPS.event.add(document,"touchmove",handlerOnMouseMove);REDIPS.event.add(document,"mouseup",handlerOnMouseUp);REDIPS.event.add(document,"touchend",handlerOnMouseUp);if(obj.setCapture){obj.setCapture()}if(table!==null&&row!==null&&cell!==null){bgStyleOld=getTdStyle(table,row,cell)}position=getStyle(tables[table_source],"position");if(position!=="fixed"){position=getStyle(tables[table_source].parentNode,"position")}offset=boxOffset(obj,position);objMargin=[Y-offset[0],offset[1]-X,offset[2]-Y,X-offset[3]];dragContainer.onselectstart=function(e){evt=e||window.event;if(!elementControl(evt)){if(evt.shiftKey){document.selection.clear()}return false}};return false};handlerOnDblClick=function(e){REDIPS.drag.event.dblClicked()};tableTop=function(obj){var e,i,tmp,group;e=findParent("TABLE",obj);group=e.redips.nestedGroup;for(i=0;i<tables.length;i++){if(tables[i].redips.nestedGroup===group){tables[i].redips.sort=sortIdx*100+tables[i].redips.nestedLevel}}tables.sort(function(a,b){return b.redips.sort-a.redips.sort});sortIdx++};rowClone=function(el,row_mode){var tableMini,offset,rowObj,last_idx,emptyRow,cr,div,i,j;if(el.nodeName==="DIV"){div=el;el=findParent("TR",el);if(el.redips===undefined){el.redips={}}el.redips.div=div;return el}else{rowObj=el;if(rowObj.redips===undefined){rowObj.redips={}}el=findParent("TABLE",el);if(cloneClass&&cloned){div=rowObj.redips.div;div.className=normalize(div.className.replace("clone",""))}tableMini=el.cloneNode(true);if(cloneClass&&cloned){div.className=div.className+" clone"}last_idx=tableMini.rows.length-1;if(row_mode==="animated"){if(last_idx===0){emptyRow=true}else{emptyRow=false}}else{emptyRow=true}for(i=last_idx;i>=0;i--){if(i!==rowObj.rowIndex){if(emptyRow===true&&row_mode===undefined){cr=tableMini.rows[i];for(j=0;j<cr.cells.length;j++){if(cr.cells[j].className.indexOf("rowhandler")>-1){emptyRow=false;break}}}tableMini.deleteRow(i)}}if(!cloned){rowObj.redips.emptyRow=emptyRow}tableMini.redips={};tableMini.redips.container=el.redips.container;tableMini.redips.sourceRow=rowObj;formElements(rowObj,tableMini.rows[0]);copyProperties(rowObj,tableMini.rows[0]);document.getElementById("redips_clone").appendChild(tableMini);offset=boxOffset(rowObj,"fixed");tableMini.style.position="fixed";tableMini.style.top=offset[0]+"px";tableMini.style.left=offset[3]+"px";tableMini.style.width=offset[1]-offset[3]+"px";return tableMini}};rowDrop=function(tableIdx,rowIdx,tableMini){var animated=false,drop,trMini,source={},target={},deleteTableRow;deleteTableRow=function(el){var tbl;if(el.redips===undefined||!el.redips.emptyRow){tbl=findParent("TABLE",el);tbl.deleteRow(el.rowIndex)}else{rowOpacity(el,"empty",REDIPS.drag.style.rowEmptyColor)}};if(tableMini===undefined){tableMini=obj}else{animated=true}source.row=tableMini.redips.sourceRow;source.rowIndex=source.row.rowIndex;source.table=findParent("TABLE",source.row);source.tableSection=source.table.rows[0].parentNode;target.table=tables[tableIdx];target.row=target.table.rows[rowIdx];target.rowIndex=rowIdx;target.tableSection=target.table.rows[0].parentNode;trMini=tableMini.getElementsByTagName("tr")[0];tableMini.parentNode.removeChild(tableMini);drop=REDIPS.drag.event.rowDroppedBefore(source.table,source.rowIndex);if(drop!==false){if(!animated&&td.target.className.indexOf(REDIPS.drag.trash.className)>-1){if(cloned){REDIPS.drag.event.rowDeleted()}else{if(REDIPS.drag.trash.questionRow){if(confirm(REDIPS.drag.trash.questionRow)){deleteTableRow(source.row);REDIPS.drag.event.rowDeleted()}else{delete objOld.redips.emptyRow;REDIPS.drag.event.rowUndeleted()}}else{deleteTableRow(source.row);REDIPS.drag.event.rowDeleted()}}}else{if(target.rowIndex<target.table.rows.length){if(table===table_source){if(source.rowIndex>target.rowIndex){target.tableSection.insertBefore(trMini,target.row)}else{target.tableSection.insertBefore(trMini,target.row.nextSibling)}}else if(REDIPS.drag.rowDropMode==="after"){target.tableSection.insertBefore(trMini,target.row.nextSibling)}else{target.tableSection.insertBefore(trMini,target.row)}}else{target.tableSection.appendChild(trMini);target.row=target.table.rows[0]}if(target.row&&target.row.redips&&target.row.redips.emptyRow){target.tableSection.deleteRow(target.row.rowIndex)}else if(REDIPS.drag.rowDropMode==="overwrite"){deleteTableRow(target.row)}else if(REDIPS.drag.rowDropMode==="switch"&&!cloned){source.tableSection.insertBefore(target.row,source.row);if(source.row.redips!==undefined){delete source.row.redips.emptyRow}}if(animated||!cloned){deleteTableRow(source.row)}delete trMini.redips.emptyRow;if(!animated){REDIPS.drag.event.rowDropped(trMini,source.table,source.rowIndex)}}if(trMini.getElementsByTagName("table").length>0){initTables()}}else{}};formElements=function(str,ctr){var i,j,k,type,src=[],cld=[];src[0]=str.getElementsByTagName("input");src[1]=str.getElementsByTagName("textarea");src[2]=str.getElementsByTagName("select");cld[0]=ctr.getElementsByTagName("input");cld[1]=ctr.getElementsByTagName("textarea");cld[2]=ctr.getElementsByTagName("select");for(i=0;i<src.length;i++){for(j=0;j<src[i].length;j++){type=src[i][j].type;switch(type){case"text":case"textarea":case"password":cld[i][j].value=src[i][j].value;break;case"radio":case"checkbox":cld[i][j].checked=src[i][j].checked;break;case"select-one":cld[i][j].selectedIndex=src[i][j].selectedIndex;break;case"select-multiple":for(k=0;k<src[i][j].options.length;k++){cld[i][j].options[k].selected=src[i][j].options[k].selected}break}}}};handlerOnMouseUp=function(e){var evt=e||window.event,target_table,r_table,r_row,mt_tr,X,Y,i,drop,target_elements,target_elements_length;X=evt.clientX;Y=evt.clientY;edge.flag.x=edge.flag.y=0;if(obj.releaseCapture){obj.releaseCapture()}REDIPS.event.remove(document,"mousemove",handlerOnMouseMove);REDIPS.event.remove(document,"touchmove",handlerOnMouseMove);REDIPS.event.remove(document,"mouseup",handlerOnMouseUp);REDIPS.event.remove(document,"touchend",handlerOnMouseUp);dragContainer.onselectstart=null;resetStyles(obj);scrollData.width=document.documentElement.scrollWidth;scrollData.height=document.documentElement.scrollHeight;edge.flag.x=edge.flag.y=0;if(cloned&&mode==="cell"&&(table===null||row===null||cell===null)){obj.parentNode.removeChild(obj);clonedId[objOld.id]-=1;REDIPS.drag.event.notCloned()}else if(table===null||row===null||cell===null){REDIPS.drag.event.notMoved()}else{if(table<tables.length){target_table=tables[table];REDIPS.drag.td.target=td.target=target_table.rows[row].cells[cell];setTdStyle(table,row,cell,bgStyleOld);r_table=table;r_row=row}else if(table_old===null||row_old===null||cell_old===null){target_table=tables[table_source];REDIPS.drag.td.target=td.target=target_table.rows[row_source].cells[cell_source];setTdStyle(table_source,row_source,cell_source,bgStyleOld);r_table=table_source;r_row=row_source}else{target_table=tables[table_old];REDIPS.drag.td.target=td.target=target_table.rows[row_old].cells[cell_old];setTdStyle(table_old,row_old,cell_old,bgStyleOld);r_table=table_old;r_row=row_old}if(mode==="row"){if(!moved){REDIPS.drag.event.rowNotMoved()}else{if(table_source===r_table&&row_source===r_row){mt_tr=obj.getElementsByTagName("tr")[0];objOld.style.backgroundColor=mt_tr.style.backgroundColor;for(i=0;i<mt_tr.cells.length;i++){objOld.cells[i].style.backgroundColor=mt_tr.cells[i].style.backgroundColor}obj.parentNode.removeChild(obj);delete objOld.redips.emptyRow;if(cloned){REDIPS.drag.event.rowNotCloned()}else{REDIPS.drag.event.rowDroppedSource(td.target)}}else{rowDrop(r_table,r_row)}}}else if(!cloned&&!threshold.flag){REDIPS.drag.event.notMoved()}else if(cloned&&table_source===table&&row_source===row&&cell_source===cell){obj.parentNode.removeChild(obj);clonedId[objOld.id]-=1;REDIPS.drag.event.notCloned()}else if(cloned&&REDIPS.drag.clone.drop===false&&(X<target_table.redips.offset[3]||X>target_table.redips.offset[1]||Y<target_table.redips.offset[0]||Y>target_table.redips.offset[2])){obj.parentNode.removeChild(obj);clonedId[objOld.id]-=1;REDIPS.drag.event.notCloned()}else if(td.target.className.indexOf(REDIPS.drag.trash.className)>-1){obj.parentNode.removeChild(obj);if(REDIPS.drag.trash.question){setTimeout(function(){if(confirm(REDIPS.drag.trash.question)){elementDeleted()}else{if(!cloned){tables[table_source].rows[row_source].cells[cell_source].appendChild(obj);calculateCells()}REDIPS.drag.event.undeleted()}},20)}else{elementDeleted()}}else if(REDIPS.drag.dropMode==="switch"){drop=REDIPS.drag.event.droppedBefore(td.target);if(drop===false){elementDrop(false)}else{obj.parentNode.removeChild(obj);target_elements=td.target.getElementsByTagName("div");target_elements_length=target_elements.length;for(i=0;i<target_elements_length;i++){if(target_elements[0]!==undefined){REDIPS.drag.objOld=objOld=target_elements[0];td.source.appendChild(objOld);registerEvents(objOld)}}elementDrop();if(target_elements_length){REDIPS.drag.event.switched()}}}else if(REDIPS.drag.dropMode==="overwrite"){drop=REDIPS.drag.event.droppedBefore(td.target);if(drop!==false){emptyCell(td.target)}elementDrop(drop)}else{drop=REDIPS.drag.event.droppedBefore(td.target);elementDrop(drop)}if(mode==="cell"&&obj.getElementsByTagName("table").length>0){initTables()}calculateCells();REDIPS.drag.event.finish()}table_old=row_old=cell_old=null};elementDrop=function(drop){var cloneSourceDiv=null,div,i;if(drop!==false){if(clone.sendBack===true){div=td.target.getElementsByTagName("DIV");for(i=0;i<div.length;i++){if(obj!==div[i]&&obj.id.indexOf(div[i].id)===0){cloneSourceDiv=div[i];break}}if(cloneSourceDiv){cloneLimit(cloneSourceDiv,1);obj.parentNode.removeChild(obj);return}}if(REDIPS.drag.dropMode==="shift"&&(hasChilds(td.target)||REDIPS.drag.shift.after==="always")){shiftCells(td.source,td.target)}if(REDIPS.drag.multipleDrop==="top"&&td.target.hasChildNodes()){td.target.insertBefore(obj,td.target.firstChild)}else{td.target.appendChild(obj)}registerEvents(obj);REDIPS.drag.event.dropped(td.target);if(cloned){REDIPS.drag.event.clonedDropped(td.target);cloneLimit(objOld,-1)}}else if(cloned&&obj.parentNode){obj.parentNode.removeChild(obj)}};registerEvents=function(div,flag){if(flag===false){div.onmousedown=null;div.ontouchstart=null;div.ondblclick=null}else{div.onmousedown=handlerOnMouseDown;div.ontouchstart=handlerOnMouseDown;div.ondblclick=handlerOnDblClick}};resetStyles=function(el){el.style.top="";el.style.left="";el.style.position="";el.style.zIndex=""};elementDeleted=function(){var param;if(cloned){cloneLimit(objOld,-1)}if(REDIPS.drag.dropMode==="shift"&&(REDIPS.drag.shift.after==="delete"||REDIPS.drag.shift.after==="always")){switch(REDIPS.drag.shift.mode){case"vertical2":param="lastInColumn";break;case"horizontal2":param="lastInRow";break;default:param="last"}shiftCells(td.source,findCell(param,td.source)[2])}REDIPS.drag.event.deleted(cloned)};handlerOnMouseMove=function(e){var evt=e||window.event,bound=REDIPS.drag.scroll.bound,sca,X,Y,deltaX,deltaY,i,scrollPosition;if(evt.touches){X=pointer.x=evt.touches[0].clientX;Y=pointer.y=evt.touches[0].clientY}else{X=pointer.x=evt.clientX;Y=pointer.y=evt.clientY}deltaX=Math.abs(threshold.x-X);deltaY=Math.abs(threshold.y-Y);if(!moved){if(mode==="cell"&&(cloneClass||REDIPS.drag.clone.keyDiv===true&&shiftKey)){REDIPS.drag.objOld=objOld=obj;REDIPS.drag.obj=obj=cloneObject(obj,true);cloned=true;REDIPS.drag.event.cloned();setPosition()}else{if(mode==="row"){if(cloneClass||REDIPS.drag.clone.keyRow===true&&shiftKey){cloned=true}REDIPS.drag.objOld=objOld=obj;REDIPS.drag.obj=obj=rowClone(obj);obj.style.zIndex=999}if(obj.setCapture){obj.setCapture()}obj.style.position="fixed";calculateCells();setTableRowColumn();if(mode==="row"){if(cloned){REDIPS.drag.event.rowCloned()}else{REDIPS.drag.event.rowMoved()}}setPosition()}if(X>screen.width-objMargin[1]){obj.style.left=screen.width-(objMargin[1]+objMargin[3])+"px"}if(Y>screen.height-objMargin[2]){obj.style.top=screen.height-(objMargin[0]+objMargin[2])+"px"}}moved=true;if(mode==="cell"&&(deltaX>threshold.value||deltaY>threshold.value)&&!threshold.flag){threshold.flag=true;setPosition();REDIPS.drag.event.moved(cloned)}if(X>objMargin[3]&&X<screen.width-objMargin[1]){obj.style.left=X-objMargin[3]+"px"}if(Y>objMargin[0]&&Y<screen.height-objMargin[2]){obj.style.top=Y-objMargin[0]+"px"}if(X<divBox[1]&&X>divBox[3]&&Y<divBox[2]&&Y>divBox[0]&&edge.flag.x===0&&edge.flag.y===0&&(currentCell.containTable||(X<currentCell[3]||X>currentCell[1]||Y<currentCell[0]||Y>currentCell[2]))){setTableRowColumn();cellChanged()}if(REDIPS.drag.scroll.enable){edge.page.x=bound-(screen.width/2>X?X-objMargin[3]:screen.width-X-objMargin[1]);if(edge.page.x>0){if(edge.page.x>bound){edge.page.x=bound}scrollPosition=getScrollPosition()[0];edge.page.x*=X<screen.width/2?-1:1;if(!(edge.page.x<0&&scrollPosition<=0||edge.page.x>0&&scrollPosition>=scrollData.width-screen.width)){if(edge.flag.x++===0){REDIPS.event.remove(window,"scroll",calculateCells);autoScrollX(window)}}}else{edge.page.x=0}edge.page.y=bound-(screen.height/2>Y?Y-objMargin[0]:screen.height-Y-objMargin[2]);if(edge.page.y>0){if(edge.page.y>bound){edge.page.y=bound}scrollPosition=getScrollPosition()[1];edge.page.y*=Y<screen.height/2?-1:1;if(!(edge.page.y<0&&scrollPosition<=0||edge.page.y>0&&scrollPosition>=scrollData.height-screen.height)){if(edge.flag.y++===0){REDIPS.event.remove(window,"scroll",calculateCells);autoScrollY(window)}}}else{edge.page.y=0}for(i=0;i<scrollData.container.length;i++){sca=scrollData.container[i];if(sca.autoscroll&&X<sca.offset[1]&&X>sca.offset[3]&&Y<sca.offset[2]&&Y>sca.offset[0]){edge.div.x=bound-(sca.midstX>X?X-objMargin[3]-sca.offset[3]:sca.offset[1]-X-objMargin[1]);if(edge.div.x>0){if(edge.div.x>bound){edge.div.x=bound}edge.div.x*=X<sca.midstX?-1:1;if(edge.flag.x++===0){REDIPS.event.remove(sca.div,"scroll",calculateCells);autoScrollX(sca.div)}}else{edge.div.x=0}edge.div.y=bound-(sca.midstY>Y?Y-objMargin[0]-sca.offset[0]:sca.offset[2]-Y-objMargin[2]);if(edge.div.y>0){if(edge.div.y>bound){edge.div.y=bound}edge.div.y*=Y<sca.midstY?-1:1;if(edge.flag.y++===0){REDIPS.event.remove(sca.div,"scroll",calculateCells);autoScrollY(sca.div)}}else{edge.div.y=0}break}else{edge.div.x=edge.div.y=0}}}evt.cancelBubble=true;if(evt.stopPropagation){evt.stopPropagation()}};cellChanged=function(){if(table<tables.length&&(table!==table_old||row!==row_old||cell!==cell_old)){if(table_old!==null&&row_old!==null&&cell_old!==null){setTdStyle(table_old,row_old,cell_old,bgStyleOld);REDIPS.drag.td.previous=td.previous=tables[table_old].rows[row_old].cells[cell_old];REDIPS.drag.td.current=td.current=tables[table].rows[row].cells[cell];if(REDIPS.drag.dropMode==="switching"&&mode==="cell"){relocate(td.current,td.previous);calculateCells();setTableRowColumn()}if(mode==="cell"){REDIPS.drag.event.changed(td.current)}else if(mode==="row"&&(table!==table_old||row!==row_old)){REDIPS.drag.event.rowChanged(td.current)}}setPosition()}};handlerOnResize=function(){if(typeof window.innerWidth==="number"){screen.width=window.innerWidth;screen.height=window.innerHeight}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){screen.width=document.documentElement.clientWidth;screen.height=document.documentElement.clientHeight}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){screen.width=document.body.clientWidth;screen.height=document.body.clientHeight}scrollData.width=document.documentElement.scrollWidth;scrollData.height=document.documentElement.scrollHeight;calculateCells()};setTableRowColumn=function(){var previous,cell_current,row_offset,row_found,cells,empty,mark_found,only_found,single_cell,tos=[],X,Y,i;previous=function(){if(table_old!==null&&row_old!==null&&cell_old!==null){table=table_old;row=row_old;cell=cell_old}};X=pointer.x;Y=pointer.y;for(table=0;table<tables.length;table++){if(tables[table].redips.enabled===false){continue}tos[0]=tables[table].redips.offset[0];tos[1]=tables[table].redips.offset[1];tos[2]=tables[table].redips.offset[2];tos[3]=tables[table].redips.offset[3];if(tables[table].sca!==undefined){tos[0]=tos[0]>tables[table].sca.offset[0]?tos[0]:tables[table].sca.offset[0];tos[1]=tos[1]<tables[table].sca.offset[1]?tos[1]:tables[table].sca.offset[1];tos[2]=tos[2]<tables[table].sca.offset[2]?tos[2]:tables[table].sca.offset[2];tos[3]=tos[3]>tables[table].sca.offset[3]?tos[3]:tables[table].sca.offset[3]}if(tos[3]<X&&X<tos[1]&&tos[0]<Y&&Y<tos[2]){row_offset=tables[table].redips.row_offset;for(row=0;row<row_offset.length-1;row++){if(row_offset[row]===undefined){continue}currentCell[0]=row_offset[row][0];if(row_offset[row+1]!==undefined){currentCell[2]=row_offset[row+1][0]}else{for(i=row+2;i<row_offset.length;i++){if(row_offset[i]!==undefined){currentCell[2]=row_offset[i][0];break}}}if(Y<=currentCell[2]){break}}row_found=row;if(row===row_offset.length-1){currentCell[0]=row_offset[row][0];currentCell[2]=tables[table].redips.offset[2]}do{cells=tables[table].rows[row].cells.length-1;for(cell=cells;cell>=0;cell--){currentCell[3]=row_offset[row][3]+tables[table].rows[row].cells[cell].offsetLeft;currentCell[1]=currentCell[3]+tables[table].rows[row].cells[cell].offsetWidth;if(currentCell[3]<=X&&X<=currentCell[1]){break}}}while(tables[table].redips.rowspan&&cell===-1&&row-- >0);if(row<0||cell<0){previous()}else if(row!==row_found){currentCell[0]=row_offset[row][0];currentCell[2]=currentCell[0]+tables[table].rows[row].cells[cell].offsetHeight;if(Y<currentCell[0]||Y>currentCell[2]){previous()}}cell_current=tables[table].rows[row].cells[cell];if(cell_current.childNodes.length>0&&cell_current.getElementsByTagName("table").length>0){currentCell.containTable=true}else{currentCell.containTable=false}if(cell_current.className.indexOf(REDIPS.drag.trash.className)===-1){only_found=cell_current.className.indexOf(REDIPS.drag.only.cname)>-1?true:false;if(only_found===true){if(cell_current.className.indexOf(only.div[obj.id])===-1){previous();break}}else if(only.div[obj.id]!==undefined&&only.other==="deny"){previous();break}else{mark_found=cell_current.className.indexOf(REDIPS.drag.mark.cname)>-1?true:false;if(mark_found===true&&REDIPS.drag.mark.action==="deny"||mark_found===false&&REDIPS.drag.mark.action==="allow"){if(cell_current.className.indexOf(mark.exception[obj.id])===-1){previous();break}}}}single_cell=cell_current.className.indexOf("single")>-1?true:false;if(mode==="cell"){if((REDIPS.drag.dropMode==="single"||single_cell)&&cell_current.childNodes.length>0){if(cell_current.childNodes.length===1&&cell_current.firstChild.nodeType===3){break}empty=true;for(i=cell_current.childNodes.length-1;i>=0;i--){if(cell_current.childNodes[i].className&&cell_current.childNodes[i].className.indexOf("drag")>-1){empty=false;break}}if(!empty&&table_old!==null&&row_old!==null&&cell_old!==null){if(table_source!==table||row_source!==row||cell_source!==cell){previous();break}}}if(cell_current.className.indexOf("rowhandler")>-1){previous();break}if(cell_current.parentNode.redips&&cell_current.parentNode.redips.emptyRow){previous();break}}break}}};setPosition=function(){if(table<tables.length&&table!==null&&row!==null&&cell!==null){bgStyleOld=getTdStyle(table,row,cell);setTdStyle(table,row,cell);table_old=table;row_old=row;cell_old=cell}};setTdStyle=function(ti,ri,ci,t){var tr,i,s;if(mode==="cell"&&threshold.flag){s=tables[ti].rows[ri].cells[ci].style;s.backgroundColor=t===undefined?REDIPS.drag.hover.colorTd:t.color[0].toString();if(REDIPS.drag.hover.borderTd!==undefined){if(t===undefined){s.border=REDIPS.drag.hover.borderTd}else{s.borderTopWidth=t.top[0][0];s.borderTopStyle=t.top[0][1];s.borderTopColor=t.top[0][2];s.borderRightWidth=t.right[0][0];s.borderRightStyle=t.right[0][1];s.borderRightColor=t.right[0][2];s.borderBottomWidth=t.bottom[0][0];s.borderBottomStyle=t.bottom[0][1];s.borderBottomColor=t.bottom[0][2];s.borderLeftWidth=t.left[0][0];s.borderLeftStyle=t.left[0][1];s.borderLeftColor=t.left[0][2]}}}else if(mode==="row"){tr=tables[ti].rows[ri];for(i=0;i<tr.cells.length;i++){s=tr.cells[i].style;s.backgroundColor=t===undefined?REDIPS.drag.hover.colorTr:t.color[i].toString();if(REDIPS.drag.hover.borderTr!==undefined){if(t===undefined){if(table===table_source){if(row<row_source){s.borderTop=REDIPS.drag.hover.borderTr}else{s.borderBottom=REDIPS.drag.hover.borderTr}}else{if(REDIPS.drag.rowDropMode==="before"){s.borderTop=REDIPS.drag.hover.borderTr}else{s.borderBottom=REDIPS.drag.hover.borderTr}}}else{s.borderTopWidth=t.top[i][0];s.borderTopStyle=t.top[i][1];s.borderTopColor=t.top[i][2];s.borderBottomWidth=t.bottom[i][0];s.borderBottomStyle=t.bottom[i][1];s.borderBottomColor=t.bottom[i][2]}}}}};getTdStyle=function(ti,ri,ci){var tr,i,c,t={color:[],top:[],right:[],bottom:[],left:[]},border=function(c,name){var width="border"+name+"Width",style="border"+name+"Style",color="border"+name+"Color";return[getStyle(c,width),getStyle(c,style),getStyle(c,color)]};if(mode==="cell"){c=tables[ti].rows[ri].cells[ci];t.color[0]=c.style.backgroundColor;if(REDIPS.drag.hover.borderTd!==undefined){t.top[0]=border(c,"Top");t.right[0]=border(c,"Right");t.bottom[0]=border(c,"Bottom");t.left[0]=border(c,"Left")}}else{tr=tables[ti].rows[ri];for(i=0;i<tr.cells.length;i++){c=tr.cells[i];t.color[i]=c.style.backgroundColor;if(REDIPS.drag.hover.borderTr!==undefined){t.top[i]=border(c,"Top");t.bottom[i]=border(c,"Bottom")}}}return t};boxOffset=function(box,position,box_scroll){var scrollPosition,oLeft=0,oTop=0,boxOld=box;if(position!=="fixed"){scrollPosition=getScrollPosition();oLeft=0-scrollPosition[0];oTop=0-scrollPosition[1]}if(box_scroll===undefined||box_scroll===true){do{oLeft+=box.offsetLeft-box.scrollLeft;oTop+=box.offsetTop-box.scrollTop;box=box.offsetParent}while(box&&box.nodeName!=="BODY")}else{do{oLeft+=box.offsetLeft;oTop+=box.offsetTop;box=box.offsetParent}while(box&&box.nodeName!=="BODY")}return[oTop,oLeft+boxOld.offsetWidth,oTop+boxOld.offsetHeight,oLeft]};calculateCells=function(){var i,j,row_offset,position,cb;for(i=0;i<tables.length;i++){row_offset=[];position=getStyle(tables[i],"position");if(position!=="fixed"){position=getStyle(tables[i].parentNode,"position")}for(j=tables[i].rows.length-1;j>=0;j--){if(tables[i].rows[j].style.display!=="none"){row_offset[j]=boxOffset(tables[i].rows[j],position)}}tables[i].redips.offset=boxOffset(tables[i],position);tables[i].redips.row_offset=row_offset}divBox=boxOffset(dragContainer);for(i=0;i<scrollData.container.length;i++){position=getStyle(scrollData.container[i].div,"position");cb=boxOffset(scrollData.container[i].div,position,false);scrollData.container[i].offset=cb;scrollData.container[i].midstX=(cb[1]+cb[3])/2;scrollData.container[i].midstY=(cb[0]+cb[2])/2}};getScrollPosition=function(){var scrollX,scrollY;if(typeof window.pageYOffset==="number"){scrollX=window.pageXOffset;scrollY=window.pageYOffset}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){scrollX=document.body.scrollLeft;scrollY=document.body.scrollTop}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){scrollX=document.documentElement.scrollLeft;scrollY=document.documentElement.scrollTop}else{scrollX=scrollY=0}return[scrollX,scrollY]};autoScrollX=function(so){var pos,old,scrollPosition,maxsp,edgeCrossed,X=pointer.x,Y=pointer.y;if(edge.flag.x>0){calculateCells();setTableRowColumn();if(X<divBox[1]&&X>divBox[3]&&Y<divBox[2]&&Y>divBox[0]){cellChanged()}}if(typeof so==="object"){scrollData.obj=so}if(scrollData.obj===window){scrollPosition=old=getScrollPosition()[0];maxsp=scrollData.width-screen.width;edgeCrossed=edge.page.x}else{scrollPosition=scrollData.obj.scrollLeft;maxsp=scrollData.obj.scrollWidth-scrollData.obj.clientWidth;edgeCrossed=edge.div.x}if(edge.flag.x>0&&(edgeCrossed<0&&scrollPosition>0||edgeCrossed>0&&scrollPosition<maxsp)){if(scrollData.obj===window){window.scrollBy(edgeCrossed,0);scrollPosition=getScrollPosition()[0];pos=parseInt(obj.style.left,10);if(isNaN(pos)){pos=0}}else{scrollData.obj.scrollLeft+=edgeCrossed}setTimeout(autoScrollX,REDIPS.drag.scroll.speed)}else{REDIPS.event.add(scrollData.obj,"scroll",calculateCells);edge.flag.x=0;currentCell=[0,0,0,0]}};autoScrollY=function(so){var pos,old,scrollPosition,maxsp,edgeCrossed,X=pointer.x,Y=pointer.y;if(edge.flag.y>0){calculateCells();setTableRowColumn();if(X<divBox[1]&&X>divBox[3]&&Y<divBox[2]&&Y>divBox[0]){cellChanged()}}if(typeof so==="object"){scrollData.obj=so}if(scrollData.obj===window){scrollPosition=old=getScrollPosition()[1];maxsp=scrollData.height-screen.height;edgeCrossed=edge.page.y}else{scrollPosition=scrollData.obj.scrollTop;maxsp=scrollData.obj.scrollHeight-scrollData.obj.clientHeight;edgeCrossed=edge.div.y}if(edge.flag.y>0&&(edgeCrossed<0&&scrollPosition>0||edgeCrossed>0&&scrollPosition<maxsp)){if(scrollData.obj===window){window.scrollBy(0,edgeCrossed);scrollPosition=getScrollPosition()[1];pos=parseInt(obj.style.top,10);if(isNaN(pos)){pos=0}}else{scrollData.obj.scrollTop+=edgeCrossed}setTimeout(autoScrollY,REDIPS.drag.scroll.speed)}else{REDIPS.event.add(scrollData.obj,"scroll",calculateCells);edge.flag.y=0;currentCell=[0,0,0,0]}};cloneObject=function(div,drag){var divCloned=div.cloneNode(true),cname=divCloned.className,offset,offsetDragged;if(drag===true){document.getElementById("redips_clone").appendChild(divCloned);divCloned.style.zIndex=999;divCloned.style.position="fixed";offset=boxOffset(div);offsetDragged=boxOffset(divCloned);divCloned.style.top=offset[0]-offsetDragged[0]+"px";divCloned.style.left=offset[3]-offsetDragged[3]+"px"}if(divCloned.setCapture){divCloned.setCapture()}cname=cname.replace("clone","");cname=cname.replace(/climit(\d)_(\d+)/,"");divCloned.className=normalize(cname);if(clonedId[div.id]===undefined){clonedId[div.id]=0}divCloned.id=div.id+"c"+clonedId[div.id];clonedId[div.id]+=1;copyProperties(div,divCloned);return divCloned};copyProperties=function(src,cln){var copy=[],childs;copy[0]=function(e1,e2){if(e1.redips){e2.redips={};e2.redips.enabled=e1.redips.enabled;e2.redips.container=e1.redips.container;if(e1.redips.enabled){registerEvents(e2)}}};copy[1]=function(e1,e2){if(e1.redips){e2.redips={};e2.redips.emptyRow=e1.redips.emptyRow}};childs=function(e){var el1,el2,i,tn=["DIV","TR"];el1=src.getElementsByTagName(tn[e]);el2=cln.getElementsByTagName(tn[e]);for(i=0;i<el2.length;i++){copy[e](el1[i],el2[i])}};if(src.nodeName==="DIV"){copy[0](src,cln)}else if(src.nodeName==="TR"){copy[1](src,cln)}childs(0);childs(1)};cloneLimit=function(el,value){var matchArray,limitType,limit,classes;classes=el.className;matchArray=classes.match(/climit(\d)_(\d+)/);if(matchArray!==null){limitType=parseInt(matchArray[1],10);limit=parseInt(matchArray[2],10);if(limit===0&&value===1){classes+=" clone";if(limitType===2){enableDrag(true,el)}}limit+=value;classes=classes.replace(/climit\d_\d+/g,"climit"+limitType+"_"+limit);if(limit<=0){classes=classes.replace("clone","");if(limitType===2){enableDrag(false,el);REDIPS.drag.event.clonedEnd2()}else{REDIPS.drag.event.clonedEnd1()}}el.className=normalize(classes)}};elementControl=function(evt){var flag=false,srcName,classes,regexNodrag=/\bnodrag\b/i;if(evt.srcElement){srcName=evt.srcElement.nodeName;classes=evt.srcElement.className}else{srcName=evt.target.nodeName;classes=evt.target.className}switch(srcName){case"A":case"INPUT":case"SELECT":case"OPTION":case"TEXTAREA":flag=true;break;default:if(regexNodrag.test(classes)){flag=true}else{flag=false}}return flag};enableDrag=function(enable_flag,el){var i,j,k,div=[],tbls=[],borderStyle,opacity,cursor,overflow,autoscroll,enabled,cb,position,regexDrag=/\bdrag\b/i,regexNoAutoscroll=/\bnoautoscroll\b/i;opacity=REDIPS.drag.style.opacityDisabled;if(enable_flag===true||enable_flag==="init"){borderStyle=REDIPS.drag.style.borderEnabled;cursor="move";enabled=true}else{borderStyle=REDIPS.drag.style.borderDisabled;cursor="auto";enabled=false}if(el===undefined){div=dragContainer.getElementsByTagName("div")}else if(typeof el==="string"){div=document.querySelectorAll(el)}else if(typeof el==="object"&&(el.nodeName!=="DIV"||el.className.indexOf("drag")===-1)){div=el.getElementsByTagName("div")}else{div[0]=el}for(i=0,j=0;i<div.length;i++){if(regexDrag.test(div[i].className)){if(enable_flag==="init"||div[i].redips===undefined){div[i].redips={};div[i].redips.container=dragContainer}else if(enable_flag===true&&typeof opacity==="number"){div[i].style.opacity="";div[i].style.filter=""}else if(enable_flag===false&&typeof opacity==="number"){div[i].style.opacity=opacity/100;div[i].style.filter="alpha(opacity="+opacity+")"}registerEvents(div[i],enabled);div[i].style.borderStyle=borderStyle;div[i].style.cursor=cursor;div[i].redips.enabled=enabled}else if(enable_flag==="init"){overflow=getStyle(div[i],"overflow");if(overflow!=="visible"){REDIPS.event.add(div[i],"scroll",calculateCells);position=getStyle(div[i],"position");cb=boxOffset(div[i],position,false);if(regexNoAutoscroll.test(div[i].className)){autoscroll=false}else{autoscroll=true}scrollData.container[j]={div:div[i],offset:cb,midstX:(cb[1]+cb[3])/2,midstY:(cb[0]+cb[2])/2,autoscroll:autoscroll};tbls=div[i].getElementsByTagName("table");for(k=0;k<tbls.length;k++){tbls[k].sca=scrollData.container[j]}j++}}}};deleteObject=function(el){var div,i;if(typeof el==="object"&&el.nodeName==="DIV"){el.parentNode.removeChild(el)}else if(typeof el==="string"){div=document.getElementById(el);if(div){div.parentNode.removeChild(div)}}};enableTable=function(enable_flag,el){var i;if(typeof el==="object"&&el.nodeName==="TABLE"){el.redips.enabled=enable_flag}else{for(i=0;i<tables.length;i++){if(tables[i].className.indexOf(el)>-1){tables[i].redips.enabled=enable_flag}}}};getStyle=function(el,style_name){var val;if(el&&el.currentStyle){val=el.currentStyle[style_name]}else if(el&&window.getComputedStyle){val=document.defaultView.getComputedStyle(el,null)[style_name]}return val};findParent=function(tag_name,el,skip){el=el.parentNode;if(skip===undefined){skip=0}while(el&&el.nodeName!==tag_name){el=el.parentNode;if(el&&el.nodeName===tag_name&&skip>0){skip--;el=el.parentNode}}return el};findCell=function(param,el){var tbl=findParent("TABLE",el),ri,ci,c;switch(param){case"firstInColumn":ri=0;ci=el.cellIndex;break;case"firstInRow":ri=el.parentNode.rowIndex;ci=0;break;case"lastInColumn":ri=tbl.rows.length-1;ci=el.cellIndex;break;case"lastInRow":ri=el.parentNode.rowIndex;ci=tbl.rows[ri].cells.length-1;break;case"last":ri=tbl.rows.length-1;ci=tbl.rows[ri].cells.length-1;break;default:ri=ci=0}c=tbl.rows[ri].cells[ci];return[ri,ci,c]};saveContent=function(tbl,type){var query="",tbl_start,tbl_end,tbl_rows,cells,tbl_cell,cn,id,r,c,d,JSONobj=[],pname=REDIPS.drag.saveParamName;if(typeof tbl==="string"){tbl=document.getElementById(tbl)}if(tbl!==undefined&&typeof tbl==="object"&&tbl.nodeName==="TABLE"){tbl_rows=tbl.rows.length;for(r=0;r<tbl_rows;r++){cells=tbl.rows[r].cells.length;for(c=0;c<cells;c++){tbl_cell=tbl.rows[r].cells[c];if(tbl_cell.childNodes.length>0){for(d=0;d<tbl_cell.childNodes.length;d++){cn=tbl_cell.childNodes[d];if(cn.nodeName==="DIV"&&cn.className.indexOf("drag")>-1){query+=pname+"[]="+cn.id+"_"+r+"_"+c+"&";JSONobj.push([cn.id,r,c])}}}}}if(type==="json"&&JSONobj.length>0){query=JSON.stringify(JSONobj)}else{query=query.substring(0,query.length-1)}}return query};relocate=function(from,to,mode){var i,j,tbl2,idx2,cn,div,move;move=function(el,to){REDIPS.drag.event.relocateBefore(el,to);var target=REDIPS.drag.getPosition(to);REDIPS.drag.moveObject({obj:el,target:target,callback:function(div){var tbl=REDIPS.drag.findParent("TABLE",div),idx=tbl.redips.idx;REDIPS.drag.event.relocateAfter(div,to);animationCounter[idx]--;if(animationCounter[idx]===0){REDIPS.drag.event.relocateEnd();REDIPS.drag.enableTable(true,tbl)}}})};if(from===to){return}if(typeof from!=="object"||typeof to!=="object"){return}cn=from.childNodes.length;if(mode==="animation"){if(cn>0){tbl2=findParent("TABLE",to);idx2=tbl2.redips.idx;REDIPS.drag.enableTable(false,tbl2);for(i=0;i<cn;i++){if(from.childNodes[i].nodeType===1&&from.childNodes[i].nodeName==="DIV"){animationCounter[idx2]++;move(from.childNodes[i],to)}}}}else{for(i=0,j=0;i<cn;i++){if(from.childNodes[j].nodeType===1&&from.childNodes[j].nodeName==="DIV"){div=from.childNodes[j];REDIPS.drag.event.relocateBefore(div,to);to.appendChild(div);if(div.redips&&div.redips.enabled!==false){registerEvents(div)}REDIPS.drag.event.relocateAfter(div)}else{j++}}}};emptyCell=function(tdElement,mode){var cn,el=[],flag,i;if(tdElement.nodeName!=="TD"){return}cn=tdElement.childNodes.length;if(mode==="test"){if(td.source===tdElement){flag=undefined}else if(tdElement.childNodes.length===0||tdElement.childNodes.length===1&&tdElement.firstChild.nodeType===3){flag=true}else{flag=false}return flag}else{for(i=0;i<cn;i++){el.push(tdElement.childNodes[0]);tdElement.removeChild(tdElement.childNodes[0])}return el}};shiftCells=function(td1,td2){var tbl1,tbl2,pos,pos1,pos2,d,cl,t1,t2,c1,c2,m1,m2,p2,shiftMode,rows,cols,x,y,max,overflow=false,myShift,handleOverflow;myShift=function(source,target){if(REDIPS.drag.shift.animation){relocate(source,target,"animation")}else{relocate(source,target)}};handleOverflow=function(target){if(REDIPS.drag.shift.overflow==="delete"){emptyCell(target)}else if(REDIPS.drag.shift.overflow==="source"){myShift(target,td.source)}else if(typeof REDIPS.drag.shift.overflow==="object"){myShift(target,REDIPS.drag.shift.overflow)}overflow=false;REDIPS.drag.event.shiftOverflow(target)};if(td1===td2){return}shiftMode=REDIPS.drag.shift.mode;tbl1=findParent("TABLE",td1);tbl2=findParent("TABLE",td2);cl=cellList(tbl2);if(tbl1===tbl2){pos1=[td1.redips.rowIndex,td1.redips.cellIndex]}else{pos1=[-1,-1]}pos2=[td2.redips.rowIndex,td2.redips.cellIndex];rows=tbl2.rows.length;cols=maxCols(tbl2);switch(shiftMode){case"vertical2":pos=tbl1===tbl2&&td1.redips.cellIndex===td2.redips.cellIndex?pos1:[rows,td2.redips.cellIndex];break;case"horizontal2":pos=tbl1===tbl2&&td1.parentNode.rowIndex===td2.parentNode.rowIndex?pos1:[td2.redips.rowIndex,cols];break;default:pos=tbl1===tbl2?pos1:[rows,cols]}if(shiftMode==="vertical1"||shiftMode==="vertical2"){d=pos[1]*1e3+pos[0]<pos2[1]*1e3+pos2[0]?1:-1;max=rows;x=0;y=1}else{d=pos[0]*1e3+pos[1]<pos2[0]*1e3+pos2[1]?1:-1;max=cols;x=1;y=0}if(pos[0]!==pos1[0]&&pos[1]!==pos1[1]){overflow=true}while(pos[0]!==pos2[0]||pos[1]!==pos2[1]){t2=cl[pos[0]+"-"+pos[1]];pos[x]+=d;if(pos[x]<0){pos[x]=max;pos[y]--}else if(pos[x]>max){pos[x]=0;pos[y]++}t1=cl[pos[0]+"-"+pos[1]];if(t1!==undefined){c1=t1}if(t2!==undefined){c2=t2}if(t1!==undefined&&c2!==undefined||c1!==undefined&&t2!==undefined){m1=c1.className.indexOf(REDIPS.drag.mark.cname)===-1?0:1;m2=c2.className.indexOf(REDIPS.drag.mark.cname)===-1?0:1;if(overflow){if(m1===0&&m2===1){handleOverflow(c1)}}if(m1===1){if(m2===0){p2=c2}continue}else if(m1===0&&m2===1){c2=p2}myShift(c1,c2)}else if(overflow&&c1!==undefined&&c2===undefined){m1=c1.className.indexOf(REDIPS.drag.mark.cname)===-1?0:1;if(m1===0){handleOverflow(c1)}}}};cellList=function(table){var matrix=[],matrixrow,lookup={},c,ri,rowspan,colspan,firstAvailCol,tr,i,j,k,l;tr=table.rows;for(i=0;i<tr.length;i++){for(j=0;j<tr[i].cells.length;j++){c=tr[i].cells[j];ri=c.parentNode.rowIndex;rowspan=c.rowSpan||1;colspan=c.colSpan||1;matrix[ri]=matrix[ri]||[];for(k=0;k<matrix[ri].length+1;k++){if(typeof matrix[ri][k]==="undefined"){firstAvailCol=k;break}}lookup[ri+"-"+firstAvailCol]=c;if(c.redips===undefined){c.redips={}}c.redips.rowIndex=ri;c.redips.cellIndex=firstAvailCol;for(k=ri;k<ri+rowspan;k++){matrix[k]=matrix[k]||[];matrixrow=matrix[k];for(l=firstAvailCol;l<firstAvailCol+colspan;l++){matrixrow[l]="x"}}}}return lookup};maxCols=function(table){var tr=table.rows,span,max=0,i,j;if(typeof table==="string"){table=document.getElementById(table)}for(i=0;i<tr.length;i++){span=0;for(j=0;j<tr[i].cells.length;j++){span+=tr[i].cells[j].colSpan||1}if(span>max){max=span}}return max};moveObject=function(ip){var p={direction:1},x1,y1,w1,h1,x2,y2,w2,h2,row,col,dx,dy,pos,i,target;p.callback=ip.callback;p.overwrite=ip.overwrite;if(typeof ip.id==="string"){p.obj=p.objOld=document.getElementById(ip.id)}else if(typeof ip.obj==="object"&&ip.obj.nodeName==="DIV"){p.obj=p.objOld=ip.obj}if(ip.mode==="row"){p.mode="row";i=getTableIndex(ip.source[0]);row=ip.source[1];objOld=p.objOld=tables[i].rows[row];if(objOld.redips&&objOld.redips.emptyRow===true){return false}p.obj=rowClone(p.objOld,"animated")}else if(p.obj&&p.obj.className.indexOf("row")>-1){p.mode="row";p.obj=p.objOld=objOld=findParent("TR",p.obj);if(objOld.redips&&objOld.redips.emptyRow===true){return false}p.obj=rowClone(p.objOld,"animated")}else{p.mode="cell"}if(typeof p.obj!=="object"||p.obj===null){return}p.obj.style.zIndex=999;if(p.obj.redips&&dragContainer!==p.obj.redips.container){dragContainer=p.obj.redips.container;initTables()}pos=boxOffset(p.obj);w1=pos[1]-pos[3];h1=pos[2]-pos[0];x1=pos[3];y1=pos[0];if(ip.clone===true&&p.mode==="cell"){p.obj=cloneObject(p.obj,true);REDIPS.drag.event.cloned(p.obj)}if(ip.target===undefined){ip.target=getPosition()}else if(typeof ip.target==="object"&&ip.target.nodeName==="TD"){ip.target=getPosition(ip.target)}p.target=ip.target;i=getTableIndex(ip.target[0]);row=ip.target[1];col=ip.target[2];if(row>tables[i].rows.length-1){row=tables[i].rows.length-1}p.targetCell=tables[i].rows[row].cells[col];if(p.mode==="cell"){pos=boxOffset(p.targetCell);w2=pos[1]-pos[3];h2=pos[2]-pos[0];x2=pos[3]+(w2-w1)/2;y2=pos[0]+(h2-h1)/2}else{pos=boxOffset(tables[i].rows[row]);w2=pos[1]-pos[3];h2=pos[2]-pos[0];x2=pos[3];y2=pos[0]}dx=x2-x1;dy=y2-y1;p.obj.style.position="fixed";if(Math.abs(dx)>Math.abs(dy)){p.type="horizontal";p.m=dy/dx;p.b=y1-p.m*x1;p.k1=(x1+x2)/(x1-x2);p.k2=2/(x1-x2);if(x1>x2){p.direction=-1}i=x1;p.last=x2}else{p.type="vertical";p.m=dx/dy;p.b=x1-p.m*y1;p.k1=(y1+y2)/(y1-y2);p.k2=2/(y1-y2);if(y1>y2){p.direction=-1}i=y1;p.last=y2}if(p.obj.redips){p.obj.redips.animated=true}animateObject(i,p);return[p.obj,p.objOld]};animateObject=function(i,p){var k=(p.k1-p.k2*i)*(p.k1-p.k2*i),f;i=i+REDIPS.drag.animation.step*(4-k*3)*p.direction;f=p.m*i+p.b;if(p.type==="horizontal"){p.obj.style.left=i+"px";p.obj.style.top=f+"px"}else{p.obj.style.left=f+"px";p.obj.style.top=i+"px"}if(i<p.last&&p.direction>0||i>p.last&&p.direction<0){setTimeout(function(){animateObject(i,p)},REDIPS.drag.animation.pause*k)}else{resetStyles(p.obj);if(p.obj.redips){p.obj.redips.animated=false}if(p.mode==="cell"){if(p.overwrite===true){emptyCell(p.targetCell)}p.targetCell.appendChild(p.obj);if(p.obj.redips&&p.obj.redips.enabled!==false){registerEvents(p.obj)}}else{rowDrop(getTableIndex(p.target[0]),p.target[1],p.obj)}if(typeof p.callback==="function"){p.callback(p.obj)}}};getPosition=function(ip){var toi,toi_source,ci,ri,ti,el,tbl,arr=[];ci=ri=ti=-1;if(ip===undefined){if(table<tables.length){toi=tables[table].redips.idx}else if(table_old===null||row_old===null||cell_old===null){toi=tables[table_source].redips.idx}else{toi=tables[table_old].redips.idx}toi_source=tables[table_source].redips.idx;arr=[toi,row,cell,toi_source,row_source,cell_source]}else{if(typeof ip==="string"){el=document.getElementById(ip)}else{el=ip}if(el){if(el.nodeName!=="TD"){el=findParent("TD",el)}if(el&&el.nodeName==="TD"){ci=el.cellIndex;ri=el.parentNode.rowIndex;tbl=findParent("TABLE",el);ti=tbl.redips.idx}}arr=[ti,ri,ci]}return arr};getTableIndex=function(idx){var i;for(i=0;i<tables.length;i++){if(tables[i].redips.idx===idx){break}}return i};normalize=function(str){if(str!==undefined){str=str.replace(/^\s+|\s+$/g,"").replace(/\s{2,}/g," ")}return str};hasChilds=function(el){var i;for(i=0;i<el.childNodes.length;i++){if(el.childNodes[i].nodeType===1){return true}}return false};rowOpacity=function(el,opacity,color){var tdNodeList,i,j;if(typeof el==="string"){el=document.getElementById(el);el=findParent("TABLE",el)}if(el.nodeName==="TR"){tdNodeList=el.getElementsByTagName("td");for(i=0;i<tdNodeList.length;i++){tdNodeList[i].style.backgroundColor=color?color:"";if(opacity==="empty"){tdNodeList[i].innerHTML=""}else{for(j=0;j<tdNodeList[i].childNodes.length;j++){if(tdNodeList[i].childNodes[j].nodeType===1){tdNodeList[i].childNodes[j].style.opacity=opacity/100;tdNodeList[i].childNodes[j].style.filter="alpha(opacity="+opacity+")"}}}}}else{el.style.opacity=opacity/100;el.style.filter="alpha(opacity="+opacity+")";el.style.backgroundColor=color?color:""}};rowEmpty=function(tbl_id,row_idx,color){var tbl=document.getElementById(tbl_id),row=tbl.rows[row_idx];if(color===undefined){color=REDIPS.drag.style.rowEmptyColor}if(row.redips===undefined){row.redips={}}row.redips.emptyRow=true;rowOpacity(row,"empty",color)};return{obj:obj,objOld:objOld,mode:mode,td:td,hover:hover,scroll:scroll,only:only,mark:mark,style:style,trash:trash,saveParamName:saveParamName,dropMode:dropMode,multipleDrop:multipleDrop,clone:clone,animation:animation,shift:shift,rowDropMode:rowDropMode,tableSort:tableSort,init:init,initTables:initTables,enableDrag:enableDrag,enableTable:enableTable,cloneObject:cloneObject,saveContent:saveContent,relocate:relocate,emptyCell:emptyCell,moveObject:moveObject,shiftCells:shiftCells,deleteObject:deleteObject,getPosition:getPosition,rowOpacity:rowOpacity,rowEmpty:rowEmpty,getScrollPosition:getScrollPosition,getStyle:getStyle,findParent:findParent,findCell:findCell,event:event}}();if(!REDIPS.event){REDIPS.event=function(){var add,remove;add=function(obj,eventName,handler){if(obj.addEventListener){obj.addEventListener(eventName,handler,false)}else if(obj.attachEvent){obj.attachEvent("on"+eventName,handler)}else{obj["on"+eventName]=handler}};remove=function(obj,eventName,handler){if(obj.removeEventListener){obj.removeEventListener(eventName,handler,false)}else if(obj.detachEvent){obj.detachEvent("on"+eventName,handler)}else{obj["on"+eventName]=null}};return{add:add,remove:remove}}()}

Zerion Mini Shell 1.0