
N = (document.all) ? 0 : 1;
var srcObj, X, Y;

function GL_isIE() {
	if ( document.all ) {
		return true;
	} else {
		return false;
	}
}

function dragStart(sourceObject, e) {
	if (sourceObject) {	
		srcObj = sourceObject;	
		_dummyDiv.innerHTML = srcObj.innerHTML;	
		_dummyDiv.style.pixelLeft = srcObj.style.pixelLeft; 			
		_dummyDiv.style.pixelTop = srcObj.style.pixelTop;
		
		if (N) {
			X=e.layerX;
			Y=e.layerY;
			return false;
		} else {
			X=event.offsetX;
			Y=event.offsetY;
		}
	}
}

function dragOn(e) {
	if ( _dummyDiv ) {
			if (N) {
				_dummyDiv.style.top = e.pageY-Y;
				_dummyDiv.style.left = e.pageX-X;			
			} else {				
				_dummyDiv.style.pixelLeft = 25 + event.clientX-X + document.body.scrollLeft;				
				_dummyDiv.style.pixelTop = event.clientY-Y + document.body.scrollTop;
				_dummyDiv.className = 'clsShow';				
	    }
	}
}


function dragEnd(sourceObject) {
//		srcObj = null;
    window.event.dataTransfer.clearData();
		if ( _dummyDiv ) {
			_dummyDiv.className = 'clsHide';
		}    
}

function dragOver(targetObj) {
	if ( !srcObj ) {
		return;
	}
	if ( srcObj.eventId == targetObj.eventId ) {
	  window.event.returnValue = false;		
	} else {
		window.event.returnValue = true;  
	}
}

function changeCursor(type) {
	document.body.style.cursor=type;
}

function findObject(id) {
	if(document.getElementById)
		return document.getElementById(id);
	if(document.all)
		return document.all[id];
}

function GL_findDOMObjectById(parent, tagName, id) {
	var children = parent.getElementsByTagName( tagName );
	if ( !children || !children.length ) {
		return null;
	}
	for (var i=0; i<children.length; i++) {
		if ( children[i].id && children[i].id == id ) {
			return children[i];
		}
	}
}

function GL_alignMouseOver(span, message) {
//    span.className = 'highlighted';
	s(message);
}

function GL_alignMouseOut(span, className) {
//    span.className = className;
	s('');
}

function s(str) {
	window.status = str;
}


function drop(targetObj) {
	if ( !srcObj ) {
		return;
	}

	if ( srcObj.eventId == targetObj.eventId ) {
		if ( srcObj.eventId == 'computedEvent' ) {
			computedEvent(targetObj);
			return;
		}
  }
}


// only for computed field
	var computedEvent_Operant = "Please drop a computed field";
	var computedEvent_Operator = "Please drop an operator";
	var computedEvent_savedInnerHTML;
function computedEvent(targetObj) {
	var token = '__';
		var formulaField = findObject('formula');
		if ( !formulaField ) {
			return;
		}
	
		if ( !formulaField.value ) { 
			formulaField.value = srcObj.dragValue;
			targetObj.innerHTML = srcObj.innerHTML;	
		} else {
			formulaField.value += token + srcObj.dragValue;		
			targetObj.innerHTML += srcObj.innerHTML;	  			
		}
		s(formulaField.value);
}


function GL_doShowHide(targetId) { 
	var targetObject = findObject(targetId);
	targetObject.className = (targetObject.className=='clsShow') ? 'clsHide' : 'clsShow';
}

function GL_doShowHideMenu(targetId, eImg) { 
	var targetObject = findObject(targetId);
	targetObject.className = (targetObject.className=='clsShow') ? 'clsHide' : 'clsShow';
	if( targetObject.className=='clsHide' ) {
		eImg.src = 'image/mac_open_arrow.gif';
	} else {
		eImg.src = 'image/mac_closed_arrow.gif';
	}	
}

function GL_doShowHideData(targetId, eImg) { 
	var targetObject = findObject(targetId + "_Expanded");
	if( targetObject.className=='clsHide' ) {
		GL_transferData(targetId, targetId + "_Expanded");	
		eImg.src = 'image/minus.gif';		
		targetObject.className = 'clsShow';
	} else {
//		GL_transferData(targetId + "_Expanded", targetId);		
		eImg.src = 'image/plus.gif';		
		targetObject.className = 'clsHide';		
	}	
}

