/*
	Copyright © Eleanor CMS
	URL: http://eleanor-cms.ru, http://eleanor-cms.com
	E-mail: support@eleanor-cms.ru
	Developing: Alexander Sunvas*
	Interface: Rumin Sergey
	=====
	*Pseudonym. See addons/copyrights/info.txt for more information.
*/
//Добавим jQuery
var jq=document.createElement('script');
jq.src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js';
jq.type='text/javascript';
//Следующую строку желательно расскомментировать
//document.getElementsByTagName('head')[0].appendChild(jq);
//Если сайт локальный и доступа к гуглю нет...
if(typeof jQuery=='undefined')
{
	jq.src='js/jquery.min.js';
	document.getElementsByTagName('head')[0].appendChild(jq);
}
if(!Array.indexOf)
{
	Array.prototype.indexOf = function(obj)
	{
		for(var i=0; i<this.length; i++)
			if(this[i]==obj)
				return i;
		return -1;
	}
}
var not_loading,_mid,loading_id='loading';
function Trim(str){return $.trim(str)}
function Ajax(varname,arr,func,cache)
{
	if (!varname)
		varname=_mid;
	else
		varname=eval(varname);
	arr['_mid']=varname;
	ShowLoad();
	JsHttpRequest.query(
						'ajax.php',
						arr,
						function(result, errors)
						{							HideLoad();							if (errors || result['status']=='error')
								alert(errors || result['answer']);
							else
							{								func(result);
								if (result['eval'])
									eval(result['eval']);
							}
						},
					!cache
	);
	return false;
}


function YPos()
{
	var scroll_y=0;
	if (document.documentElement && document.documentElement.scrollTop)
		scroll_y=document.documentElement.scrollTop;
	else if (document.body && document.body.scrollTop)
		scroll_y=document.body.scrollTop;
	else if (window.pageYOffset)
		scroll_y=window.pageYOffset;
	else if (window.scrollY)
		scroll_y=window.scrollY;
	return scroll_y;
}

function ShowLoad()
{	var x,y;
	var load=Id(loading_id);
	if (!load || not_loading)
		return;
	if (self.innerHeight)
	{
		x=self.innerWidth;
		y=self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		x=document.documentElement.clientWidth;
		y=document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		x=document.body.clientWidth;
		y=document.body.clientHeight;
	}
	load.style.left=x/2-100+"px";
	load.style.top=y/2-25+YPos()+"px";
	$(load).show();
}

function HideLoad()
{	var load=Id(loading_id);
	if (not_loading || !load)
		return;
	$(load).hide();
}

function SwitchVisible(obj,visible)
{	obj=Id(obj);
	if(typeof visible=='undefined')
		$(obj).toggle(200);
	else if(visible)
		$(obj).show(200);
	else
		$(obj).hide(200);
	return false;
}

function JumpToPage(links,pages,onclick)
{	var s=prompt(el_lang['page_jump'],'');
	if (!s)
		return false;
	pages=parseInt(pages);
	if (isNaN(s) || (s=parseInt(s))<=0)
	{
		alert('Ошибка!');
		return false;
	}
	if (s>pages)
		s=pages;
	if (onclick)
		eval(onclick.replace('{page}',s));
	else
		window.location=links.replace('{page}',s);
	return false;}

function SetCookie(name,value,ctime)
{	var data=new Date();
	data.setTime(data.getTime()+(ctime ? ctime : cookie_time)*1000);
	document.cookie=cookie_prefix+name+"="+escape(value)+';expires='+data.toGMTString()+";domain="+cookie_domain+";path="+cookie_path;
}

function Id(id)
{	return document.getElementById(id);}

function Position(obj)
{
	var x = y = 0;
	while(obj)
	{
		x+=obj.offsetLeft;
		y+=obj.offsetTop;
		obj=obj.offsetParent;
	}
	return {x:x, y:y};
}

function CheckGroup(obj)
{	var els=obj.getElementsByTagName('input');
	var can=false;
	for(var i=0;i<els.length;i++)
		if (els[i].getAttribute('type')=='checkbox' && els[i].checked)
		{
			can=true;
			break;
		}
	if (!can)
		alert('Вы ничего не выбрали!');
	return can;
}

