function $(id) {return document.getElementById(id); }

function elem(name, attrs, style, text, html)
{
	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)
	{
		e.appendChild(document.createTextNode(text));
	}
	if (html)
	{
		e.innerHTML = html;
	}
	return e;
}

function GetWeather()
{
	JsHttpRequest.query(
	'http://robin.bio/ajax.php',
	{
		'module' : 'import',
		'params' : {'action':'weather'}
	},
	function(result, errors)
	{
	   $('test').appendChild(elem('div',{'id':'weather', 'class':'inform'},{},{},result['res']));
	},
	true  // disable caching
	);
	return true;
}

function GetMoney()
{
	JsHttpRequest.query(
	'http://robin.bio/ajax.php',
	{
		'module' : 'import',
		'params' : {'action':'money'}
	},
	function(result, errors)
	{
	   $('test').appendChild(elem('div',{'id':'money', 'class':'inform'},{},{},result['res']));
	},
	true  // disable caching
	);
	return true;
}

function CoolPopup(url)
{
 /*document.getElementById('body').appendChild(elem('div',{'id':'imgpopup', 'align':'right'},{'background':'#cdcdcd', 'position':'absolute', 'left':'43%', 'top':'33%'}));
 document.getElementById('imgpopup').appendChild(elem('div',{'id':'imgpopup_head', 'align':'right'},{'background':'#DCDCDC', 'border':'1px solid #DCDCDC'}));
 document.getElementById('imgpopup_head').appendChild(elem('a',{'href':'Javascript:CloseMe();'},{},'X'));
 document.getElementById('imgpopup').appendChild(elem('img', {'src':url},{'border':'1px solid #DCDCDC'}));*/
if(document.getElementById('imgpopup'))CloseMe();
 document.getElementById('imgdiv').appendChild(elem('div',{'id':'imgpopup', 'align':'right'},{'width':'100%', 'border':'1px dotted black'}));
 document.getElementById('imgpopup').appendChild(elem('a',{'id':'link','href':'Javascript:CloseMe();'},{},''));
 document.getElementById('link').appendChild(elem('img', {'src':url},{'border':'1px solid #DCDCDC'}));
}

function CloseMe()
{
	DeleteChildElem('imgdiv', 'imgpopup');
}


function DeleteChildElem(parentid, elemid)
{
	var parent = $(parentid);
	var child = $(elemid);
	if(child != undefined)
	{
	   var removed = parent.removeChild(child);
	}
}

function ReloadForm(field)
{
	JsHttpRequest.query(
	'ajax.php',
	{
		'str' : field
	},
	function(result, errors)
	{
		DeleteChildElem('parent', 'ans');
		document.getElementById('parent').appendChild(elem('select',{'name':'ans', 'id':'ans', 'class':'form_1'}));
		var select = document.getElementById('ans');
		for(i in result)
		{
			select.appendChild(elem('option',{'name':'ans',  'value':result[i]},{},result[i]));
		}
	},
	false  // do not disable caching
	);
}

function LoadCalendar(module, pos, params)
{
	JsHttpRequest.query(
	'http://project.bio/ajax.php',
	{
		'module' : module,
		'params' : params
	},
	function(result, errors)
	{
		DeleteChildElem(pos, module);
		document.getElementById(pos).appendChild(elem('div',{'name':module, 'id':module, 'class':module},{},{},result['res']));
	},
	true  // disable caching
	);
}

function ReloadCalendar(module, pos, date)
{
	JsHttpRequest.query(
	'http://project.bio/ajax.php',
	{
		'module' : module,
		'params' : {'date':date}
	},
	function(result, errors)
	{
		DeleteChildElem(pos, module);
		document.getElementById(pos).appendChild(elem('div',{'name':module, 'id':module, 'class':module},{},{},result['res']));
	},
	true  // disable caching
	);
}

function Init()
{
    //setInterval('Timer()', '10000');
	//params = {'date':'1_5_2008'};
	//LoadCalendar('calendar', 'up', params);
	//ajaxpopup('test');
	GetWeather();
    GetMoney();
}