function GL_checkAllWidthFilter(checkbox, formName, nameFilter) {
	var currForm = document.forms[formName];
	var value;
	if ( checkbox.checked ) {
		value = true;
	} else {
		value = false;	
	}
    var len = currForm.elements.length    
	for(var i=0;i<len; i++) {    
        var item = currForm.elements[i];       
        if(item.type=="checkbox" && item.name.indexOf(nameFilter) > -1 ) {
           item.checked = value; 
        }
    }
}

function GL_checkAll(button, formName, fieldName, checkLabel) {
	var currForm = document.forms[formName];
	var value;
	if ( button.value == 'Check All' ) {
		if ( checkLabel == true ) {
			button.value = 'Clear All';
		}
		value = true;
	} else {
		if ( checkLabel == true ) {	
			button.value = 'Check All';
		}
		value = false;	
	}
    var len = currForm.elements.length
    
	for(var i=0;i<len; i++) {    
        var item = currForm.elements[i];       
        if(item.type=="checkbox" && item.name == fieldName) {
           item.checked = value; 
        }
    }
}

function GL_checkGroup(groupCheckBox, groupDivId, fieldName) {
	var groupSpan = findObject('span' + groupDivId);	
    var inputs = groupSpan.getElementsByTagName('INPUT');	
    if ( !groupSpan || !inputs ) {
    	return;
    }
    	
	var status = groupCheckBox.checked;    	
 	if ( inputs.length ) {
        for (var i=0; i<inputs.length; i++) {
	        GL_checkGroupHelp(inputs[i], fieldName, status);
        }	
 	} else {
	    GL_checkGroupHelp(inputs, fieldName, status); 	
 	}
}
function GL_checkGroupHelp(aInput, fieldName, status) {
    if ( fieldName == aInput.name ) {
        aInput.setAttribute("checked", status);
    }
}

function GL_selectAll(controlSelect, formName, fieldName) {
	var form = document.forms[formName];
	var selects = form.elements[fieldName];
	if ( !selects ) {
	  return;
	}
	
	var selectedIndex = controlSelect.selectedIndex;
	
	if ( selects.length ) {
	   for (var i=0; i<selects.length; i++) {
	   	  GL_selectAllHelp(selects[i], selectedIndex);
	   }
	} else {
	  GL_selectAllHelp(selects, selectedIndex);
	}
}
function GL_selectAllHelp(select, selectedIndex) {
   select.selectedIndex = selectedIndex;
}


function GL_selectAllFields(formName, fieldName) {
	var form = document.forms[formName];
	var selects = form.elements[fieldName];
	
	if ( !selects ) {
	  return;
	}	
	for (var i=0; i<selects.options.length; i++) {
		selects.options[i].selected = true;
	}
}

function GL_transferData(fromId, toId) {
	var fromObj = findObject(fromId);
	var toObj = findObject(toId);
//	toObj.innerHTML = fromObj.innerHTML;
	var cpNode = fromObj.firstChild;
	var next;
	while (cpNode){
		next = cpNode.nextSibling;
		if (!cpNode.tagName || cpNode.tagName.toUpperCase() != 'STYLE'){
			toObj.appendChild(cpNode);
		}
		cpNode = next;
	}
//	fromObj.innerHTML = '';
}

function GL_setFocus(formInst, elementInst) {
  if (document.forms.length > 0) {
	  document.forms[formInst].elements[elementInst].focus();
  }
}


function GL_loadPageToSpan(url, toSpanId) {
   var toSpan = findObject('span' + toSpanId);   
   GL_loadPageTo(url, toSpan);
   toSpan.className = 'clsShow';         	      
}

var _glLoadingIFrame;
function GL_getLoadingIFrame() {
	if ( _glLoadingIFrame ) {
		return _glLoadingIFrame;
	}
	_glLoadingIFrame = document.createElement('iframe');
	document.body.appendChild(_glLoadingIFrame);
	_glLoadingIFrame.setAttribute('id', 'GL_loadIFrame');
	var s = _glLoadingIFrame.style;
	s.visibility = 'hidden';
	s.position = 'absolute';
	s.top = '0px';
	s.left = '0px';
	
	return _glLoadingIFrame;
}

