var ltimer;

// Посылаем JSON запрос
function loadJSON(act){
message('Отправка запроса...');
//ltimer = setTimeout('reJSON(\''+act+'\')',5000);
req = false;
if(window.XMLHttpRequest) {try {req = new XMLHttpRequest();} catch(e) {req = false;}}
else if(window.ActiveXObject){try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {req = false;}}}
if(req) {req.onreadystatechange = parseJSON;}
req.open("GET", window.location.protocol+'//'+window.location.host+'/inp.php?act='+act, true);
req.send("");
return false;
}//loadJSON

// Долго грузится... повторим?
function reJSON(act){ if(confirm("Загрузка выполняеться уже достаточно долго, повторить запрос?") == true){ loadJSON(act); } }

// Обработчик JSON запроса
function parseJSON(){if (req.readyState == 4 && req.status == 200) { clearTimeout(ltimer); eval(req.responseText); message('null'); }}

// Посылаем XML запрос
function loadXML(act){ message('Отправка запроса...');
req = false;
if(window.XMLHttpRequest) {try {req = new XMLHttpRequest();} catch(e) {req = false;}}
else if(window.ActiveXObject){try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {req = false;}}}
if(req) {req.onreadystatechange = parseXML;}
req.open("GET", window.location.protocol+'//'+window.location.host+'/inp.php?input=ajax&act='+act, true);
req.send("");
}//loadXML

// Обработчик XML запроса
function parseXML(){
if (req.readyState == 4 && req.status == 200 && req.responseXML != null) {
var nl = req.responseXML.getElementsByTagName('h');
dt = nl.item(0).getAttribute('dt').toString();
eval(nl.item(0).getAttribute('scr').toString());
message('null');
}}

// В закладки
function bmk(mod, id){ loadJSON('action&name=bmk&opr=bmk&mod='+mod+'&id='+id); return false; }
function bm2(mod, id){ loadJSON('action&name=bmk&opr=bmk&mod='+mod+'&id='+id); return false; }
function ihr(mod, f){ loadJSON('action&name=infoto&opr=ihere&mod='+mod+'&f='+f); return false; }

// Загрузка мультиселектных модальных окон
function checkd(obj){if(document.getElementById(obj)){
var val = document.getElementById(obj).value;
val = val.split(',');
for( var i = 1, cnt = val.length; i < cnt; i++ ){
if(document.getElementById('c'+i)){document.getElementById('c'+i).checked = true;}
}
}}

// Отправка другу
//function stf(url,title){loadJSON('action&name=send_to_friend&url='+url+'&title='+title); return false;}

// Пользователь идет
function ugo(id){loadJSON('action&name=goto&opr=go&id='+id); return false;}

// Отправка другу
//function snd(){loadJSON('action&name=send'); return false;}
// пригласить нового пользователя
function invite(){loadJSON('action&name=invite'); return false;}

// Добавить / убрать дисконтную карту
function dcard(id){loadJSON('action&name=dcards&opr=go&id='+id); return false;}
// После добавления / удаления дисконтной карточки
function bdcard(id,value,txt){if(document.getElementById('c'+id)){document.getElementById('c'+id).style.borderColor = value;document.getElementById('dcrd').innerHTML = txt;}}

function udel(){if(confirm("Вы действительно хотите удалить эту запись?") == true){ return true; } return false; }

function delo_box(index){
	print('superbox', '<DIV ID=region>'+document.getElementById('region').innerHTML+'</DIV>' + sbx[index] + '<DIV ID=button>'+document.getElementById('button').innerHTML+'</DIV><INPUT ID=curtab TYPE=hidden VALUE="'+index+'">');
	var ul = '';
	for( var i = 1, cnt = bmk.length; i < cnt; i++ ){
		if( bmk[i] == index ){
			ul+='<LI><A HREF="'+window.location+'/#'+bmk[i]+'" onclick="return false;"><I><DIV>'+bmn[i]+'</DIV></I><B></B></A></LI>';
		}else{
			ul+='<LI><A CLASS="op" HREF="'+window.location+'/#'+bmk[i]+'" onclick="return delo_box(\''+bmk[i]+'\');"><I><DIV>'+bmn[i]+'</DIV></I><B></B></A></LI>';
		}
	}
	print('stab', '<UL ID=stab>'+ul+'</UL>');
	$("A.iframe").fancybox({"frameWidth":420,"frameHeight":380,"hideOnContentClick":false});
	return false;
}

function delo_go(){
var go = window.location.protocol+'//'+window.location.host+'/'+document.getElementById('curtab').value+'/'+document.getElementById('oper').value+'/';
go+=document.getElementById('geo').value;
for( var i = 1; i < 99; i++ ){if(document.getElementById('box'+i)){ go+='-'+document.getElementById('box'+i).value; }else{i=99;} }
window.location = go+'/';
}

// Перейти по адресу
function gourl(url){window.location = url; return false;}
// Получаем якорь страницы
function anchor(){ var sep = ''; var anchor = window.location+'#'; anchor = anchor.split('#'); var ret = ''; for (i = 1; i < anchor.length; i++){ if( anchor[i] != '') { ret+=sep+anchor[i]; sep = '#'; } } return ret;}
function ancurl( anc ){ var url = window.location+'#'; url = url.split('#'); window.location = url[0]+'#'+anc; }

// Печатаем VALUE в OBJ
function print (obj,value,clss){if(document.getElementById(obj)){document.getElementById(obj).innerHTML = replace_string('{n}','\r\n', value );; if(clss) {document.getElementById(obj).className = clss;}}}
//function rprint (obj,value,clss){if(document.getElementById(obj)){document.getElementById(obj).innerHTML = replace_string('{n}','\r\n', value ); if(clss) {document.getElementById(obj).className = clss;}}}


