/*
// 2005-12-08
// Copyright (c) Art. Lebedev | http://www.artlebedev.ru/
// Author - Vladimir Tokmakov
*/

function cmnInformation(){
	var eHTML = document.getElementsByTagName( 'html' )[0];
	this.sUser_agent = navigator.userAgent.toLowerCase();
	if( window.opera ){
		this.bOpera = true; cmnSet_class( eHTML, 'Opera');
	}
	if( !this.bOpera && this.sUser_agent.indexOf( 'msie' ) != -1 ){
		this.bIE = true; cmnSet_class( eHTML, 'IE');
	}else if( navigator.product == 'Gecko' ){
		this.bGecko = true; this.bMozilla = true; cmnSet_class( eHTML, 'Mozilla');
	}
	this.bMAC = ( this.sUser_agent.indexOf( 'mac' ) != -1 );
	this.sLanguage = null;
	this.bHTTP = null;
	this.bHandheld = false;
	return this;
}

function cmnPlaceholder( eThis, sText, sClass_on_empty ){
	eThis.onfocus = function(){ if( eThis.value.length && eThis.value == sText ){ eThis.value = ''; } cmnRemove_class( this, sClass_on_empty ); eThis.select(); };
	eThis.onblur = function(){ if( !this.value.length ){ cmnSet_class( this, sClass_on_empty ); this.value = sText; } };
	if( !eThis.value.length ){ eThis.onblur(); }
	if( !eThis.getAttribute( 'placeholder' ) ){ eThis.setAttribute( 'placeholder', sText ); }
}