function GL_loadPageTo(url, toObject) {
   if ( !toObject ) return;
   
   var loadIFrame = GL_getLoadingIFrame(); //window.frames['GL_loadIFrame'];
   if ( !loadIFrame ) return;   
   loadIFrame.location = url;
   setTimeout('GL_loadPage()', 1000);   
   var loadSpan = loadIFrame.document.getElementById('GL_loadSpan');  
   toObject.innerHTML = loadSpan.innerHTML;   
}

function GL_loadPage() {
   var loadIFrame = GL_getLoadingIFrame(); //window.frames['GL_loadIFrame'];
   if ( loadIFrame ) {
	 var loadSpan = loadIFrame.document.getElementById('GL_loadSpan');
	 if ( !loadSpan ) {
       setTimeout('GL_loadPage()', 1000);
   	 }
   }
}

function nodeClick( evt, eSrc, id, open, closed, labelOpen, labelClosed ) { 
		var eSpan = findObject('span'+id);
		eSpan.className = (eSpan.className=='clsShow') ? 'clsHide' : 'clsShow';
		var eImg = findObject('controlImage'+id);
		var labelImageName;
		if( eSpan.className=='clsHide' ) {
			eImg.src = ('image/' + open);
			labelImageName = 'image/' + labelOpen;
		} else {
			eImg.src = ('image/' + closed);
			labelImageName = 'image/' + labelClosed;			
		}
		var labelImage = findObject('labelImage'+eImg.idNumber);
		if ( labelImage ) {
		  labelImage.src = labelImageName;
		}
}

function GL_submitUrl(url) {
	document.location = url;
}

function GL_setValue(fieldName, value) {
	var field = GL_findFormField(fieldName);
	if ( field ) {
		if ( field.selectedIndex ) {
 			field.selectedIndex = 0;
		} else {
			field.value = value;
		}
	}
}

function GL_findForm(formName) {
	for (var i=0; i<document.forms.length; i++) {
		if (document.forms[i].name == formName) {
		   	  return document.forms[i];
		}	    
	}
}

function GL_findFormField(fieldName) {
	for (var i=0; i<document.forms.length; i++) {
		for (var j=0; j<document.forms[i].length; j++) {
		   if (document.forms[i].elements[j].name == fieldName || document.forms[i].elements[j].id == fieldName) {
		   	  return document.forms[i].elements[j];
		   }
		}	    
	}
}

function GL_findField(form, fieldName) {
	var field = form[fieldName];
	if ( field ) {
		return field;
	}
	for (var i=0; i<form.length; i++) {
		if (form.elements[i].name == fieldName || form.elements[i].id == fieldName) {
		   	  return form.elements[i];
		}
	}
}

function GL_setCheckboxHiddenValue(evt, checkbox, id, checkedValue, uncheckedValue, isAutoSave, isAsyncEvent) {
	var hiddenField;
	
	var form = document.transactionForm;
	if (!form)
		form = document.mergeForm;
	for (var j=0; j<form.length; j++) {
		var el = form[j];
		if ( el.type == 'hidden' && (el.name == id || el.id == id) ) {
			hiddenField = el;
			break;
		}
	}	
	if ( hiddenField ) {
		var value;
		if ( checkbox.checked == true ) {
			value = checkedValue;
		} else {
			value = uncheckedValue;
		}
		hiddenField.value = value;
		if ( isAutoSave ) {
			GLTransaction.saveDataElement(hiddenField, isAsyncEvent);
		}		
		return hiddenField;
	}
	
}

function GL_showCalendar(fieldName, anchorName, formatIn) {
	var field = GL_findFormField(fieldName);
	var calendar = new CalendarPopup();	
	var format;
	if ( formatIn ) {
		format = formatIn;
	} else {
		format =  'MM/dd/yy';
	}
	calendar.setReturnFunction('GL_calendarSetInputValue');
	calendar.select(field, anchorName, format);
}

function GL_calendarSetInputValue(y,m,d){
	CP_tmpReturnFunction(y,m,d);
	setTimeout(function(){
			if (window.CP_targetInput){
				var target = window.CP_targetInput;
				if (target.onchange)
					target.onchange();
				if (target.onblur)
					target.onblur();
			}
		}, 5);
}


