function init() 
{
    //var bas_cal, dp_cal, ms_cal;    
    //bas_cal = new Epoch('bas_cal','flat',$('bas_cal'));
    //dp_cal  = new Epoch('dp_cal','popup',$('timestamp'));
    //ms_cal  = new Epoch('ms_cal','flat',$('ms_cal'),true);
    if(window.ActiveXObject){
        //correctBody(); // IE fix
    }
}

function correctBody(){
    sum = document.getHeight()-$('bigHeader').getHeight()-$('bigFooter').getHeight()-40;
    bigBody.height = sum;
    if(bigBody.offsetHeight > bigDiv.offsetHeight) $('bigDiv').setStyle('height', sum);
}

function afterClick(formEl, listEl){ // IE fix
    emptyHeight = $('bigFooter').getTop()-$(formEl).getTop();
    sumvalue = $(listEl).getHeight()+$(formEl).getHeight();
    if(sumvalue > emptyHeight) {
        $('bigDiv').setStyle('height', ($('bigDiv').getHeight()+sumvalue-emptyHeight+40))
    }
}

function submenu(id, hideObjects)
{
    if($(id).getStyle('display')=="none"){
        $(id).setStyle("display", "block");
    }
    else
    {
        $(id).setStyle("display", "none");
    }
    if(hideObjects){
        var els = new Array();
        els = hideObjects.split(",");
        for(i=0;i<els.length;i++){
            $(els[i]).setStyle("display", "none");
        }
    }
}
function checkAppForConnection(form){
   fio = $('fio').value;
   phone = $('phone').value;
   codeApp = $('codeApp').value;
   
   if(fio!=='' && phone!=='' && codeApp!==''){
   $(form).submit(); 
   }else{
   alert('Все поля отмеченные * должны быть заполнены.');
   return false;
   }
}
function checkPassword(form){
    p = $('password').value;
    c = $('confirm').value;
    err=1;
    if(p!=''){
        val = (/^([A-Za-z0-9]+)$/i).test(p);
        if(val===false){
            alert('Только английские буквы и цифры разрешены в пароле!');
            err=0;
        }
        if(p!=c){
            alert('Пароль и подтверждение не сходятся!');
            err=0;
        }
    }
    if(err==1) $(form).submit(); else return false;
}
function checkTariff(form){
	
	name = $('name').value;
    abonentPrice = $('abonentPrice').value;
	//unlim tariffs
	if(document.getElementById('unlimInsideSpeedDay')){
	unlimInsideSpeedDay = $('unlimInsideSpeedDay').value;
	}else{
	unlimInsideSpeedDay = '';
	}
	if(document.getElementById('unlimOutsideSpeedDay')){
	unlimOutsideSpeedDay = $('unlimOutsideSpeedDay').value;
	}else{
	unlimOutsideSpeedDay = '';
	}
    //limited tariffs
	if(document.getElementById('pricePerMbInside')){
	pricePerMbInside = $('pricePerMbInside').value;
	}else{
	pricePerMbInside = '';
	}
	if(document.getElementById('pricePerMbOutside')){
	pricePerMbOutside = $('pricePerMbOutside').value;
	}else{
	pricePerMbOutside = '';
	}
	//
	if(document.getElementById('abonentInsideMb')){
	abonentInsideMb = $('abonentInsideMb').value;
	}else{
	abonentInsideMb = '';
	}
	
	if(document.getElementById('tvChannels')){
	tvChannels = $('tvChannels').value;
	}else{
	tvChannels = '';
	}
    
    err=1;
	if(name==''){
        
            alert('Заполните пожалуйста название тарифа');
            err=0;
        
    }
    if(unlimInsideSpeedDay!=''){
        val = (/^([0-9]+)$/i).test(unlimInsideSpeedDay);
        if(val===false){
            alert('Только цифры для поля "Скорость внутри сети провайдера", пожалуйста');
            err=0;
			return false;
        }
    }
	if(unlimOutsideSpeedDay!=''){
        val = (/^([0-9\.\,]+)$/i).test(unlimOutsideSpeedDay);
        if(val===false){
            alert('Только цифры для для поля "Скорость внешней сети", пожалуйста');
            err=0;
			return false;
        }
    }
	if(pricePerMbInside!=''){
        val = (/^([0-9\.\,]+)$/i).test(pricePerMbInside);
        if(val===false){
            alert('Только цифры для поля "Цена 1 Мб внутри сети", пожалуйста');
            err=0;
			return false;
        }
    }
	if(pricePerMbOutside!=''){
        val = (/^([0-9\.\,]+)$/i).test(pricePerMbOutside);
        if(val===false){
            alert('Только цифры для поля "Цена 1 Мб во внешней сети", пожалуйста');
            err=0;
			return false;
        }
    }	
	if(abonentPrice!=''){
        val = (/^([0-9\.\,]+)$/i).test(abonentPrice);
        if(val===false){
            alert('Только цифры, пожалуйста');
            err=0;
			return false;
        }
    }
	if(tvChannels!=''){
        val = (/^([0-9\.\,]+)$/i).test(tvChannels);
        if(val===false){
            alert('Только цифры, пожалуйста');
            err=0;
			return false;
        }
    }
	
	
	
    if(err==1) $(form).submit(); else return false;
}
function checkwifi(form){
    
   
    c = $('addr_w');
    e = $('email_w');
    
    err=1;

    val = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(e.value);
    if(val===false){
        alert('E-mail введен не корректно!');
    err=0;
    } 

            
    
    if(err==1){ alert('Спасибо за информацию'); $(form).submit(); } else { return false; }
}

