function getObjectByID( id, o )
{
	var c, el, els, f, m, n;
	if (!o) o = document;
	if (o.getElementById) el = o.getElementById(id); else 
		if (o.layers) c = o.layers; else
			if (o.all) el = o.all[id];
	if (el) return el;
	if (o.id==id || o.name==id) return o;
	if (o.childNodes) c = o.childNodes;
	if (c)
		for (n=0; n<c.length; n++)
		{
			el = getObjectByID(id,c[n]);
			if (el) return el;
		}; //for
	f = o.forms;
	if ( f )
		for (n=0; n<f.length; n++)
		{
			els = f[n].elements;
			for (m=0; m<els.length; m++)
			{
				el = getObjectByID(id,els[n]);
				if (el) return el;
			}; //for
		}; //for
	return null;
}; //func

function addBookmark( title, url )
{
	if ( document.all )
	{
		window.external.AddFavorite( url, title );
	} else
	if ( window.sidebar && window.sidebar.addPanel )
	{
		window.sidebar.addPanel( title, url, "" );
	} else
	if ( window.opera && window.print )
	{
		return true;
	}; //if
}; //func


function verifyIP( IPvalue )
{
	errorString = "";
	theName = "Ââåäåííîå çíà÷åíèå";

	var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
	var ipArray = IPvalue.match( ipPattern );

	if ( IPvalue == "0.0.0.0" )
		errorString = errorString + theName + ': ' + IPvalue + ' ñïåöèàëüíûé IP àäðåñ, êîòîðûé íå ìîæåò áûòü ïðîâåðåí.';
	else
	if ( IPvalue == "255.255.255.255" )
		errorString = errorString + theName + ': ' + IPvalue + ' ñïåöèàëüíûé IP àäðåñ, êîòîðûé íå ìîæåò áûòü ïðîâåðåí.';
	if ( ipArray == null )
		errorString = errorString + theName + ': ' + IPvalue + ' íåâåðíûé IP àäðåñ.';
	else
	{
		for ( i = 0; i < 4; i++ )
		{
			thisSegment = ipArray[i];
			if ( thisSegment > 255 )
			{
				errorString = errorString + theName + ': ' + IPvalue + ' íåâåðíûé IP àäðåñ.';
				i = 4;
			}; //if
			if ( ( i == 0 ) && ( thisSegment > 255 ) )
			{
				errorString = errorString + theName + ': ' + IPvalue + ' ñïåöèàëüíûé IP àäðåñ, êîòîðûé íå ìîæåò áûòü ïðîâåðåí.';
				i = 4;
			}; //if
		}; //for
	}; //if

	extensionLength = 3;
	if ( errorString == "" )
	{
		top.location.replace( '/' + IPvalue + '.html' );
	}
	else
		alert( errorString );
}; //func

function addEvent( obj, evType, fn )
{ 
	if ( obj.addEventListener )
	{
		obj.addEventListener(evType, fn, false);
		return true; 
	} else
	if ( obj.attachEvent )
	{
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else
	{ 
		return false; 
	}; //if
}; //func

function addInnerHTML( id, content )
{
	obj = getObjectByID( id );
	if ( obj && ( obj.innerHTML != "undefined" ) )
	{
		obj.innerHTML = obj.innerHTML + content;
	}; //if
}; //func

function speedtest_start()
{
	stest_time1 = new Date();
}; //func

function speedtest_stop( id )
{
	var timed;
	stest_time2 = new Date();
	timed = ( stest_time2.getTime() - stest_time1.getTime() ) / 1000;
	SpeedResult = Math.floor( 1508.819 / ( timed ) * 10 ) / 10;
	stest_result = Math.floor( SpeedResult * 8 );
	xajax_ajax_speedtest( id, Math.floor( SpeedResult * 8 ) );
}; //func