function debug(message)
{
	alert('DEBUG: [' + message +']');
}

function _in_array(value, array)
{
	var result = false;

	if (array && typeof(array) == 'array')
	{
		for (var i = 0; i < array.length; i++)
		{
			if (array[i] == value)
			{
				result = true;
				break;
			}
		}
	}

	return result;
}

function debug_object(object, props, ret)
{
	var s = '';

	if (props && typeof(props) == 'object' && (props instanceof Array))
	{
		for (var i = 0; i < props.length; i++)
		{
			var p = props[i];

			if (p != 'selectionStart' && p != 'selectionEnd')
			{
				s += p + '=' + object[p] + '\n';
			}
		}
	}
	else
	{
		for (var p in object)
		{
			if (p != 'selectionStart' && p != 'selectionEnd')
			{
				s += p + '=' + object[p] + '\n';
			}
		}
	}

	if (! ret) alert('OBJECT:\n[' + s +']');
	else
			return s;
}


function get_radio_value(object)
{
	if (!object)
	{
		return false;
	}

	var value	= null;

	for (i = 0; i < object.length; i++)
	{
		if (object[i].checked)
		{
			value = object[i].value;
		}
	}

	return value;
}

function get_hours(hour)
{
	for (i = 0; i < 24; i++)
	{
		sel = (hour == i) ? 'SELECTED' : '';
		document.write('<option value="' + i + '" ' + sel + '>' + i + '</option>\n');
	}
}

function get_minutes(minute)
{
	for (i = 0; i < 60; i++)
	{
		sel = (minute == i) ? 'SELECTED' : '';
		ii = (i > 9) ? i : '0' + i;
		document.write('<option value="' + i + '" ' + sel + '>' + ii + '</option>\n');
	}
}

function get_days(day)
{
	for (i = 1; i <= 31; i++)
	{
		sel = (day == i) ? 'SELECTED' : '';
		document.write('<option value="' + i + '" ' + sel + '>' + i + '</option>\n');
	}
}

function get_months(month, index)
{
	index = (isNaN(index)) ? 0 : index;
	var months = new Array
	(
	    new Array('январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль',  'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'),
	    new Array ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля',  'августа', 'сентября', 'октября', 'ноября', 'декабря')
	);

	for (i = 0; i < 12; i++)
	{
		sel = (month == (i + 1)) ? 'SELECTED' : '';
		document.write('<option value="' + (i + 1) + '" ' + sel + '>' + months[index][i] + '</option>\n');
	}
}

function get_month_name(month, index)
{
	index = (isNaN(index)) ? 0 : index;
	var months = new Array
	(
	    new Array('январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль',  'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'),
	    new Array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля',  'августа', 'сентября', 'октября', 'ноября', 'декабря')
	);

	return months[index][month];
}

function get_month_string(month)
{
	document.writeln(get_month_name(month - 1, 1));
}

function get_years(year)
{
	var start	= (get_years.arguments[1]) ? get_years.arguments[1] : 1990;
	var end		= (get_years.arguments[2]) ? get_years.arguments[2] : 2009;
	for (i = start; i <= end; i++)
	{
		sel = (year == i) ? 'SELECTED' : '';
		document.write('<option value="' + i + '" ' + sel + '>' + i + '</option>\n');
	}
}

function get_days_limit(index, year)
{
	var months_limits = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if (index == 1)
	{
		months_limits[1] = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) ? 29 : 28;
	}
	return months_limits[index];
}

