
var d = document;
var winIE = (navigator.userAgent.indexOf('Opera')==-1 && (d.getElementById && d.documentElement.behaviorUrns)) ? true : false;

function bodySize(){
	if(winIE && d.documentElement.clientWidth) {
		sObj = d.getElementsByTagName('body')[0].style;
		sObj.width = (d.documentElement.clientWidth<990) ? '990px' : '100%';
	}
}

function init(){
	if (winIE) { bodySize(); }
}

onload = init;
if (winIE) { onresize = bodySize; }

/** Убирает дефолтовый текст при получении элементом фокуса **/
function replace_on( el, txt ) {
	if ( el.value == txt ) el.value = '';
}

/** Подставляет дефолтовый текст при потере элементом фокуса **/
function replace_out( el, txt ) {
	if ( el.value == '' ) el.value = txt;
}

/** Открывает всплывающее окно заданных размеров URI **/
function openWnd(url, wname, w, h, scrb) {
	window.open(
		url,
		wname,
		'screenX=' + (screen.width/2 - Math.round(w/2)) + ',screenY=' + (screen.height/2 - Math.round(h/2)) + ',width=' + w + ',height=' + h + ',resizeble=no,status=no,toolbar=no,menubar=no,scrollbars=' + scrb
	);
	return false;
}

/** Подставляет имя пользователя в форму обсуждений **/
function by_name( t ) {
	if ( $(t) ) {
		var u_name = $( t ).innerHTML;
		if ( typeof tinyMCE != 'undefined' ) {
			if ( tinyMCE.activeEditor ) {
				tinyMCE.execCommand( 'mceInsertContent', false, '<b>' + u_name + '</b>, ' );
			}
		} else {
			el = $('id_msg');
			if ( el ) { el.value += u_name; }
		}
	}
}

