function popup (adress) {
var popupwin = true;
var winl = 200;
var wint = 250;
if (adress!=0)
{
popupwin=window.open(adress,"Edit","toolbar=no,location=no,directories=yes,scrollbars=yes,status=yes,menubar=no,top=100,left=100,width=900,height=600");
}
else
{
window.setTimeout("location=''",100);
}
}
function popup_small (adres) {
var popupwin_small = true;

if (adres!=0)
{
popupwin_small=window.open(adres,"add","toolbar=no,location=no,directories=yes,scrollbars=yes,status=yes,menubar=no,top=100,left=250,width=340,height=150");
}
else
{
window.setTimeout("location=''",100);
}
}

var confirmMsg  = '__';


function confirmLink(theLink, text)
{
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }

    var is_confirmed = confirm(confirmMsg + ' \n' + text);
    if (is_confirmed) {
        theLink.href += '&is_js_confirmed=1';
    }

    return is_confirmed;
}

window.onload = function(){bscal.init()}
var bscal = {

    left : 0,
    top  : 0,
    width: 0,
    height: 0,
    format: "%Y-%m-%d",

    wds  : new Array("пн","вт","ср","чт","пт","сб","вс"),
    mns  : new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"),
    dim  : new Array(31,28,31,30,31,30,31,31,30,31,30,31),

    nowD : new Date().getDate(),
    nowM : new Date().getMonth()+1,
    nowY : new Date().getFullYear(),

	curD : null,
    curM : null,
    curY : null,

    minY : 1990,
    maxY : new Date().getFullYear() + 5,

    css  : document.createElement("link"),
    div  : document.createElement("div"),
    ifr  : document.createElement("iframe"),
    msel : null,
    ysel : null,
    obj  : null,
    id_to: null,
    hover: null,
	init : function()
	{
		
		bscal.css.rel = "stylesheet";
		bscal.css.href= "bs_calendar.css";
		document.body.appendChild(bscal.css);
        bscal.div.id = 'bscal';
        bscal.div.innerHTML = bscal.html();
        bscal.div.style.display = "none";
        document.body.appendChild(bscal.div);
        bscal.msel = document.getElementById("bs_month");
        bscal.msel.style.width = "100%";
        for (var i=0;i<bscal.mns.length;i++)
        bscal.msel.options[i] = new Option(bscal.mns[i], i+1);
        bscal.ysel = document.getElementById("bs_year");
        bscal.ysel.style.width = "100%";
        for (var i=0;i<=bscal.maxY-bscal.minY;i++)
        bscal.ysel.options[i] = new Option(bscal.maxY-i, bscal.maxY-i);

        bscal.ifr.id = 'bsifr';
		bscal.ifr.src = "about:blank";
        bscal.ifr.marginwidth = bscal.ifr.marginheight = bscal.ifr.frameborder = 0;
        bscal.ifr.style.display = "none";
		document.body.appendChild(bscal.ifr);
		//alert(bscal.nowD+'-'+bscal.nowM+'-'+bscal.nowY)
		//vote(document.getElementById("mdate"),document.getElementById("osos").value);
	},
	draw : function()
	{
        //очищаем дни
    	for (var y=1;y<=6;y++)
	    for (var x=1;x<=7;x++){
	    var el = document.getElementById("cell_"+y+"_"+x)
	    el.className   = (x <6) ? "day" : "weekend";
	    el.style.cursor = 'default';
	    el.innerHTML   = "&nbsp;";
	    }
        //alert(bscal.curD+'-'+bscal.curM+'-'+bscal.curY)
    	all_days = (bscal.curM == 2 && bscal.isLeap(bscal.curY)) ? 29 : bscal.dim[bscal.curM-1];
    	begin = new Date(bscal.curY,bscal.curM-1,1).getDay();

	    //заполняем месяц
         y=1; x=begin!=0 ? begin:7;
         for (c=1;c<=all_days;c++)
         {
         var el = document.getElementById("cell_"+y+"_"+x)
         if (bscal.istoday(c)){el.className="today";}
         el.innerHTML   = c;
         el.style.cursor = 'pointer';
         x++; if (x>7){x=1;y++;}
         }
	},
	retD : function(r_day){
        if (!r_day || r_day=="&nbsp;") return false;
        res = bscal.format;
	    res = res.replace("%d",(r_day < 10 ? "0":"") + r_day);
	    res = res.replace("%m",(bscal.curM<10?"0":"") + bscal.curM);
	    res = res.replace("%Y",bscal.curY);
	    bscal.obj.value = res;
		var bscalel = document.getElementById(bscal.id_to);
		//vote(document.getElementById("mdate"),document.getElementById("osos").value);
	    bscal.hide();
	},
	istoday : function(day){
    return (bscal.nowD==day && bscal.curM==bscal.nowM && bscal.curY == bscal.nowY) ? true : false;
	},

    dover : function(el){
    if (el.innerHTML=='&nbsp;') return false;
    bscal.hover = el.className;
    el.className = 'over';
    },
    dout  : function(el){
    if (el.innerHTML=='&nbsp;') return false;
    el.className = bscal.hover;
    bscal.hover = null;
    },
	today : function(){
    	bscal.curD = bscal.nowD;
    	bscal.curM = bscal.nowM;
    	bscal.curY = bscal.nowY;
        bscal.scroll_M(0);
	},
	change_M : function (dir){
    	bscal.curM = dir*1;
    	bscal.scroll_Y(0);
	},
    scroll_M : function (dir){
	    bscal.curM = bscal.curM + dir;
	    if (bscal.curM < 1) {
	        bscal.curM = 12;
	        bscal.curY -= 1;
	    }
	    if (bscal.curM > 12) {
	        bscal.curM = 1;
	        bscal.curY += 1;
	    }
        document.getElementById('bs_month').selectedIndex=bscal.curM-1
	    bscal.scroll_Y(0);
	},
    change_Y : function (dir){
    if (dir.length != 4) return false;
    bscal.curY = dir*1;
    bscal.scroll_Y(0);
    },
	scroll_Y : function (dir){
    	bscal.curY+= dir;
    	if (bscal.curY < bscal.minY) bscal.curY = bscal.minY;
    	if (bscal.curY > bscal.maxY) bscal.curY = bscal.maxY;
	document.getElementById('bs_year').value = bscal.curY;
	bscal.draw();
	},

    isLeap : function (year) {
	return (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)) ? true : false },

	html : function()
	{
	    var res  = "";
        res += "<table cellpadding=0 cellspacing=0 width='100%' class='top'>\n";
	    res += "<tr><td>BlackStone Календарь</td><td onclick='bscal.hide();' align=right style='cursor:pointer'>x</td></tr>\n";
	    res += "</table>";
	    res += "<table cellpadding=0 cellspacing=1 width=100% unselectable=on>\n";
	    res += "<tr unselectable=on><td colspan=4 unselectable=on><select id='bs_month' onchange=\"bscal.change_M(this.value);bscal.div.focus();\"></select></td><td colspan=2 unselectable=on><select id='bs_year' type='text' style='width:100%' onchange=\"bscal.change_Y(this.value);\" onkeyup=\"bscal.change_Y(this.value);\"></select></td><td>-</td></tr>\n";
	    res += "<tr unselectable=on align=center>\n";
	    for (var x=0;x<7;x++)
	    res += "<TD class=week width=30 unselectable=on>"+bscal.wds[x]+"</TD>\n";
	    res += "</tr>";
	    for (var y=1;y<=6;y++)
	    {
	    res += "<TR align=center unselectable=on bgcolor='#e2e2e2'>\n";
	        for (var x=1;x<=7;x++){
	        res += "<td id='cell_"+y+"_"+x+"' onmouseover=\"bscal.dover(this);\" onmouseout=\"bscal.dout(this);\" onclick=\"bscal.retD(this.innerHTML);\" unselectable=on>"+y+"_"+x+"</td>\n";
	        }
	    res += "</TR>\n";
	    }
	    res += "<tr align=center>\n"+
	           "<td class=bot onClick=bscal.scroll_Y(-1);>&laquo;</td><td class=bot onClick=bscal.scroll_M(-1);>&lt;</td>\n"+
	           "<td colspan=3 class=bot onClick=\"bscal.today();bscal.retD("+bscal.nowD+");\">сегодня</td>\n"+
	           "<td class=bot onClick=bscal.scroll_M(1);>&gt;</td><td class=bot onClick=bscal.scroll_Y(1);>&raquo;</td>\n"+
	           "</tr>\n";
	    res += "</table>";
	return res;},

	show : function(id_to,form) {
		forms=form;
    	if (id_to==bscal.id_to){
        bscal.hide(); return false;
    	}
        bscal.id_to = id_to;
		bscal.obj = document.getElementById(id_to);
    	var pos = bscal.pos(bscal.obj);
    		pos.x += bscal.left;
    		pos.y += bscal.obj.offsetHeight+bscal.top;

		bscal.today();
    if ((pos.y+bscal.height)>document.body.offsetHeight)pos.y-= bscal.height+bscal.obj.offsetHeight;
    if ((pos.x+bscal.width)>document.body.offsetWidth)pos.x = document.body.offsetWidth-bscal.width;
    bscal.div.style.display = "block";
    bscal.ifr.style.display = "block";
	bscal.width  = bscal.ifr.style.width  = bscal.div.offsetWidth;
	bscal.height = bscal.ifr.style.height = bscal.div.offsetHeight;	
    bscal.div.style.left = bscal.ifr.style.left = pos.x;
    bscal.div.style.top  = bscal.ifr.style.top  = pos.y;
	},

	hide : function() {
        bscal.id_to = null;
    	bscal.div.style.display = "none";
    	bscal.ifr.style.display = "none";
		//alert(forms)
		if (forms != 0) forms.submit();
		
	},
    pos  : function (el) {
        var r = { x: el.offsetLeft, y: el.offsetTop };
        if (el.offsetParent) {
                var tmp = bscal.pos(el.offsetParent);
                r.x += tmp.x;
                r.y += tmp.y;
        }
return r;}

};