function chat(act, id, ndx){
if(act == 'del'){loadJSON('action&name=message&fld=del&id='+id+'&ndx='+ndx);}
else if(act == 'del1'){loadJSON('action&name=message&fld=del&id='+id+'&ndx='+ndx);}
else if(act == 'udel'){loadJSON('action&name=message&fld=udel&id='+id+'');}
else if(act == 'uadd'){loadJSON('action&name=message&fld=uadd&id='+id+'');}
else if(act == 'unew'){obj = document.getElementById('uz'+id);if(document.getElementById('acc2')){document.getElementById('acc2').value = id;document.getElementById('dto').innerHTML = '<A CLASS=usr HREF="'+window.location.protocol+'//'+window.location.host+'/community/'+id+'/">'+obj.innerHTML+'</A> <SPAN CLASS=js onclick="mtab(3,0);">(другой получатель)</SPAN>';document.getElementById('to').value = '1';document.getElementById('header').value = '';mtab(0,0);}

}else{
//if(document.getElementById('process_frm')){document.getElementById('process_frm').style.display = 'none';}

obj = document.getElementById('u'+id);
if(document.getElementById('acc2')){document.getElementById('acc2').value = obj.name;
if(document.getElementById('header')){var str = document.getElementById('h'+id).innerHTML;

var h = str;
var d = document.getElementById('d'+id).innerHTML;
var t = document.getElementById('t'+id).innerHTML;

var re = str.substring(0, 2); re = re.toLowerCase();
if( re == 're' ){
var re = str.split(': '); re = re[0]+'(1)';
var re = re.split('('); re = parseInt(re[1])+1;
var cut = str.indexOf(': ')+2;
str = str.substring(cut, 255);
str = 'Re('+re+'): '+str;
}else{str = 'Re: '+str;}

var usr = '<A CLASS=usr HREF="'+window.location.protocol+'//'+window.location.host+'/community/'+obj.name+'/">'+obj.innerHTML+'</A>';
document.getElementById('dto').innerHTML = usr+' <SPAN CLASS=js onclick="mtab(3,0);">(другой получатель)</SPAN>';
document.getElementById('to').value = '1';
document.getElementById('header').value = str;

var echo = '<UL><LI CLASS=mcur STYLE="cursor: default;">Сообщение</LI><LI onclick="mtab(0,0);">Написать</LI><LI onclick="mtab(1,0);">Входящие</LI><LI onclick="mtab(2,0);">Исходящие</LI><LI onclick="mtab(3,0);">Мои контакты</LI></UL>';
if(act == 're02'){document.getElementById('msgtop').innerHTML = echo;document.getElementById('msgnew').style.display = 'none';
document.getElementById('msgbook').style.display = 'none';
act = 're2';
}else if(act == 're01'){document.getElementById('msgtop').innerHTML = echo;document.getElementById('msgnew').style.display = 'none';
document.getElementById('msgbook').style.display = 'none';
act = 're1';

}else{mtab(10,0);}
document.getElementById('msgarea').innerHTML = '<SPAN CLASS=load><B>Загрузка сообщения...</B></SPAN>';
if(act == 're1'){loadJSON('action&name=message&fld=open&id='+id+'&ndx='+ndx);}else{if(act == 're0'){loadJSON('action&name=message&fld=qopn&id='+id+'&ndx='+ndx);}document.getElementById('msgarea').innerHTML = '<DIV CLASS=msgb ID=msg'+id+'><DIV CLASS=msgu>'+usr+'</DIV><DIV CLASS=msgd><SPAN CLASS=blgdt>'+d+'</SPAN></DIV><DIV CLASS=msgh>'+h+'</DIV><DIV CLASS=msgt>'+t+'</DIV><DIV CLASS=msgo><SPAN CLASS=js onclick="chat(\'del\',\''+id+'\',\''+ndx+'\');">Удалить это сообщение</SPAN></DIV></DIV>';} //<H3 CLASS=hdr>Ответить:</H3>
}}

}
return false;
}

function mtab(tab,pg){
var load = '';
if(tab == 1){
var echo = '<UL><LI onclick="mtab(0,0);">Написать</LI><LI CLASS=mcur onclick="mtab(1,0);">Входящие</LI><LI onclick="mtab(2,0);">Исходящие</LI><LI onclick="mtab(3,0);">Мои контакты</LI></UL>';
var load = 'Загрузка папки Входящие';
loadJSON('action&name=message&fld=in&usr='+document.getElementById('curusr').value);
document.getElementById('msgnew').style.display = 'none';
document.getElementById('msgbook').style.display = 'none';
document.getElementById('msgarea').style.display = 'block';
}else if(tab == 2){
var echo = '<UL><LI onclick="mtab(0,0);">Написать</LI><LI onclick="mtab(1,0);">Входящие</LI><LI CLASS=mcur onclick="mtab(2,0);">Исходящие</LI><LI onclick="mtab(3,0);">Мои контакты</LI></UL>';
var load = 'Загрузка папки Исходящие';
loadJSON('action&name=message&fld=out&usr='+document.getElementById('curusr').value);
document.getElementById('msgnew').style.display = 'none';
document.getElementById('msgbook').style.display = 'none';
document.getElementById('msgarea').style.display = 'block';
}else if(tab == 3){
var echo = '<UL><LI onclick="mtab(0,0);">Написать</LI><LI onclick="mtab(1,0);">Входящие</LI><LI onclick="mtab(2,0);">Исходящие</LI><LI CLASS=mcur onclick="mtab(3,1);">Мои контакты</LI></UL>';
//if(document.getElementById('msgbook').innerHTML = ''){
var load = 'Загрузка папки Контакты';
loadJSON('action&name=message&fld=book&usr=0');
//}
document.getElementById('msgnew').style.display = 'none';
document.getElementById('msgbook').style.display = 'block';
document.getElementById('msgbook').innerHTML = '<SPAN CLASS=load><B>'+load+'</B></SPAN>';
document.getElementById('msgarea').style.display = 'none';
}else{
var echo = '<UL><LI CLASS=mcur onclick="mtab(0,0);">Написать</LI><LI onclick="mtab(1,0);">Входящие</LI><LI onclick="mtab(2,0);">Исходящие</LI><LI onclick="mtab(3,0);">Мои контакты</LI></UL>';
document.getElementById('txt').value = '';
document.getElementById('msgbook').style.display = 'none';
document.getElementById('msgnew').style.display = 'block';
document.getElementById('form_frm').style.display = 'block';
document.getElementById('process_frm').style.display = 'none';
print('process_frm', 'Отправка сообщения...', 'send');

if(tab == 0){
document.getElementById('header').value = '';
document.getElementById('msgarea').style.display = 'none';
}else{
document.getElementById('msgarea').style.display = 'block';
var load = 'Загрузка сообщения...';
}

}
document.getElementById('msgtop').innerHTML = echo;
if(load !== ''){document.getElementById('msgarea').innerHTML = '<SPAN CLASS=load><B>'+load+'</B></SPAN>';}
return false;
}

