/* Copyright � 2000-2006 Dennis Bekkering 
 * Comeniusstraat 61 
 * 1065 BH Amsterdam 
 * The Netherlands. 
 * All rights reserved 
 */
document.onmousemove = new Object();
document.onmousemove = document_onmousemove ;
function document_onmousemove (event){


	
	var xevent = getEvent(event);

	if(window.droppingState){
		return false;
	}
	

	
	if(window.draggingState  ){

		window.enterDroptarget = xevent.srcElement;
		var dragContentHolder = get('dragContentHolder');
		dragContentHolder.style.cursor='hand';

		if(!window.draggingCount){
			window.draggingCount=1;
		}
		window.draggingCount++;
		if(draggingCount<10){
//			return;
		}
		window.draggingCount='';
//		window.originalEventY=y;

//		window.originalComponentX  = dragContentHolder.clientLeft;
//		window.originalComponentY  = dragContentHolder.clientTop;
		
		dragContentHolder.style.left = window.originalComponentX  - (window.originalEventX - xevent.clientX);
		dragContentHolder.style.top = window.originalComponentY  - (window.originalEventY - xevent.clientY);
		
		return false;	
	}


	if(
		(window.ax && xevent.srcElement.onmousemove && new String(xevent.srcElement.onmousemove).substring(0,8) != 'function'
		)
		||
		(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmousemove 
				&& new String(xevent.srcElement.parentNode.onmousemove).substring(0,8) != 'function'
		)
		
	){


		var newEvent = '';
		var oldEvent  ;
		
			
		var td =(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmousemove
				&& new String(xevent.srcElement.parentNode.onmousemove).substring(0,8) != 'function');
		var cid ;
		if(td){
			oldEvent = xevent.srcElement.parentNode.onmousemove;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldEvent = xevent.srcElement.onmousemove;
			cid=xevent.srcElement.getAttribute("componentId");
		}
		
		
		
		while(oldEvent.indexOf('this') != -1){
			var start = oldEvent.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldEvent.substring(0,start);
			newEvent += firstPart;
			newEvent += 'searchComponent("'+ cid +'")';
			oldEvent = oldEvent.substring(end);
		}
		newEvent += oldEvent;
		var ret = eval( 'function x(){'+ newEvent +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}

		
	window.currentMouseX = xevent.clientX;
	window.currentMouseY = xevent.clientY;

	if(window.mode=='waitCapture'){
		
		var mouseFocus = get('MouseFocus');
		//mouseFocus.style.visibility='visible';
		 
	//	mouseFocus.style.borderTop='2px solid white';
	//	mouseFocus.style.borderBottom='2px solid white';
	//	mouseFocus.style.borderLeft='2px solid black';
	//	mouseFocus.style.borderRight='2px solid black';
		mouseFocus.style.left=xevent.pageX + 10;
		mouseFocus.style.top=xevent.pageY + 10;
		
		mouseFocus.innerHTML='';
		mouseFocus.style.width=20;
		mouseFocus.style.height=16;
		if(mouseFocus.style.visibility!='visible'){
			mouseFocus.style.visibility='visible';	
		}

	}
	else if (window.mode=='moveWaitForCapture'){
		window.originalEventX = xevent.clientX;
		window.originalEventY = xevent.clientY;
		
		var mouseFocus = get('MouseFocus');
		
		mouseFocus.innerHTML='';
		var style = window.currentDebug.style;
		
		if (window.capturePropertyEditorX){
			window.originalElementXVal = extractNumber( style[
				window.capturePropertyEditorX.getAttribute('property')]);
		}
		
		
		
		if (window.capturePropertyEditorY){
			window.originalElementYVal = extractNumber( style[
				window.capturePropertyEditorY.getAttribute('property')]);
		}
		
		window.mode='captureProperty';
	//	alert();
	}
	if(window.mode=='captureProperty'){
		
		setPropertyEditors(xevent);
	}


	var el = xevent.srcElement;
	var autoscroll = false;
/*	
	if(el && el.getAttribute && el.getAttribute("autoScroll")){
		window.currentAutoScroll = el.parentNode;
		var entered = false;
		if(!el.parentNode.entered){
	//		alert('el.entered parent');
			window.currentAutoScroll.isMoving = true;
			entered=true;
			
		}
		el.parentNode.entered = true;
		autoscroll = true;
		
		var pixelLeft = el.style.left.substring(0,el.style.left.length-2);
		
		pixelLeft 	=	parseInt( xevent.offsetX ) + parseInt( pixelLeft)
		var children = el.parentNode.childNodes;
		var i =0;
		window.currentAutoScroll.pixelLeft = pixelLeft;
		for(i=0;i<children.length;i++){
			var child = children[i];
			if(child.getAttribute && child.getAttribute("autoScroll") ){
				autoScrollElement(child,pixelLeft);
			}
		}
	}
	else {
//		alert('child always el.entered='+el.id + " " + el.entered);
		var pixelLeft 	=	xevent.offsetX ;
		var children = el.childNodes;
		var i =0;
		var entered = false;
		for(i=0;i<children.length;i++){
			var child = children[i];

			if(child.getAttribute && child.getAttribute("autoScroll") ){
				autoscroll =true;
				window.currentAutoScroll = el;				

				if(!el.entered){
					window.currentAutoScroll.isMoving = true
					entered=true;
				}
				el.entered = true;
				autoScrollElement(child,pixelLeft  );
			}
		}
		if(autoscroll){
			window.currentAutoScroll.pixelLeft = pixelLeft;
		}
		
	}
*/
//	if(el && el.getAttribute && !el.getAttribute("autoScroll")){
//		while(){
			
//		}
//		if(window.currentAutoScroll ){

//			alert('leave window.currentAutoScroll = ' +
//				window.currentAutoScroll.id);
			
//			window.currentAutoScroll.entered='';
//			window.currentAutoScroll.isMoving='';
//			window.currentAutoScroll ='';
	//	}
//	}	
}


function autoScrollElement(el, pixelLeft , entered ){


		//el.innerHTML+= pixelLeft + ' - ';

		if(el.isMoving){
			return;
		}
		
		


		if(!window.currentAutoScroll.scrollCount ){
			window.currentAutoScroll.scrollCount=1;
		}
		else{
			window.currentAutoScroll.scrollCount++;
		}

		
		var winWidth = el.parentNode.style.width.substring(0,el.parentNode.style.width.length-2);
	//	alert(winWidth );
	//	alert(el.clientWidth);
	//	alert(pixelLeft);
		var realWidth = el.clientWidth;
		var factor = (winWidth / realWidth) ;
		var factor2 = ( realWidth / winWidth ) ;

		var zoomLeftPerc = (pixelLeft  / winWidth )  ;
				
						
		var realLeft = zoomLeftPerc * realWidth;
		var realLeft2 = zoomLeftPerc * factor2;
//		alert( zoomLeft );

		var step = 20;

//		alert(realWidth );
		
		var l = - realLeft + pixelLeft;
		//if(l > -3 &&  l < 3){
		//	l=0;
		//}
		if(!el.id){
			idc++;
			el.id = 'idc' + idc;
		}
		
		var nl = el.style.left.substring(0,el.style.left.length-2);
	
		var from = nl;
		var to = l;
		

	//	alert(to);
	
//		if( entered  ){
//			alert('moveit');
			el.isMoving=true;
			setTimeout( 'mover(\'' + el.id +'\','+l+','+step+','+(from > to )+')'  , 1 );			

//			el.innerHTML = 'dir=' + ( from > to ? 'left' : 'right');
//			el.innerHTML += '<br>to=' + l;
	
//		}
//		else{		
			//el.style.left=l;
//		}
				

}
var idc=0;
function mover(elid , l , step , dir){

	
	
	var el = get(elid);
	
	
	
	//el.innerHTML='&nbsp;' + dir + '&nbsp;' + dir + '&nbsp;' + dir;
	var nowLeft = el.style.left.substring(0,el.style.left.length-2);
//	alert( dir   );
//	if(l>0){
//		l=0;
//	}
	
	if( dir && (parseInt(nowLeft) - parseInt(step) ) < l ){
		el.style.left=l;
		el.isMoving='';
		if(window.currentAutoScroll.pixelLeft<0){
			window.currentAutoScroll.pixelLeft=0;
		}
//		else if(window.currentAutoScroll.pixelLeft > getIntValue(window.currentAutoScroll.style.width) ){
//			window.currentAutoScroll.pixelLeft=getIntValue(window.currentAutoScroll.style.width);
//		}
		if(window.currentAutoScroll.pixelLeft){
	//		alert( window.currentAutoScroll.pixelLeft  );
			if(window.currentAutoScroll.pixelLeft != el.currentAutoScrollPixelLeft ){
				autoScrollElement(el , window.currentAutoScroll.pixelLeft );		
				el.currentAutoScrollPixelLeft = window.currentAutoScroll.pixelLeft;
			}
		}

		//autoScrollElement(el , window.currentAutoScroll.pixelLeft );
		return;
	}
	else if( !dir && (parseInt(nowLeft) + parseInt(step) ) > l ){
		el.style.left = l;
		el.isMoving='';
		if(window.currentAutoScroll.pixelLeft<0){
			window.currentAutoScroll.pixelLeft=0;
		}
//		else if(window.currentAutoScroll.pixelLeft > getIntValue(window.currentAutoScroll.style.width) ){
//			window.currentAutoScroll.pixelLeft=getIntValue(window.currentAutoScroll.style.width);
//		}
		if(window.currentAutoScroll.pixelLeft){
//			alert( window.currentAutoScroll.pixelLeft  );
			if(window.currentAutoScroll.pixelLeft != el.currentAutoScrollPixelLeft ){
				autoScrollElement(el , window.currentAutoScroll.pixelLeft );		
				el.currentAutoScrollPixelLeft = window.currentAutoScroll.pixelLeft;
			}
		}
		//alert( window.currentAutoScroll.pixelLeft );

		return;
	}
	
	if(!dir){

		el.style.left = parseInt(nowLeft) + parseInt(step);
//		alert(dir + " .. " +nowLeft  + '  ' + step + ' el.style.left= ' + el.style.left );
	}
	else{
		
		el.style.left = parseInt(nowLeft) - parseInt(step);
//		alert( dir +'  '+ el.style.left );
	}
	setTimeout( 'mover(\'' + el.id +'\','+l+','+step+','+dir+')'  , 1 );
	
}

function getIntValue(str){
	return str.substring(0,str.length-2);
}



function autoscrollIt(el,xevent){
		
		if(navigator.userAgent.indexOf("Safari")!=-1){
			el.parentNode.style.overflow='scroll';
			return;
		}
		
		window.currentAutoScroll = el.parentNode;
		var entered = false;
		if(!el.parentNode.entered){
	//		alert('el.entered parent');
			window.currentAutoScroll.isMoving = true;
			entered=true;
		}
		
		if(window.ax){
			//alert('activex');
			//alert(event.offsetX);
		}
		el.parentNode.entered = true;
		autoscroll = true;
		
		var pixelLeft = el.style.left.substring(0,el.style.left.length-2);

		var offsetX = 		findOffsetX(xevent , el , xevent.srcElement); 
		pixelLeft 	=	parseInt( offsetX ) + parseInt( pixelLeft);
		
//	for(p in event)		alert( p +);
	//info(el);
		

//		alert(offsetX);

	//alert( xevent.srcElement.clientLeft);
		var children = el.parentNode.childNodes;
		var i =0;
		window.currentAutoScroll.pixelLeft = pixelLeft;
		for(i=0;i<children.length;i++){
			var child = children[i];
			
			if(child.getAttribute && child.getAttribute("autoScroll")){
				autoScrollElement(child,pixelLeft,entered);
			}
		}
//		window.currentAutoScroll.onmouseout = autoScrollOut;
}


function autoScrollOut(){
//	if(!autoscroll && window.currentAutoScroll ){
//		alert('leave window.currentAutoScroll = ' +window.currentAutoScroll.id);
//		window.currentAutoScroll.entered='';
//		window.currentAutoScroll.isMoving='';
//		window.currentAutoScroll ='';
//	}	

}

function findOffsetX(xevent , el , xevent_srcElement){


	if(!window.ax || xevent_srcElement.parentNode == el ){
//		alert(xevent.offsetX);
		return xevent.offsetX;
	}
	else {
		var ret = xevent.offsetX;
		var par =xevent_srcElement;
		var last;
		var td;
		while(par != el){
			
			ret+=par.clientLeft;
			if(par.tagName != 'TBODY' && par.tagName != 'TR' ){
				last=par;
			}
			if(par.tagName == 'TD' ){
				td=par;
			}
			par=par.parentNode;
		}
		
		var children;
		if(el.tagName == 'TABLE'){
			children = last.parentNode.childNodes;
		}
		else{
			children = el.childNodes;
		}
		var i;
		for(i=0;i<children.length;i++){
			var child = children[i];
			if(child == last){
				break;
			}
			ret+=child.clientWidth;
		}
		return ret;
		
	}
}


function getY(e){
	var y=getYParent(e);
//	while(){
	
//	}
	return y;
}

function prev(){
}

function getYParent(e){

	e=e;
//	alert(e.offsetHeight);
	var y=0;
	//message('-->' + getPreviousSibling(e));		
	while(getPreviousSibling(e)){
	//	info(e);
//		message('y='+e.clientHeight);		
		y+=e.offsetHeight;
		e=getPreviousSibling(e);
	}
//	alert(y);
	return y;
}

function getX(e){
	var x=getXParent(e);
//	while(){
	
//	}

	return x;
}
function getXParent(e){
	var x=e.clientHeight;
	while(e.previousSibling){
		e=e.previousSibling;
		x+=e.clientHeight;
	}
	return x;
}

function getRealLeft(e) {
	
	if (e.getBoundingClientRect) {//ie
		return e.getBoundingClientRect().left + document.body.scrollLeft;
		
	}
	else {//firefox
		var t = document.getBoxObjectFor( e ).x;
		var minScroll=0;
		while(e.parentNode.tagName != 'BODY'){
			minScroll += e.scrollLeft;
			e=e.parentNode;
		}
		return t - minScroll;
	}
}
function getRealTop(e) {
	if (e.getBoundingClientRect) {//ie
		return e.getBoundingClientRect().top + document.body.scrollTop;
	}
	else {//firefox
		var t = document.getBoxObjectFor( e ).y;
		var minScroll=0;
		while(e.parentNode.tagName != 'BODY'){
			minScroll += e.scrollTop;
			e=e.parentNode;
		}
		return t - minScroll;
	}
}

function getDragable(e) {
	

	
	if(e.getAttribute && e.getAttribute('drag')) {
		return e;
	}
	
	while(e.tagName && e.tagName!='BODY') {
	
		if(e.getAttribute && e.getAttribute('drag')) {
			return e;
		}
		e=e.parentNode;
	}
	return null;
}

function dragComponent(e,xevent){
	
	
	
	e = getDragable(e) ;
	
	if(window.draggingState) {
		return;
	}

	var x;
	var y;

	window.originalEventX=xevent.clientX;
	window.originalEventY=xevent.clientY;

	x=getRealLeft(e);
	
	y=getRealTop(e);	
	
	window.originalComponentY = y;
	window.originalComponentX = x ;



	var inner;	
	if(window.ax){
		inner = e.outerHTML;
	}
	else{
		inner = '<' +e.tagName + ' ' ;	
		var i;
		for(i=0;i<e.attributes.length;i++){
			inner+= e.attributes[i].name + '="' + e.attributes[i].value + '" ';
		//	alert(e.attributes[i].name );
		}
		if(e.tagName != 'IMG'){
			inner += '>'+e.innerHTML+'</'+e.tagName + '>' ;	
		}
		
	
	}
	
	var dragContentHolder = get('dragContentHolder');
	dragContentHolder.style.cursor='move';
	//alert(e.outerHTML);
	window.originalComponent=e;
	


	dragContentHolder.style.top=window.originalComponentY  ;
	dragContentHolder.style.left=window.originalComponentX  ;


	dragContentHolder.innerHTML=inner;

//	dragContentHolder.firstChild.style.margin=0;
//	dragContentHolder.firstChild.style.top=0;
//	dragContentHolder.firstChild.style.left=0;
	window.draggingState=1;
//	alert( e.filters.alpha );
	if(e.filters && e.filters.alpha){
//		e.filters.alpha.opacity=20;
	}
	e.style.visibility='hidden';
	window.dropTarget=searchComponent(e.getAttribute('dropTarget') );
//	window.dropTarget.style.zIndex=1000;
//	dragContentHolder.style.zIndex=-1;

	//setTimeout("document.body.style.cursor='move';",1);
	
//	window.dropTarget.onmouseover = function(){
//		//alert('over');
//	}


	return false;	
}



document.onclick =  document_onclick;
function document_onclick(event)
{
	
	

	var xevent = getEvent(event);

	if(isDragable(xevent.srcElement)){
//		dragComponent(xevent.srcElement.parentNode,xevent);
		return false;
	}
	
	
//	return ;
	
	if(xevent.srcElement.type == 'file' && window.ax && 
		new String(xevent.srcElement.onchange).substring(0,8) != 'function'){
		var newClick = '';
		var oldClick  ;
		
		var cid ;
		oldClick = xevent.srcElement.onchange;
		cid=xevent.srcElement.getAttribute("componentId");
		
		while(oldClick.indexOf('this') != -1){
			var start = oldClick.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldClick.substring(0,start);
			newClick += firstPart;
			newClick += 'searchComponent("'+
				cid		+'")';
			oldClick = oldClick.substring(end);
		}
		newClick += oldClick ;
		var ret = eval( 'function x(){'+ newClick +';};searchComponent("'+xevent.srcElement.getAttribute('componentId')+'").onchange = x ;' );
//		xevent.srcElement.onchange = ret;
		
	}
	
	var jc = xevent.srcElement.getAttribute('javaClassName');
	if(xevent.srcElement.tagName=='BODY' || xevent.srcElement.tagName=='HTML'
		//|| jc=='com.myvision.gui.InPageMessageBox'
		){
		//hideMainMenu();
	}
	//alert(xevent.srcElement.onclick  );
	if(
	
			(window.ax && xevent.srcElement.onclick && new String(xevent.srcElement.onclick).substring(0,8) != 'function')
			||
			(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onclick 
				&& new String(xevent.srcElement.parentNode.onclick).substring(0,8) != 'function')
			){
		var newClick = '';
		var oldClick  ;
		
		var td =(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onclick 
				&& new String(xevent.srcElement.parentNode.onclick).substring(0,8) != 'function');
		var cid ;
		if(td){
			oldClick = xevent.srcElement.parentNode.onclick;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldClick = xevent.srcElement.onclick;
			cid=xevent.srcElement.getAttribute("componentId");
		}
		
		while(oldClick.indexOf('this') != -1){
			var start = oldClick.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldClick.substring(0,start);
			newClick += firstPart;
			newClick += 'searchComponent("'+
				cid		+'")';
			oldClick = oldClick.substring(end);
		}
		newClick += oldClick ;
		var ret = eval( 'function x(){'+ newClick +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}
	if (xevent.srcElement.tagName!='INPUT'){
		if(getTop().hideOptionChooser) {
			getTop().hideOptionChooser();	
		}
	}
	var func = window[ xevent.srcElement.className + "_init_onclick" ];
	if(func){
		func( xevent.srcElement , xevent );
	}
	return xevent.srcElement.getAttribute('javaClassName');
}



document.onmouseout =  document_onmouseout;
function document_onmouseout(xevent)
{

	xevent = xevent ? xevent : event;				
	if(!xevent.srcElement)
	{
		xevent.srcElement = xevent.target;	
	}

	if(
		(window.ax && xevent.srcElement.onmouseout && new String(xevent.srcElement.onmouseout).substring(0,8) != 'function')
		||
		(window.ax && xevent.srcElement.parentNode.tagName == 'TR' &&  xevent.srcElement.parentNode.onmouseout &&  new String(xevent.srcElement.parentNode.onmouseout).substring(0,8) != 'function')
		){
		var newEvent = '';
		var tr =(window.ax && xevent.srcElement.parentNode.tagName == 'TR' &&  xevent.srcElement.parentNode.onmouseout &&  new String(xevent.srcElement.parentNode.onmouseout).substring(0,8) != 'function');
		var oldEvent ;
		var cid ;
		if(tr){
			oldEvent = xevent.srcElement.parentNode.onmouseout;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldEvent = xevent.srcElement.onmouseout;
			cid=xevent.srcElement.getAttribute("componentId");
		}

		while(oldEvent.indexOf('this') != -1){
			var start = oldEvent.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldEvent.substring(0,start);
			newEvent += firstPart;
			newEvent += 'searchComponent("'+ cid +'")';
			oldEvent = oldEvent.substring(end);
		}

		newEvent += oldEvent;
		var ret = eval( 'function x(){'+ newEvent +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}
	var func = window[ xevent.srcElement.className + "_init_onmouseout" ];
	if(func){
		func( xevent.srcElement , xevent );
	}
}

function isDragable(e) {
	
	if(!e) {
		return false;
	}
	
	if(e.getAttribute && e.getAttribute('drag')) {
		return true;
	}
	
	while(e.tagName && e.tagName!='BODY') {
	
		if(e.getAttribute && e.getAttribute('drag')) {
			return true;
		}
		e=e.parentNode;
		if(e==null) {
			return false;
		}
	}
	return false;
}

document.onmousedown =  document_onmousedown;
function document_onmousedown(xevent)
{
	

	xevent = xevent ? xevent : event;				
	if(!xevent.srcElement)
	{
		xevent.srcElement = xevent.target;	
	}


	if(isDragable(xevent.srcElement)){
		dragComponent(xevent.srcElement,xevent);
		return false;
	}


	if(
		(window.ax && xevent.srcElement.onmousedown && new String(xevent.srcElement.onmousedown).substring(0,8) != 'function'
		)
		||
		(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmousedown 
				&& new String(xevent.srcElement.parentNode.onmousedown).substring(0,8) != 'function'
		)
		
	){


		var newEvent = '';
		var oldEvent  ;
		
			
		var td =(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmousedown
				&& new String(xevent.srcElement.parentNode.onmousedown).substring(0,8) != 'function');
		var cid ;
		if(td){
			oldEvent = xevent.srcElement.parentNode.onmousedown;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldEvent = xevent.srcElement.onmousedown;
			cid=xevent.srcElement.getAttribute("componentId");
		}
		
		
		
		while(oldEvent.indexOf('this') != -1){
			var start = oldEvent.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldEvent.substring(0,start);
			newEvent += firstPart;
			newEvent += 'searchComponent("'+ cid +'")';
			oldEvent = oldEvent.substring(end);
		}
		newEvent += oldEvent;
		var ret = eval( 'function x(){'+ newEvent +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}
	var func = window[ xevent.srcElement.className + "_init_onmousedown" ];
	if(func){
		func( xevent.srcElement , xevent );
	}
}



function fireDeadFunction(f , activeItem){
	try{
		if(window.ax){
			var newEvent = '';
			var oldEvent  ;
		
			var cid ;
			oldEvent = f;
			cid=activeItem.getAttribute("componentId");
		
		
			while(oldEvent.indexOf('this') != -1){
				var start = oldEvent.indexOf('this') ;
				var end = start + 4 ;
				var firstPart = oldEvent.substring(0,start);
				newEvent += firstPart;
				newEvent += 'searchComponent("'+ cid +'")';
				oldEvent = oldEvent.substring(end);
			}
			newEvent += oldEvent;
		//	alert(newEvent);
			if(newEvent.substring(0,6)=='return'){
				eval(newEvent.substring(6) );
			}
			else{
				eval( newEvent );
			}
		}
	}
	catch(e){
		err(fireDeadFunction,e);
	}
}


document.onmouseup =  document_onmouseup;
function document_onmouseup(event)
{
	
	var xevent = getEvent(event);

//	info( xevent.target );
	var main = get('main');


	if(window.draggingState){
		
	
	
		
		dragContentHolder = get('dragContentHolder');
		var dragContentHolderLeft = getRealLeft(dragContentHolder); 
		var dragContentHolderTop = getRealTop(dragContentHolder); 
		
		
	
		if( 
				dragContentHolderLeft + dragContentHolder.clientWidth < getRealLeft(window.dropTarget) 
				|| 
				dragContentHolderLeft  > getRealLeft(window.dropTarget) +  window.dropTarget.clientWidth
				||
				dragContentHolderTop + dragContentHolder.clientHeight  < getRealTop(window.dropTarget) 
				|| 
				dragContentHolderTop  > getRealTop(window.dropTarget) +  window.dropTarget.clientWidth
				
		) {
			get('dragContentHolder').style.cursor='';
			get('dragContentHolder').innerHTML=get('dragContentHolder').innerHTML;
			
			
			
			window.originalComponent.style.visibility='visible';
			
			
			setTimeout('window.draggingState="";window.droppingState=""',100);
			setTimeout('get("dragContentHolder").innerHTML="";get("dragContentHolder").style.left=0',100);
			return;
		}
		
		window.droppingState=1;
		window.originalComponent.style.visibility='hidden';
		var t = document.forms[0].target;		 
		document.forms[0].componentId.value = window.originalComponent.getAttribute('componentId');
		document.forms[0].target = 'hiddenSubmitter';
		
		document.forms[0].submit(); 
		document.forms[0].target=t;
		setTimeout('window.draggingState="";window.droppingState=""',100);
		var dragContentHolder = get('dragContentHolder');
		dragContentHolder.innerHTML='';
		
		return;
		
		
		
	}

	if(
	
			(window.ax && xevent.srcElement.onmouseup && new String(xevent.srcElement.onmouseup).substring(0,8) != 'function')
			||
			(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmouseup
				&& new String(xevent.srcElement.parentNode.onmouseup).substring(0,8) != 'function')
			)
	{
		var newClick = '';
		var oldClick  ;
		
		var td =(window.ax 
				&& xevent.srcElement.tagName == 'IMG'
				&& xevent.srcElement.parentNode.onmouseup 
				&& new String(xevent.srcElement.parentNode.onmouseup).substring(0,8) != 'function');
		var cid ;
		if(td){
			oldClick = xevent.srcElement.parentNode.onmouseup;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldClick = xevent.srcElement.onmouseup;
			cid=xevent.srcElement.getAttribute("componentId");
		}
		
		while(oldClick.indexOf('this') != -1){
			var start = oldClick.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldClick.substring(0,start);
			newClick += firstPart;
			newClick += 'searchComponent("'+
				cid		+'")';
			oldClick = oldClick.substring(end);
		}
		newClick += oldClick ;
		var ret = eval( 'function x(){'+ newClick +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}
}

document.onmouseover =  document_onmouseover;
function document_onmouseover(event)
{
	var xevent = getEvent(event);
	
	var bb = get('buttonBorder');
	
	if(bb && bb.client && xevent.srcElement != bb && xevent.srcElement.className != 'DataRowButtonImage'
	 	&& xevent.srcElement.className != 'ButtonImage'  ){
		bb.client='';
		bb.style.display='none';
		if(window.curDataRow ){
			window.curDataRow.style.backgroundColor = window.curDataRow.getAttribute('originalBackgroundColor'); 					
		}
	}
	
	if(
		(window.ax && xevent.srcElement.onmouseover && new String(xevent.srcElement.onmouseover).substring(0,8) != 'function')
		||
		(window.ax && xevent.srcElement.parentNode.tagName == 'TR' &&  xevent.srcElement.parentNode.onmouseover &&  new String(xevent.srcElement.parentNode.onmouseover).substring(0,8) != 'function')
		)
	{
		var newEvent = '';
		var tr =(window.ax && xevent.srcElement.parentNode.tagName == 'TR' &&  xevent.srcElement.parentNode.onmouseover &&  new String(xevent.srcElement.parentNode.onmouseover).substring(0,8) != 'function');
		var oldEvent ;
		var cid ;
		if(tr){
			oldEvent = xevent.srcElement.parentNode.onmouseover;
			cid=xevent.srcElement.parentNode.getAttribute("componentId");
		}
		else{
			oldEvent = xevent.srcElement.onmouseover;
			cid=xevent.srcElement.getAttribute("componentId");
		}

		while(oldEvent.indexOf('this') != -1){
			var start = oldEvent.indexOf('this') ;
			var end = start + 4 ;
			var firstPart = oldEvent.substring(0,start);
			newEvent += firstPart;
			newEvent += 'searchComponent("'+ cid +'")';
			oldEvent = oldEvent.substring(end);
		}
		newEvent += oldEvent;
		var ret = eval( 'function x(){'+ newEvent +';};window.ret = x()' );
		if(ret == false){
			return false;
		}
	}
	
	
	var func = window[ xevent.srcElement.className + "_init_onmouseover" ];
	if(func){
		func( xevent.srcElement , xevent );
	}
	if(xevent.srcElement.id!='buttonBorder'){
		window.currentComponent = xevent.srcElement;
	}
}