function checkNews(form){
    
   
    c = $('short_new');
    u = $('name_new');
    a = $('author_new');
    code = $('code');
    err=1;
    //val = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(c.value);
    //if(val===false){
    //    alert('E-mail введен не корректно!');
    //err=0;
    //} 

    if(u.value=='' || a.value=='' || c.value=='' || code.value==''){
        alert('Все поля отмеченные звёздочкой должны быть заполнены!');
        err=0;
    }
        
    
    if(err==1){ alert('Спасибо за информацию'); $(form).submit(); } else { return false; }
}
function checkprovider(form){
    
   
    name = $('name');
    site = $('site');
    address = $('address');
    phone = $('phone');
	phones = $('phoneSupport');

    err=1;
    

    if(name.value=='' || site.value=='' || address.value=='' || phone.value=='' || phones.value==''){
    alert('Все поля отмеченные звёздочкой должны быть заполнены!');
    return false;
    }else{
	alert('Спасибо за информацию');
	$(form).submit();
	}
        
    
   
}

function checkReg(form){
    email = $('login')
    p = $('password');
    c = $('confirm');
    u = $('name');
    a = $('agree');
    code = $('code');
    val = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email.value);
    err=1;
    if(u.value=='' || p.value=='' || c.value=='' || code.value==''){
        alert('Все поля отмеченные звёздочкой должны быть заполнены!');
        err=0;
    }
    if(a.checked!==true){
        alert('Если вы ознакомились с правилами работы на портале!\nНеобходимо отметить флажком!');
        err=0;
    }
    if(val===false){
        alert('E-mail введен не корректно!');
        err=0;
    }
    if(p.value!=c.value){
        alert('Пароль и подтверждение не сходятся!');
        err=0;
    }
    if(err==1) $(form).submit(); else return false;
}
function countdown(el, elcount, maxlength){
    // вычисляем первоначальное значение счетчика и его цвет
    var value = $(el).value.length;
    var initLength = Math.max((value ? (maxlength - value) : maxlength),0);
    $(elcount).innerHTML = initLength;
}

function setSelected(id, value){
    $('pid').value=id;
    $('selected').setStyle('display','block');
    $('selected').innerHTML='<b>'+value+'</b> (<a href="#" onclick="changePid(); return false;">Изменить</a>)';
    $('list').setStyle('display','none');
}

function changePid(){
    $('list').setStyle('display','block');
}

/*

AJAX requests

*/

function getCities(uid, regionID, container){
    makeRequest('/utils/ajax/regions.php?uid='+uid+'&regionID='+regionID, 'regions', container);
}

/*

AJAX answers

*/

/*************************************************************/

function delUserAvator(table, field, uid, el){
    makeRequest('/utils/ajax/delUserAvator.php?table='+table+'&field='+field+'&uid='+uid);
    $(el).getNext().remove();
    $(el).remove();
}

function createBlog(uid, action, mod){
    var val = prompt('О чём будет этот блог?');
    if(val===null || val==''){}else{
        makeRequest('/utils/ajax/blogs.php?uid='+uid+'&name='+val+'&action='+action+'&mod='+mod, 'blogs', 'blogs');
    }
}

