//window
function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [ myWidth, myHeight ];
}
//позиция прокрутки
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function initwin()
{
	resize();
	window.onresize=resize;
	window.onscroll=resize;
	document.body.onscroll=resize;
	if (onloads)	onloads();
	if (document.forms.events)	clear_events();
}
function resize()
{
	var size=alertSize();
	var scroll=getScrollXY();
	var arrayresize=winresize;
	for (var i=0;i<arrayresize.length;i++)
	{
		var msgWin=document.getElementById(arrayresize[i]);
		if (msgWin)
		{
			msgWin.style.left=(scroll[0] + (size[0] - msgWin.offsetWidth)/2)+'px';
			msgWin.style.top=(scroll[1] + (size[1] - msgWin.offsetHeight)/2)+'px';
			msgWin.style.visibility="visible";
		}
	}
}
function closewin(win)
{
	for (var i=0;i<winresize.length;i++)
	if (winresize[i]==win)
	{
		var msgWin=document.getElementById(win);
		if (msgWin)	msgWin.style.visibility="hidden";
		winresize[i]='';
	}
}
//menu
function montre(id) {
menu=id;
var d = document.getElementById(id);
	for (var i = 1; i<=6; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
if (id==null && document.getElementById('smenu'+active)) {document.getElementById('smenu'+active).style.display='block';}
}
function show()
{
	montre(menu);
}

function change(obj,obj_,chk,chk_)
{
	var p=document.getElementById(obj_); if (p) { p.value=(p.value==1)?0:1; obj.className=(p.value==1)?chk:chk_; } return false;
}
function change2(obj,obj_,chk,chk_)
{
	var id=obj_.replace(/[^0-9]+/,'');
	id='events_guests_invitation_'+id;
	var p=document.getElementById(id);
	if (p && p.checked)	return change(obj,obj_,chk,chk_);
	return false;
}
function checked_(parent,obj)
{
	parent=document.getElementById(parent);
	var input=parent.getElementsByTagName('input');
	if (obj.id)
	{
		var name=obj.id.replace(/_all$/,'')+'[]';
		var checked=obj.checked;
		for (i=0;i<input.length;i++)
		{
			if (input[i].type=='checkbox' && input[i].name==name) input[i].checked=checked;
		}
	}
	else if (obj.name)
	{
		var name=obj.name;
		var id=obj.name.replace(/\[\]/i,'');
		var j=1;
		var k=1;
		for (i=0;i<input.length;i++)
		{
			if (input[i].type=='checkbox' && input[i].name==name)
			{
				++j;
				if (input[i].checked) ++k;
			}
		}
		if (k==j)	document.getElementById(id).checked=obj.checked;
		else	document.getElementById(id).checked='';
	}
	return true;
}
function clear_mypresent()
{
	document.forms.mypresent.reset();
	if (p=document.getElementById('mypresent_name'))	p.className='text_';
	if (p=document.getElementById('mypresent_desc'))	p.className='text_';
	if (p=document.getElementById('mypresent_link'))	p.className='text_';
	var date=new Date();
	var month=date.getMonth()+1;
	if (month<10) month='0'+month;
	if (p=document.getElementById('mypresent_date'))	p.innerHTML=date.getFullYear()+'-'+month+'-'+date.getDate();
	return false;
}

function save_mypresent()
{
	var p=document.getElementById('mypresent_action');
	if (p)	p.value='save';
	else return false;
	p=document.getElementById('mypresent_name');
	if (p && p.className!='text_' && p.value!='')
	{
		p=document.getElementById('mypresent_desc');
		if (p && p.className=='text_')	p.value='';
		p=document.getElementById('mypresent_link');
		if (p && p.className=='text_')	p.value='';
		document.forms.mypresent.submit();
	}
	else	p.focus();
	return false;
}
function save_never()
{
	var p=document.getElementById('never_action');
	if (p)	p.value='save';
	else return false;
	p=document.getElementById('never_name');
	if (p && p.value!='')	document.forms.never.submit();
	else	p.focus();
	return false;
}
function save_recieved()
{
	var p=document.getElementById('mypresent_action');
	if (p)	p.value='recieved';
	else return false;
	var input=document.getElementsByTagName('input');
	var checks=document.getElementById('mypresents_id');
	var checked=checks.checked;
	var check=false;
	var name=checks.id+'[]';
	if (checks && checked)
	{
		for (i=0;i<input.length;i++)
		{
			if (input[i].type=='checkbox' && input[i].name==name) input[i].checked=checked;
		}
		check=true;
	}
	else
	{
		for (i=0;i<input.length;i++)
		{
			if (input[i].type=='checkbox'  && input[i].name==name && input[i].checked)
			{
				check=true;
				break;
			}
		}
	}
	if (check)	document.forms.mypresent.submit();
	return false;
}
function print_mypresent()
{
	alert('Сделать распечатку');
}
function select_input(obj)
{
	if (obj.className=='text')	return;
	obj.className='text';
	obj.value='';
}
function pref(obj,n)
{
	var parent=obj.parentNode;
	var a=null;
	var aa=new Array();
	j=3;
	for (var i=0;i<parent.childNodes.length;++i)
	{
		a=parent.childNodes[i];
		if (a.tagName=='A')	aa[j]=a;
		if (a.tagName=='INPUT')
		{
			if (a.value==n)
			{
				if (a.value>0)	n--;
				else n++;
			}
			a.value=n;
		}
		--j;
		if (j==0)	--j;
	}
	if (n>0)
	{
		for (i=-1;i<0;++i)	aa[i].className='vb_';
		for (i=1;i<4;++i)
		{
			if (i>n)	aa[i].className='vr_';
			else aa[i].className='vr';
		}
	}
	else
	{
		for (i=-1;i<0;++i)
		{
			if (i>=n)	aa[i].className='vb';
			else aa[i].className='vb_';
		}
		for (i=1;i<4;++i)	aa[i].className='vr_';
	}
	return false;
}

function nextYear()
{
	var year=document.getElementById('calendar_year');
	if (year)
	{
		++year.value;
		var year_=document.getElementById('calendar_year_');
		if (year_)	year_.innerHTML=year.value;
		if (!get_calendar())	return true;
	}
	return false;
}
function prevYear()
{
	var year=document.getElementById('calendar_year');
	if (year)
	{
		--year.value;
		var year_=document.getElementById('calendar_year_');
		if (year_)	year_.innerHTML=year.value;
		if (!get_calendar())	return true;
	}
	return false;
}

function nextMonth()
{
	var m=document.getElementById('calendar_month');
	if (m)
	{
		++m.value;
		if (m.value>12)
		{
			m.value=1;
			if (nextYear())	return true;
		}
		else
		{
			if (!get_calendar())	return true;
		}
		setHoro();
		get_holidays(m.value);
		get_names(m.value);
		month_=document.getElementById('calendar_month_');
		if (month_)	month_.innerHTML=month[lang][m.value-1];
		m=document.getElementById('names_month');
		if (m) m.innerHTML=month_.innerHTML;
		m=document.getElementById('holidays_month');
		if (m) m.innerHTML=month_.innerHTML;
	}
	return false;
}
function prevMonth()
{
	var m=document.getElementById('calendar_month');
	if (m)
	{
		--m.value;
		if (m.value<1)
		{
			m.value=12;
			if (prevYear())	return true;
		}
		else
		{
			if (!get_calendar())	return true;
		}
		setHoro();
		get_holidays(m.value);
		get_names(m.value);
		month_=document.getElementById('calendar_month_');
		if (month_)	month_.innerHTML=month[lang][m.value-1];
		m=document.getElementById('names_month');
		if (m) m.innerHTML=month_.innerHTML;
		m=document.getElementById('holidays_month');
		if (m) m.innerHTML=month_.innerHTML;
	}
	return false;
}

/*horo*/
var hday=new Array(21,20,21,21,21,22,23,24,24,24,23,22);
var horo=new Array();
horo['ru']=new Array('Водолей','Рыбы','Овен','Телец','Близнецы','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Козерог');
horo['en']=new Array('Водолей','Рыбы','Овен','Телец','Близнецы','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Козерог');
var month=new Array();
month['ru']=new Array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
month['en']=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var calendar_events=new Array();

function	get_calendar()
{
	calendar_events=new Array();
	var month=document.getElementById('calendar_month').value;
	var year=document.getElementById('calendar_year').value;
	sajax_request_type = "POST";
		return x_get_calendar(month, year, set_calendar);
}
function x_get_calendar()
{
	return sajax_do_call("get_calendar",
		x_get_calendar.arguments);
}

function set_calendar(obj)
{
	for (var key in obj)	calendar_events[obj[key]]=1;
	setCalendar();
}

function setCalendar()
{
	var cyear=document.getElementById('calendar_year').value;
	var cmonth=document.getElementById('calendar_month').value;
	var p=document.getElementById('events_year');
	if (p)	p.value=cyear;
	p=document.getElementById('events_month');
	if (p)	p.value=cmonth;
	if (!get_events(cmonth,cyear))	return true;
	var cday=0;
	var date=new Date(); //current date
	--cmonth;
	if (date.getFullYear()==cyear && date.getMonth()==cmonth)	cday=date.getDate();
	var c=document.getElementById('tbl_calendar');
	date=new Date(cyear,cmonth,1); //startday
	var d=1-date.getDay();
	cmonth++;
	var date=new Date(cyear,cmonth,1);
	date.setTime(date.getTime()-24*60*60*1000);
	var ld=date.getDate(); //lastday
	if (d>0)	d-=7;
	if (lang=='ru')	++d;
	if (c)
	{
		c=c.lastChild;
		for (var i=0;i<c.childNodes.length;++i)
		{
			var a=c.childNodes[i];
			if (a.tagName=='TR' && a.childNodes.length==7)
			{
				var dd=d;
				for (var j=0;j<a.childNodes.length;j++)
				{
					var b=a.childNodes[j];
					if (b.tagName=='TD')
					{
						b.className='';
						while(b.hasChildNodes())
						{
							var tmp = b.childNodes[ 0 ];
							b.removeChild( tmp );
						}
						if (dd>0 && dd<=ld)
						{
							var link=elem('A',''+dd,{'href':'','onClick':'return change_date(this);'});
							if (dd==cday)
							{
								b.className='cday';
								if (calendar_events[dd]==1)	link.className='white';
							}
							else
							{
								if (calendar_events[dd]==1)	link.className='red';
							}
							b.appendChild(link);
						}
						else b.innerHTML='&nbsp;';
						dd+=7;
					}
				}
				++d;
			}
		}
	}
	return false;
}

function	get_events(cmonth,cyear)
{
	sajax_request_type = "POST";
		return x_get_events(cmonth,cyear, set_events);
}
function x_get_events()
{
	return sajax_do_call("get_events",
		x_get_events.arguments);
}
function set_events(obj)
{
	var tabbd = document.getElementById( "eventsbody" );
	if( !tabbd )
	{
		var table = document.getElementById( "tbl_events" );
		var tbody = document.createElement( "tbody" );
		tbody.id = "eventsbody";
		table.appendChild( tbody );
		tabbd = document.getElementById( "eventsbody" );
	}
	while( tabbd.hasChildNodes() )
	{
		var tmp = tabbd.childNodes[ 0 ];
		tabbd.removeChild( tmp );
	}
	var i=0;
	for ( var key in obj )
	{
		var tr = document.createElement("tr");
		if (i%2==0) tr.className='row';
		var td = elem('td',elem('input','',{'type':'checkbox','name':'events_id[]','onClick':'return checked_(\'events\',this);','value':obj[key].id}),{'class':'ev1'});
		tr.appendChild(td);
		tr.appendChild(elem('td',obj[key].day,{'class':'ev2'}));
		tr.appendChild(elem('td',elem('p',obj[key].name),{'class':'ev3'}));
		var t=obj[key].my==1?'Я':obj[key].who;
		tr.appendChild(elem('td',elem('p',t),{'class':'ev4'}));
		t=obj[key].remind==0?'-':'за '+obj[key].remind+' дн.';
		tr.appendChild(elem('td',t,{'class':'ev5'}));
		var div=elem('div','',{'class':'twobuttons'});
		div.appendChild(elem('a','',{'class':'edit','title':'Редактировать','href':'/calendar/events/'+obj[key].id+'/edit/'}));
		div.appendChild(elem('a','',{'class':'clear','title':'Удалить','href':'/calendar/events/'+obj[key].id+'/delete/'}));
		tr.appendChild(elem('td',div,{'class':'ev6'}));
		tabbd.appendChild(tr);
		++i;
	}
}
function setHoro()
{
	var m=document.getElementById('calendar_month').value;
	var h=document.getElementById('horo1');
	--m;
	--m;
	if (m<0)	m+=12;
	if (m>11) 	m-=12;
	var from_day=hday[m];
	var from_month=month[lang][m];
	var horoname=horo[lang][m];
	m++;
	if (m>11) m-=12;
	h.className='h'+m;
	var to_day=hday[m];
	var to_month=month[lang][m];
	--to_day;
	h.innerHTML='<p><strong>'+horoname+'</strong></p><p>'+from_day+' '+from_month+' - '+to_day+' '+to_month+'</p>';
	h=document.getElementById('horo2');
	from_day=++to_day;
	from_month=to_month;
	horoname=horo[lang][m];
	m++;
	if (m>11) m-=12;
	h.className='h'+m;
	to_day=hday[m];
	to_month=month[lang][m];
	--to_day;
	h.innerHTML='<p><strong>'+horoname+'</strong></p><p>'+from_day+' '+from_month+' - '+to_day+' '+to_month+'</p>';
}

/*\horo*/
/*Sajax*/
		function sajax_debug(text) {
			if (sajax_debug_mode)
				alert(text);
		}
		
 		function sajax_init_object() {
 			sajax_debug("sajax_init_object() called..")
 			
 			var A;
 			
 			var msxmlhttp = new Array(
				'Msxml2.XMLHTTP.5.0',
				'Msxml2.XMLHTTP.4.0',
				'Msxml2.XMLHTTP.3.0',
				'Msxml2.XMLHTTP',
				'Microsoft.XMLHTTP');
			for (var i = 0; i < msxmlhttp.length; i++) {
				try {
					A = new ActiveXObject(msxmlhttp[i]);
				} catch (e) {
					A = null;
				}
			}
 			
			if(!A && typeof XMLHttpRequest != "undefined")
				A = new XMLHttpRequest();
			if (!A)
				sajax_debug("Could not create connection object.");
			return A;
		}
		
		var sajax_requests = new Array();
		
		function sajax_cancel() {
			for (var i = 0; i < sajax_requests.length; i++) 
				sajax_requests[i].abort();
		}
		
		function sajax_do_call(func_name, args) {
			var i, x, n;
			var uri;
			var post_data;
			var target_id;
			
			sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id);
			target_id = sajax_target_id;
			if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "") 
				sajax_request_type = "GET";
			
			uri = sajax_uri;
			if (sajax_request_type == "GET") {
			
				if (uri.indexOf("?") == -1) 
					uri += "?rs=" + escape(func_name);
				else
					uri += "&rs=" + escape(func_name);
					uri += "&rst=" + escape(sajax_target_id);
					uri += "&rsrnd=" + new Date().getTime();
				
				for (i = 0; i < args.length-1; i++) 
					uri += "&rsargs[]=" + escape(args[i]);

				post_data = null;
			} 
			else if (sajax_request_type == "POST") {
				post_data = "rs=" + escape(func_name);
				post_data += "&rst=" + escape(sajax_target_id);
				post_data += "&rsrnd=" + new Date().getTime();
				
				for (i = 0; i < args.length-1; i++) 
					post_data = post_data + "&rsargs[]=" + escape(args[i]);
			}
			else {
				alert("Illegal request type: " + sajax_request_type);
			}
			
			x = sajax_init_object();
			if (x == null) {
				if (sajax_failure_redirect != "") {
					location.href = sajax_failure_redirect;
					return false;
				} else {
					sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent);
					return false;
				}
			} else {
				x.open(sajax_request_type, uri, true);
				// window.open(uri);
				
				sajax_requests[sajax_requests.length] = x;
				
				if (sajax_request_type == "POST") {
					x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
					x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				}
			
				x.onreadystatechange = function() {
					if (x.readyState != 4) 
						return;

					sajax_debug("received " + x.responseText);
				
					var status;
					var data;
					var txt = x.responseText.replace(/^\s*|\s*$/g,"");
					status = txt.charAt(0);
					data = txt.substring(2);

					if (status == "") {
						// let's just assume this is a pre-response bailout and let it slide for now
					} else if (status == "-") 
						alert("Error: " + data);
					else {
						if (target_id != "") 
							document.getElementById(target_id).innerHTML = eval(data);
						else {
							try {
								var callback;
								var extra_data = false;
								if (typeof args[args.length-1] == "object") {
									callback = args[args.length-1].callback;
									extra_data = args[args.length-1].extra_data;
								} else {
									callback = args[args.length-1];
								}
								callback(eval(data), extra_data);
							} catch (e) {
								sajax_debug("Caught error " + e + ": Could not eval " + data );
							}
						}
					}
				}
			}
			
			sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
			x.send(post_data);
			sajax_debug(func_name + " waiting..");
			delete x;
			return true;
		}
		//посылаем запрос
		function x_get_holidays() {
			return sajax_do_call("get_holidays",
				x_get_holidays.arguments);
		}
		//обрабатываем ответ от сервера
		function set_holidays(obj) {
			var tabbd = document.getElementById( "holidaysbody" );
			if( !tabbd ) return false;
			while( tabbd.hasChildNodes() )
			{
				var tmp = tabbd.childNodes[ 0 ];
				tabbd.removeChild( tmp );
			}
			var i=0;
			for ( var key in obj )
			{
				var tr = document.createElement("tr");
				if (i%2==0) tr.className='row';
				tr.appendChild(elem('td',obj[key].day,{'class':'t1'}));
				var td = elem('td');
				td.appendChild(elem('p',obj[key].name));
				tr.appendChild(td);
				tabbd.appendChild(tr);
				++i;
			}
		}

	function get_holidays(m) {
		sajax_request_type = "POST";
		return x_get_holidays(m, set_holidays);
	}

	//посылаем запрос
	function x_get_names() {
		return sajax_do_call("get_names",
			x_get_names.arguments);
	}
	//обрабатываем ответ от сервера
	function set_names(obj) {
		var tabbd = document.getElementById( "namesbody" );
		if( !tabbd ) return false;
		while( tabbd.hasChildNodes() )
		{
			var tmp = tabbd.childNodes[ 0 ];
			tabbd.removeChild( tmp );
		}
		var i=0;
		for ( var key in obj )
		{
			var tr = document.createElement("tr");
			if (i%2==0) tr.className='row';
			tr.appendChild(elem('td',key,{'class':'t1'}));
			var td = elem('td');
			td.appendChild(elem('p',obj[key]));
			tr.appendChild(td);
			tabbd.appendChild(tr);
			++i;
		}
	}

	function get_names(m) {
		sajax_request_type = "POST";
		return x_get_names(m, set_names);
	}