function get_calendar(title, date)
{
	var today = (date) ? new Date(date) : new Date();
	var title = (title) ? title : '';

	var cur_day = today.getDay();
	var cur_month = today.getMonth();
	var cur_year = today.getFullYear();
	var first_day = new Date(cur_year, cur_month, 1);
	var first_weekday = first_day.getDay();

	if (first_weekday == 0)
	{
		first_weekday = 7;
	}

	var week_day = 1;
	var month_day = 1;
	var month_day_limit = get_days_limit(cur_month, cur_year);
	var runner = true;
	var inside = false;
	var cls = '';
	var bgcolor = '#f2f2f2';
	var outside = false;
	document.write('<tr><td><table width="230" border="0" cellpadding="2" cellspacing="1" bgcolor="#B7B7B7">');
	document.write('<tr><td align="center" bgcolor="#f2f2f2" colspan="7" id="bold">' + title + ' ' +  get_month_name(cur_month) + ' ' + cur_year + ' года</td></tr>');
	document.write('<tr align="center" bgcolor="#f2f2f2"><td><a href="?&year=2003"><img src="/img/li_rev.gif" width="9" height="9" alt="" /></a></td><td colspan="5"><select>' + '</select></td><td><a href="?&year=2003"><img src="/img/li.gif" width="9" height="9" alt="" /></a></td></tr>');
	document.write('<tr align="center" bgcolor="#f2f2f2"><td class="small">ПН</td><td class="small">ВТ</td><td class="small">СР</td><td class="small">ЧТ</td><td class="small">ПТ</td><td class="small">СБ</td><td class="small">ВС</td></tr>');
	for (i = 0; i < 42; i++)
	{
		if (!outside && week_day == first_weekday)
		{
			inside = true;
		}
		if ((week_day - 1) % 7 == 0)
		{
			document.write('<tr>');
		}
		if (inside)
		{
			date_line = month_day;
		}
		else
		{
			date_line = '&nbsp';
		}
		if ((week_day % 7) % 6 == 0)
		{
			cls = "red";
		}
		else
		{
			cls = '';
		}

		day_bgcolor = (month_day == cur_day) ? '#ff6600' : bgcolor;
		document.write('<td class="' + cls + '" align="center" bgcolor="' + day_bgcolor + '">' + date_line + '</td>');
		if (month_day >= month_day_limit)
		{
			outside = true;
			inside = false;
		}
		if (week_day % 7 == 0) document.write('</tr>');
		if (outside && (week_day % 7 == 0))
		{
			runner = false;
		}
		week_day++;
		if (inside) month_day++;
	}
	document.write('</table>');
}

function showhide(id, state)
{
	var item = document.getElementById(id);

	if(item == null)
        {
	   return;
        }

	if (!state)
	{
		if (item.style.display == 'none')
		{
			display = 'inline';
		}
		else
		{
			display = 'none';
		}
	}
	else
	{
		display = state;
	}
	item.style.display = display;
}

function keep_showhide(name)
{
	var item = document.getElementById(name);
	var state = item.style.display;
	document.cookie = name + '=' + state;

	if (name.indexOf('mod_') != -1)
	{
		var clover = document.images['pic_' + name];

		if (state == 'inline')
		{
			clover.src = clover.src.replace('open.png', 'close.png');
		}
		else
		{
			clover.src = clover.src.replace('close.png', 'open.png');
		}
	}
}


function get_state(prefix)
{
	var cookies = document.cookie.split('; ');
	for (i = 0; i < cookies.length; i++)
	{
		if (cookies[i].indexOf(prefix) != -1)
		{
			cookie = cookies[i].split('=');
			var name = cookie[0];
			var state = cookie[1];

			if (document.getElementById(name))
			{
				showhide(name, state);

				if (name.indexOf('mod_') != -1)
				{
					var clover = document.images['pic_' + name];

					if (state == 'inline')
					{
						clover.src = clover.src.replace('open.png', 'close.png');
					}
					else
					{
						clover.src = clover.src.replace('close.png', 'open.png');
					}
				}
			}
			else
			{
				document.cookie = name + '=' + ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
			}
		}
	}
}

function swap_folders(prefix)
{
	var cookies = document.cookie.split('; ');
	for (i = 0; i < cookies.length; i++)
	{
		if (cookies[i].indexOf(prefix) != -1)
		{
			cookie = cookies[i].split('=');
			var name = cookie[0];
			var state = cookie[1];

			if (document.getElementById(name))
			{
				var img1 = document.images['folder_' + name];
				var img2 = document.images['tree_' + name];

				if (img2.src.indexOf('dots3w') == -1)
				{
					var dots_name = 'dots2wchilds';
				}
				else
				{
					var dots_name = 'dots3wchilds';
				}

				if (state == 'inline')
				{
					img1.src = img1.src.replace('folder.gif', 'folder-open.gif');
					img2.src = img2.src.replace(dots_name + '.gif', dots_name + '-open.gif');
				}
				else
				{
					img1.src = img1.src.replace('folder-open.gif', 'folder.gif');
					img2.src = img2.src.replace(dots_name + '-open.gif', dots_name + '.gif');
				}
			}
		}
	}
}