function replace_string(cut_str,paste_str,txt){
var f=0;var ht='';ht = ht + txt;f=ht.indexOf(cut_str);while (f!=-1){
//цикл для вырезания всех имеющихся подстрок
f=ht.indexOf(cut_str);if (f>0){ht = ht.substr(0,f) + paste_str + ht.substr(f+cut_str.length);}}
return ht;}

// Отправляем форму
function send_form(obj,frm,mod){
message('Отправка формы...');
print('process_'+mod, 'Отправка формы...', 'send');
if(document.getElementById(obj)){document.getElementById(obj).style.display = 'none';}
if(document.getElementById('process_'+mod)){document.getElementById('process_'+mod).style.display = '';}
if( !document.getElementById(frm) ){frm = 'frm_wnd';}
if( document.getElementById(frm)){document.getElementById(frm).submit();}else{if( document.getElementById('frm')){document.getElementById('frm').submit();}}
}

// После загрузки формы
function after_send(stl,txt,mod){ if(mod == undefined){mod = 'frm'}; if(document.getElementById('process_'+mod)){document.getElementById('process_'+mod).className = stl;document.getElementById('process_'+mod).innerHTML = txt;} message('null');}

// Скрывает или отображает указанные теги
function tagsvis(tag, vis){objs = document.getElementsByTagName(tag); for (i = 0; i < objs.length; i++){objs[i].style.visibility = vis;}}

// Скрывает или показывает obj
// Visible
function hv (obj){if(document.getElementById(obj)){obj = document.getElementById(obj).style; if(obj.visibility == 'visible'){obj.visibility = 'hidden';}else{obj.visibility = 'visible';}}}
// None
function dn (obj){if(document.getElementById(obj)){obj = document.getElementById(obj).style; if(obj.display == 'none'){obj.display = '';}else{obj.display = 'none';}}}
function sdisplay (obj, val){if(document.getElementById(obj)){obj = document.getElementById(obj).style; obj.display = val; }}

// Установить значение
function setval (obj,value){if(document.getElementById(obj)){document.getElementById(obj).value = value;}}
function setxy(obj,x,y){if(document.getElementById(obj)){ document.getElementById(obj).style.top = x; document.getElementById(obj).style.left = y; }}

// получить значение
function getval (obj){if(document.getElementById(obj)){ if(document.getElementById(obj).type == 'checkbox'){ if(document.getElementById(obj).checked == false){ return ''; } } return document.getElementById(obj).value; }}
function getxy(obj){if(document.getElementById(obj)){ var ret = new Array(); ret['x'] = document.getElementById(obj).style.top; ret['y'] = document.getElementById(obj).style.left; return ret; }}
function getwh(obj){if(document.getElementById(obj)){ var ret = new Array(); ret['w'] = document.getElementById(obj).style.width; ret['w'] = replace_string('px', '', ret['w']); ret['w'] = replace_string('pt', '', ret['w'])*1; ret['h'] = document.getElementById(obj).style.height; ret['h'] = replace_string('px', '', ret['h']); ret['h'] = replace_string('pt', '', ret['h'])*1; return ret; }}

// Выдаем сообщение о текущей операции
function message(txt){if(document.getElementById('status')){obj = document.getElementById('status'); if(cagent() == 'msie'){obj.style.position = 'absolute'; obj.style.top = document.body.scrollTop + 10;} if(!txt){txt='null'} if (txt!=='null'){obj.innerHTML=txt; obj.style.display = 'block';}else{obj.style.display = 'none';obj.innerHTML='&nbsp;';}}}

// Новая CAPTCHA
function new_captcha(){if(document.getElementById('img_captcha')){document.getElementById('img_captcha').src+=1;}}

/*
// Login
function login(){
var login = document.getElementById('flogin').value;
var pass = document.getElementById('fpass').value;
document.getElementById('wnda').innerHTML = '<INPUT TYPE=text NAME=act VALUE="form"><INPUT TYPE=text NAME=mod VALUE="login"><INPUT TYPE=text NAME=pass VALUE="'+pass+'"><INPUT TYPE=text NAME=login VALUE="'+login+'">';
send_form('z', 'frm_wnd');
return false;
}
*/

// Login
function logout(r){print('dmn_area','');print('umenu','');loadJSON('action&name=logout&r='+r);}