/*\Sajax*/

	//посылаем запрос
	function x_get_mypresent() {
		return sajax_do_call("get_mypresent",
			x_get_mypresent.arguments);
	}

	function get_mypresent(m) {
		sajax_request_type = "POST";
		return x_get_mypresent(m, set_mypresent);
	}
	//обрабатываем ответ от сервера
function set_mypresent(obj)
{
	if (obj!==false)
	{
		document.getElementById('mypresent_pid').value=obj['id'];
		document.getElementById('mypresent_name').value=obj['name'];
		document.getElementById('mypresent_name').className='text';
		document.getElementById('mypresent_relevance').value=obj['relevance'];
		if (obj['relevance']==0)	var c='best_';
		else var c='best';
		document.getElementById('mypresent_relevance').parentNode.firstChild.className=c;
		document.getElementById('mypresent_union').value=obj['union'];
		if (obj['union']==0)	var c='union_';
		else var c='union';
		document.getElementById('mypresent_union').parentNode.firstChild.className=c;
		document.getElementById('mypresent_desc').value=obj['desc'];
		document.getElementById('mypresent_desc').className='text';
		document.getElementById('mypresent_link').value=obj['link'];
		document.getElementById('mypresent_link').className='text';
		document.getElementById('mypresent_date').innerHTML=obj['date'];
	}
	return false;
}