function ShowHideBlog(uid, id, action, el){
    if(el.checked===true) val=1; else val=0;
    makeRequest('/utils/ajax/blogs.php?uid='+uid+'&id='+id+'&action='+action+'&status='+val, 'noShow', 'updated', id);
}

function ShowHideCatalog(uid, id, action, el){
    if(el.checked===true) val=1; else val=0;
    makeRequest('/utils/ajax/catalog.php?uid='+uid+'&id='+id+'&action='+action+'&status='+val, 'noShow', 'updated', id);
}

function ShowHideGallery(uid, id, action, el){
    if(el.checked===true) val=1; else val=0;
    makeRequest('/utils/ajax/gallery.php?uid='+uid+'&id='+id+'&action='+action+'&status='+val, 'noShow', 'updated', id);
}

function saveComment(uid, id, action, value){
    if($('comment').value=='') return false;
    makeRequest('/utils/ajax/blogs.php?uid='+uid+'&id='+id+'&action='+action+'&comment='+$('comment').value+'&video='+$('videoId').value, 'blogs', 'comments');
    $('videoId').value=0;
    $('comment').value='';
}

function showVideoAfter(){
    els = $('comments').getElements('a[id^=player]');
    for(i=0;i<els.length;i++){
        $('comments').addEvent("domready", function(){flowplayer(els[i].id, "/utils/flv/flowplayer-3.1.0.swf", {clip:{autoPlay: false, autoBuffering: false}})});
    }
}

function getSubTree(table, id, module, containerprefix, subtable){
    if($(containerprefix+id).getStyle('display')=="none"){
        $(containerprefix+id).setStyle("display", "block");
        if(containerprefix=='sub'){
            $('gr'+id).src='/images/admin/gro.gif';
        }
        if(subtable!=null) dosub = '&subtable='+subtable; else  dosub = '';
        makeRequest('/utils/ajax/tree.php?id='+id+'&table='+table+'&module='+module+dosub+'&container='+containerprefix+id, module, containerprefix, id);
    }
    else
    {
        $(containerprefix+id).setStyle("display", "none");
        if(containerprefix=='sub'){
            $('gr'+id).src='/images/admin/grc.gif';
        }
    }
}

function editPhotoName(uid, id, action){
    var val = prompt('Название фотографии');
    if(val===null || val==''){}else{
        makeRequest('/utils/ajax/gallery.php?uid='+uid+'&id='+id+'&action='+action+'&name='+val);
        $('photoName').innerHTML = '<a href="#" onclick="editPhotoName(\''+uid+'\', \''+id+'\', \'name\'); return false;">'+val+'</a>';
    }
}

function makeRequest(url,module,option,id) {
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType("text/xml");
            // Читайте ниже об этой строке
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("MSXML2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert("Не вышло  Невозможно создать экземпляр класса XMLHTTP ");
        return false;
    }
    switch (module) {
        case "blogs" :
            http_request.onreadystatechange = function() { outBlogs(http_request, option); };
            break;
        case "catalog" :
            http_request.onreadystatechange = function() { tree(http_request, option, id); };
            break;
        case "noShow" :
            http_request.onreadystatechange = function() { noShow(http_request, option, id); };
            break;
        case "regions" :
            http_request.onreadystatechange = function() { oneBlock(http_request, option); };
            break;
        case "updateContainer" :
            http_request.onreadystatechange = function() { updateContainer(http_request, option); };
            break;
        case "warning" :
            http_request.onreadystatechange = function() { warningShow(http_request); };
            break;
        case "moderate" :
            http_request.onreadystatechange = function() { alertContents(http_request, 'message', option); };
            break;
        default :
            http_request.onreadystatechange = function() { alertContents(http_request, 'message'); };
    }

    http_request.open("GET", url, true);
    http_request.send(null);
}

function oneBlock(http_request, container) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(container)!=null){
                $('rf').setStyle("display", "none");
                $('cf').setStyle("display", "block");
                $(container).innerHTML = http_request.responseText;
            }
        } else {
            alert("С запросом возникла проблема. Вынесло мозг по таймауту. Давани ещё раз!");
        }
    }
}

function tree(http_request, containerprefix, id) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(containerprefix+id)!=null){
                $(containerprefix+id).setStyle("display", "block");
                $(containerprefix+id).innerHTML = http_request.responseText;
            }
        } else {
            alert("С запросом возникла проблема. Вынесло мозг по таймауту. Давани ещё раз!");
        }
    }
}