/** Создание куки **/
function createCookie( name, value, days ) {
	if (days) {
	var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

/** Чтение куки **/
function readCookie( name ) {
	var nameEQ = name + "=";
	var ca = document.cookie.split( ';' );
	for ( var i=0; i < ca.length; i++ ) {
		var c = ca[i];
		while ( c.charAt(0) == ' ' ) c = c.substring( 1, c.length );
		if ( c.indexOf( nameEQ ) == 0 ) return c.substring( nameEQ.length, c.length );
	}
	return null;
}

/** Удаление куки **/
function eraseCookie( name ) {
	createCookie( name, '', -1 );
}

function switchBlock( id ) {
	$(id).className = $(id).className == 'off' ? 'on' : 'off';
}


function load_news_list(time) 
{
	var e_elem = $( 'news_list_link' );
	var expert_a_list = $( 'news_list_data' );

	if ( expert_a_list ) {
		// Статьи уже были загружены.
		if ( e_elem.hasClassName( 'expert_more_open' ) ) {
			e_elem.removeClassName( 'expert_more_open' );
			e_elem.addClassName( 'expert_more' );
			expert_a_list.hide();
		} else {
			e_elem.removeClassName( 'expert_more' );
			e_elem.addClassName( 'expert_more_open' );
			expert_a_list.show();
		}
	} else {
		// Статьи еще не загружены.
		new Ajax.Request(
			'/news/currentlist.js?time='+time,
			{
				method: 'get',
				onSuccess: function( transport ) {
					response = transport.responseText.evalJSON();
					info = response.info;
					info_len = info.length;
					var e_elem = $( 'news_list_link' );
					if ( e_elem ) {
						e_elem.removeClassName( 'expert_more' );
						e_elem.addClassName( 'expert_more_open' );
						expert_a_list = document.createElement( 'dl');
						expert_a_list.className = 'expert_more_list';
						expert_a_list.id = 'news_list_data';
						for ( i = 0; i < info_len; i++ ) {
							dt = new Element( 'dt' ).update( info[i].start );
							dd = new Element( 'dd' );
							a = new Element( 'a', {href: info[i].url, title: info[i].views + ' просмотров'} ).update( info[i].title );
							dd.appendChild( a );
							if ( info[i].answers > 0 ) {
								dd.appendChild( document.createTextNode( ' (' ) );
								a_ans = new Element( 'a', {href: info[i].discuss_url} ).update( info[i].answers );
								dd.appendChild( a_ans );
								dd.appendChild( document.createTextNode( ')' ) );
							}
							expert_a_list.appendChild( dt );
							expert_a_list.appendChild( dd );
						}
						e_elem.parentNode.appendChild( expert_a_list );
					}	
				},
				onFailure: function() {
					alert( 'Fail!' );
				}
			}
		);
	}
}



function article_trail_topic(topic) 
{
	var e_elem = $( 'article_trail_list' );
	var expert_a_list = $( 'article_trail_data' );

	if ( expert_a_list ) {
		// Статьи уже были загружены.
		if ( e_elem.hasClassName( 'expert_more_open' ) ) {
			e_elem.removeClassName( 'expert_more_open' );
			e_elem.addClassName( 'expert_more' );
			expert_a_list.hide();
		} else {
			e_elem.removeClassName( 'expert_more' );
			e_elem.addClassName( 'expert_more_open' );
			expert_a_list.show();
		}
	} else {
		// Статьи еще не загружены.
		new Ajax.Request(
			'/script/article_trail.js?topic='+topic,
			{
				method: 'get',
				onSuccess: function( transport ) {
					response = transport.responseText.evalJSON();
					info = response.info;
					info_len = info.length;
					var e_elem = $( 'article_trail_list' );
					if ( e_elem ) {
						e_elem.removeClassName( 'expert_more' );
						e_elem.addClassName( 'expert_more_open' );
						expert_a_list = document.createElement( 'dl');
						expert_a_list.className = 'expert_more_list';
						expert_a_list.id = 'article_trail_data';
						for ( i = 0; i < info_len; i++ ) {
							dt = new Element( 'dt' ).update( info[i].start );
							dd = new Element( 'dd' );
							a = new Element( 'a', {href: info[i].url, title: info[i].views + ' просмотров'} ).update( info[i].title );
							dd.appendChild( a );
							if ( info[i].answers > 0 ) {
								dd.appendChild( document.createTextNode( ' (' ) );
								a_ans = new Element( 'a', {href: info[i].discuss_url} ).update( info[i].answers );
								dd.appendChild( a_ans );
								dd.appendChild( document.createTextNode( ')' ) );
							}
							expert_a_list.appendChild( dt );
							expert_a_list.appendChild( dd );
						}
						e_elem.parentNode.appendChild( expert_a_list );
					}	
				},
				onFailure: function() {
					alert( 'Fail!' );
				}
			}
		);
	}
}


var scaled = {
	num: 0,
	timers: {},
	items: {},
	interval: {},
	shapka:{}
};

function scaleOut(id) {
	var shapka = scaled.shapka[id];
	$(id).style.zIndex = 10000;
	if (shapka != undefined) shapka.style.zIndex = 10001;
	new Effect.Morph(id, 
		{
			style: 'width: ' + scaled.items[id].width*2 + 'px; ' +
					'height: ' + scaled.items[id].height*2 + 'px; ' +
					'left: -' + scaled.items[id].width + 'px; ' +
					'top: -' + scaled.items[id].height/2 + 'px; ',
			duration: 0.1,
			afterFinish: function() {
				$(id).src = '/preview/' + scaled.items[id].width * 2 + '/'+ scaled.items[id].height * 2 + '/' + scaled.items[id].guid;
			}
		}
	);
	if (shapka != undefined) new Effect.Morph(shapka, 
		{
			style: 'width: ' + 188 + 'px; ' +
					'height: ' + 308 + 'px; ' +
					'left: -' + (83)+ 'px; ' +
					'top: -' + 140 + 'px; ',
			duration: 0.1,
			afterFinish: function() {
				$(shapka).src = 'http://bankir.ru/all/santa_c2.gif';
			}
		}
	);
}

function scaleIn(id) {
	var shapka = scaled.shapka[id];
	$(id).style.zIndex = 20;
	if (shapka != undefined) shapka.style.zIndex = 21;
	
	new Effect.Morph(id, 
		{
			style: 'width: ' + scaled.items[id].width + 'px; ' +
					'height: ' + scaled.items[id].height + 'px; ' +
					'left: 0px; ' +
					'top: 0px; ',
			duration: 0.1,
			afterFinish: function() {
				$(id).src = '/preview/' + scaled.items[id].width + '/'+ scaled.items[id].height + '/' + scaled.items[id].guid;
			}
		}
	);
	if (shapka != undefined) new Effect.Morph(shapka, 
		{
			style: 'width: ' + 95 + 'px; ' +
					'height: ' + 156 + 'px; ' +
					'left: -4px; ' +
					'top: -50px; ',
			duration: 0.1,
			afterFinish: function() {
				$(shapka).src = 'http://bankir.ru/all/santa_c.gif';
			}
		}
	);
}
	
document.observe('dom:loaded', function() {
	$$('img.scaled').each(
		function(img) {
			var parent =img.parentNode;
			var shapka = parent.getElementsBySelector('img.newyear_75');
		
			img.id = 'scaled' + scaled.num++;
			shapka.id = '_' + img.id;
			scaled.shapka[img.id] = shapka[0];
			scaled.items[img.id] = {};
			scaled.items[img.id].width = img.parentNode.clientWidth;
			scaled.items[img.id].height = img.parentNode.clientHeight;
			
			arr = img.src.split('/');
			
			scaled.items[img.id].guid = arr[ arr.length - 1 ];

			var f_in = function() {
				scaled.timers[img.id] = setTimeout('scaleOut("'+img.id+'")', 500);
			}, f_out = function() {
						clearTimeout(scaled.timers[img.id]);
						scaleIn(img.id);
			};

						
			img.observe('mouseover', function(event) {
				f_in();
			});
			img.observe('mouseout', function (event) {
				f_out();
			});

			if (shapka[0]!=undefined) {
				shapka[0].observe('mouseover', function(event) {
					f_in();
				});
				shapka[0].observe('mouseout', function (event) {
					f_out();
				});
			}
			
			}
	);

});
