var isIE  = ( ( navigator.userAgent.indexOf( "MSIE" ) != -1 ) ? 1 : 0 );
var isFF  = ( ( navigator.userAgent.indexOf( "Firefox" ) != -1 ) ? 1 : 0 );
var isOpera  = ( ( navigator.userAgent.indexOf( "Opera" ) != -1 ) ? 1 : 0 );

initObj = new Array();

function Init()
{
	for(c = 0; c < initObj.length; c ++)
		initObj[c]();
}

function onResize(){}

function onContextMenu(){return false;}

window.onload = Init;

initObj[initObj.length] = function()
{	
	if(isIE && document.getElementById("maintdr2"))
		document.getElementById("maintdr2").style.height = document.getElementById("main").clientHeight - 152;
};

var req;

//Открыть синхронный request
function OpenRequest( url, par, delegate )
{
    if(window.ActiveXObject)
	    req = new ActiveXObject("Microsoft.XMLHTTP");
    else
	    req = new XMLHttpRequest();

	if( delegate ) req.onreadystatechange = delegate;
	req.open("POST", url, false);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" );
	req.send( par );
}

//Динамическая загрузка списка
function DynamicLoad ( select, url, displaymember, valuemember )
{
	var pars = ( url.indexOf( '?' ) > 0 ) ? url.substring( url.indexOf( '?' ) + 1, url.length ) : '';
	url = ( url.indexOf( '?' ) > 0 ) ? url.substring( 0, url.indexOf( '?' ) ) : url;

	if( pars.indexOf( 'debug' ) < 0 )
		pars = pars + '&debug=1';
	if( pars.indexOf( 'page-capacity' ) < 0 )
		pars = pars + '&page-capacity=0';
		
	OpenRequest( url, pars, null );
	if( req.responseXML )
	{
		var doc	= req.responseXML.documentElement;
		var trNodes = doc.getElementsByTagName( "tr" );

		var restore = false;
		var oldvalues = new Array();
		for( var i=0;i<select.options.length;i++ )
		{
			if( select.options[i].selected ) oldvalues[oldvalues.length] = select.options[i].value;
		}
		select.options.length = 0;

		if( !displaymember ) displaymember = 'name';
		if( !valuemember ) valuemember = 'unirowid';

		displaymember = displaymember.toLowerCase();		
		valuemember = valuemember.toLowerCase();

		var option = new Option ( "", "", false, false );
		select.options[0] = option;

		for (var i=0; i<trNodes.length; ++i) //"tr"
		{
			var id, text;
			var childs = trNodes[i].childNodes; // "td" 
			for (var j=0; j<childs.length; ++j)
			{
				var node = childs.item(j);

				for (var k=0; k<node.attributes.length; ++k)
				{
					if( node.getAttribute( "field" ).toLowerCase() == displaymember )
						text = node.getAttribute( "actual-value" );
					if( node.getAttribute( "field" ).toLowerCase() == valuemember )
						id = node.getAttribute( "actual-value" );
				}
			}
			var option = new Option ( text, id, false, false );
			select.options[select.length]=option;
			for( var j=0;j<oldvalues.length;j++ ) if( oldvalues[j] == id ) option.selected = true;	
		}
	}
	else
		ShowMessage( null, ErrorOccured, InvalidXMLReceived, null, null, true );
}

function createObj(tag, id, className, display, src)
{
	var cObj = document.createElement(tag);

	if(id)
		cObj.id = id;

	if(className)
		cObj.className = className;

	if(display)
		cObj.style.display = display;
		
	if(src)
		cObj.src = src;

	return cObj;
}

function addEvt(el, evname, func) {
	if (el.attachEvent) 
	{
		el.attachEvent("on" + evname, func);
	}
	else if (el.addEventListener) 
	{ 
		el.addEventListener(evname, func, true);
	}
	else 
	{
		el["on" + evname] = func;
	}
}

function remEvt(el, evname, func) {
	if (el.detachEvent) 
	{
		el.detachEvent("on" + evname, func);
	}
	else if (el.removeEventListener)
	{
		el.removeEventListener(evname, func, true);
	}
	else
	{
		el["on" + evname] = null;
	}
}

function getElement(ev)
{
	var evtEl = ev.target ? ev.target : ev.srcElement;
	
	return evtEl;
}

function Longer( field, length )
{
    return ( field.length > length );
}

function switchPicture(img)
{
	for(var k = 0; k < random_images.length; k ++)
	{		
		if(img.src.match(random_images[k]))
		{			
			if(k == (random_images.length - 1))
				img.src = "site/images/random/" + random_images[0];
			else
				img.src = "site/images/random/" + random_images[k + 1];
				
			return;
		}
	}
}