function outBlogs(http_request, option) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(option)!=null){
                $(option).setStyle("display", "block");
                $(option).innerHTML = http_request.responseText;
                if(option=='comments') showVideoAfter();
            }
        } else {
            alert("С запросом возникла проблема. Вынесло мозг по таймауту. Давани ещё раз!");
        }
    }
}

function noShow(http_request, option, id) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(option+id)!=null){
                $(option+id).setStyle("display", "block");
                $(option+id).innerHTML = http_request.responseText;
                window.setTimeout("submenu('"+option+id+"')", 300);
            }
        } else {
            alert("С запросом возникла проблема. Вынесло мозг по таймауту. Давани ещё раз!");
        }
    }
}

function alertContents(http_request, identifier, option) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(identifier)!=null){
                $(identifier).setStyle("display", "block");
                $(identifier).innerHTML = http_request.responseText;
                window.setTimeout("hideMessage('"+identifier+"')", 3000);
            }
            if(option==true){
                window.location.reload();
            }
        } else {
            alert("С запросом возникла проблема. Вынесло мозг по таймауту. Давани ещё раз!");
        }
    }
}

function hideMessage(identifier){
    $(identifier).setStyle('display', 'none');
}

function doRegion(id, name, searcher){
    $('city').innerHTML = name;
    Cookie.write('city', id);
    
//if($('provList')!==null){

   if(searcher=="cable"){
      window.location = "http://www.uralnets.ru/provider_cable0.html"

   }else if(searcher=="wifi"){
       window.location = "http://www.uralnets.ru/provider_wifi0.html"

   }else if(searcher=="radio"){
      window.location = "http://www.uralnets.ru/provider_radio0.html"

   }else{
  window.location.reload(false);
  }

  //}
}

/*
Поля class="required" - обязательны для заполнения
*/

window.addEvent('domready', init);

window.addEvent("domready", function(){
    $$('input.required', 'textarea.required', 'select.required').each(function(v){
            $(v.form).addEvent('submit', (function(e){
                if(this.value.trim()==''){
                    e = new Event(e).preventDefault().stop().stopPropagation();
                    alert('Вы не заполнили поле "'+(this.title || this.name)+'"!')
                }
            }).bind(v));
    });
});

window.addEvent("domready", function(){
    $$('input').each(function(v){
        if($(v).getProperty('title')==$(v).getProperty('value')){
            $(v).addEvent("focus", function(){
                if($(v).getProperty('value')==$(v).getProperty('title')){
                    $(v).setProperty('value','');
                }
            }).addEvent("blur", function(){
                if($(v).getProperty('value')==''){
                    $(v).setProperty('value',$(v).getProperty('title'));
                }
            });
        }
    });
});

function updateContainer(http_request, option) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if($(option)!=null){
                $(option).setStyle("display", "block");
                $(option).innerHTML = http_request.responseText;
            }
        } else {
            alert("Неудалось получить ответ от сервера. Пожалуйста повторите действие.");
        }
    }
}


/*



Регистрация



*/

function regCities(uid, id){
    makeRequest('/utils/ajax/register.php?uid='+uid+'&regionID='+id.value, 'updateContainer', 'selCity');
}

/*



Комментарии



*/

function showComments(uid, newsID, page){
    makeRequest('/utils/ajax/comments.php?uid='+uid+'&newsID='+newsID+'&page='+page, 'updateContainer', 'showCommentsContainer');
}


/*



Форум скрипт



*/

function quotemessage(nickname){
    var t = '';
    if (nickname!='') {
        nickname = nickname.replace('&quot;', '"');
    }
    isDOM=document.getElementById;
    isMSIE=document.all && document.all.item;
    isNetscape4=document.layers;
    isOpera=window.opera;
    isOpera5=isOpera && isDOM;
    isMSIE5=isDOM && isMSIE;
    isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera;
    if (isMozilla || (isOpera && !isMSIE5)){
        t=window.getSelection().toString();
    }
    if (isMSIE5) {
        text_obj=document.selection.createRange();
        t=text_obj.text;
    }
    if (nickname!='') {
        t = "[nickname]"+nickname+"[/nickname]\r\n"+t;
    }
    if (t!='') {
        $('messageForumArea').value+="\r\n[quote]"+t+"[/quote]\r\n";
        window.location.href="#reply";
    }
    else {
        alert('Для использования функции цитирования следует выделить мышкой цитируемый текст');
    }
}