/*function edit_mypresent(obj) //- без AJAX, загрузка данных напрямую из таблицы на странице без обращения к серверу.
{
	obj=obj.parentNode;
	while (obj.tagName!='TR')	obj=obj.parentNode;
	var j=0;
	for (var i=0; i<obj.childNodes.length;++i)
	{
		var td=obj.childNodes[i];
		if (td.tagName=='TD')
		{
			if (j==0)	document.getElementById('mypresent_pid').value=td.lastChild.value;
			else if (j==1)
			{
				document.getElementById('mypresent_name').value=td.lastChild.innerHTML;
				document.getElementById('mypresent_name').className='text';
			}
			else if (j==2)
			{
				var c=td.className;
				document.getElementById('mypresent_relevance').parentNode.firstChild.className=c;
				document.getElementById('mypresent_relevance').value=(c=='best'?1:0);
			}
			else if (j==3)
			{
				document.getElementById('mypresent_desc').value=td.lastChild.innerHTML;
				document.getElementById('mypresent_desc').className='text';
			}
			else if (j==4)
			{
				document.getElementById('mypresent_link').value=td.lastChild.innerHTML;
				document.getElementById('mypresent_link').className='text';
			}
			else if (j==5)
			{
				var c=td.className;
				document.getElementById('mypresent_union').parentNode.firstChild.className=c;
				document.getElementById('mypresent_union').value=(c=='union'?1:0);
			}
			else if (j==6)	document.getElementById('mypresent_date').innerHTML=td.innerHTML;
			++j;
		}
	}
	return false;
}*/