var GL_colorPicker;
function GL_showColorPicker(fieldName, anchorName) {
    var field = GL_findFormField(fieldName);
//	var colorPicker = new ColorPicker('window');
	if (!GL_colorPicker)
		GL_colorPicker = new DynamicColorPicker(document.body);
		
	if ((window.Core && !Core.isIE()) || !GL_isIE()){
		GL_colorPicker.mainDiv.style.position = 'fixed';
	}
//	colorPicker.select(field, anchorName);
	GL_colorPicker.setOkayCallback(window, 'GL_ColorPicker_pickColor');
	GL_colorPicker.setChangeCallback(window, 'GL_ColorPicker_pickColor');
	GL_colorPicker.setCancelCallback(window, 'GL_ColorPicker_restoreColor');
	GL_colorPicker.mainDiv.style.right = 0 + 'px';
	GL_colorPicker.mainDiv.style.top = 30 + 'px';
	var updateList = GL_getUpdateStyleList();
	var initColor = GL_storeCurrentColor(field.id);
	if (!initColor)
		initColor = [0,0,0];	
	GL_colorPicker.setColor(initColor);
	window.ColorPicker_targetInput = field;
	GL_colorPicker.show();
}

function GL_ColorPicker_pickColor(newColor){
	pickColor(newColor.colorStr);
	CSSInspector.refresh();
}

function GL_ColorPicker_restoreColor(oldColor){
	if (ColorPicker_targetInput==null) {
		return;
	}
	if ( ColorPicker_targetInput.id ) {
		GL_restorePreviousColor(ColorPicker_targetInput.id);
	}
	CSSInspector.refresh();
}

function GL_treeCloseOrExpandAll(overallControlImageId) {	
		var overallControlImage = findObject(overallControlImageId);
		var className;
		var labelImage;
		var controlImage;
		if( overallControlImage.status == "expanded" ) {
			className= 'clsShow';
			labelImage= ('image/folder_open.gif');
			controlImage= ('image/minus.gif');
			overallControlImage.src = ('image/mac_closed_arrow.gif');
			overallControlImage.status = "closed";
			overallControlImage.alt="Close all folders";
		} else {			
			className= 'clsHide';
			labelImage= ('image/folder_closed.gif');
			controlImage= ('image/plus.gif');
			overallControlImage.src = ('image/mac_open_arrow.gif');
			overallControlImage.status = "expanded";
			overallControlImage.alt="Expand all folders";
		}		
		for (i=0; i<document.all.length; i++) {
			if ( document.all[i].rank == 'operation' ) {
				document.all[i].className = className;
				document.all['labelImage'+document.all[i].idNumber].src = labelImage
				document.all['controlImage'+document.all[i].idNumber].src = controlImage
			}
		}
}	

function GL_submitToOperation(formName, submit, operationId){
	if (operationId){
		var form = GL_findForm(formName);	
		GL_findField(form, 'nextDisplayOperationId').value = operationId;	
	}
	GL_submitWait(formName, submit);
}

function GL_submitWait(formName, submit) {  
  submit.value = 'Please wait ...';
  submit.disabled = true;
  var form = document.forms[formName];
  var scrollLeft =  GL_findField(form, 'pageScrollLeft');
  if (scrollLeft){
  	scrollLeft.value = document.body.scrollLeft;
  	GL_findField(form, 'pageScrollTop').value = document.body.scrollTop;
  }
  
  var cacheRefresh = GL_findField(form, 'canCacheRefresh');
  if (cacheRefresh)
  	cacheRefresh.value = 'yes';
  form.submit();
  GL_ShowWaiting();
}
function GL_submitOnly(formName) {  
  document.forms[formName].submit();
  GL_ShowWaiting();
}
function GL_deactivateAndSubmitWait(formName, submit) {
  for (var j=0; j<document.forms.length; j++) {
    for (var i=0; i<document.forms[j].elements.length; i++) {
      if (document.forms[j].elements[i].type == "submit") {
	    document.forms[j].elements[i].disabled = true;
      }
    }
  }
  GL_submitWait(formName, submit);
}
function GL_formConfirm(formName, message) {
	var go = confirm(message);
	if ( go == true) {
		var subForm = document.forms[formName];
		if ( subForm ) {
			subForm.submit();
		}
 	}
}
function GL_linkConfirm(anchor, message) {
	var go = confirm(message);	
	if ( go == true ) {
		document.location.href=	anchor.href;
	} 
}
function GL_submitLink(event, submitter, link) {
	document.location.href=	link;
	submitter.disabled = true;
//	if ( submitter.type == 'button' ) {
//		submitter.value = 'Please wait ...';
//	}
}
function GL_buttonConfirm(url, message) {
	var go = confirm(message);	
	if ( go == true ) {
		document.location.href=	url;
	} 
}
function GL_buttonConfirmDisable(button, url, message) {
	var go = confirm(message);	
	if ( go == true ) {
		button.disabled = true;
		button.value = 'Please wait...';
		document.location.href=	url;
		
	} 
}
function GL_formButtonConfirm(formName, message) {
	var go = confirm(message);	
	if ( go == true ) {
		document.forms[formName].submit();
	} 
}