// Pass
function getRandomNum(lbound, ubound) {return (Math.floor(Math.random() * (ubound - lbound)) + lbound);}
function getRandomChar() {var numberChars = "0123456789";var lowerChars = "abcdefghijklmnopqrstuvwxyz";var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";var charSet = '';charSet += numberChars;charSet += lowerChars;charSet += upperChars;return charSet.charAt(getRandomNum(0, charSet.length));}
function getPassword(obj, length) {var rc = "";for (var idx = 0; idx < length; ++idx) {rc = rc + getRandomChar();} document.getElementById(obj).value = rc; document.getElementById(obj+'_2').value = rc; cnt('pass', -1);cnt('pass_2', -1);}

// Устанавливаем нужный город
function geo_set(obj, id, name){if( document.getElementById(obj) ){document.getElementById('geo'+obj).innerHTML = name;document.getElementById(obj).value = id;} $.fn.fancybox.close(); }

// Закрыть модальное окно
function fn_cloce(){$.fn.fancybox.close();}

// SHOP
function tobag(id){loadJSON('action&name=catalog&opr=addcart&id='+id); return false;}
function tobag2(id){loadJSON('action&name=catalog&opr=addcart2&id='+id); return false;}













var dt = '';

// Границы
function selwnd (id){
if(id == 0){var wdth = '20%'; var wdth2 = '20%';}else{var wdth = '19%'; var wdth2 = '24%';}
for( var i = 1; i < 5; i++ ){if(document.getElementById('td'+i)){document.getElementById('td'+i).style.width = wdth;}}
if(id != 0){document.getElementById('td'+id).style.width = wdth2;}
}

// Выделяем все содержимое поля
function slct(obj){obj.focus();obj.select();}
// Mp3
function linker(id){
	loadJSON('action&name=mp3&opr=load&id='+id);
	document.getElementById('llinker').style.display = 'none';
	document.getElementById('llink').style.display = 'block';
}

function vt(vt,id){loadJSON('action&name=vote&opr=vote&vote='+vt+'&id='+id); return false;}

// Пертаскиваем с одного поля в другое
function move(obj, type){var str = 0; if(type == 'from'){from = document.getElementById(obj+'_from'); to = document.getElementById(obj+'_to');}else{to = document.getElementById(obj+'_from'); from = document.getElementById(obj+'_to');}
for (var i=0; i<from.options.length; i++) {var o = from.options[i];if (o.selected) {str = 1; to.options[to.options.length] = new Option( o.text, o.value, false, false);}}for (var i=(from.options.length-1); i>=0; i--) {var o = from.options[i];if (o.selected) {from.options[i] = null;}}from.selectedIndex = -1;to.selectedIndex = -1;
if(str == 0){if(from.options[0]){from.options[0].selected = true; move(obj, type);}}else{
var str = ''; to = document.getElementById(obj+'_to'); for (var i=0; i<to.options.length; i++) {str+= '{}'+to.options[i].value;}
setval (obj,str+'{}');
}}
function vadd(to,value,text){to.options[to.options.length] = new Option( text, value, false, false);}

// Загружаем админку
function loaddmn(type){
var arr = new Array();
//objs = document.getElementsByTagName('span'); for (i = 0; i < objs.length; i++){if(objs[i].className == 'dmn'){str=objs[i].id;addmn(str);str=str.split('_');if(!arr[str[0]]){arr[str[0]] = str[0];} arr[str[0]]+='_'+str[1];}}
//alert(arr['cmt']);
loadJSON('action&name=dmnarea&type='+type);
}

// Добавляем админку
function addmn(obj){
if(document.getElementById(obj)){if(!document.getElementById(obj+'_pnl')){document.getElementById(obj).innerHTML+='<DIV CLASS=dmnp ID='+obj+'_pnl>1111</DIV>';}}
}

// Голосуем
function rt(id1,id2,id3){loadJSON('action&name=rt&id1='+id1+'&id2='+id2+'&id3='+id3); return false;}

// Аукцион
function auct(id,oper){
val = 0;
if(oper == 'qust'){add('auction', 0, 'i:'+id+'+tpe:0'); return false;}
if(oper == 'free'){add('auction', 0, 'i:'+id+'+tpe:1'); return false;}
if(oper == 'exch'){add('auction', 0, 'i:'+id+'+tpe:2'); return false;}
if(oper == 'sale'){add('auction', 0, 'i:'+id+'+tpe:3'); return false;}
if(document.getElementById('auction')){val = document.getElementById('auction').value;}
if(val <= oper){alert('Ставка должна быть больше '+oper); return false;}
loadJSON('action&name=auction&id='+id+'&val='+val); return false;
}

// Желания
function wish(id,oper){
if(oper == 'qust'){add('wish', 0, 'i:'+id+'+tpe:'+oper); return false;}
if(oper == 'ctl'){add('wish', 0, 'i:'+id+'+tpe:'+oper); return false;}
//alert('Функция временно не доступна!');
}

//function go(oper,id){loadJSON('action&name=go&ac='+oper+'&id='+id);return false;}

function pay_partmone(){
if(document.getElementById('frm_frm')){
document.getElementById('frm_frm').action = 'https://www.portmone.com.ua/gateway/';
document.getElementById('frm_frm').target = '_blank';
document.getElementById('frm_frm').submit();
}
}

function hidelst(obj,list){
	obj = obj.value;
	list = list.split(',');
	for( var i = 1, cnt = list.length; i < cnt; i++ ){
		if(document.getElementById(list[i])){
			if(obj == list[i]){
				document.getElementById(list[i]).style.display = '';
				document.getElementById(list[i]+'_').style.display = '';
			}else{
				document.getElementById(list[i]).style.display = 'none';
				document.getElementById(list[i]+'_').style.display = 'none';
			}
		}
	}
}


// Админка картинки
function dmnimg(mod,id,oid){loadJSON('action&name=images&opr=dmnimg&mmod='+mod+'&mid='+id+'&oid='+oid); return false;}
function dmnimgrld(mod,id){loadJSON('action&name=images&opr=reload&mmod='+mod+'&mid='+id); return false;}
// Админка счета
function dmnbil(mod,id,oid){loadJSON('action&name=billing&opr=dmnbil&mid='+mod+'&bid='+id+'&oid='+oid); return false;}
function dmnbilrld(mod,id){loadJSON('action&name=billing&opr=reload&mid='+mod+'&bid='+id); return false;}


// Сумируем значения радио
function sumradio(pre){
var ttl = 0; var order = ''; var sep = '';
for( var r = 1; r < 999; r++ ){
if(document.getElementById(pre+''+r)){
if(document.getElementById(pre+''+r).checked == true){
var tmp = document.getElementById(pre+''+r).value; tmp = tmp.split('_');
if(tmp[1] > 0){ttl+=(tmp[1]*1); order+=sep+tmp[0]; sep='_';}
}
}else{r = 999;}
}
if(document.getElementById(pre+'ttl')){document.getElementById(pre+'ttl').innerHTML = ttl;}
if(document.getElementById(pre+'order')){document.getElementById(pre+'order').value = order;}
}

function genorder(url, pre){
	if(document.getElementById(pre+'order')){
		pre = document.getElementById(pre+'order').value;
		if(pre == ''){alert('Order empty'); return 0;}
		window.location = url+pre+'/';

	}

}

// Поиск
function search(pth, srch){
var url = '';
if(srch !== ''){url+=srch+'_';} srch = '';
if(document.getElementById('srch')){srch = document.getElementById('srch').value;}
if(srch !== ''){url+='search_'+srch;}else{alert('Пусто!'); return false;}
window.location = window.location.protocol+'//'+window.location.host+'/'+pth+url+'.html';
}

/*
// Добавить / убрать вещь из списка
function list(type, id){loadJSON('action&name=list&type='+type+'&id='+id); return false;}
*/

// Админка LINII
function lj(str){loadJSON('action&name=shop&opr=dmn&ac='+str); return false;}
function dlj(str){if(confirm("Удалить запись?") == true){ loadJSON('action&name=shop&opr=dmn&ac=delete&'+str); } return false; }
//function lj(mod,opr,str){loadJSON('action&name='+mod+'&opr='+opr+'&'+str); return false;}




function printp(obj,value){if(document.getElementById(obj)){document.getElementById(obj).innerHTML+= value;}}



// Перейти (обновить)
function reload(url){if(!url){url = self.location.href} window.location = url;}

// Загружаем форму через JSON
function wform(obj, frm, id, str){loadJSON('wform&obj='+obj+'&form='+frm+'&id='+id+'&str='+str);}

// Дозагрузчик формы
function formload(loader){loadJSON('action&name=formload&loader='+loader);}
function formhider(ids){ids = ids.split(',');for( var i = 1; i < ids.length; i++ ){if(document.getElementById('fbl_'+ids[i])){document.getElementById('fbl_'+ids[i]).style.display = 'none';}}if(document.getElementById('fbl_'+ids[0])){document.getElementById('fbl_'+ids[0]).style.display = 'block';}}

// Ставим / убираем инфу есть ли я на фотке
function ibe(id){loadJSON('action&name=ibe&id='+id); return false;}
function idu(id){loadJSON('action&name=idu&id='+id); return false;}



function set_rate(mod,id,val){
document.getElementById('ol'+id).innerHTML = '<LI CLASS=rate_star STYLE="width:'+(val * 20)+'px;">&nbsp;</LI>';
loadJSON('action&name=rateit&mod='+mod+'&id='+id+'&val='+val);
return false;
}

// обрабатываем поля multilist
function mlst(obj){
if(document.getElementById(obj+'_rws')){var clmttl = document.getElementById(obj+'_rws').value*1;}else{return '';}
var tpl = document.getElementById(obj+'_tpl').value; tpl = tpl.split(':'); rws = tpl.length; var echo = ''; var sepc = '';
clmttl++;

for( var c = 0; c < clmttl; c++ ){
var echo2 = sepc; var sepr = '';
for( var r = 0; r < rws; r++ ){
if(document.getElementById(obj+'_'+c+'_'+r)){echo2+= sepr+document.getElementById(obj+'_'+c+'_'+r).value; var sepr = '{:}';}
}
if(echo2 !== ''){echo+=echo2;}
var sepc = '{;}';
}
document.getElementById(obj).value = echo;
}

function mlstb(obj,type,cclm){
if(document.getElementById(obj+'_rws')){var clmttl = document.getElementById(obj+'_rws').value*1;}else{return '';}
var tpl = document.getElementById(obj+'_tpl').value; tpl = tpl.split(':'); rws = tpl.length;
var max = document.getElementById(obj+'_max').value;

if(type == 0){cclm = cclm*1;}else{cclm = '+'; clmttl++;}
var sepc = ''; var sepr = ''; var cc = 0; echo = '';
for( var c = 0; c < clmttl; c++ ){

if(cclm == c){clmttl--;}else{
echo+= sepc;
for( var r = 0; r < rws; r++ ){

if(document.getElementById(obj+'_'+c+'_'+r)){var val = document.getElementById(obj+'_'+c+'_'+r).value;}else{var val = '';}

if(tpl[r] == 'txt'){
echo+= sepr+'<INPUT TYPE=text ID='+ obj +'_'+ cc +'_'+ r +' VALUE="'+ val +'" onchange="mlst(\''+ obj +'\');">';
}else if(tpl[r] == 'color'){
echo+= sepr+'<INPUT TYPE=hidden ID='+ obj +'_'+ cc +'_'+ r +' VALUE="'+ val +'"><SPAN CLASS=colr onclick="shwCP(this,\''+ obj +'_'+ cc +'_'+ r +'\');"><DIV CLASS=cbox ID=cbox_'+ obj +'_'+ cc +'_'+ r +' STYLE="background-color:'+ val +';"> </DIV></SPAN>';
}else if(tpl[r] == 'id'){
if(val == ''){max++; val = max;}
echo+= '<INPUT TYPE=hidden ID='+ obj +'_'+ cc +'_'+ r +' VALUE="'+ val +'">';
}

var sepr = '';
}
echo+= '<SPAN CLASS=js onclick="mlstb(\''+ obj +'\',0,'+ cc +');"> Убрать</SPAN>';
cc++;
}
var sepc = '<BR>';
}
echo+= '<BR><SPAN CLASS=js onclick="mlstb(\''+ obj +'\',1,0);">Добавить ряд</SPAN>';
document.getElementById(obj+'_max').value = max;
document.getElementById(obj+'_rws').value = clmttl;
document.getElementById('div_'+obj).innerHTML = echo;
mlst(obj);
}

/*
// Слайд шоу
var timer;
function sshow(id,sec,max){
if(id < 1){id=max;}
for( var i = 1; i < max+1; i++ ){if(document.getElementById('big'+i)){document.getElementById('big'+i).style.display = 'none';}}
if(document.getElementById('big'+id)){document.getElementById('big'+id).style.display = 'block';
}else{if(document.getElementById('big1')){document.getElementById('big1').style.display = 'block'; id = 1;}
}
if(sec > 0){timer = setTimeout('sshow('+(id+1)+',5000,'+max+')',5000); play = '<A CLASS=bpause HREF="#pause" TITLE="Пауза" onclick="return sshow('+id+',0,'+max+');"></A>'; }else{clearTimeout(timer); play = '<A CLASS=bplay HREF="#play" TITLE="Слайдшоу" onclick="return sshow('+(id+1)+',5000,'+max+');"></A>'; }
if(document.getElementById('pb'+id)){document.getElementById('pb'+id).innerHTML = '<A CLASS=bprevions HREF="#previons" TITLE="Предудущая" onclick="return sshow('+(id-1)+',0,'+max+');"></A>'+play+'<A CLASS=bnext HREF="#next" TITLE="Следующая" onclick="return sshow('+(id+1)+',0,'+max+');"></A>';}
return false;
}
*/

// Включаем редактор
function edton(obj){area1 = new nicEditor( {buttonList : ['bold','italic','underline','left','center','right','justify','fontSize','fontFamily','fontFormat','image','link','unlink','forecolor','removeformat']} ).panelInstance(obj); document.getElementById('dv_'+obj).innerHTML = '<SPAN CLASS=js onclick="edtoff(\''+obj+'\');">Выключить визуальный редактор</SPAN>';}
// Выключаем редактор if(document.getElementById('area1'))
function edtoff(obj){area1.removeInstance(obj); document.getElementById('dv_'+obj).innerHTML = '<SPAN CLASS=js onclick="edton(\''+obj+'\');">Включить визуальный редактор</SPAN>';}
// Инициализация редактора
function edtinit(act){
if( document.getElementById('edtr') ){ var edtrs = document.getElementById('edtr').value; }else{ return ''; }
if(edtrs == ''){ return ''; }
edtrs = edtrs.split(',');
if(act == 1){for( var i = 0; i < edtrs.length; i++ ){ edton( edtrs[i] ); }}
else{for( var i = 0; i < edtrs.length; i++ ){ edtoff( edtrs[i] ); }}
}

// Проверяем к-во введенных символов
function cnt(obj,max){
document.getElementById(obj).style.borderColor='#CCCCCC';
if(max < 1){ return true; }
str = document.getElementById(obj).value; cn = max - str.length;
if(document.getElementById('stt_'+obj)){obj = document.getElementById('stt_'+obj);
if(cn <= 0){obj.innerHTML = '<B>'+cn+'</B> / '+max; return false;}else{obj.innerHTML =  '<I>'+cn+'</I> / '+max; return true;}
}}

// Складываем значения полей
function objval(obj, txt){if(document.getElementById(obj)){return txt + document.getElementById(obj).value;} return '';}

// Проверяем значения переключателей checkbox
function check(obj){str = '';for( var i = 0; i < 999; i++ ){if(document.getElementById(obj+'_'+i)){if(document.getElementById(obj+'_'+i).checked == true){str+= ','+document.getElementById(obj+'_'+i).value;}}else{i = 999;}}if(document.getElementById(obj)){document.getElementById(obj).value = str;}}

// Проверяем значения формы...
function chk(arra, mod){var err = ''; var emp = 0; arr = arra.split('|');
for( var i = 1; i < arr.length; i++ ){
str = arr[i]; str = str.split(';'); obj = document.getElementById(str[0]);

if(obj){
if(obj.value==''){obj.style.borderColor='red'; emp++;}else{obj.style.borderColor='#CCCCCC';}

if(str[1] == 'mail'){var mail = e(obj.value); if(mail !== true){err += '- Не корректный адрес электронной почты.<BR>'; obj.style.borderColor='red';}}
if(str[1] == 'pass'){
var str1 = 'z'+document.getElementById(str[0]).value+'z';var str2 = 'z'+document.getElementById(str[0]+'_2').value+'z';
if(str1 !== str2){err += '- Указанные вами пароли не совпадают!<BR>'; document.getElementById(str[0]+'_2').style.borderColor='red';}
}
}

}

if(emp > 0) {err = '- Поля помеченные * необходимо заполнить!<BR>'+err;}
if(err!==''){ print('process_'+mod, err, 'err'); sdisplay ('process_'+mod,''); }else{
// Гасим редактор
edtinit(0);
send_form('form_'+mod,'frm_'+mod,mod);
}
}

// Красим в красный
function tored(obj){if(document.getElementById(obj)){document.getElementById(obj).style.borderColor='red';}}


















// Выводим галерею
function galery(mod, id, type){loadJSON('action&name=imgview&mod='+mod+'&type='+type+'&id='+id);}

//
function opengal(str, id){
	//glr_list = str;
	openwin();
	str = str.split('|');
	glr_list[0] = str[0];
	for( var i = 1; i < str.length; i++ ){
	tmp = str[i]+',,,,,';
	tmp = tmp.split(',');
	glr_list[i] = tmp;
	glr_list['id'+tmp[0]] = i;
	}
	document.getElementById('wnda').innerHTML = '<TABLE WIDTH=100%><TR><TD>&nbsp;</TD><TD ID=galtop>&nbsp;</TD><TD CLASS=tcls><A CLASS=acls HREF=# onclick="closewin(); return false;">Закрыть</A></TD></TR><TR><TD ID=galleft></TD><TD ID=galcenter>1</TD><TD ID=galright></TD></TR></TABLE>';
	navigal(id);
}

function openwind(txt){
	openwin();
	document.getElementById('wnda').innerHTML = '<TABLE WIDTH=100%><TR><TD>&nbsp;</TD><TD ID=galtop>&nbsp;</TD><TD CLASS=tcls><A CLASS=acls HREF=# onclick="closewin(); return false;">Закрыть</A></TD></TR><TR><TD ID=galleft></TD><TD><DIV ID=wndata>'+txt+'</DIV></TD><TD ID=galright></TD></TR></TABLE>';
}

// Листаем галерею
function navigal(id){
for( var i = 1; i < glr_list.length; i++ ){
	if(glr_list[i][0] == id){
	document.getElementById('galtop').innerHTML = glr_list[i][3] + '&nbsp;';
	if((glr_list[i][2] > -1) && (glr_list[i][4] !== U_id)){
		left = ((document.body.clientWidth / 2) - 148)+'px';
		document.getElementById('galtop').innerHTML+= '<DIV STYLE="padding-left:'+ left +';">'+ set_rate2('images',glr_list[i][0],glr_list[i][2],glr_list[i][5]) +'</DIV>'; //;
	}
	//if(glr_list[i][4] == ''){
		document.getElementById('galcenter').innerHTML = '<IMG SRC="'+ window.location.protocol+'//'+window.location.host+'/img/'+glr_list[0]+'/'+glr_list[i][1]+'" />';
	//}else{
	//	document.getElementById('galcenter').innerHTML = '<object width="450" height="350"><param name="movie" value="http://video.bigmir.net/extplayer"></param><param name="wmode" value="transparent"><param name="FlashVars" VALUE="'+ glr_list[i][4] +'"></param><embed src="http://video.bigmir.net/extplayer" type="application/x-shockwave-flash" wmode="transparent" width="450" height="350" FlashVars="'+ glr_list[i][4] +'"></embed></object>';
	//}
	if(i == 1){aft = '';}
	document.getElementById('galleft').innerHTML = aft;

	if( (i+1) < glr_list.length){
		i++;
		document.getElementById('galright').innerHTML = '<IMG onclick="navigal('+glr_list[i][0]+');" SRC="'+ window.location.protocol+'//'+window.location.host+'/img/'+glr_list[0]+'/d/'+glr_list[i][1]+'" />';
	}else{
		document.getElementById('galright').innerHTML = '';
	}
	}
	var aft = '<IMG onclick="navigal('+glr_list[i][0]+');" SRC="'+ window.location.protocol+'//'+window.location.host+'/img/'+glr_list[0]+'/d/'+glr_list[i][1]+'" />';
}
}

// Открываем окно
function closewin(){
	abd.style.overflow = 'auto';
	abg2.style.display = 'none';
	awnd.style.display = 'none';
	tagsvis('select', 'visible');
	tagsvis('object', 'visible');
	window.onresize = null;
}

// Открываем окно
function openwin(align){
h = 300;
w = 200;

abd = document.getElementById('bd');
abg2 = document.getElementById('bg2');
awnd = document.getElementById('wnd');
if(cagent() == 'msie'){abg2.style.position = 'absolute'; awnd.style.position = 'absolute'; document.body.scrollTop = 0;}

	abd.style.overflow = 'hidden';
	tagsvis('select', 'hidden');
	tagsvis('object', 'hidden');
	abg2.style.width = document.body.clientWidth+'px';
	abg2.style.height = document.body.clientHeight+'px';

	awnd.style.width = w+'px';
	awnd.style.height = h+'px';

	if(align == 'center'){
		awnd.style.top = ((document.body.clientHeight / 2) - (h / 2)) +'px';
		awnd.style.left = ((document.body.clientWidth / 2) - ( w / 2))+'px';
	} else {
		awnd.style.width = '100%';
		awnd.style.top = '10px';
		awnd.style.left = '0px';
	}

	awnd.style.display = 'block';
	abg2.style.display = 'block';
	window.onresize = openwinresize;

}





















function opn (obj){document.getElementById(obj).style.display = 'block';}
function clos (obj){document.getElementById(obj).style.display = 'none';}
function loadreg(reg, lng){loadJSON('action&name=loadreg&reg='+reg+'&lng='+lng);}







function checkit(val) {val = val.split(' '); for(i = 0, l = val.length; i < l; i++) {if(document.getElementById('i'+val[i])){document.getElementById('i'+val[i]).className = 'ok';}}}

function hide (obj){if(document.getElementById(obj)){document.getElementById(obj).style.display = 'none';}}

function close_wnd(){if(document.getElementById('wnd')){document.getElementById('wnd').style.display = 'none';}}



function tree(id){var obj = document.getElementById('t'+id); if(obj.style.display == 'none'){obj.style.display = 'block'; document.getElementById('h'+id).className = 'unt_hdr_off';}else{obj.style.display = 'none'; document.getElementById('h'+id).className = 'unt_hdr_on';}}
function all_tree(ids,tp){ids = ids.split(',');if(tp == 0){var t = 'none'; var c = 'unt_hdr_on';}else{var t = 'block'; var c = 'unt_hdr_off';}for( var i = 1, ito = ids.length; i < ito; i++ ){document.getElementById('t'+ids[i]).style.display = t;document.getElementById('h'+ids[i]).className = c;}}


function set_contest_image(contest, imgid, uid){
message('Отправка данных...');
var echo = '<IMG CLASS=imglft SRC="'+ document.getElementById('im'+imgid).src +'" /><DIV ID=imgsend>Обождите идет регистрация выбранной вами фотографии в кокурсе...</DIV>';
document.getElementById('image_area').innerHTML = echo;
loadXML('contest&act2=add&cid='+contest+'&imgid='+imgid,uid);
}

function cagent(){
var ua = navigator.userAgent.toLowerCase();
  // Определим Internet Explorer
  if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
    return "msie"
  }
  // Opera
  if (ua.indexOf("opera") != -1) {
    return "opera"
  }
  // Gecko = Mozilla + Firefox + Netscape
  if (ua.indexOf("gecko") != -1) {
    return "gecko";
  }
  // Safari, используется в MAC OS
  if (ua.indexOf("safari") != -1) {
    return "safari";
  }
  // Konqueror, используется в UNIX-системах
  if (ua.indexOf("konqueror") != -1) {
    return "konqueror";
  }
  return "unknown";
}