function warning(id, uid, action, link){
    if (confirm('Действительно?')) {
        makeRequest('/utils/ajax/warning.php?uid='+uid+'&id='+id+'&action='+action+'&link='+link);
        alert('Спасибо!\n\nИнформация о выбранном Вами сообщении была отправлена модератору форума.\nМы будем благодарны, если Вы будете извещать нас о всех сообщениях,\nнарушающих правила нашего форума.');
    } else {
        return false;
    }
}

function moderate(id, uid, action, themeID){
    var extQuery = '';
    if(action=='delmessage'){
        if (confirm('Действительно?')) {
            if(themeID!=null) extQuery = '&themeID='+themeID;
            makeRequest('/utils/ajax/moderator.php?uid='+uid+'&id='+id+'&action='+action+extQuery, 'moderate', true);
        }
    }
    if(action=='closeTheme'){
        if (confirm('Действительно?')) {
            makeRequest('/utils/ajax/moderator.php?uid='+uid+'&id='+id+'&action='+action, 'moderate', true);
        }
    }
    if(action=='editMessage'){
        if(themeID!=null) extQuery = '&themeID='+themeID;
        makeRequest('/utils/ajax/moderator.php?uid='+uid+'&id='+id+'&action='+action+extQuery, 'catalog', 'PostMessage', id);
    }
    if(action=='saveEditedMessage'){
        mFA = $('messageForumArea'+id).value.split('\n');
        var comment = '';
        for(i=0;i<mFA.length;i++) {
            comment += mFA[i].trim()+'<br />';
        }
        if($('subject'+themeID)!=null) {
            extQuery = '&subject='+$('subject'+themeID).value+'&themeID='+themeID;
            els = $('tableMessages').getElements('div[id^=sTitle]');
            for(i=0;i<els.length;i++){
                els[i].innerHTML = $('subject'+themeID).value;
            }
        }
        makeRequest('/utils/ajax/moderator.php?uid='+uid+'&id='+id+'&action='+action+'&message='+comment+extQuery, 'catalog', 'PostMessage', id);
    }
}

function linkto(id, pid, linkPrefix) {
    $('float'+id).setStyle('float', 'right');
    var div = document.createElement('div');
    if ($('link'+id)) {
        div = $('goto'+id);
        div.innerHTML = '';
        return true;
    }
//    <div class="framed" style="position: absolute; right: 5em; top: -1em;">\
    div.innerHTML = '\
<div class="framed" style="position: absolute; right: 0em; top: -1em;">\
    <div class="f_tt"></div>\
    <div class="f_r"><div class="f_rr"></div>\
        <div class="f_b"><div class="f_bb"><div></div></div>\
            <div class="f_l"><div class="f_ll"><div></div></div>\
                <div class="f_c">\
<nobr><input style="text-align: left" type="text" size="80" id="link'+id+'" value="'+linkPrefix+'/forum_subject'+pid+'.html#'+id+'"/>\
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onClick="linktoclose('+id+'); return false;"><img src="/images/_close.gif" alt="Свернуть блок" title="Свернуть блок" width="14" height="13" border="0" style="cursor: hand;" /></a></nobr>\
                </div>\
            </div>\
        </div>\
    </div>\
</div>\
';
    document.getElementById('goto' + id).appendChild(div);
    var inp = document.getElementById('link' + id);
//        inp.value ='http://www.e1.ru/talk/forum/go_to_message.php?f=21&t=7008263&i=' + id;
//        inp.defaultValue ='http://www.e1.ru/talk/forum/go_to_message.php?f=21&t=7008263&i=' + id;
//        inp.setAttribute('value', 'http://www.e1.ru/talk/forum/go_to_message.php?f=21&t=7008263&i=' + id);
    inp.focus();
    inp.select();
    return true;
}
function linktoclose(id) {
    div = document.getElementById('goto' + id);
    div.innerHTML = '';
    return true;
}

function closeThemeDOMchange(){
    els = $('tableMessages').getElements('div[id^=userNav]');
    for(i=0;i<els.length;i++){
        els[i].parentNode.removeChild(els[i]);
    }
}

function switch_font_style(id){
   curr_style = $(id).getStyle('font-weight');
    if((curr_style!="normal") && (curr_style!="400")){
        $(id).setStyle("font-weight", "normal");
    }else{
        $(id).setStyle("font-weight", "bold");
    }
}
