isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isOpera=isOpera5=window.opera && isDOM //Opera 5+
isOpera6=isOpera && window.print //Opera 6+
isOpera7=isOpera && document.readyState //Opera 7+
isMSIE=document.all && document.all.item && !isOpera //Microsoft Internet Explorer 4+
isMSIE5=isDOM && isMSIE //MSIE 5+
isNetscape4=document.layers //Netscape 4.*
isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla ХКХ Netscape 6.* 

var PATH_MAIN_WWW = 'http://localhost/';


// OnLoad 

onLoad_functions = new Array;

function onLoad()
{
	for (var i in onLoad.queue)
	{
		onLoad.queue[i].call();
	}
}

onLoad.queue = new Array();

onLoad.add = function (func)
{
	onLoad.queue.push(func);
}

function pausecomp(millis) 
{
	date = new Date();
	var curDate = null;

	do { var curDate = new Date(); } 
	while(curDate-date < millis);
}

// Pop-up window

function popUpWindow(file, window_name, scrollbars, statusbar, resizable, width, height, left, top)
{
	if (isMSIE)
	{
		top += 60;
	}

	window.open(file, window_name, 'scrollbars='+scrollbars+', status='+statusbar+', resizable='+resizable+', width='+width+', height='+height+', left='+left+', top='+top);
	return false;
}

function openWindow(file, window_name, scrollbars, statusbar, resizable, width, height, left, top)
{
	if (isMSIE)
	{
		top += 60;
	}

	window.target = '_blank';
	window.open(file, window_name, 'location=yes, menubar=yes, toolbar=yes, titlebar=yes, scrollbars='+scrollbars+', status='+statusbar+', resizable='+resizable+', width='+width+', height='+height+', left='+left+', top='+top);

	return false;
}

function go_url(url)
{
	document.location.href = url;
}

function parent_go_url(url)
{
	window.parent.location.href = url;
}
function opener_go_url(url)
{
	window.opener.location.href = url;
}


function open_url(url, name)
{	window.open(url, name);
}
function byid(id)
{
	return document.getElementById(id);
}

function LayerShow(id)
{
	byid(id).style.display = 'block';
}

function LayerHide(id)
{
	byid(id).style.display = 'none';
}
function setCookie(cookieName, cookieContent, cookieExpireTime){
    if(cookieExpireTime>0){
        var expDate=new Date()
        expDate.setTime(expDate.getTime()+cookieExpireTime*1000*60*60)
        var expires=expDate.toGMTString()
        document.cookie=cookieName+"="+escape(cookieContent)+"; path="+escape('/')+"; expires="+expires
    }else{
        document.cookie=cookieName+"="+escape(cookieContent)+"; path="+escape('/')+"";
    }
}

function getCookie(cookieName){
    var ourCookie=document.cookie
    if(!ourCookie || ourCookie=="")return ""
    ourCookie=ourCookie.split(";")
    var i=0
    var Cookie
    while(i<ourCookie.length){
        Cookie=ourCookie[i].split("=")[0]
        if(Cookie.charAt(0)==" ")
                Cookie=Cookie.substring(1)
        if(Cookie==cookieName){
            return unescape(ourCookie[i].split("=")[1])
        }
        i++
    }
    return ""
}


// ############################################################################################################


function onload_default() 
{

}


function menu_open(id)
{
	current_state = byid('menu_sub_' + id).style.display;

	byid('menu_sub_' + id).style.display = (current_state == 'block') ? 'none' : 'block';
}

function horoscope_refresh(id)
{
	var req = new JSHttpRequest();

	var sign = byid('horoscope_signs_' + id).value;
	var period = byid('horoscope_period_' + id).value;

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('horoscope_date_' + id).innerHTML = req.responseJS.date;
			byid('horoscope_text_' + id).innerHTML = req.responseJS.text;
		}
	}

	byid('horoscope_date_' + id).innerHTML = '';
	byid('horoscope_text_' + id).innerHTML = 'загрузка...';

	setCookie('tenet_horoscope_sign', sign, 2678400);
	setCookie('tenet_horoscope_period', period, 2678400);

	req.caching = false;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);

	req.send(
		{
			module : 'horoscope',
			sign: sign,
			period: period
		}
	);
}