function openwinresize() {
	abg2 = document.getElementById('bg2');
	abg2.style.width = document.body.clientWidth+'px';
	abg2.style.height = document.body.clientHeight+'px';
}

var glr_list = new Array();




/*
// Chat
function sendchat(obj){
var to = document.getElementById('cht_to'+obj).value;
var txt = document.getElementById('cht_txt'+obj).value;
var lng = document.getElementById('cht_upd'+obj).value;
if(txt == ''){alert('Поле сообщения пустое!'); return false;}
document.getElementById('wnda').innerHTML = '<INPUT TYPE=text NAME=act VALUE="form"><INPUT TYPE=text NAME=mod VALUE="chat"><INPUT TYPE=text NAME=header VALUE="'+txt+'"><INPUT TYPE=text NAME=lng VALUE="'+lng+'"><INPUT TYPE=text NAME=acc2 VALUE="'+to+'">';
send_form('z', 'frm_wnd');
return false;
}

var updtime = 10;

function chattmr(id, updcnt){
if(updcnt == 0){ chatupd(id); }else{
document.getElementById('upd'+id).innerHTML = 'Обновить окно чата (осталось '+updcnt+' мин.)'; updcnt--;
var timer = window.setTimeout('chattmr('+id+','+updcnt+');', 1000 * 60);
}
}
function chatupd(id){loadJSON('action&name=chatupd&id='+id+'&upd='+document.getElementById('cht_upd'+id).value);return false;}
function wndchat(obj, id){if(document.getElementById(obj)){document.getElementById(obj).innerHTML = '<INPUT TYPE=hidden ID=cht_to'+id+' VALUE="'+id+'"><INPUT TYPE=hidden ID=cht_upd'+id+' VALUE=""><TEXTAREA SIZE=5 CLASS=chttxt ID=cht_txt'+id+'></TEXTAREA><BR><A CLASS=chtsnd HREF="#send" onclick="return sendchat('+id+');">Отправить сообщение</A>';} chattmr(id, updtime); return false;}
function sendok(id, upd, txt, cnt){newmsg(cnt); document.getElementById('chtstt'+id).innerHTML = txt;document.getElementById('cht_upd'+id).value = upd;document.getElementById('cht_txt'+id).value = '';var obj = document.getElementById('cht'+id);obj.scrollTop = obj.scrollHeight; chattmr(id, updtime);}
function updok(id, upd, txt){document.getElementById('chtstt'+id).innerHTML = txt;document.getElementById('cht_upd'+id).value = upd;var obj = document.getElementById('cht'+id);obj.scrollTop = obj.scrollHeight; chattmr(id, updtime);}
function newmsg(cnt){if(cnt>0){document.getElementById('mail').innerHTML = '<A CLASS=ml1 HREF="'+window.location.protocol+'//'+window.location.host+'/community/'+u_id+'/messages/">Мои сообщения ('+cnt+')</A>';}else{document.getElementById('mail').innerHTML = '<A CLASS=ml0 HREF="'+window.location.protocol+'//'+window.location.host+'/community/'+u_id+'/messages/">Мои сообщения</A>';}}
*/