function number_format(number, decimal, dec_point, th_sep)
{
	number = Math.round(number * Math.pow(10, decimal)) / Math.pow(10, decimal);
	str_number = number + '';
	arr_int = str_number.split('.');

	if(!arr_int[0]) arr_int[0] = '0';
	if(!arr_int[1]) arr_int[1] = '';
	if(arr_int[1].length < decimal)
	{
		nachkomma = arr_int[1];

		for(i = arr_int[1].length + 1; i <= decimal; i++)
		{
			nachkomma += '0';
		}

	        arr_int[1] = nachkomma;
	}

	if(th_sep != '' && arr_int[0].length > 3)
	{

		Begriff = arr_int[0];
		arr_int[0] = '';

		for(j = 3; j < Begriff.length ; j += 3)
		{

			Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
			arr_int[0] = th_sep + Extrakt +  arr_int[0] + '';

	        }

		str_first = Begriff.substr(0, (Begriff.length % 3 == 0) ? 3 : (Begriff.length % 3));
	        arr_int[0] = str_first + arr_int[0];
	}

	return arr_int[0] + dec_point + arr_int[1];
}

function calc_date(form_name)
{
	var form = document.forms[form_name];

	var date = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] : 'date';
	var date_year = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_year' : 'date_year';
	var date_month = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_month' : 'date_month';
	var date_day = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_day' : 'date_day';
	var date_hour = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_hour' : 'date_hour';
	var date_minute = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_minute' : 'date_minute';

	form.elements[date].value = form.elements[date_year].value + '-' + form.elements[date_month].value + '-' + form.elements[date_day].value;

	if (form.elements[date_hour] && form.elements[date_minute])
	{
		var date_hour = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_hour' : 'date_hour';
		var date_minute = (calc_date.arguments[1]) ? 'date_' + calc_date.arguments[1] + '_minute' : 'date_minute';
		form.elements[date].value += ' ' + form.elements[date_hour].value + ':' + form.elements[date_minute].value;
	}
}

function disable_submit(form_name)
{
	var form = document.forms[form_name];
	form.submit.disabled = true;
	form.reset.disabled = true;
}

function del_confirm(message)
{
	return window.confirm(message);
}

function todayDate()
{
	var right_now=new Date();
	var months = new Array ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля',  'августа', 'сентября', 'октября', 'ноября', 'декабря');
	var weekdays = new Array ('Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье');
	return weekdays[right_now.getDay()-1]+' '+right_now.getDate()+' '+months[right_now.getMonth()]+' '+(1900+right_now.getYear())+' года';
}

function openwin(uri, width, height, extra)
{
	var width = (width) ? width : 640;
	var height = (height) ? height : 480;
	var extra = (extra) ? extra : '';

	return window.open(uri, 'window', 'width=' + width + ', height=' + height + extra);
}

function make_get_uri(form_name)
{
	var uri = '';
	var form = document.forms[form_name];

	for (i = 0; i < form.elements.length; i++)
	{
		if ('checkbox' != form.elements[i].type)
		{
			uri += '&' + form.elements[i].name + '=' + form.elements[i].value;
		}
	}

	return uri;
}

function set_now_in_dateselection(formName,selectionName)
{
var today = new Date()
eval("document."+formName+"."+selectionName+"_day.selectedIndex = today.getDate()");
eval("document."+formName+"."+selectionName+"_month.selectedIndex = today.getMonth()+1");
year_obj = eval("document."+formName+"."+selectionName+"_year");

 for(i=0;i<year_obj.length;i++)
   {
    if(year_obj[i].value == today.getFullYear())
    {
        year_obj.selectedIndex = i;
    }
   }
}

function setFormFocus(form)
{
	var bFound = false;

	for (var i = 0; i < form.length; i++)
	{
		if (form[i].type != 'hidden')
		{
			if (form[i].disabled != true)
			{
					form[i].focus();
					var bFound = true;
			}
		}

		if (bFound == true) break;
	}
}

function error(message)
{
	return "<error>" + message + "</error>";
}

function warning(message)
{
	return "<warning>" + message + "</warning>";
}

function message(message)
{
	return "<message>" + message + "</message>";
}
function trim(s)
{
	return rtrim(ltrim(s));
}

function ltrim(s)
{
	var l=0;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	return s.substring(l, s.length);
}



function rtrim(s)
{
	var r=s.length -1;
	while(r > 0 && s[r] == ' ')
	{	r-=1;	}
	return s.substring(0, r+1);
}


function mod_press_edit_form_before_save(form)
{
	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1');
	form.content.value = oEditor.GetXHTML();
	form.submit();
	__FCKeditorNS = null;
	FCKeditorAPI = null;
}

function CreateButton(p)
{
	return "<div class='ButtonWeb2' onClick='" + p.func + "; return false;'><table title='" + p.title + "' cellspacing='0' OnMouseOver='this.style.backgroundColor=\"#d0d0d0\"' OnMouseOut='this.style.backgroundColor=\"#e0e0e0\"'><tr><td><img src='" + p.ico + "'/></td><td>" + p.title + "</td></tr></table></div>";
}