function tvshedule_get_program(id)
{
	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			if (byid('tv_channel_name'))	{
				byid('tv_channel_name').innerHTML = req.responseJS.channel;
			}
			byid('tv_program').innerHTML = req.responseJS.program;
		}
	}

	byid('tv_program').innerHTML = 'загрузка...';

	req.caching = true;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);
	req.send(
		{
			module : 'tvshedule',
			id: id
		}
	);
}

function tvshedule_recode_program(id)
{
	var req = new JSHttpRequest();
	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('tv_program').innerHTML = req.responseJS.program;
			byid('channels_list').innerHTML = req.responseJS.select;
		}
	}

	req.caching = true;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);

	req.send(
		{
			module : 'tvshedule',
			action : 'recode',
			id: id
		}
	);
}

function tvshedule_get_channel_list(week, day)
{
	var req = new JSHttpRequest();
	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('channels_list').innerHTML = req.responseJS.select;
		}
	}
	byid('channels_list').innerHTML = 'загрузка...';
	byid('tv_program').innerHTML = '';
	req.caching = true;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);

	req.send(
		{
			module : 'tvshedule',
			admin: 'yes',
			week: week,
			day: day
		}
	);
}

function tvshedule_channel_list(week, day)
{
	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('tv_curr_date').innerHTML = req.responseJS.dat;
			byid('channels_list').innerHTML = req.responseJS.select;
		}
	}
	byid('channels_list').innerHTML = 'загрузка...';
	byid('tv_channel_name').innerHTML = '';
	byid('tv_program').innerHTML = '';
	req.caching = true;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);
	req.send(
		{
			module : 'tvshedule',
			admin : 'no',
			week: week,
			day: day
		}
	);
}

function weather_refresh(id)
{
	var req = new JSHttpRequest();

	var city_id = byid('weather_' + id).value;

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('weather_text_' + id).innerHTML = req.responseJS.today.text;
			byid('weather_temperature_' + id).innerHTML = req.responseJS.today.temperature + '&deg; C';
			byid('weather_wind_' + id).innerHTML = req.responseJS.today.wind + ' км/ч';
			byid('weather_pressure_' + id).innerHTML = req.responseJS.today.pressure + ' hPa';
			byid('weather_humidity_' + id).innerHTML = (req.responseJS.today.humidity == 'n/a') ? req.responseJS.today.humidity : req.responseJS.today.humidity + '%';

			byid('weather_city_' + id).innerHTML = req.responseJS.city_name_;
		}
	}

	byid('weather_temperature_' + id).innerHTML = '';
	byid('weather_wind_' + id).innerHTML = '';
	byid('weather_pressure_' + id).innerHTML = '';
	byid('weather_humidity_' + id).innerHTML = '';

	byid('weather_text_' + id).innerHTML = 'загрузка...';

	setCookie('tenet_weather_city', city_id, 2678400);

	req.caching = false;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);

	req.send(

		{
			module : 'weather',
			city_id: city_id
		}
	);
}

function get_mail_and_stats(session_id)
{
	var req = new JSHttpRequest();
	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			// req.responseJS.content
			//req.responseJS.res[1]
			//req.responseJS.res[2]
			//req.responseJS.res[5]
			
			if (typeof(req.responseJS.res[1]) == "undefined") req.responseJS.res[1] = '';
			if (typeof(req.responseJS.res[2]) == "undefined") req.responseJS.res[2] = '';
			if (typeof(req.responseJS.res[3]) == "undefined") req.responseJS.res[3] = '';
			if (typeof(req.responseJS.res[4]) == "undefined") req.responseJS.res[4] = '';
			if (typeof(req.responseJS.res[5]) == "undefined") req.responseJS.res[5] = 'data error';
			if (typeof(req.responseJS.res[6]) == "undefined") req.responseJS.res[6] = '';
			if (typeof(req.responseJS.res[7]) == "undefined") req.responseJS.res[7] = '';
			if (typeof(req.responseJS.res.balance) == "undefined") req.responseJS.res.balance = 'data error';


			if (req.responseJS.res[1] == 0)
			{
				byid('stat_mail').innerHTML = 'нет';
			}
			else
			{
				byid('stat_mail').innerHTML = req.responseJS.res[1] + ' (новых ' + req.responseJS.res[2] + ')';
			}

			byid('stat_money').innerHTML = 'остаток: ' + req.responseJS.res.balance + '.';
			byid('stats_top_1').innerHTML = req.responseJS.res[4];
			byid('stats_top_2').innerHTML = req.responseJS.res[5];

		}
	}
	byid('stat_mail').innerHTML = 'запрос данных...';
	req.caching = false;
	req.open('GET', PATH_MAIN_WWW + 'datasource_main.php', true);

	req.send(
		{
			module : 'mail_and_stats',
			PHPSESSID : session_id
		}
	);

}