function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
// javascript-код голосования из примера
function vote(svas,osos) {
	// (1) создать объект для запроса к серверу
	//sleep(1)
	var req = getXmlHttp()  
       
        // (2)
	// span рядом с кнопкой
	// в нем будем отображать ход выполнения
	var statusElem = document.getElementById('dates') 
	
	req.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (req.readyState == 4) { 
            // если запрос закончил выполняться

			//statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
		if (req.statusText == 'OK') {statusElem.innerHTML =req.responseText;} // показать статус (Not Found, ОК..)

			if(req.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				//alert("Ответ сервера: "+req.responseText);
				
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}
	
   
	var sva=svas.value;
	if (sva.length > 3)
	{
	//alert(svas);
       // (3) задать адрес подключения
	req.open('GET', 'ind1.php?dates='+sva+'&osos=' + osos, true);  
	//req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	req.send(null);  // отослать запрос
  
     }   // (5)
	statusElem.innerHTML = '' 
}
function load_p(book,page) {
	// (1) создать объект для запроса к серверу
	//sleep(1)
	var req = getXmlHttp()  
       
        // (2)
	// span рядом с кнопкой
	// в нем будем отображать ход выполнения
	var statusElem = document.getElementById('dates') 
	
	req.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (req.readyState == 4) { 
            // если запрос закончил выполняться

			//statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
		if (req.statusText == 'OK') {statusElem.innerHTML =req.responseText;} // показать статус (Not Found, ОК..)

			if(req.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				//alert("Ответ сервера: "+req.responseText);
				
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}
	
   
	var sva=svas.value;
	if (sva.length > 3)
	{
	//alert(svas);
       // (3) задать адрес подключения
	req.open('GET', 'ind1.php?dates='+sva+'&osos=' + osos, true);  
	//req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	req.send(null);  // отослать запрос
  
     }   // (5)
	statusElem.innerHTML = '' 
}
	
function Qwt(Hobj,Htype,Hdiv) {
	// (1) создать объект для запроса к серверу
	//sleep(1)
	var reqq = getXmlHttp()  
       
        // (2)
	// span рядом с кнопкой
	// в нем будем отображать ход выполнения
	var statusElems = document.getElementById(Hdiv) 
	document.getElementById(Hdiv).style.display='block';
	reqq.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (reqq.readyState == 4) { 
            // если запрос закончил выполняться
 
			//statusElems.innerHTML = reqq.statusText // показать статус (Not Found, ОК..)
		if (reqq.statusText == 'OK') {statusElems.innerHTML =reqq.responseText;} // показать статус (Not Found, ОК..)

			if(reqq.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				//alert("Ответ сервера: "+reqq.responseText);
				
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}
	
   
	var Hval=Hobj.value;
	if (Hval.length > 3)
	{
	//alert(Hval);
       // (3) задать адрес подключения
	 var Httpqw=  'qw.php?sel=' + Htype + '&valx=' + encodeURIComponent(Hval) + '&dhide=' + Hdiv ;
	reqq.open('GET', Httpqw , true);  
	//reqq.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	reqq.send(null);  // отослать запрос
  
     }   // (5)
	//statusElems.innerHTML = 'Ожидаю ответа сервера...' 
}
	
function QIntVal(Qobj,Qval,DHobj) {
document.getElementById(DHobj).style.display='none';
document.getElementById(Qobj).value = Qval;

}


function Hideview(DHobj,DHview) {
		document.getElementById(DHview).style.display='block';
		document.getElementById(DHobj).style.display='none';
		document.getElementById(DHview).focus();
	

}

function HInpSub(Hid,Htable,Htype,Hcol,Hrow,Hval,Hrev) {
	// (1) создать объект для запроса к серверу
	//sleep(1)
	var ReGet = getXmlHttp();
	//if (Hval=='')  return(0);
	//alert(Hval);
	
        // (2)
	// span рядом с кнопкой
	// в нем будем отображать ход выполнения
	var statusEl = document.getElementById(Hid);
		
	
	ReGet.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (ReGet.readyState == 4) { 
            // если запрос закончил выполняться
 
			//statusEl.innerHTML = ReGet.statusText // показать статус (Not Found, ОК..)
		if (ReGet.statusText == 'OK') { 
			//var matches = /!error!/.exec(ReGet.responseText);
				
										
										if ( Hrev == 0) {
										statusEl.innerHTML =ReGet.responseText;
										}	
										else
										{
										//statusEl.innerHTML =ReGet.responseText;
										}
										//if {preesenter==1} {Hinputtext(Hid,0);}
										} // показать статус (Not Found,		 ОК..)

			if(ReGet.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				//alert("Ответ сервера: "+ReGet.responseText);
			
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}
	
   
	//var Hval=Hobj.value;
	
	//alert(Hval);
       // (3) задать адрес подключения
	 var HttpGet=  'qw.php?sel=' + Htype + '&table=' +Htable + '&att[' + Hcol + ']='+ encodeURIComponent(Hval)+'&att_id=' + Hrow ;
	 //alert(HttpGet);
	ReGet.open('GET', HttpGet , true);  
	//ReGet.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	ReGet.send(null);  // отослать запрос
  
      // (5)
	//statusEl.innerHTML = 'Ожидаю ответа сервера...'
		
		//document.getElementById(Hid).focus();
		
}



var dragMaster = (function() {

    var dragObject
    var mouseDownAt
	//var dragObjects == new  Array();
	var currentDropTarget

	
	function mouseDown(e) {
		e = fixEvent(e)
		if (e.which!=1) return

 		mouseDownAt = { x: e.pageX, y: e.pageY, element: this }

		addDocumentEventHandlers()

		return false
	}


	function mouseMove(e){
		e = fixEvent(e)

		// (1)
		if (mouseDownAt) {
			if (Math.abs(mouseDownAt.x-e.pageX)<5 && Math.abs(mouseDownAt.y-e.pageY)<5) {
				return false
			}
			// Начать перенос
			var elem  = mouseDownAt.element
			// текущий объект для переноса
			dragObject = elem.dragObject
			elem.style.backgroundColor = 'teal';
			
			// запомнить, с каких относительных координат начался перенос
			var mouseOffset = getMouseOffset(elem, mouseDownAt.x, mouseDownAt.y)
			mouseDownAt = null // запомненное значение больше не нужно, сдвиг уже вычислен
			
			dragObject.onDragStart(mouseOffset) // начали
			
		}

		// (2)
		dragObject.onDragMove(e.pageX, e.pageY)
		
		// (3)
		var newTarget = getCurrentTarget(e)
		
		// (4)
		if (currentDropTarget != newTarget) {
			if (currentDropTarget) {
				currentDropTarget.onLeave()
			}
			if (newTarget) {
				newTarget.onEnter()
			}
			currentDropTarget = newTarget

		}
		
		// (5)
		return false
    }
	
	
    function mouseUp(){
		if (!dragObject) { // (1)
			mouseDownAt = null
		} else {
			// (2)
			if (currentDropTarget) {
				currentDropTarget.accept(dragObject)
				dragObject.onDragSuccess(currentDropTarget)
				//alert(dragObjects.length)
				alert(elem.x)
				//for(var i=0; i<dragObjects.length; i++) {
				
        //new DragObject(dragObjects[i]);
				//alert(dragObjects[i].onDragMove(e.pageX, e.pageY))
				//if (dragObjects[i].onDragMove(e.pageX, e.pageY) ;//////////////////////////
		  
		  
		  
				//}
				
				
				
				
				///////
			} 
			else {
				//dragObject.onDragFail()
			}

			dragObject = null
		}

		// (3)
		removeDocumentEventHandlers()
    }


	function getMouseOffset(target, x, y) {
		var docPos	= getOffset(target)
		//return {x:x - docPos.left, y:y - docPos.top} так было  , чтоб по всему екрану
		return {0:x - docPos.left, y:y - docPos.top}
	}

	
	function getCurrentTarget(e) {
		// спрятать объект, получить элемент под ним - и тут же показать опять
		
		if (navigator.userAgent.match('MSIE') || navigator.userAgent.match('Gecko')) {
			var x=e.clientX, y=e.clientY
		} else {
			var x=e.pageX, y=e.pageY
		}
		// чтобы не было заметно мигание - максимально снизим время от hide до show
		dragObject.hide()
		var elem = document.elementFromPoint(x,y)
		dragObject.show()
		
		// найти самую вложенную dropTarget
		while (elem) {
			// которая может принять dragObject 
			if (elem.dropTarget && elem.dropTarget.canAccept(dragObject)) {
				return elem.dropTarget
			}
			elem = elem.parentNode
		}
		
		// dropTarget не нашли
		return null
	}


	function addDocumentEventHandlers() {
		document.onmousemove = mouseMove
		document.onmouseup = mouseUp
		document.ondragstart = document.body.onselectstart = function() {return false}
	}
	function removeDocumentEventHandlers() {
		document.onmousemove = document.onmouseup = document.ondragstart = document.body.onselectstart = null
	}


    return {

		makeDraggable: function(element){
			element.onmousedown = mouseDown
		}
    }
}())

function fixEvent(e) {
	// получить объект событие для IE
	e = e || window.event

	// добавить pageX/pageY для IE
	if ( e.pageX == null && e.clientX != null ) {
		var html = document.documentElement
		var body = document.body
		e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0)
		e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0)
	}

	// добавить which для IE
	if (!e.which && e.button) {
		e.which = e.button & 1 ? 1 : ( e.button & 2 ? 3 : ( e.button & 4 ? 2 : 0 ) )
	}

	return e
}

function getOffset(elem) {
    if (elem.getBoundingClientRect) {
        return getOffsetRect(elem)
    } else {
        return getOffsetSum(elem)
    }
}

function getOffsetRect(elem) {
    var box = elem.getBoundingClientRect()
 
    var body = document.body
    var docElem = document.documentElement
 
    var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
    var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft
    var clientTop = docElem.clientTop || body.clientTop || 0
    var clientLeft = docElem.clientLeft || body.clientLeft || 0
    var top  = box.top +  scrollTop - clientTop
    var left = box.left + scrollLeft - clientLeft
 
    return { top: Math.round(top), left: Math.round(left) }
}

function getOffsetSum(elem) {
    var top=0, left=0
    while(elem) {
        top = top + parseInt(elem.offsetTop)
        left = left + parseInt(elem.offsetLeft)
        elem = elem.offsetParent        
    }
 
    return {top: top, left: left}
}

function DragObject(element) {
	
	
	element.dragObject = this
	
	dragMaster.makeDraggable(element)
	//dragObject.style.backgroundColor = 'teal';
	var rememberPosition
	var mouseOffset
	
	this.onDragStart = function(offset) {
		var s = element.style
		rememberPosition = {top: s.top, left: s.left, position: s.position}
		s.position = 'absolute'
		
		mouseOffset = offset
	}
		
	this.hide = function() {
		element.style.display = 'none' 
	}
	
	this.show = function() {
		element.style.display = '' 
	}
	
	this.onDragMove = function(x, y) {
		element.style.top =  y - mouseOffset.y +'px'
		element.style.left = x - mouseOffset.x +'px'
	}
	
	this.onDragSuccess = function(dropTarget) { }
	
	this.onDragFail = function() {
		var s = element.style
		s.top = rememberPosition.top
		s.left = rememberPosition.left
		s.position = rememberPosition.position
	}
	this.onDragPast = function() {
		var s = element.style
		s.top = rememberPosition.top
		s.left = rememberPosition.left
		s.position = rememberPosition.position
	}
	
	this.toString = function() {
		
		return element.id
	}
}


function DropTarget(element) {	
	//alert(element);
	element.dropTarget = this
	
	this.canAccept = function(dragObject) {
		//alert(dragObject);
		return true
	}
	
	this.accept = function(dragObject) {
		//this.onLeave()
		
		//dragObject.hide() /// //// что то тут добавить 
		alert(this)
		alert(LastObjId);
		/////////////////// получаем координаты всех кто ниже
				
		
		
		
		
		
		//alert("Акцептор '"+this+"': принял объект '"+dragObject+"'")
	}
	
	this.onLeave = function() {
		LastObjId=element.id;	
		element.className =  ''
	}
	
	this.onEnter = function() {
		element.className = 'uponMe'
		
		//alert(LastObjId);
	}
	
	this.toString = function() {
		return element.id
	}
	
}