// Перезагрузка формы
function reform(obj,txt){
if(document.getElementById(obj)){document.getElementById(obj).style.display = '';}
if(document.getElementById('process')){
document.getElementById('process').style.display = 'none';
document.getElementById('process').innerHTML=txt;
document.getElementById('process').className = 'send';
}
if(document.getElementById('captcha')){document.getElementById('captcha').value = '';}
new_captcha();
}



/*
function set_avatar(img){
if(document.getElementById('avatar_sel')){document.getElementById('avatar_sel').value = img;}
if(document.getElementById('avatar_img')){document.getElementById('avatar_img').src = '/img/2/user/df/'+img;}
}
function upd_avatars(){
if(document.getElementById('fram')){
echo = ''; dt = dt.split('|');
for( var i = 1; i < dt.length; i++ ){echo+="<IMG SRC='"+dt[0]+"/df/"+dt[i]+"' onclick='set_avatar(\""+dt[i]+"\");' />";}
document.getElementById('fram').innerHTML = echo;
}
}
*/

function mktime2date (timestamp, frm) {var theDate = new Date(timestamp * 1000); return theDate.format(frm);}
function date2mktime (year, month, day, hour, min, sec) {return (Date.UTC(year, month-1, day, hour, min, sec) / 1000);}

function imgreload(imgto, imgfrom){imgto = document.getElementById(imgto); var w = imgto.width; var h = imgto.height; imgto.src = document.getElementById(imgfrom).src;  imgto.width = w; imgto.height = h;}
function imgsrc(img, imgsrc){document.getElementById(img).src = imgsrc;}
function divrefresh(obj, id, id2){loadXML('refresh&obj='+obj+'&id2='+id2,id);}
//function bmk(id,id2,act){loadXML('bmk&act2='+act+'&id2='+id2,id);}