function save_events()
{
	var p=document.getElementById('events_action');
	if (p)	p.value='save_events';
	else return false;
	var cyear=document.getElementById('calendar_year').value;
	var cmonth=document.getElementById('calendar_month').value;
	var date=new Date(cyear,cmonth,1);
	date.setTime(date.getTime()-24*60*60*1000);
	var ld=date.getDate(); //lastday
	p=document.getElementById('events_day');
	if (p && p.value!='' && p.value>0 && p.value<=ld)
	{
		p=document.getElementById('events_name');
		if (p && p.value!='')	document.forms.events.submit();
		else p.focus();
	}
	else	p.focus();
	return false;
}
function clear_events()
{
	document.forms.events.reset();
	var c=document.forms['events'].elements['events[my]'];
	var p=document.getElementById('events_who');
	var b=document.getElementById('block_guests');
	if (p)
	{
		if (c[0].checked)
		{
			p.className="text";
			b.style.display="none";
		}
		else
		{
			p.className="text_";
			b.style.display="block";
		}
	}
	return false;
}
function my_events(act)
{
	var p=document.getElementById('events_who');
	var c=document.forms['events'].elements['events[my]'];
	var b=document.getElementById('block_guests');
	if (p)
	{
		if (act==1)
		{
			p.className='text_';
			c[1].checked=true;
			b.style.display="block";
		}
		else
		{
			p.className='text';
			c[0].checked=true;
			b.style.display="none";
		}
	}
	return true;
}
function delete_events()
{
	var c=document.forms['events'].elements['events_id[]'];
	if (!c) return false;
	var checked=true;
	if (c.checked) checked=false;
	for (var i=0;i<c.length;++i)
	{
		if (c[i].checked)
		{
			checked=false;
			break;
		}
	}
	if (checked)	return	false;
	var p=document.getElementById('events_action');
	if (p)	p.value='delete_events';
	document.forms.events.submit();
	return false;
}
//-----------------------------
function elem(name, text, attrs, style ) {
    var e = document.createElement(name);
    if (attrs) {
        for (key in attrs) {
            if (key == 'class') {
                e.className = attrs[key];
            } else if (key == 'id') {
                e.id = attrs[key];
            } else {
                e.setAttribute(key, attrs[key]);
            }
        }
    }
    if (style) {
        for (key in style) {
            e.style[key] = style[key];
        }
    }
    if (text) {
		if(typeof(text)=='string')	e.appendChild(document.createTextNode(text));
		else e.appendChild(text);
    }
    return e;
}
//--------------------------------
function guest_invitation(obj)
{
	var p=document.getElementById('events_id');
	if (!p || !p.value)	return false;
	if (obj && obj.value)
	{
		if (!get_guest_invitation(p.value,obj.value,obj.checked))	return	true;
		return false;
	}
	else	return true;	
}
function	get_guest_invitation(events_id,id,checked)
{
	sajax_request_type = "POST";
		return x_get_guest_invitation(events_id,id,checked, set_guest_invitation);
}
function x_get_guest_invitation()
{
	return sajax_do_call("get_guest_invitation",
		x_get_guest_invitation.arguments);
}
function set_guest_invitation(obj)
{
	if (!obj)	return	false;
	var p=document.getElementById('events_id');
	if (!p || (p.value!=obj.events_id))	return	false;
	var p=document.getElementById('events_guests_invitation_'+obj.id);
	if (p)
	{
		if (obj.checked==true)		p.checked=true;
		else p.checked=false;
	}
	return	true;
}
function save_guests()
{
	var p=document.getElementById('events_action');
	if (p)	p.value='save_guests';
	else return false;
	p=document.getElementById('guests_name');
	if (p && p.className!='text_' && p.value!='')
	{
		p=document.getElementById('guests_email');
		if (p && p.className=='text_')	p.value='';
		p=document.getElementById('guests_phone');
		if (p && p.className=='text_')	p.value='';
		document.forms.events.submit();
	}
	else	p.focus();
	return false;
}
function save_guests_list()
{
	var p=document.getElementById('events_action');
	if (p)	p.value='save_guests_list';
	else return false;
	document.forms.events.submit();
	return false;
}
function change_date(obj)
{
	var p=document.getElementById('events_day');
	var day=obj.innerHTML;
	if (day<10)	day='0'+day;
	if (p) p.value=day;
	return false;
}
/******************************************************************************
Функции для добавления в Избранное
******************************************************************************/
/******************************************************************************
Пример
<a href="javascript: void(addBookmark("ТвойURL", "ТвоеНазвание") || alert('Ваш браузер не поддерживает автоматическое добавление закладок.'))">ADD</a> 
<a href="javascript: void(addBookmark() || alert('Ваш браузер не поддерживает автоматическое добавление закладок.'))">ADD</a>
******************************************************************************/
function addBookmark(url, title)
{
 if (!url) url = location.href;
 if (!title) title = document.title;
 
 //Gecko
 if ((typeof window.sidebar == "object") && (typeof window.sidebar.addPanel == "function")) window.sidebar.addPanel (title, url, "");
 //IE4+
 else if (typeof window.external == "object") window.external.AddFavorite(url, title);
 //Opera7+
 else if (window.opera && document.createElement)
 {
   var a = document.createElement('A');
   if (!a) return false; //IF Opera 6
   a.setAttribute('rel','sidebar');
   a.setAttribute('href',url);
   a.setAttribute('title',title);
   a.click();
 }
 else return false;
 
 return true;
}