function GL_resetAction(formName, action) {
	document.forms[formName].action.value = action;
}

function DragDropper(source, dragSource){
	this.source = source;
	if (!dragSource){
		this.dragObj = source.parentNode.cloneNode(false);
		var clonedSource = source.cloneNode(true);
		this.dragObj.appendChild(clonedSource);
		clonedSource.onmousedown = null;
		clonedSource.onmouseover = null;
		clonedSource.onmouseout = null;
	}
	else{
		this.dragObj = source.cloneNode(true);
		DragDropper.clearActions(this.dragObj);
	}
	this.dragObj.style.position = 'absolute';
	document.body.appendChild(this.dragObj);	
}

DragDropper.prototype.setDragDisplayPosition = function(e){
	Core.setLeftTop(this.dragObj, e.clientX+2+document.body.scrollLeft,
	e.clientY+2+document.body.scrollTop);
}

DragDropper.prototype.endDrag = function(snapBack){
	if (!snapBack)
		document.body.removeChild(this.dragObj);
	else
		this.startSnapBack();
}

DragDropper.prototype.startSnapBack = function(){
	this.origin = Core.findLoc(this.source);
	var cbObj = this;
	this.snapBackIntId = setInterval(function(){cbObj.doSnapBack()}, 25);
}

DragDropper.prototype.doSnapBack = function(){
	var curPos = new Point(this.dragObj.offsetLeft, this.dragObj.offsetTop);
	var dx = curPos.x - this.origin.x;
	var dy = curPos.y - this.origin.y;
	Core.setLeftTop(this.dragObj, this.origin.x + .6 * dx, this.origin.y + .6 * dy);
	if (this.prevPos && this.prevPos.x == curPos.x && this.prevPos.y == curPos.y){
		clearInterval(this.snapBackIntId);
		document.body.removeChild(this.dragObj);
	}
	this.prevPos = curPos;
}

DragDropper.prototype.setRowDrag = function(updateSpandId, index, dragType){
	this.updateSpandId = updateSpandId;
	this.arrayIndex = index;
	this.dragType = dragType;
	this.isDragToTable = true;
}

DragDropper.prototype.getUpdateRow = function(id, e){
	if (this.dragType != DragDropper.NODE_DRAG_UPDATE_I)
		return;
	var node = Core.getNode(e);
	while (node._glUpdateRowTargetId != id){
		node = node.parentNode;
		if (!node)
			return;
	}
	return node;
}

DragDropper.prototype.tableDragEnd = function(arrayUpdateSpanId, tableId, e, params){
	if (this.displayOnly)
		return;
	this.dragCompleted = true;
	if (this.updateSpandId == arrayUpdateSpanId)
		return;
	var parameters = (this.parameters) ? this.parameters : [];
	parameters['rowDragType'] = this.dragType;
	for (var i in params){
		parameters[i] = params[i];
	}
	var targetRowI;
	if (this.dragType == DragDropper.NODE_DRAG_UPDATE_I){
		var row = this.getUpdateRow(tableId, e);
		targetRowI = row.sectionRowIndex;
	}
		
	GL_submitUpdateArrayForm(this.updateSpandId,
								'insertArrayElement', this.arrayIndex, 1,
								1, targetRowI, arrayUpdateSpanId, parameters);
}

DragDropper.clearActions = function(node){
	if (node.nodeType == 1){
		node.setAttribute('id', '_GL_DUMMY_ID');
		node.onmousedown = null;
		node.onmouseover = null;
		node.onmouseout = null;
	}
	for (var i in node.childNodes){
		DragDropper.clearActions(node.childNodes[i]);
	}
}

DragDropper.onMouseDown = function(source, e, value, isDragSource){
	DragDropper.currentDrag = new DragDropper(source, isDragSource);
	DragDropper.currentDrag.setDragDisplayPosition(e);
	DragDropper.currentDrag.value = value;
	Core.addEventHandler(document, 'mousemove', DragDropper.onMouseMove);
	Core.addEventHandler(document, 'mouseup', DragDropper.onMouseUp);
	return Core.preventDefault(e);
}