function print_version_switch(to)
{
	if (to == 1)
	{
		byid('header1').style.display = 'none';
		byid('header2').style.display = 'none';
		byid('header3').style.display = 'none';
		byid('footer1').style.display = 'none';
		byid('footer2').style.display = 'none';
		byid('menu_block').style.display = 'none';
		byid('menu_block2').style.display = 'none';

		setTimeout("document.onclick=function() {print_version_switch(0)}",1000);

		return;
	}

	if (to == 0)
	{
		byid('header1').style.display = '';
		byid('header2').style.display = '';
		byid('header3').style.display = '';
		byid('footer1').style.display = '';
		byid('footer2').style.display = '';
		byid('menu_block').style.display = '';
		byid('menu_block2').style.display = '';

		document.onclick=function() 
		{
			return true;
		}

		return;
	}
}

function timer_step()
{
	sec++;
	
	if (sec == 60) {
		sec = 0;
		min ++;
	}

	if (min == 60) {
		min = 0;
		sec = 0;
		hour ++;
	}
	if (hour == 24) {
		hour = 0;
		min = 0;
	}

	sec_str = "" + sec;
	if (sec_str.length == 1) {sec = "0" + sec;}

	min_str = "" + min;
	if (min_str.length == 1) {min = "0" + min;}

	hour_str = "" + hour;
	if (hour_str.length == 1) {hour = "0" + hour;}

	byid('timer_').innerHTML = hour + ':' +min + ':' + sec;
	setTimeout('timer_step()', 1000);
}


function treeClickSetup()
{
	var selNd = t.getSelNode();
	var tree_parent_id = t.genOrgId(selNd.id);

	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			var html = '';

			if (req.responseJS.informers.length > 0)
			{
				html += '<table class="data_table">';

				html += '<tr> <th>информер</th> <th colspan="3">добавить в блок</th> </tr>';

				for (i = 0; i < req.responseJS.informers.length; i++)
				{
					html += '<tr>';

					var title_x = (req.responseJS.informers[i].informers_list_name == 'Фид-клиенты') ? '' : req.responseJS.informers[i].informers_list_name + '<br>';

					if ((title_x != '') && (req.responseJS.informers[i].informers_list_name != 'Новости') && (req.responseJS.informers[i].informers_list_name != 'Текстовая область'))
					{
						title_x = req.responseJS.informers[i].informers_list_name + '<br>';
					} else {
						title_x = '';
					}

					html += '<td>' + title_x + req.responseJS.informers[i].informers_title + '</td>';

					var btn_l = '<td  class="button2"><input type="button" value="левый" onClick="my_add_informer(\'L\', ' + req.responseJS.informers[i].informers_id + ')"></td>';
					var btn_c = '<td  class="button2"><input type="button" value="центр" onClick="my_add_informer(\'C\', ' + req.responseJS.informers[i].informers_id + ')"></td>';
					var btn_r = '<td  class="button2"><input type="button" value="правый" onClick="my_add_informer(\'R\', ' + req.responseJS.informers[i].informers_id + ')"></td>';

					var btn_l_ = '<td class="button2"><input type="button" disabled value="левый"></td>';
					var btn_c_ = '<td class="button2"><input type="button" disabled value="центр"></td>';
					var btn_r_ = '<td class="button2"><input type="button" disabled value="правый"></td>';

					if (req.responseJS.informers[i].informers_list_pos == 'C' || req.responseJS.informers[i].informers_allow_my == 'C')
					{
						html += btn_l_;
						html += btn_c;
						html += btn_r_;
					}
					else if (req.responseJS.informers[i].informers_list_pos == 'S' || req.responseJS.informers[i].informers_allow_my == 'S')
					{
						html += btn_l;							html += btn_c_;
						html += btn_r;
					}

					else if (req.responseJS.informers[i].informers_list_pos == 'SC')
					{
						html += btn_l;
						html += btn_c;
						html += btn_r;
					}
					html += '</tr>';
				}

				html += '</table>';

				byid('informers_list').innerHTML = html;
			}

			else
			{
				byid('informers_list').innerHTML = 'В данном разделе нет информеров.';
			}
		}
	}
	byid('informers_list').innerHTML = 'загрузка...';
	req.caching = false;
	req.open('GET', PATH_MAIN_WWW + 'datasource_main.php', true);

	req.send(
		{
			module : 'setup_informers',
			tree_parent_id : tree_parent_id
		}
	);
}
function my_add_informer(loc, informer_id)
{
	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			// req.responseJS.
			if (req.responseJS.r.length)
			{
				alert(req.responseJS.r);
			}
			
			window.opener.location.reload();
		}
	}
	req.caching = false;
	req.open('GET', PATH_MAIN_WWW + 'datasource_main.php', true);

	req.send(
		{
			module : 'my_informer_add',
			informer_id : informer_id,
			loc : loc
		}
	);
}

