function GoToLinkForSure(URL, Message)
{
	if(confirm(Message))
	{
		location.href = URL;
	}
}

function rewrite_days(idday, idmonth, idyear)
{
	var day=document.getElementById(idday);
	var month=document.getElementById(idmonth);
	var year=document.getElementById(idyear);
	var day_in_visokos;
	var day_length;
	var num_of_day;
 
	if(day.options[0].value == 1)
	{
		day_in_visokos = 28;
		day_length = 1;
		num_of_day = 0;
	}
	else
	{
		day_in_visokos = 29;
		day_length = 0;
		num_of_day = 1;
	}
 
    var days_in_month = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if (month.value != 0)
    {
		if ((year.value % 4 == 0) && (month.value == 2))
        {
			day.options.length=day_in_visokos;
			day.options[day.options.length] = new Option(29,29);
        }
        else
        {
			var ind = day.options.length+day_length;
			while(ind)
			{
				if(ind > days_in_month[month.options[month.selectedIndex].value - 1])
					break;
				day.options[day.options.length] = new Option(ind, ind);
				ind++;
			}
			day.options.length=days_in_month[month.options[month.selectedIndex].value-1] + num_of_day;
		}
    }
}
function ShowDropDown(name, span_name)
{
	usr_name = document.getElementById(name);
	usr_name.style.top = '0px';
	usr_name.style.display = 'block';
}
function HideDropDown(name)
{
	usr_name = document.getElementById(name);
	usr_name.style.display = 'none';
}
function CutFromHREF(name, href, bNotRemoveSeparator)
{
	remove_separator = 1;
	if(bNotRemoveSeparator)
		remove_separator = 0;
	
	if(!href)
		href = window.location.href;
		
	cut_ind = href.indexOf(name);
		
	amp_ind = href.indexOf('&', cut_ind);
	if(amp_ind == -1)
		amp_ind = href.length;
		
	cut_str = href.substring(cut_ind - remove_separator, amp_ind);
		
	replace_str = '';
	if(cut_str == ('?' + name))
		replace_str = '?';
			
	return href.replace(cut_str, replace_str);
}

function ValidateHREF(href)
{
	if(href.indexOf('?') == -1)
	{
		slash_ind = href.lastIndexOf('/');
		if(slash_ind == -1)
		{
			href = '?' + href;
		}
		else
		{
			before = href.substring(0, slash_ind);
			after = href.substring(slash_ind);
			href = before + '?' + after;
		}
	}
	return href;
}

function ShowHideBlock(block_id)
{
	block = document.getElementById(block_id);
	if(block.style.display == 'block')
	{
		block.style.display = 'none';
	}
	else
	{
		block.style.display = 'block';
	}
}