function One2AllCheckboxes(parent,main_ch,names)
{
	parent=Id(parent);
	if (!parent)
		return;
	var checks=parent.getElementsByTagName('input');
	for (var i=0;i<checks.length;i++)
	{
		var check=checks[i];
		if (check.getAttribute("type")!="checkbox" || (names && check.getAttribute("name")!=names))
			continue;
		check.marked=true;
		if(typeof check.onclick!='function')
		{
			check.onclick=function()
			{
				MassClick();
				return true;
			}
		}
	}
	var main=Id(main_ch);
	if (!main)
		return;
	main.onclick=function()
	{
		MainClick();
		return true;
	}
	function MassClick()
	{
		var checked=true;
		for (var i=0;i<checks.length;i++)
		{
			var check=checks[i];
			if (!check.marked)
				continue;
			checked&=check.checked;
		}
		main.checked=checked;
	}
	function MainClick()
	{
		for (var i=0;i<checks.length;i++)
		{
			var check=checks[i];
			if (!check.marked)
				continue;
			check.checked=main.checked;
		}
	}
}

function LinkTo(s,ret)
{	s=(window.location.href.indexOf('#')==-1 ? window.location.href : window.location.href.substring(0,window.location.href.indexOf('#')))+s;	if (ret)
		return s;
	prompt('Ссылка:',s);
	return false;}

function AddOnLoadEvent(ev,first)
{
	var old_onload=window.onload;
	if (typeof window.onload!='function')
		window.onload=function()
		{
			eval(ev);
		};
	else
	{
		if (first)
			window.onload=function()
			{
				eval(ev);
				if (old_onload)
					old_onload();
			};
		else
			window.onload=function()
			{
				if (old_onload)
					old_onload();
				eval(ev);
			};
	}
}

/*
	Функций уменьшения картинок
	obj - объект в котором надо производить уменьшение картинок.
	width - граничная ширина после которой картинка считается слишком большой и урезается.
	percent - процент от width
*/
function ResizeBigImages(obj,width,percent)
{
	if (!obj)
		obj=document;
	if (!percent)
		percent=30;
	percent/=100;
	if (!width)
	{
		width=obj.style ? obj.style.pixelWidth : screen.width;
		var sw=screen.width*0.95;//Может ширина экрана меньше, чем контейнера.. Возьмем 95%
		if (sw<width)
			width=sw;
	}
	var must_width=width*percent;//Максимальная ширина, которая должна быть у картинки
	var images=obj.getElementsByTagName('img');
	var padding=2;
	var header_img='<img src="images/img-resized.png" style="vertical-align:middle" border="0" alt="" />';
	for (var i=0;i<images.length;i++)
		if (images[i].width>must_width && !images[i].resized && images[i].className=='posted-image')
		{
			//Возьмем данные картинки для написи в хедере..
			var r_width=images[i].width;
			var r_height=images[i].height;
			var r_percent=0;
			//Уменьшим картинку
			images[i].width=must_width;

			if (must_width<r_width && r_width>0 && must_width>0)
				r_percent=Math.ceil(must_width/r_width*100);

			images[i].resized=true;
			images[i].r_width=r_width;

			var div=document.createElement('DIV');
			div.innerHTML=header_img+'&nbsp; <b>'+r_percent+'%</b> [ '+r_width+' x '+r_height+' ] --> [ '+images[i].width+' x '+images[i].height+' ]';
			div.style.width=images[i].width-(padding*2)+'px';
			div.className='resized-image-header';
			div.style.paddingLeft=padding+'px';
			div.style.paddingRight=padding+'px';
			div.style.paddingTop=padding+'px';
			div.style.paddingBottom=padding+'px';
			div.style.cursor='pointer';
			div._src=images[i].src;
			div.onclick=function(){
					window.open(this._src);
			};
			var image=images[i].parentNode.nodeName=='A' ? images[i].parentNode : images[i];
			var div2=document.createElement('div');
			div2.className='posted-image';
			div2.appendChild(image.cloneNode(true));
			div2.appendChild(div);
			images[i].parentNode.replaceChild(div2,images[i]);
		}
}
AddOnLoadEvent('ResizeBigImages()');