function send_guests_email()
{
	var p=document.getElementById('events_action');
	if (p)	p.value='send_guests_email';
	else return false;
	document.forms.events.submit();
	return false;
}

/*функции для логина*/
function submiter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if (keycode == 13)
	{
		myfield.form.submit();
		return false;
	}
	else return true;
}
function forgot()
{
	var email_login=document.getElementById('email_login');
	var email_domain=document.getElementById('email_domain');
	var action=document.getElementById('action');
	var form=document.forms['LOGIN'];
	if (email_login && email_domain && action && form)
	{
		if (email_login.value=='')
		{
			alert('Введите e-mail');
			email_login.focus();
			return false;
		}
		if (email_domain.value=='')
		{
			alert('Введите e-mail');
			email_domain.focus();
			return false;
		}
		action.value='forgot';
		form.submit();
		return false;
	}
	return false;
}
function f_check()
{
	var email_login=document.getElementById('email_login');
	var email_domain=document.getElementById('email_domain');
	var pass=document.getElementById('pass');
	if (email_login && email_domain && pass)
	{
		if (email_login.value=='')
		{
			alert('Введите e-mail');
			email_login.focus();
			return false;
		}
		if (email_domain.value=='')
		{
			alert('Введите e-mail');
			email_domain.focus();
			return false;
		}
		if (pass.value=='')
		{
			alert('Введите пароль');
			pass.focus();
			return false;
		}
		return true;
	}
	return false;
}
/**/
/*give*/
function giveSearch()
{
	var p=document.getElementById('give-name');
	if (!p || p.value=='')
	{
		alert('Не указано имя');
		p.focus();
		return false;
	}
	var p=document.getElementById('give-surname');
	if (!p || p.value=='')
	{
		alert('Не указана фамилия');
		p.focus();
		return false;
	}
	var img=document.getElementById('bigarrow');
	if (img)	img.src='/img/bigarrow.gif';
	if (setTimeout(function() {document.forms.give_form.submit();},2000))	return false;
	return true;
}
/*end give*/
/*Установка подарка выбранным, если это доступно пользователю*/
function	select_present(id)
{
	sajax_request_type = "POST";
	return x_select_present(id, select_present_);
}
function x_select_present()
{
	return sajax_do_call("select_present_",
		x_select_present.arguments);
}
function select_present_(obj)
{
	if (obj!==false)
	{
		var i=obj[1];
		var id=obj[0];
		var obj=document.getElementById('select_present_'+id);
		if (i == 1) 
			obj.className = 'union';
		else {
			if (i == 2) {
				obj.className = 'union';
				window.open('/mypresent/'+id+'/','UnionPresent','toolbar=no,width=600,height=600,directories=no,status=no,scrollbars=yes,resize=no,menubar=no');
			}
			else 
				obj.className = 'union_';
		}
	}
}
function view_present (id)
{
	window.open('/mypresent/'+id+'/','UnionPresent','toolbar=no,width=950,height=600,directories=no,status=no,scrollbars=yes,resize=no,menubar=no');
}

