function bookmark( url, title ) {

     if( title == undefined ) title = document.title;
     if( url  == undefined )  url   = top.location.href;

     if( window.sidebar ) { // Firefox
          window.sidebar.addPanel( title, url, '' );
     } else if( window.opera && window.print ) { // Opera
          window.external.AddBookmark( url, title );
     } else if( window.external ) { // IE
          window.external.AddFavorite( url, title );
     }
     return false;

}

function loadflash( frame, flash ) {

     var frame     = document.getElementById( frame );
     var flash     = document.getElementById( flash );
     var html     = frame.contentWindow.document.body.innerHTML;

     pos1 = html.indexOf( "/*" );
     pos2 = html.indexOf( "*/" );
     html = html.substr( pos1+2, pos2-pos1-2 );

     flash.innerHTML = html;

}

/**
 * вывод списка элементов свойств объекта
 * @version 1.0b
 *
 * @param	object	name		// ссылка на объект
 * @return	string				// таблица параметров объекта
 */
function dom( name ) {

	var html = '<table border=1>';

	for( prop in name ) {

		html += '<tr><td>' + prop + '</td><td>' + name[prop] + '</td></tr>';

	}

	html += '</table>';

	return html;

}

/******************************************************************************/

/**
 * выполнение XMLHttpRequest запроса
 * @version	1.0b
 *
 * @param	string	send		// строка запроса
 * @param	object	item		// объект для возвращения данных
 */
function request( send, item ) {

	var req = window.XMLHttpRequest ?
		new XMLHttpRequest() :
		new ActiveXObject( "Microsoft.XMLHTTP" );

	req.onreadystatechange = function() {

		if( req.readyState==4 ) {

			if( item.value ) {

				item.value = req.responseText;

			} else if( item.innerHTML ) {

				item.innerHTML = req.responseText;

			} else {

				window.status = "Loaded:\n" + req.responseText;
				//dom( item )

			}

		}

	}

	req.open( "GET", "?do=" + send, true );
	req.send( null );

}

/******************************************************************************/

/**
 * получение видимой области страницы
 * @version	1.0b
 *
 * return	object				// width-ширина, height-высота
 */
function getsize() {

	var x, y;

	// общий синтаксис
	if( self.innerHeight ) {

		x = self.innerWidth;
		y = self.innerHeight;

	}

	// IE 6 Strict Mode
	else if( document.documentElement && document.documentElement.clientHeight ) {

		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;

	}

	// Остальные версии IE
	else if( document.body ) {

		x = document.body.clientWidth;
		y = document.body.clientHeight;

	}

	return { "width":x, "height":y };

}

/******************************************************************************/

/**
 * получение позиции скролинга
 * @version	1.0b
 *
 * return object				// top-горизонтальная прокрутка, left-вертикальная прокрутка
 */
function getscroll() {

	var scrOfX = 0, scrOfY = 0;

	// Netscape compliant
	if( typeof( window.pageYOffset )=="number" ) {

		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;

	}

	// DOM compliant
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {

		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;

	}

	// IE6 standards compliant mode
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {

		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;

	}

	return { "top":scrOfY, "left":scrOfX };

}

/******************************************************************************/

/**
 * получение абсолютных координат объекта
 * @version	1.0b
 *
 * @param	object	item		// ссылка  на объект
 * @return	object				// координаты объекта
 */
function getAbsolutePos( item ) {

	var data = { "x":item.offsetLeft, "y":item.offsetTop };

	if( item.offsetParent ) {

		var temp = getAbsolutePos( item.offsetParent );
		data.x += temp.x;
		data.y += temp.y;

	}

	return data;

}

/******************************************************************************/

/**
 * перетаскивание объекта
 * @version	1.0
 *
 * @param	object				// ссылка на перетаскиваемый объект
 */
function startdrag( obj ) {

	var left	= obj.offsetLeft-event.x;
	var top		= obj.offsetTop-event.y;

	var temp_mousemove		= document.onmousemove;
	var temp_selectstart	= document.selectstart;
	var temp_mouseup		= obj.onmouseup;
	var temp_styleposition	= obj.style.position;

	obj.style.position = "relative";

	document.onmousemove = function() {

		obj.style.left	= event.x + left;
		obj.style.top	= event.y + top;

	}

	document.onselectstart = function() {

		return false;

	}

	obj.onmouseup = function() {

		document.onmousemove	= temp_mousemove;
		document.onselectstart	= temp_selectstart;
		obj.onmouseout			= temp_mouseup;
		obj.style.position		= temp_styleposition;

	}

}

/******************************************************************************/

/**
 * пошаговое изменение размера и позиции контейнера
 * @version	1.0b
 *
 * @param	object	obj			// ссылка на объект
 * @param	int		w			// конечная ширина контейнера
 * @param	int		h			// конечная высота контейнера
 * @param	int		t			// горизонтальная позиция контейнера
 * @param	int		l			// вертикальная позиция контейнера
 * @param	int		step		// количество шагов
 */