// Simulates PHP's date function
Date.prototype.format = function(format) {
	var returnStr = '';
	var replace = Date.replaceChars;
	for (var i = 0; i < format.length; i++) {
		var curChar = format.charAt(i);
		if (replace[curChar])
			returnStr += replace[curChar].call(this);
		else
			returnStr += curChar;
	}
	return returnStr;
};
Date.replaceChars = {
	shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
	longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
	shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
	longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],

	// Day
	d: function() { return (this.getDate() < 10 ? '0' : '') + this.getDate(); },
	D: function() { return Date.replace.shortDays[this.getDay()]; },
	j: function() { return this.getDate(); },
	l: function() { return Date.replace.longDays[this.getDay()]; },
	N: function() { return this.getDay() + 1; },
	S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th'))); },
	w: function() { return this.getDay(); },
	z: function() { return "Not Yet Supported"; },
	// Week
	W: function() { return "Not Yet Supported"; },
	// Month
	F: function() { return Date.replace.longMonths[this.getMonth()]; },
	m: function() { return (this.getMonth() < 11 ? '0' : '') + (this.getMonth() + 1); },
	M: function() { return Date.replace.shortMonths[this.getMonth()]; },
	n: function() { return this.getMonth() + 1; },
	t: function() { return "Not Yet Supported"; },
	// Year
	L: function() { return "Not Yet Supported"; },
	o: function() { return "Not Supported"; },
	Y: function() { return this.getFullYear(); },
	y: function() { return ('' + this.getFullYear()).substr(2); },
	// Time
	a: function() { return this.getHours() < 12 ? 'am' : 'pm'; },
	A: function() { return this.getHours() < 12 ? 'AM' : 'PM'; },
	B: function() { return "Not Yet Supported"; },
	g: function() { return this.getHours() == 0 ? 12 : (this.getHours() > 12 ? this.getHours() - 12 : this.getHours()); },
	G: function() { return this.getHours(); },
	h: function() { return (this.getHours() < 10 || (12 < this.getHours() < 22) ? '0' : '') + (this.getHours() < 10 ? this.getHours() + 1 : this.getHours() - 12); },
	H: function() { return (this.getHours() < 10 ? '0' : '') + this.getHours(); },
	i: function() { return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes(); },
	s: function() { return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds(); },
	// Timezone
	e: function() { return "Not Yet Supported"; },
	I: function() { return "Not Supported"; },
	O: function() { return (this.getTimezoneOffset() < 0 ? '-' : '+') + (this.getTimezoneOffset() / 60 < 10 ? '0' : '') + (this.getTimezoneOffset() / 60) + '00'; },
	T: function() { return "Not Yet Supported"; },
	Z: function() { return this.getTimezoneOffset() * 60; },
	// Full Date/Time
	c: function() { return "Not Yet Supported"; },
	r: function() { return this.toString(); },
	U: function() { return this.getTime() / 1000; }
}




startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("hmenu");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
 }
 node.onmouseout=function() {
 this.className=this.className.replace(" over", "");
 }
 }
 }
 }
}
window.onload=startList;


// Координаты объекта
function getBounds(element)
{
  var left = element.offsetLeft;
  var top = element.offsetTop;
  for (var parent = element.offsetParent; parent; parent = parent.offsetParent)
  {
    left += parent.offsetLeft - parent.scrollLeft;
    top += parent.offsetTop - parent.scrollTop
  }
  return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight};
}



// FORMS
// eMail
function e(s) {rex='';if (window.RegExp) {st="a";ex=new RegExp(st);if (st.match(ex)) {r1=new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");r2=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");b=(!r1.test(s)&&r2.test(s));} else {rex='false';}} else {rex=false;}if(!rex) b=(s.indexOf("@")>0&&s.indexOf(".")>0&&s!=""&&s!="Введите e-mail");return (b);}function f(h) {h.focus();h.select();}function val(fld) {s=fld.value;if(e(s)) {return ''} else {f(fld);if (s=='*'){return ''}else{return '\nПравильно укажите e-mail, например:\nmail@domain.xxx или mail@domain.xx.xxx\n';}}}
//
function chk_uniq(t,r){if(document.getElementById(r).value !== ''){print('stt_'+r,'Проверка...','send'); loadXML("chk_uniq&r="+r+"&t="+t+"&v="+document.getElementById(r).value,1);}else{print('stt_'+r,'Поле пустое!','err');}}
function chk_str(event, errobj){if(event.keyCode) {var k = event.keyCode;} else {var k = event.charCode;} str = "=01234567890_qwertyuiopasdfghjklzxcvbnm"; if((k < 32) || (str.indexOf(String.fromCharCode(k)) > 0)) {return true;} else {print(errobj,'Недопустимый символ','err'); return false;}}

function chk_str2(k,errobj){alert(k);}