function checkForm(form)
{
	// Заранее объявим необходимые переменные
	var el, // Сам элемент
	elName, // Имя элемента формы
	value, // Значение
	type; // Атрибут type для input-ов
	// Получаем семейство всех элементов формы
	// Проходимся по ним в цикле
	error = 0;
	for (var i = 0; i < form.elements.length; i++)
	{
		el = form.elements[i];
		elName = el.nodeName.toLowerCase();
		value = el.value;
		if (elName == "select")
		{ // SELECT
			if (value == 0)
			{
				alert('Не заполнено одно из полей');
				error = error + 1;
				break;
			}
		}
	}
	if(error == 0)$('sort').submit();
}


function query(module, pos, params)
{
	JsHttpRequest.query(
	'http://project.bio/ajax.php',
	{
		'module' : module,
		'params' : params
	},
	function(result, errors)
	{
	   $(pos).appendChild(elem('div',{'name':module, 'id':module, 'class':module},{},{},result['res']));
	},
	true  // disable caching
	);
	return true;
}

function ajaxpopup(pos)
{
	JsHttpRequest.query(
	'http://project.bio/ajax.php',
	{ },
	function(result, errors)
	{
	   $(pos).appendChild(elem('div',{'name':module, 'id':module, 'class':module},{},{},result));
	},
	true  // disable caching
	);
	return true;
}

function public_coment()
{
    var realm = $('current_realm').value;
    var id = $('current_id').value;
    var name = $('name').value;
    var text = $('text').value;
    if(text != '')
    {
        var params = {'action': 'add', 'realm': realm, 'id': id, 'name': name, 'text': text};
        var result = query('coment', 'coment', params);
    }
    if(result == true)
    {
        $('name').value = '';
        $('text').value = '';
    }
    
}

function Timer()
{
    now = GetDate();
    $('clocks').innerHTML = "Сейчас:&#xA0;"+now.hours+"&#xA0;ч. "+now.minutes+"&#xA0;мин.";
}

//Проверка мыла на валидность
function validate(form_name, info_field)
{
    var mail=form_name.mail;
    var reg = /[0-9a-z_]+@[0-9a-z_^.]+\.[a-z]{2,3}/i;
    if (!reg.test(mail.value)) {
        mail.style.backgroundColor="#FF8D8D";
        $(info_field).innerHTML = "E-mail введён некорректно: "+mail.value;
        //alert('e-mail введён некорректно: '+mail.value+'!');
        mail.focus();
        return false;
    }
    else{
            form_name.submit();
        }
}

//Функция получения текущего времени
function GetDate()
{
    myDate = new Date();
    monthes = new Array('Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря');
    days = new Array('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота');
    clocks = new Array();
    clocks.year = myDate.getYear();
    month = myDate.getMonth();
    clocks.month = monthes[month];
    clocks.day = myDate.getDate();
    clocks.weekday = days[myDate.getDay()];
    clocks.hours = myDate.getHours();
    clocks.minutes = myDate.getMinutes();
    clocks.seconds = myDate.getSeconds();
    return clocks;
}
//Инфа о браузере
function getBrowserInfo() {
 var t,v = undefined;
 if (window.opera) t = 'Opera';
 else if (document.all) {
  t = 'IE';
  var nv = navigator.appVersion;
  var s = nv.indexOf('MSIE')+5;
  v = nv.substring(s,s+1);
 }
 else if (navigator.appName) t = 'Netscape';
 return {type:t,version:v};
}
//Добавляем страницу в закладки
function bookmark(a){
 var url = window.document.location;
 var title = window.document.title;
 var b = getBrowserInfo();
 if (b.type == 'IE' && 7 > b.version && b.version >= 4) window.external.AddFavorite(url,title);
 else if (b.type == 'Opera') {
  a.href = url;
  a.rel = "sidebar";
  a.title = url+','+title;
  return true;
 }
 else if (b.type == "Netscape") window.sidebar.addPanel(title,url,"");
 else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
 return false;
}
//ссылка - <a href="javascript:void(0);" onclick="return bookmark(this);">Добавить в избранное</a> 