function map_view(iden)
{
	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid("map_div").innerHTML = req.responseJS.content;
			if (byid("image_iden")) {
				byid("image_iden").value = req.responseJS.iden;
			}
		}
	}

	req.caching = false;
	req.open('GET', PATH_MAIN_WWW + 'datasource_main.php', true);
	req.send(
		{
			module : 'map',
			iden : iden
		}
	);
}

function startSearch() {
	LayerShow('search_window');
	byid('sfield').focus();
}

function closeSearch() {
	LayerHide('search_window');
}

function doLoad(force) {
    var query = '' + byid('sfield').value;
    var req = new JSHttpRequest();
    req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			for (i=byid('sselect').options.length-1;i>=0;i-- )
			{
				byid('sselect').remove(i);
			}

			for (i=0;i<req.responseJS.streets.length;i++)
			{
				byid('sselect').options.add(new Option(req.responseJS.streets[i]['text'],req.responseJS.streets[i]['value'],true,false)); 
			}
		}
	}
	req.caching = true;
	req.open('GET', PATH_MAIN_WWW + 'datasource_main.php', true);

	req.send(
		{
			module : 'street_search',
			query : query
		}
	);
}
function streetSelect() {
	closeSearch();
	//byid('sselect').options[byid('sselect').selectedIndex].text
	byid('street_name').value = byid('sselect').options[byid('sselect').selectedIndex].text;
	byid('covering_test_street').value = byid('sselect').options[byid('sselect').selectedIndex].value;
	covering_test();
}

function covering_test()
{
	streets_id = byid('covering_test_street').value;
	number = 0;
	if (!streets_id)
	{
		alert('Для поиска необходимо выбрать улицу');
		return;
	}

	var req = new JSHttpRequest();

	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) 
		{
			byid('covering_search_res').innerHTML = req.responseJS.content;

			if (req.responseJS.founded == 1)
			{
				LayerHide('covering_res_no');
				LayerShow('covering_res_yes');
			}
			else if (req.responseJS.founded == 0)
			{
				LayerHide('covering_res_yes');
				LayerShow('covering_res_no');
			}
			else if (req.responseJS.founded == 2)
			{
				LayerHide('covering_res_yes');
				LayerHide('covering_res_no');
			}
		}
	}

	req.caching = false;
	req.open('GET', PATH_MAIN_WWW +'datasource_main.php', true);

	req.send(
		{
			module : 'covering_check',
			number: number,
			streets_id : streets_id
		}
	);

}