function resize( id, w, h, l, t, step ) {

     var object = document.getElementById( id );
     

     var object_w = object.offsetWidth;
     var object_h = object.offsetHeight;

     var object_l = object.offsetLeft;
     var object_t = object.offsetTop;
     
     object.style.position = "absolute";

     object.style.width  = (w-object_w)/step + object_w + "px";
     object.style.height = (h-object_h)/step + object_h + "px";
     
     object.style.left = (l-object_l)/step + object_l + "px";
     object.style.top  = (t-object_t)/step + object_t + "px";
     
     
     if( step>1 ) {  
          setTimeout( "resize(\'" + id + "\'," + w + "," + h + "," + l + "," + t + "," + (step-1) + ");", 30 );
     }

}

/******************************************************************************/

/**
 * загрузка Flash объекта
 * @version	1.1
 *
 * @param	string	frame		// загрузочный фрейм
 * @param	string	flash		// контейнер для Flash объекта
 * @param	string	data		// путь к люъекту и стартовые параметры
 * @param	int		w			// ширина объекта
 * @param	int		h			// высота объекта
 */
function loadflash( frame, flash, data, id, w, h ) {

	var frame	= document.getElementById( frame );
	var flash	= document.getElementById( flash );
	var html	= frame.contentWindow.document.body.innerHTML;

	pos1 = html.indexOf( "/*" );
	pos2 = html.indexOf( "*/" );
	html = html.substr( pos1+2, pos2-pos1-2 );

	html = html.replace( /\{\#l1\}/, data );
	html = html.replace( /\{\#l2\}/, data );
	html = html.replace( /\{\#w1\}/, w );
	html = html.replace( /\{\#w2\}/, w );
	html = html.replace( /\{\#h1\}/, h );
	html = html.replace( /\{\#h2\}/, h );
	html = html.replace( /\{\#n1\}/, id );
	html = html.replace( /\{\#n2\}/, id );

	flash.innerHTML = html;

}

/******************************************************************************/

/**
 * передача параметров в Flash плеер
 * @version	1.0b
 *
 * @param	object	obj			// ссылка на Flash объект
 * @param	string	vars		// название переменной
 * @param	string	data		// значение переменной
 * @param	string	numb		// количество попыток передачи данных
 */
function toflash( obj, vars, data, numb ){

	//obj = document.getElementById(obj);
	//obj = document.flash_color_id;
	//alert( obj );

	if( numb==undefined ) {

		numb = 0;

	} if( obj ){

		obj.SetVariable( vars, data );

	} else if( numb>1 ) {

		setTimeout( "to_flash( " + obj + ",'" + vars + "','" + data + "','" + (numb-1) + "')", 100 );

	}

}

/******************************************************************************/

/**
 * изменение состояния переключателя
 * @version	1.0b
 *
 * @param	object	item		// ссылка на объект
 * @param	bool	stat		// состояние переключателя
 */
function changestate( item, stat ) {

	if( !item ) {

		return false;

	}

	for( var x=0; x<item.childNodes.length; x++ ) {

		var temp = item.childNodes[x];

		if( temp.tagName=="INPUT" ) {

			if( !temp.disabled && temp.type=="checkbox" ) {

				temp.checked = stat;

			}

		}

		else if( item.childNodes[x].childNodes.length>0 ) {

			changestate( item.childNodes[x], stat );

		}

	}

}

/******************************************************************************/

/**
 * переход на указанный раздел
 * @version	1.0b
 *
 * @param	object	page		// идентификатор раздела
 */
function go( page ) {

	document.location = "?go="+page;

}  

function getScrollPosition() {
    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == "number" ) {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return {"top":scrOfY, "left":scrOfX};
}



function showimage( obj, name, w, h ) {

     var box_back = document.getElementById("showimage_box_back");
     var box      = document.getElementById("showimage_box");

     box.innerHTML = "";
     obj.style.position = "absolute";

     box_back.style.display = "";
     box.style.display = "";

     box_back.style.width = document.body.offsetWidth;
     box_back.style.height = document.body.offsetHeight + 10;

     box.style.width = obj.offsetWidth + "px";
     box.style.height = obj.offsetHeight + "px";

     box.style.left = obj.offsetLeft + "px";
     box.style.top = obj.offsetTop + "px";

     obj.style.position = "";
     //hider( document.body, false );

     var size = getsize();
     var scroll = getScrollPosition();
     var top = size[1]<h ? 20 : (size[1]-h)/2;
     top += scroll.top;
     top = Math.round(top);

     resize( "showimage_box", w, h, Math.round((document.body.offsetWidth-w)/2), top, 10 );
     setTimeout( "document.getElementById(\'showimage_box\').innerHTML=\'<img src=" + name +" />\'", 320 );

}

function closeimage() {

     var box_back = document.getElementById("showimage_box_back");
     var box = document.getElementById("showimage_box");

     //hider( document.body, true );

     box_back.style.display = "none";
     box.style.display = "none";

}   


function on_move(obj){
    alert(obj);
    //obj.style.border = "3px solid red";
}
      

//<input type="checkbox" name="choice1" id="choice1" /> <label for="choice1" accesskey="1">Choice <u>1</u>