/*assessment*/
function findPosX(obj)
{
	var curleft=0;
	if(obj.offsetParent)
	{
	    while(obj.offsetParent)
		{
		    curleft+=obj.offsetLeft
		    obj=obj.offsetParent;
	    }
	}
	else if (obj.x)
	{
		curleft+=obj.x;
	}
	return curleft;
}

function assessment(a,b,elem,pwidth,arrow)
{
	var x=findPosX(a)+10;
	var posX=b.clientX-x; // координаты x
	posX=(posX*100)/pwidth;
	if (posX>95) posX=100;
	if (posX<5) posX=0;
	posX=Math.round(posX);
	document.forms['assessment_form'].elements[elem].value = posX+'%';
	document.getElementById(arrow).style.marginLeft = (posX*pwidth/100-4)+"px";
}

function assessment_input(elem,pwidth,arrow)
{
	var posX=parseFloat(elem.value);
	if (posX.toString()=='NaN') posX=0;
	elem.value=posX+'%';
	document.getElementById(arrow).style.marginLeft = (posX*pwidth/100-4)+"px";
}

function print_calendar ()
{
	window.open('/calendar/print/','PrintCalendar','toolbar=no,width=600,height=600,directories=no,status=no,scrollbars=yes,resize=no,menubar=no');
}

function recomendation()
{
	winresize.push("win_recomendation");
	initwin();
	return false;
}
function f_check_recomendation()
{
	var ret=false;
	var name=document.getElementById('recomendation_name');
	if (name && name.value=='')
	{
		alert('Введите имя вашего друга');
		return false;
	}
	var email=document.getElementById('recomendation_email');
	if (email && email.value=='')
	{
		alert('Введите e-mail вашего друга');
		return false;
	}
	return true;
}

function present_select()
{
	var d=document.getElementById('login');
	if (d)
	{
		winresize.push("login");
		initwin();
		return false;
	}
	return true;
}