//--------------------------- Ajax ------------------------------------------
var livecage_ajax = false;
try 
{
	livecage_ajax = new XMLHttpRequest();
}
catch (trymicrosoft) 
{
	try 
	{
		livecage_ajax = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (othermicrosoft)
	{
		try
		{
			livecage_ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (failed) 
		{
			livecage_ajax = false;
		}
	}
}

function AddToContacts(usr_name, host)
{
	var url = "http://" + host + 
		"/?res=root._help._service.ajax&page=ajax_add_contact_action&usr_name=" +
		usr_name;
	livecage_ajax.open("GET", url, true);
	livecage_ajax.onreadystatechange = ResultOfAdding;
	livecage_ajax.send(null);
}

function ResultOfAdding()
{
	if (livecage_ajax.readyState == 4)
	{
		if (livecage_ajax.status == 200)
		{
			var message_block = document.getElementById('ajax_message');
			var response = livecage_ajax.responseText;
			message_block.innerHTML = response;
			message_block.style.display = 'block';
			
		}
	}
}

function MessageChecker()
{
	this.LCAjax = livecage_ajax;
	this.LCAjax.MessageChecker = this;
	this.message_notification_timer = -1;
	this.host = '';
	this.MessageArray = new Array();
	this.MessageCounter = document.getElementById('new_message_counter');
	this.NotifyAboutMessages;
	this.MessageWindow;
	this.YouHaveNewMessages = '';
	this.AlwaysNotifyAboutNewMessages = '';
		
	this.CreateMessageWindow();
}
MessageChecker.prototype.Init = function(host, notification, 
	YouHaveNewMess, AlwaysNotifyNewMess)
{
	this.host = host;
	this.NotifyAboutMessages = Number(notification);
	this.YouHaveNewMessages = YouHaveNewMess;
	this.AlwaysNotifyAboutNewMessages = AlwaysNotifyNewMess;
}
MessageChecker.prototype.StartPeriodicalChecking = function()
{
	var MCInstance = this;
	this.message_notification_timer =
		setInterval(function(){MCInstance.PeriodicalChecking()}, 60000);
}
MessageChecker.prototype.PeriodicalChecking = function()
{
	if(this.LCAjax)
	{
		this.CheckNewMessage();
	}
}	
MessageChecker.prototype.CheckNewMessage = function()
{
	var url = "http://" + this.host + "/?res=root._help._service.ajax" +
		'&page=ajax_check_new_messages';
	var MCInstance = this;
	
	this.LCAjax.open("GET", url, true);
	this.LCAjax.onreadystatechange = MCInstance.ResultOfChecking;
	this.LCAjax.send(null);
}
MessageChecker.prototype.ResultOfChecking = function()
{
	if (this.readyState == 4)
	{
		if (this.status == 200)
		{
			this.MessageChecker.ApplyChanges(this.responseText);
		}
	}
}
MessageChecker.prototype.ApplyChanges = function(response)
{
	this.MessageArray = new Array();
	var Data = new Array();
	
	if(response)
	{
		Data = response.split('<:notifynewmessage:/>');
		
		this.NotifyAboutMessages = Number(Data[0]);
		if(Data[1])
		{
			this.MessageArray = Data[1].split('<:lcmessage:/>');
		}
		
		if(this.NotifyAboutMessages)
		{
			if(this.MessageArray.length)
			{
				this.MessageCounter.innerHTML = 
					'<a href="?res=root.my_account.messaging.' +
					'inbox&from=new" class=usual_link >(' + 
					this.MessageArray.length + ')</a> ';
					
				this.DisplayMessageWindow();
			}
			else
			{
				this.MessageCounter.innerHTML = '(0) ';
				this.MessageWindow.style.display = 'none';
			}
		}
		else
		{
			this.MessageWindow.style.display = 'none';
		}
	}
}
MessageChecker.prototype.DisplayMessageWindow = function()
{
	this.MessageWindow.innerHTML = '<b>' + this.YouHaveNewMessages + 
		'</b><br>';
	this.MessageWindow.innerHTML += '<span style="padding:4px;' +
		'font-size:11px;"><label><input type=checkbox ' +
		'id=MCMessageNotification checked>' +
		this.AlwaysNotifyAboutNewMessages +	'</label></span>';
	
	if(this.MessageArray.length > 0)
	{
		var table = document.createElement("table");
		var tbody = document.createElement("tbody");
		var scrolldiv = document.createElement('div');
			
		scrolldiv.style.overflow = 'auto';
		scrolldiv.style.height = '85px';
		scrolldiv.style.borderBottom = '1px dotted green';
		scrolldiv.style.borderTop = '1px dotted green';
		scrolldiv.style.marginTop = '2px';
			
		table.appendChild(tbody);
		scrolldiv.appendChild(table);
		
		for(var i = 0; i < this.MessageArray.length; i ++)
		{
			var row = document.createElement("tr");
			var cell_usrname = document.createElement("td");
			var cell_subject = document.createElement("td");
			var UserData = new Array();
				
			UserData = this.MessageArray[i].split('<:lcdataseparator:/>');
			cell_usrname.innerHTML = '<a class=usual_link '+
				'href="/?res=root._view_user&user=' + 
				UserData[0] + '&profile" target=_blank>' + UserData[1] +
				'</a>';
			cell_subject.innerHTML = '<a class=func_link ' +
				'href="/?res=root.my_account.messaging&' +
				'action=read&msg=' + UserData[2] + '" target=_blank>' +
				UserData[3] + '</a>';
			
			row.appendChild(cell_usrname);
			row.appendChild(cell_subject);
			tbody.appendChild(row);
		}
			
		this.MessageWindow.appendChild(scrolldiv);
			
		var buttondiv = document.createElement('div'); 
		var okbutton = document.createElement('input');
		var MCInstance = this;
			
		okbutton.value = ' OK ';
		okbutton.type = 'button';
		okbutton.MessageChecker = this;
		if(okbutton.addEventListener)
		{
			okbutton.addEventListener('click', 
				MCInstance.CloseMessageWindow, false);
		}
		else
		{
			okbutton.attachEvent("onclick", MCInstance.CloseMessageWindow);
		}
		
		buttondiv.style.textAlign = 'right';
		buttondiv.style.padding = '2px';
		buttondiv.appendChild(okbutton);
		
		this.MessageWindow.appendChild(buttondiv);
			
		this.MessageWindow.style.display = 'block';
	}
}
MessageChecker.prototype.CreateMessageWindow = function()
{	
	this.MessageWindow = document.createElement("div");
	this.MessageWindow.className = 'new_message_window';
	document.body.appendChild(this.MessageWindow);
}
MessageChecker.prototype.CloseMessageWindow = function()
{
	var checkbox = document.getElementById('MCMessageNotification');
	
	if(!checkbox.checked)
	{
		livecage_ajax.MessageChecker.SaveSetting(0);
	}

	livecage_ajax.MessageChecker.MessageWindow.style.display = 'none';
}
MessageChecker.prototype.SaveSetting = function(iSave)
{
	var url = "http://" + this.host + "/?res=root._help._service.ajax" +
		'&page=ajax_notify_new_message&notify=' + iSave;
	var MCInstance = this;
		
	this.LCAjax.open("GET", url, true);
	this.LCAjax.onreadystatechange = MCInstance.DoNothing;
	this.LCAjax.send(null);	
}
MessageChecker.prototype.DoNothing = function()
{
}

//don't remove next function, it is redefined in group_list.php
function UncheckAllCheckboxes()
{
}