DragDropper.onMouseMove = function(e){
	DragDropper.currentDrag.setDragDisplayPosition(e);
	return Core.preventDefault(e);
}

DragDropper.onMouseUp = function(e){	
	Core.removeEventHandler(document, 'mousemove', DragDropper.onMouseMove);
	Core.removeEventHandler(document, 'mouseup', DragDropper.onMouseUp);
	DragDropper.currentDrag.endDrag(!DragDropper.currentDrag.dragCompleted);
	DragDropper.currentDrag = null;
//	return Core.preventDefault(e);
}

DragDropper.targetOnMouseUp = function(source, e, isAsyncEvent){
	if (!DragDropper.currentDrag ||
		DragDropper.currentDrag.isDragToTable)
		return;
	DragDropper.currentDrag.dragCompleted = true;
	source.value = DragDropper.currentDrag.value;
	if (source._glSlider){
		source._glSlider.onTextValueChange(source);
	}
	else
		GLTransaction.saveDataElement(source, isAsyncEvent);
	Core.removeClassName(source, 'dropTargetMouseOver');
}

DragDropper.draggableOnMouseOver = function(source, e){
	if (DragDropper.currentDrag)
		return;
	Core.appendClassName(source, 'draggableValueMouseOver');
}

DragDropper.draggableOnMouseOut = function(source, e){
	Core.removeClassName(source, 'draggableValueMouseOver');
}

DragDropper.targetOnMouseOver = function(source, e){
	if (!DragDropper.currentDrag ||
		DragDropper.currentDrag.isDragToTable)
		return;
	GLTransaction.setInitValue(source);
	Core.appendClassName(source, 'dropTargetMouseOver');
}

DragDropper.targetOnMouseOut = function(source, e){
	Core.removeClassName(source, 'dropTargetMouseOver');
}

DragDropper.initTableDragTarget = function(id, arrayUpdateSpanId){
	var parent = document.getElementById(id);
	var table = Core.findInNode(parent, 'row');
	if (!table)
		table = parent;
	function onTableMouseOver(e){
		if (!DragDropper.currentDrag ||
			!DragDropper.currentDrag.isDragToTable ||
			DragDropper.currentDrag.displayOnly)
			return;
		var row = DragDropper.currentDrag.getUpdateRow(id, e);
		if (DragDropper.currentDrag.dragType == DragDropper.NODE_DRAG_UPDATE_I && !row)
			return;
		Core.appendClassName((row) ? row : table, 'dropTargetMouseOver');
	}
	function onTableMouseOut(e){
		if (!DragDropper.currentDrag ||
			!DragDropper.currentDrag.isDragToTable ||
			DragDropper.currentDrag.displayOnly)
			return;
		var row = DragDropper.currentDrag.getUpdateRow(id, e);
		Core.removeClassName((row) ? row : table, 'dropTargetMouseOver');
	}
	function onTableMouseUp(e){
		if (!DragDropper.currentDrag ||
			!DragDropper.currentDrag.isDragToTable ||
			DragDropper.currentDrag.displayOnly)
			return;
		DragDropper.currentDrag.tableDragEnd(arrayUpdateSpanId, id, e);
	}

	if (table.tBodies){
		var rows = table.tBodies[table.tBodies.length-1].rows;
		for (var i=0;i<rows.length;i+=1){
			rows[i]._glUpdateRowTargetId = id;
		}
	}
	
	Core.addEventHandler(table, 'mouseover', onTableMouseOver);
	Core.addEventHandler(table, 'mouseout', onTableMouseOut);
	Core.addEventHandler(table, 'mouseup', onTableMouseUp);
}

DragDropper.moveTableRow = function(node, e, arrayUpdateUrlSpanId, index, dragType, displayOnly){
	DragDropper.onMouseDown(node.parentNode, e, null, true);
	DragDropper.currentDrag.setRowDrag(arrayUpdateUrlSpanId, index, dragType);
	DragDropper.currentDrag.displayOnly = displayOnly;
	return Core.preventDefault(e);
}


DragDropper.NODE_DRAG_MOVE_I = 0;
DragDropper.NODE_DRAG_COPY_I = 1;
DragDropper.NODE_DRAG_UPDATE_I = 2;