var cmn_aPopup_defaults = [
	["width", 670],
	["height", 650],
	["location", "no"],
	["menubar", "no"],
	["toolbar", "no"],
	["resizable", "yes"],
	["scrollbars", "yes"],
	["status", "yes"]
];
var cmn_aPopup = new Array();
function cmnPopup( sURL, sName, sFeatures, bReplace ){
	var sTarget = sName;
	if( !sURL.length ){
		if( sURL && sURL.tagName.toLowerCase() == "a" ){
			if( !sName ){ sName = ( sURL.id ) ? sURL.id : "_blank"; }
			sURL = sURL.href;
		}else{
			return false;
		}
	}else if( !sName ){
		sName = "_blank";
	}
	for( var i = 0 ; i < cmn_aPopup_defaults.length ; i++ ){
		if( !cmnPairs_string_get_value( sFeatures, cmn_aPopup_defaults[i][0], "=", "," ) ){
			sFeatures = cmnPairs_string_set_value( sFeatures, cmn_aPopup_defaults[i][0], cmn_aPopup_defaults[i][1], "=", "," );
		}
	}

	var iWidth = cmnPairs_string_get_value( sFeatures, "width", "=", "," );
	var iHeight = cmnPairs_string_get_value( sFeatures, "height", "=", "," );
	if( screen ){
		var iScreen_height = screen.height ? screen.height - 150 : 0;
		var iScreen_width = screen.width ? screen.width - 100 : 0;
		var bScroll = false;
		if( iScreen_height < iHeight ){ bScroll = true; iHeight = iScreen_height; sFeatures = cmnPairs_string_set_value( sFeatures, "height", iHeight, "=", "," ); }
		if( iScreen_width < iWidth ){ bScroll = true; iWidth = iScreen_width; sFeatures = cmnPairs_string_set_value( sFeatures, "width", iWidth, "=", "," ); }
		if( bScroll ) {
			sFeatures = cmnPairs_string_set_value( sFeatures, "scrollbars", "yes", "=", "," );
		}
		sFeatures = cmnPairs_string_set_value( sFeatures, "top", Math.round( ( iScreen_height - iHeight ) / 2 ), "=", "," );
		sFeatures = cmnPairs_string_set_value( sFeatures, "left", Math.round( ( iScreen_width - iWidth ) / 2 ), "=", "," );
	}

	if( sURL.match(/\.(gif|jpe?g|png)$/i) ){
		cmn_aPopup[sName] = window.open( "", sName, sFeatures );
		if( cmn_aPopup[sName] ){
			var sTitle = unescape( cmnPairs_string_get_value( sFeatures, "title", "=", "," ) );
			sTitle = sTitle.replace( /<\/?\w[^>]*>/g, " " ).replace( /</g, "&lt;" ).replace( /</g, "&lt;" ).replace( /"/g, "&quot;" );
			cmn_aPopup[sName].document.open();
			cmn_aPopup[sName].document.write('<html><head><title>'
				+ sTitle
				+ '</title></head><body bgcolor="white" style="margin: 0px; padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"><tr><td align="center"><img src="'
				+ sURL + '" alt="'
				+ sTitle + '" /></td></tr></table></body></html>');
			cmn_aPopup[sName].document.close();
		}
	}else{
		if( sURL.match(/\.(swf)$/i) ){
			cmn_aPopup[sName] = window.open( "", sName, sFeatures );
			//cmn_aPopup[sName] = window.open( "", sName );
			if( cmn_aPopup[sName] ){
				var sTitle = unescape( cmnPairs_string_get_value( sFeatures, "title", "=", "," ) );
				sTitle = sTitle.replace( /<\/?\w[^>]*>/g, " " ).replace( /</g, "&lt;" ).replace( /</g, "&lt;" ).replace( /"/g, "&quot;" );
				cmn_aPopup[sName].document.open();
				cmn_aPopup[sName].document.write('<html><head><title>'
					+ sTitle + '</title>'
					+ '<script src="http://alfabank.ru/f/1/global/swfobject2.2.js" type="text/javascript"></script>'
					+ '</head><body bgcolor="white" style="margin: 0px; padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"><tr><td align="center">'
					+ '<div id="to_flash"></div>'
					+ '<script type="text/javascript">swfobject.embedSWF("'+sURL+'","to_flash","100%","100%","9.0.0","/f/1/global/expressInstall.swf")</script>'
					+ '</td></tr></table></body></html>');
				cmn_aPopup[sName].document.close();
			}
		}else{
			var bWas_open = false;
			try{ bWas_open = ( cmn_aPopup[sName] && cmn_aPopup[sName].location.href != sURL ); }catch(e){}
			if( !cmn_aPopup[sName] || cmn_aPopup[sName].closed || !bWas_open ){
				if( sTarget && sTarget.match( /^_/ ) ){
					cmn_aPopup[sName] = window.open( sURL, sTarget );
				}else{
					cmn_aPopup[sName] = window.open( sURL, sName, sFeatures, bReplace );
				}
			}
		}
	}
	if( sName != "_blank" ){
		cmn_aPopup[sName].focus();
	}

	return false;
}

var cmn_oInformation  = new cmnInformation();

function cmnInit_Information(){
	cmn_oInformation.sLanguage = ( document.body && document.body.getAttribute( "lang" ) != "" ) ? document.body.getAttribute( "lang" ) : "ru";
	cmn_oInformation.bHTTP = ( document.location.href.indexOf("http://") == 0 ) ? true : false;
}

cmnAdd_event( window, "load", cmnInit_Information );

function cmnFlash(){
	var aeFlash = new Array();
	this.build = function( vEnabled, vDisabled, vNone, iVersion  ){
		var vVersion = this.get_version( iVersion );
		if( vVersion.toString() != "false" ){
			this.enable();
			vVersion = this.get_version( iVersion );
		}
		if( vVersion ){
			if( vEnabled.nodeType )	vEnabled.style.display = "block";
			else document.write( build_object(vEnabled) );
			if( vDisabled.nodeType ) vDisabled.style.display = "none";
			if( vNone.nodeType ) vNone.style.display = "none";
		}else{
			if( vEnabled.nodeType ) vEnabled.style.display = "none";
			if( vDisabled.nodeType ) vDisabled.style.display = "block";
			else if( vDisabled ) document.write( vDisabled );
			if( parseInt(vVersion) == 0 );
				if( vNone.nodeType ) vNone.style.display = "block";
				else if( vNone ) document.write( vNone );
		}
	};
	this.get_version = function( iVersion ){
		var vVersion = cmnGet_cookie( "flash" );
		if( !vVersion ){
			vVersion = check_flash_version( iVersion );
			set_flash_cookie( vVersion );
			return vVersion;
		}else if( iVersion && iVersion > vVersion ){
			vVersion = false;
		}
		return ( vVersion == "false" ) ?  false : vVersion;
	};
	this.disable = function(){
		set_flash_disabled( true );
	};
	this.enable = function(){
		set_flash_disabled( false );
	};
	this.set_disabled = function( bDisabled ){
		set_flash_disabled( bDisabled );
	};

	return this;

	function build_object( sOptions ){
		var asOptions = sOptions.split( "," );
		for( var i = 0 ; i < asOptions.length ; i++){
			asPair = asOptions[i].split( "=" );
			asOptions[asPair[0]] = unescape( asPair[1] );
		}
		var sHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" style="z-index: 1;"';
		sHTML += 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"' + 'width="' + asOptions.width + '" height="' + asOptions.height + '" align="middle">' + '<param name="allowScriptAccess" value="sameDomain">' + '<param name="movie" value="' + asOptions.source + '">' + '<param name="quality" value="high">';
		if( asOptions.base ){ sHTML += '<param name="base" value="' + asOptions.base + '">'; }
		if( asOptions.background ){ sHTML += '<param name="bgcolor" value="' + asOptions.background + '">'; }
		if( asOptions.transparent ){ sHTML += '<param name="wmode" value="opaque">'; }
		if( asOptions.transparentReal ){ sHTML += '<param name="wmode" value="transparent">'; }
		if( asOptions.flashvars ){ sHTML += '<param name="flashvars" value="' + asOptions.flashvars + '">'; }
		sHTML += '<embed quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"' + ' pluginspage="http://www.macromedia.com/go/getflashplayer"' + ' src="' + asOptions.source + '" width="' + asOptions.width + '" height="' + asOptions.height + '"';
		if( asOptions.base ){ sHTML += ' base="' + asOptions.base + '"'; }
		if( asOptions.background ){ sHTML += ' bgcolor="' + asOptions.background + '"'; }
		if( asOptions.transparent ){ sHTML += ' wmode="opaque"'; }
		if( asOptions.transparentReal ){ sHTML += ' wmode="transparent"'; }
		if( asOptions.flashvars ){ sHTML += ' flashvars="' + asOptions.flashvars + '"'; }
		sHTML += '></embed></object>';
		return sHTML;
	}
	function set_flash_disabled( bDisabled ){
		set_flash_cookie( ( bDisabled ) ?  "false" : "" );
	}
	function check_flash_version( iVersion ){
		if( navigator.plugins && navigator.plugins['Shockwave Flash'] ){
			var sVersion = ( !iVersion ) ? "\\d+" : "[" + iVersion + "-9]\\d*";
			sVersion = parseInt( navigator.plugins['Shockwave Flash'].description.replace( new RegExp( "^[^\\d]+(" + sVersion + ").*$"), "$1" ) );
			return ( isNaN( sVersion ) ) ? ( !iVersion ) ? false : 0 : sVersion;
		}else if( cmn_oInformation.bIE && !cmn_oInformation.bMAC ){
			var oTemp, iMax = 20;
			iVersion = ( !iVersion ) ? 3 : iVersion;
			for( var i = iVersion ; i < iMax ; i++ ){
				try{
					oTemp = new ActiveXObject( "ShockwaveFlash.ShockwaveFlash." + i );
					iVersion = i;
				}catch(e){
					return ( i > iVersion ) ? iVersion : 0;
				}
			}
			return iVersion;
		}else{
			return ( !iVersion ) ? false : 0;
		}
	}
	function set_flash_cookie( sCookie_value ){
		var dNow = new Date();
		var dExpires = new Date();
		dExpires.setTime( dNow.getTime() + 1000 * 60 * 60 * 24 * 365 );
		cmnSet_cookie( "flash", ( !sCookie_value ) ? "" : sCookie_value, dExpires );
	}
}

function cmnSet_cookie( sName, vValue, dExpires ){
   document.cookie = sName + "=" + escape( vValue )
	   + ( dExpires == null ? "" : ( "; expires=" + dExpires.toGMTString() ) )
	   + "; path=/";
}

function cmnGet_cookie( sName ){
	return cmnPairs_string_get_value( document.cookie, sName );
}

function cmnSwitch_class( eOn, sClass_name, sInstead ){
	if( cmnMatch_class( eOn, sClass_name ) ){
		cmnSet_class( eOn, sInstead, sClass_name );
	}else{
		cmnSet_class( eOn, sClass_name, sInstead );
	}
}

function cmnRemove_class( eOn, sClass_name ){
	cmnSet_class( eOn, "", sClass_name );
}

function cmnSet_class( eOn, sClass_name, sInstead ){
	if( eOn ){
		sClass_name = ( sClass_name.length ) ? sClass_name.replace( /(^\s+|\s+$)/, "" ) : "";
		if( eOn.className.length ){
			var sOld = sClass_name;
			if( sInstead && sInstead.length ){
				sInstead = sInstead.replace( /\s+(\S)/g, "|$1" );
				if( sOld ){
					sOld += "|";
				}
				sOld += sInstead;
			}
			eOn.className = eOn.className.replace( new RegExp("(^|\\s+)(" + sOld +")($|\\s+)", "g"), "$1" );
		}
		eOn.className += ( eOn.className.length && sClass_name ? " " : "" ) + sClass_name;
	}
}

function cmnMatch_class( eOn, sClass_name ){
	return ( sClass_name && eOn.className && eOn.className.length && eOn.className.match( new RegExp("(^|\\s+)(" + sClass_name +")($|\\s+)") ) );
}

function cmnPairs_string_get_value( sText, sName, sFrom, sBefore ){
	var sValue = "";
	if( sText ){
		if( !sFrom ) sFrom = "=";
		if( !sBefore ) sBefore = ";";
		sText = sText.replace( new RegExp( "(" + sBefore + ")\\s+", "g" ), "$1" );
		var iStart = sText.indexOf( sBefore + sName + sFrom );
		if( iStart >= 0 ){
			iStart += ( sBefore.length + sName.length + sFrom.length );
		}else{
			iStart = sText.indexOf( sName + sFrom );
			if( iStart == 0 ){
				iStart += ( sName.length + sFrom.length );
			}else{
				iStart = -1;
			}
		}
		if( iStart >= 0 ){
			var iEnd = sText.indexOf( sBefore, iStart );
			if( iEnd < 0 ){
				iEnd = sText.length;
			}
			sValue = sText.substring( iStart, iEnd );
		}
	}
	return sValue;
}

function cmnPairs_string_set_value( sText, sName, sValue, sFrom, sBefore ){
	if( !sFrom ) sFrom = "=";
	if( !sBefore ) sBefore = ";";
	var iStart = -1;
	if( sText ){
		sText = sText.replace( new RegExp( "\\s+(" + sBefore + "|" + sFrom + ")\\s+", "g" ), "$1" );
		iStart = sText.indexOf( sBefore + sName + sFrom );
		if( iStart >= 0 ){
			iStart += ( sBefore.length + sName.length + sFrom.length );
		}else{
			iStart = sText.indexOf( sName + sFrom );
			if( iStart == 0 ){
				iStart += ( sName.length + sFrom.length );
			}else{
				iStart = -1;
			}
		}
		if( iStart >= 0 ){
			var iEnd = sText.indexOf( sBefore, iStart );
			if( iEnd < 0 ){
				iEnd = sText.length;
			}
			sText = sText.substring( 0, iStart ) + sValue + sText.substr( iEnd );
		}
	}
	if( iStart < 0 ){
		if( sText && sText.lastIndexOf( sBefore ) != ( sText.length - sBefore.length ) ){
			sText += sBefore;
		}
		sText += sName + sFrom + sValue + sBefore;
	}
	return sText;
}

function cmnAdd_button_events( eOn ){
	cmnAdd_hover( eOn );
	cmnAdd_event( eOn, "mousedown", function(){ cmnSet_class( eOn, "mousedown" ); } );
	cmnAdd_event( eOn, "mouseup", function(){ cmnSwitch_class( eOn, "mousedown", "mouseup" ); } );
}

function cmnAdd_hover( eOn ){
	cmnAdd_event( eOn, "mouseover", function(){ cmnSet_class( eOn,    "hover" ); } );
	cmnAdd_event( eOn, "mouseout",  function(){ cmnRemove_class( eOn, "hover" ); } );
}

function cmnAdd_events( eOn, asEvent_type, ptrFunction ){
	for( var sName in asEvent_type ){
		cmnAdd_event( eOn, asEvent_type[sName], ptrFunction );
	}
}

function cmnAdd_event( eOn, sEvent_type, ptrFunction ){
	if( eOn.addEventListener ){
		eOn.addEventListener( sEvent_type, ptrFunction, false );
	}else{
		if( !ptrFunction.$$guid ){ ptrFunction.$$guid = cmnAdd_event.guid++; }
		if( !eOn.events ){ eOn.events = {}; }
		var aHandler = eOn.events[sEvent_type];
		if( !aHandler ){
			aHandler = eOn.events[sEvent_type] = {};
			if( eOn['on' + sEvent_type] ){ aHandler[0] = eOn['on' + sEvent_type]; }
			eOn['on' + sEvent_type] = cmnHandle_event;
		}
		aHandler[ptrFunction.$$guid] = ptrFunction;
	}
}
cmnAdd_event.guid = 1;

function cmnRemove_event( eOn, sEvent_type, ptrFunction ){
	if( eOn.removeEventListener ){
		eOn.removeEventListener( sEvent_type, ptrFunction, false );
	}else if( eOn.events && eOn.events[sEvent_type] && ptrFunction.$$guid ){
		delete eOn.events[sEvent_type][ptrFunction.$$guid];
	}
}

function cmnHandle_event( event ){
	event = event || cmnFixe_event( window.event );
	var returnValue = true;
	var aHandler = this.events[event.type];
	for( var i in aHandler ){
		if( !Object.prototype[i] ){
			this.$$ptrFunction = aHandler[i];
			if( this.$$ptrFunction(event) === false ){ returnValue = false; }
		}
	}
	if( this.$$ptrFunction ){ this.$$ptrFunction = null; }

	return returnValue;
}

function cmnFixe_event( event ){
	event.preventDefault = cmnFixe_event.preventDefault;
	event.stopPropagation = cmnFixe_event.stopPropagation;
	return event;
}
cmnFixe_event.preventDefault = function(){
	this.returnValue = false;
};
cmnFixe_event.stopPropagation = function(){
	this.cancelBubble = true;
};

function cmnInit_tels(){
	var aeNOBR = document.getElementsByTagName( 'nobr' );
	for( var i = 0 ; i < aeNOBR.length ; i++)
		if( cmnMatch_class( aeNOBR[i], 'phone' ) )
			aeNOBR[i].innerHTML = '<a href="tel:' + aeNOBR[i].innerHTML.replace( /(<\/?\w[^>]*>|[\s\,\.\;\-\(\)]+)/g, '' ) + '">' + aeNOBR[i].innerHTML + '</a>';
}


function checkEvent(oEvt){
	oEvt=(oEvt) ? oEvt : ( (window.event) ? window.event : null );
	if(oEvt && oEvt.srcElement && !window.opera)
		oEvt.target=oEvt.srcElement;
	return oEvt;
}

/* thermo3.js */
/*
 * Градусник, вер. 3
 * (c) Art. Lebedev Studio <http://www.artlebedev.ru/>
 * 2006-06-26
 * Автор: Leechy <leechy@design.ru>
 */

/* имена элементов и классов  */
var sThermoListTag = 'ul';                       /* тэг элемента, содержащий градусник  */
var sThermoListClass = 'thermo';                 /* класс элемента градусника  */

var sThermoItemTag = 'li';                       /* тэг пункта градусника  */
var sThermoItemClass = 'item';                   /* если нужно взять все такие элементы, класс == пустая строка  */

var sThermoItemOver = 'over';                    /* класс элемента при наведении мыши  */
var sThermoItemOpen = 'open';                    /* класс элемента при открытом подменю  */

var sThermoImagesTag = 's'                       /* тэг в котором хранятся картинки  */
var sThermoImageOverClass = 'over';              /* класс картинки, появляющаяся при наведении мыши  */
var eThermoImageOver = new Image();
eThermoImageOver.src = '/f/1/global/thermo-over.gif';        /* прелоад картинки  */

	/* списки с пунктами подменю  */
var sThermoMenuListPrefix = 'thermo';            /* префикс, дописываемый к ID списка с пунктами  */
var sThermoMenuItemTag = 'li';                   /* тэг пункта подменю (должен быть ребенок списка)  */
var sThermoMenuItemTagsToCopy = 'span,a';        /* тэги, элементов, которых нужно копировать  */

	/* подменю    */
var sThermoSubMenuTag = 'div';                   /*   тэг контейнера подменю    */
var sThermoSubMenuClass = 'sub-menu';            /*   класс контейнера подменю    */
var sThermoSubMenuLinksTag = 'div';              /*   тэг контейнера пунктов подменю    */
var sThermoSubMenuLinksClass = 'sub-menu-links'; /*   класс контейнера пунктов подменю    */
var sThermoSubMenuItemTag = 'div';               /*   тэг элемента с пунктом    */
var sThermoSubMenuItemClass = '';                /*   класс элемента с пунктом    */
var bThermoCopySubMenuItemClass = true;          /*   копировать ли также классы оригинала    */


	/*   дополнительный код    */
var sThermoItemAdditionalHTML = '<img src="/f/1/global/thermo-over-tl.gif" class="tl over"/><img src="/f/1/global/thermo-over-tr.gif" class="tr over"/><img src="/f/1/global/thermo-over-bl.gif" class="bl over"/><img src="/f/1/global/thermo-over-br.gif" class="br over"/>';
                                                 /*   код, который будет вставлен в начале каждого пункта    */

var sThermoSubMenuAdditionalHTML = '<img src="/f/1/global/d-t.gif" class="tl"/><img src="/f/1/global/d-t.gif" class="tr"/><img src="/f/1/global/d-t.gif" class="bl"/><img src="/f/1/global/d-t.gif" class="br"/><div class="top-border"></div>';
                                                 /*   код, который будет вставлен в начале каждого подменю    */

var sThermoSubMenuTagAfterTag = 'div';           /*   элемент после пунктов подменю    */
var sThermoSubMenuTagAfterClass = 'bot-border';  /*   класс элемента после пунктов подменю    */


function ThermoItem(oThermo, eThermoItem) {
	this.eThermoItem = eThermoItem;
	this.oThermo = oThermo;
	var eThis = this;

	this.eMenu = null;

	/*   назначаем обработчиков событий    */
//	cmnAdd_event(eThermoItem, 'mouseover', function(){ eThis.itemOver() });
	cmnAdd_event(eThermoItem, 'mouseout', function(){ eThis.itemOut() });
//	cmnAdd_event(eThermoItem, 'mousedown', function(evt){ eThis.itemClick(evt) });

	cmnAdd_event(eThermoItem, 'mouseover', function(evt){ eThis.itemOver(); eThis.itemClick(evt) });

	/*   добавляем картинку со стрелками, если есть куда    */
	var eImagesContainer = eThermoItem.getElementsByTagName( sThermoImagesTag )[0];
	if (eImagesContainer) {
		var eOverImage = document.createElement('img');
		eOverImage.src = eThermoImageOver.src;
		eOverImage.className = sThermoImageOverClass;
		eImagesContainer.appendChild(eOverImage);
	}

	/*   добавляем дополнительный код (в начале)    */
	if (sThermoItemAdditionalHTML && sThermoItemAdditionalHTML != '') {
		eThermoItem.innerHTML = sThermoItemAdditionalHTML + eThermoItem.innerHTML;
	}

	return this;
}

/*   функция, вызываемая при наведении мыши на элемент градусника    */
ThermoItem.prototype.itemOver = function() {

	if (this && this.eThermoItem && window.cmnSet_class && this.oThermo.oItemOpened != this) {
		cmnSet_class(this.eThermoItem, sThermoItemOver);
	}
}

/*   функция... при убирания мыши с элемента градусника    */
ThermoItem.prototype.itemOut = function() {
	if (this && this.eThermoItem && window.cmnRemove_class) {
		cmnRemove_class(this.eThermoItem, sThermoItemOver);
	}
}

/*   функция... при клике на элемент градусника    */
ThermoItem.prototype.itemClick = function(evt) {

	if (!evt) evt = window.event;
	var eTarget = (evt.target)? evt.target : evt.srcElement;
	/*   если нажали на картинку - открываем меню
	   проверка "где нажали",если нужно иное поведение, делается именно здесь!    */
	if (eTarget && eTarget.tagName && eTarget.tagName.toLowerCase() == 'img') {
		this.showMenu();
		evt.cancelBubble = true;
		if (evt.stopPropagation) evt.stopPropagation();
		if (evt.preventDefault) evt.preventDefault();
			else if (evt.returnValue) evt.returnValue = false;
		return false;
	}
	return true;
}


/*   показывает меню   */
ThermoItem.prototype.showMenu = function() {
	if (this && this.eThermoItem && this.oThermo) {
		if (!this.eMenu) this.createMenu();
		/*   скрываем другого меню, если оно открыто    */
		if (this.oThermo.oItemOpened) this.oThermo.hideMenu();

		/*   показываем меню   */
		this.eThermoItem.style.zIndex = ++this.oThermo.iZIndex;
		cmnRemove_class(this.eThermoItem, sThermoItemOver);
		cmnSet_class(this.eThermoItem, sThermoItemOpen);
		this.oThermo.oItemOpened = this;
		oActiveThermo = this.oThermo;

	}
}

var sThermoSubMenuLinksClassMinIE = 'sub-menu-links-min-ie';        /*   класс контейнера пунктов подменю превышающий допустимое кол-во элементов   */
var sThermoSubMenuLinksClassMinOther = 'sub-menu-links-min-other';  /*   класс контейнера пунктов подменю превышающий допустимое кол-во элементов   */
var eMenuListMaxLenght = '20';                                      /*   Максимально кол-во элементов подменю, выводимое на экран (остальное будет скрыто) */
var sThermoSubMenuLinksId = 's_menu';                               /*   ID контейнера пунктов подменю. */

/*   создает меню   */
ThermoItem.prototype.createMenu = function() {
	if (this && this.eThermoItem && this.eThermoItem.id) {
		var eMenuList = document.getElementById( sThermoMenuListPrefix + this.eThermoItem.id );
		if (eMenuList) {
			/*   создаем элемент подменю    */
			var eSubMenu = document.createElement( sThermoSubMenuTag );
			/*   добавляем ему класс (если необходимо)    */
			if (sThermoSubMenuClass != '') eSubMenu.className = sThermoSubMenuClass;

			/*   создаем контейнер пунктов    */
    		var eSubMenuLinks = document.createElement( sThermoSubMenuLinksTag );
			if (eMenuList.childNodes.length > eMenuListMaxLenght) {
			    var ScrollElement = 'div';
			    var ScrollClass = 'Scroll';
			    var rndScrollId = Math.floor(Math.random() * (10000 - 1 + 1)) + 1;

			    var ScrollUpInner = 'div';
			    var ScrollUpInnerClass = 'ScrollUp';
			    var ScrollUpInnerId = 'ScrollUp_'+ rndScrollId;

			    var ScrollDownInner = 'div';
			    var ScrollDownInnerClass = 'ScrollDown';
			    var ScrollDownInnerId = 'ScrollDown_'+ rndScrollId;

				var ScrollUpInner = document.createElement(ScrollUpInner);
					ScrollUpInner.className = ScrollUpInnerClass;
					ScrollUpInner.id = ScrollUpInnerId;
					ScrollUpInner.onmousedown = function (){
						 startTermoListScrollUp(rndScrollId);
					};
					ScrollUpInner.onmouseup = function (){
						stopTermoListScroll();
					};
                var ScrollUpElement = document.createElement(ScrollElement);
                    ScrollUpElement.className = ScrollClass;
					ScrollUpElement.appendChild(ScrollUpInner);

				var ScrollDownInner = document.createElement(ScrollDownInner);
					ScrollDownInner.className = ScrollDownInnerClass;
					ScrollDownInner.id = ScrollDownInnerId;
					ScrollDownInner.onmousedown = function (){
						startTermoListScrollDown(rndScrollId);
					};
					ScrollDownInner.onmouseup = function (){
						stopTermoListScroll();
					};
                var ScrollDownElement = document.createElement(ScrollElement);
                    ScrollDownElement.className = ScrollClass;
					ScrollDownElement.appendChild(ScrollDownInner);

			    if(navigator.appName.indexOf("Explorer")!=-1) {
			        if (sThermoSubMenuLinksClassMinIE != '') eSubMenuLinks.className = sThermoSubMenuLinksClassMinIE;
			        if (sThermoSubMenuLinksId != '') eSubMenuLinks.id = sThermoSubMenuLinksId + '_' + rndScrollId;
			    }else {
			        if (sThermoSubMenuLinksClassMinOther != '') eSubMenuLinks.className = sThermoSubMenuLinksClassMinOther;
			        if (sThermoSubMenuLinksId != '') eSubMenuLinks.id = sThermoSubMenuLinksId + '_' + rndScrollId;
			    }
			}else {
			    if (sThermoSubMenuLinksClass != '') eSubMenuLinks.className = sThermoSubMenuLinksClass;
			}

			/*   наполняем его пунктами    */
			for (var i = 0; i < eMenuList.childNodes.length; i++) {
				var eChild = eMenuList.childNodes.item(i);
				if (eChild.nodeType == 1 && eChild.tagName.toLowerCase() == sThermoMenuItemTag) {
					/*   создаем элемент с пунктом    */
					var eItem = document.createElement( sThermoSubMenuItemTag );
					/*   добавляем класс   */
					if (sThermoSubMenuItemClass != '') eItem.className = sThermoSubMenuItemClass;
					/*   если нужно копировать класс, копируем    */
					if (bThermoCopySubMenuItemClass) {
						if (eItem.className && eItem.className.length) eItem.className += ' ';
						eItem.className += eChild.className;
					}
					/*   перемещаем элемент    */
					var aElementToCopy = getFirstChildByTagName(sThermoMenuItemTagsToCopy, eChild)
					if (aElementToCopy) eItem.appendChild(aElementToCopy);
					/*   добавляем элемент в под-меню    */
					eSubMenuLinks.appendChild(eItem);
				}
			}

			/*   если есть код, которого нужно вставлять перед списком пунктов (например, ради закруглений)    */
			if (sThermoSubMenuAdditionalHTML && sThermoSubMenuAdditionalHTML != '') {
				eSubMenu.innerHTML = sThermoSubMenuAdditionalHTML;
			}

			/* Добовляем элемент скроллинга вверх (если необходимо) */
			if (eMenuList.childNodes.length > eMenuListMaxLenght) {
				eSubMenu.appendChild(ScrollUpElement);
			}

			/*   потом добавляем список пунктов    */
			eSubMenu.appendChild(eSubMenuLinks);

			/* Добовляем элемент скроллинга вниз (если необходимо) */
			if (eMenuList.childNodes.length > eMenuListMaxLenght) {
				eSubMenu.appendChild(ScrollDownElement);
			}

			/*   дальше, если нужно еще элемент добавить - добавляем    */
			if (sThermoSubMenuTagAfterTag && sThermoSubMenuTagAfterTag != '') {
				var eAddElement = document.createElement( sThermoSubMenuTagAfterTag );
				if (sThermoSubMenuTagAfterClass && sThermoSubMenuTagAfterClass != '')
					eAddElement.className = sThermoSubMenuTagAfterClass
				eSubMenu.appendChild(eAddElement);
			}

    		/*   делаем ссылку на меню (на всякий случай)    */
			this.eMenu = eSubMenu;


			/*   приделываем обработчики    */
			var eThis = this;
			cmnAdd_event(eSubMenu, 'mousedown', function(evt){ eThis.menuDown(evt) })
			cmnAdd_event(eSubMenu, 'click', function(evt){ eThis.menuClick(evt) })

			/*   добавляем под-меню в пункт градусника    */
			this.eThermoItem.appendChild(eSubMenu);
			
//			$('.sub-menu').each(function(){
//				$(this).css('zoom', 1);
//				
//				var iMaxWidth = 0;
//				$(this).find('.sub-menu-links div').each(function(){
//					if($(this).width() > iMaxWidth){
//						iMaxWidth = $(this).width();
//					}
//				});
//				$(this).width(iMaxWidth);
//				$(this).find('.top-border').width(iMaxWidth);
//				$(this).find('.bot-border').width(iMaxWidth);
//			});
				
			/*   если это Fx 1.0 - нужно фиксить ширину!    */
			if (navigator.product && navigator.product == 'Gecko' && navigator.userAgent.indexOf('rv:') > 0 && eSubMenuLinks) {
				if (!this.oThermo.aItems.forEach) {
					var iMaxWidth = 0;
					cmnSet_class(eSubMenu, 'sub-menu-invisible');
					for (var i = 0; i < eSubMenuLinks.childNodes.length; i++) {
						var iItemWidth = eSubMenuLinks.childNodes.item(i).offsetWidth;
						if (iItemWidth > iMaxWidth) iMaxWidth = iItemWidth;
					}
					eSubMenu.style.width = iMaxWidth;
					cmnRemove_class(eSubMenu, 'sub-menu-invisible');
				}
			}
		}
	}
}

/* Прокрутка элементов подменю */
/* ================================================================================================= */
var scrollStep = 5;
var scrollSpeed = 1;
var iScrollTO = 0;

function startTermoListScrollUp(id){
	iScrollTO = setInterval("ScrollUp("+ id +")", scrollSpeed);
}

function ScrollUp(id){
	document.getElementById('s_menu_'+ id).scrollTop-=scrollStep;
	testThermoSize(id);
}

function startTermoListScrollDown(id){
	iScrollTO = setInterval("ScrollDown("+ id +")", scrollSpeed);
}

function ScrollDown(id){
	document.getElementById('s_menu_'+ id).scrollTop+=scrollStep;
	testThermoSize(id);
}

function stopTermoListScroll(){
	if (iScrollTO != 0 ) {
		clearInterval(iScrollTO);
		iScrollTO = 0;
	}
}


/**
  * Проверяет размер и позцию прокручиваемого списка и отключает при
необходимости стрелки
  */
function testThermoSize(id){
        var elem = document.getElementById('s_menu_'+ id);
		var sUp = document.getElementById('ScrollUp_'+ id);
		var sDown = document.getElementById('ScrollDown_'+ id);

		//log.info('ScrollTop: '+ elem.scrollTop + ' ScrollHeight: '+ elem.scrollHeight + ' OffsetHeight: '+ elem.offsetHeight);

		if(elem.scrollTop == 0){
			cmnRemove_class(sUp, 'vis'); cmnSet_class(sUp, 'hide');
			cmnRemove_class(sDown, 'hide'); cmnSet_class(sDown, 'vis');
			stopTermoListScroll();
		}else if(elem.scrollTop != 0){
			if(elem.scrollHeight - elem.scrollTop == elem.offsetHeight){
				cmnRemove_class(sUp, 'hide'); cmnSet_class(sUp, 'vis');
				cmnRemove_class(sDown, 'vis'); cmnSet_class(sDown, 'hide');
				stopTermoListScroll();
			}else {
				cmnRemove_class(sUp, 'hide'); cmnSet_class(sUp, 'vis');
				cmnRemove_class(sDown, 'hide'); cmnSet_class(sDown, 'vis');
			}
		}
}

/* ================================================================================================= */


/*   нажатие на подменю    */
ThermoItem.prototype.menuDown = function(evt) {
	if (!evt) evt = window.event;
	var eTarget = (evt.target)? evt.target : evt.srcElement;

	evt.stopPropagation;
	evt.cancelBubble = true;
	return false;
}

/*   клик по подменю    */
ThermoItem.prototype.menuClick = function(evt) {
	if (!evt) evt = window.event;
	var eTarget = (evt.target)? evt.target : evt.srcElement;

	if (eTarget && eTarget.tagName && eTarget.tagName.toLowerCase() == 'a') {
		if (this.oThermo) this.oThermo.hideMenu();
	}
	return false;
}



/*   объект THermo - содержит градусник, одна штука    */
function Thermo(eThermoList) {
	this.eThermoList = eThermoList;
	this.iZIndex = 100;
	this.oMenuOpened = null;

	var eThis = this;

	/*   достаем всех элементов <li> внутри списка с заданным классом (или все, если класс == '')    */
	this.aItems = new Array();
	for (var i = 0; (eItem = eThermoList.getElementsByTagName( sThermoItemTag )[i]); i++) {
		if (sThermoItemClass != '' && eItem.className.indexOf( sThermoItemClass ) >= 0) {
			this.aItems[this.aItems.length] = new ThermoItem(eThis, eItem);
		}
	}
	return this;
}

/*   скрывает меню    */
Thermo.prototype.hideMenu = function() {
	if (this && this.oItemOpened) {
		cmnRemove_class(this.oItemOpened.eThermoItem, sThermoItemOver);
		cmnRemove_class(this.oItemOpened.eThermoItem, sThermoItemOpen);
		this.oItemOpened = null;

	}
}

function fnShowProps(obj, objName){
    var result = "";
    for (var i in obj) // обращение к свойствам объекта по индексу
        result += objName + "." + i + " = " + obj[i] + "<br />\n";
    document.write(result);
}


function closeActiveThermo() {
	if (oActiveThermo) {
		oActiveThermo.hideMenu();
		oActiveThermo = null;
	}
	return true;
}


var aThermometers = new Array();
var oActiveThermo = null;
function initThermometers() {
	for (var i = 0; (eList = document.getElementsByTagName( sThermoListTag )[i]); i++) {
		if (eList.className.indexOf( sThermoListClass ) >= 0) {
			aThermometers[aThermometers.length] = new Thermo(eList);
		}
	}
}

if (window.cmnAdd_event) {
	cmnAdd_event(window, 'load', initThermometers);
	cmnAdd_event(document, 'mousedown', closeActiveThermo);
}




/*   additional    */

function getFirstChildByTagName(sTagNames, eParent) {
	if (!eParent) return null;
	var aTagNames = sTagNames.split(',');
	for (var i = 0; i < eParent.childNodes.length; i++) {
		var eChild = eParent.childNodes.item(i);
		for (var j = 0; j < aTagNames.length; j++) {
			if (eChild.nodeType == 1 && eChild.tagName.toLowerCase() == aTagNames[j].toLowerCase()) {
				return eChild;
			}
		}
	}
	return null;
}


//fnShowProps(this.oItemOpened.eThermoItem.scrollTop, "thermo")

/* /thermo3.js */
