                var debug = true;
                var hotbuttons=new Array();
                var x;
                var old_t;
                var old_m;
                var mouseX;
                var mouseY;
                var category_id;
                var m_email='';
                var m_login;
                var m_email_state;
                var m_login_state;
                var m_login_result;
                var m_email_result;
                var object_marks_image=new Array();
                var opened_window = new Array();
                var opened_url = '';
                var editor_data = new Array();
                var limited_sections = new Array('profile', 'edit_object', 'add_object');

                function in_array(arr, value) 
                {
                        for(var i = 0, l = arr.length; i < l; i++) 
                        {
                                if(arr[i] == value) return true;
                        }
                        return false;
                }

                document.onmousemove = function(e)
                {
                      if (navigator.appName == "Microsoft Internet Explorer")
                      {
                            mouseX = event.clientX;
                            mouseY = event.clientY;
                      }
                      else
                      {
                            mouseX = e.pageX;
                            mouseY = e.pageY;
                      }
                      return true;
                }

                function getBounds(element)
                {
                        if(!document.getElementById(element)) return;
                        var left = document.getElementById(element).offsetLeft;
                        var top = document.getElementById(element).offsetTop;
                        for(var parent = document.getElementById(element).offsetParent; parent; parent = parent.offsetParent)
                        {
                                left += parent.offsetLeft;
                                top += parent.offsetTop;
                        }
                        return {left: left, top: top, width: document.getElementById(element).offsetWidth, height: document.getElementById(element).offsetHeight};
                }

                function showUserControls(page, count, user_mark, reviews, edit_link, edit, del_link, del, reviews_count)
                {
                    if(!page) return false;
                    if(page=='object')
                    {
                        for(i=0; i < count; i++) if(document.getElementById('send_to_friend_'+i)) document.getElementById('send_to_friend_'+i).style.display='inline';
                        document.getElementById('add_review_text').style.display='none';
                        document.getElementById('add_photo_link').style.display='inline';
                        document.getElementById('add_video_link').style.display='inline';
                        document.getElementById('add_review_button').style.display='inline';
                        document.getElementById('reviews_count').innerHTML  = reviews_count;
                        if(reviews) document.getElementById('reviews').innerHTML=reviews;
                        if(user_mark)  document.getElementById('user_mark').innerHTML= user_mark;
                        //editor
                        if( edit ) 
                        {
                                document.getElementById('edit').style.display = 'inline';
                                document.getElementById('edit').href = edit_link;
                                document.getElementById('edit').innerHTML = edit;
                        }
                        if( del )  
                        {
                                document.getElementById('delete').style.display = 'inline';
                                document.getElementById('delete').onClick = del_link;
                                document.getElementById('delete').innerHTML = del;
                        }
                    }
                    return true;
                }

                function hideUserControls(page, count)
                {
                    if(!page) return false;
                    if(page=='object')
                    {
                        for(i=0; i < count; i++)
                        {
                                if(document.getElementById('comment_add_str_'+i)) document.getElementById('comment_add_str_'+i).style.display='none'; 
                                if(document.getElementById('review_voting_'+i)) document.getElementById('review_voting_'+i).style.display='none';
                                if(document.getElementById('send_to_friend_'+i)) document.getElementById('send_to_friend_'+i).style.display='none';
                                if(document.getElementById('delete_user_'+i)) document.getElementById('delete_user_'+i).innerHTML='';
                                if(document.getElementById('edit_review_'+i)) document.getElementById('edit_review_'+i).innerHTML='';
                                if(document.getElementById('delete_review_'+i)) document.getElementById('delete_review_'+i).innerHTML='';
                        }
                        document.getElementById('user_mark').innerHTML="";
                        document.getElementById('add_photo_link').style.display='none';
                        document.getElementById('add_video_link').style.display='none';
                        document.getElementById('add_review_button').style.display='none';
                        document.getElementById('add_review_text').style.display='inline';
                        document.getElementById('edit').style.display = 'none';
                        document.getElementById('delete').style.display = 'none';
                    }
                    return true;
                }


        // login
        function showLoginForm(file, page_type, count, id, page, sort, main_page_link, remember_link)
        {
                var _div = document.getElementById( 'logindiv' );
                if ( _div ) _div.parentNode.removeChild(_div);
                var form = document.createElement( 'DIV' );
                form.id                       = 'logindiv';
                form.style.backgroundColor    ='#fadfad';
                //form.style.position           = 'absolute';
                form.style.border             = 'solid 1px #000000';
                form.style.width              = '290 px';
                form.style.height             = '80 px';
                form.scrolling                = 'no';
                //form.align                    = 'left';
                //form.valign                    = 'top';
                form.style.padding            = '0px';
                form.style.zIndex             = 99999;
                var TABLE = document.createElement( 'TABLE' );
                TABLE.style.borderSpacing="3px";
                TABLE.style.backgroundColor    ='#fadfad';

                var TBODY = document.createElement( 'TBODY' ); TABLE.appendChild( TBODY );
                var TR1 = document.createElement( 'TR' ); TBODY.appendChild( TR1 );
                var TR2 = document.createElement( 'TR' ); TBODY.appendChild( TR2 );
                var TR3 = document.createElement( 'TR' ); TBODY.appendChild( TR3 );
                var TD11 = document.createElement( 'TD' ); TR1.appendChild( TD11 );

                TD11.align='right';
                TD11.style.color='black';


                var login_label = document.createTextNode( 'имя: ' ); TD11.appendChild( login_label );
                var TD12 = document.createElement( 'TD' ); TR1.appendChild( TD12 );
                TD12.align='center';

                var login = document.createElement( 'INPUT' ); 
                login.size=14; login.type='text';
                login.id='ulogin';
                login.name='login';
                TD12.appendChild( login );
                var TD13 = document.createElement( 'TD' ); TR1.appendChild( TD13 );
                TD13.align='left';
                var CANCEL = document.createElement( 'A' );
                CANCEL.style.color="#0047ab";
                CANCEL.href="";
                CANCEL.appendChild(document.createTextNode( 'Закрыть' ));
                CANCEL.onclick=new Function( 'closeLoginForm();return false;' );
                TD13.appendChild( CANCEL );
                var TD21 = document.createElement( 'TD' ); TR2.appendChild( TD21 );
                TD21.align='right';
                TD21.style.color='black';
                var passwd_label = document.createTextNode( 'пароль: ' ); TD21.appendChild( passwd_label );
                var TD22 = document.createElement( 'TD' ); TR2.appendChild( TD22 );
                TD22.align='center';
                var passwd = document.createElement( 'INPUT' );
                passwd.size=14; passwd.type='password';
                passwd.id='upassword';
                passwd.name='password';
                TD22.appendChild( passwd );
                var TD23 = document.createElement( 'TD' ); TR2.appendChild( TD23 );
                TD23.align='left';
                var REM = document.createElement( 'A' );
                REM.href=remember_link;
                REM.style.color="#0047ab";
                REM.appendChild(document.createTextNode( 'Забыли пароль?' ));
                TD23.appendChild( REM );
                var TD31 = document.createElement( 'TD' ); TR3.appendChild( TD31 );
                var TD32 = document.createElement( 'TD' ); TR3.appendChild( TD32 );
                TD32.align='center';
                var OK = document.createElement( 'INPUT' );
                OK.type='image'; OK.alt='OK';
                OK.src="img/enter.png";
                OK.style.cursor="pointer";
                OK.onclick=new Function( "user_login('"+file+"', '"+page_type+"', '"+count+"', '"+id+"', '"+page+"', '"+sort+"', '"+main_page_link+"')" );
                TD32.appendChild( OK );
                var TD33 = document.createElement( 'TD' ); TR3.appendChild( TD33 );
                TD33.align='left';

                TD11.style.backgroundColor    ='#fadfad';
                TD12.style.backgroundColor    ='#fadfad';
                TD13.style.backgroundColor    ='#fadfad';
                TD21.style.backgroundColor    ='#fadfad';
                TD22.style.backgroundColor    ='#fadfad';
                TD23.style.backgroundColor    ='#fadfad';
                TD31.style.backgroundColor    ='#fadfad';
                TD32.style.backgroundColor    ='#fadfad';
                TD33.style.backgroundColor    ='#fadfad';

                var save = document.createElement( 'INPUT' );
                save.type='checkbox';
                save.id='uautologin';
                save.name='autologin';
                TD33.appendChild( save );
                var save_label = document.createTextNode( ' запомнить' );
                TD33.appendChild( save_label );
                form.appendChild( TABLE );
                var div = document.getElementById( 'loginform' );
                if ( div ) div.appendChild( form );
        }

        function closeLoginForm()
        {
                var div = document.getElementById( 'logindiv' );
                if ( div ) div.style.visibility = 'hidden';
        }

        function showLoginError(text)
        {
                if(document.getElementById( 'auth_error' ))
                {
                        var div = document.getElementById( 'auth_error' );
                        div.innerHTML='';
                }
                else 
                {
                        var cont = document.getElementById( 'logindiv' );
                        var div = document.createElement( 'DIV' );
                        div.align="center";
                        div.style.color="red";
                        div.id = 'auth_error';
                        cont.insertBefore(div, cont.childNodes[0]);
                        cont.style.height = '100px';
                }
                div.appendChild( document.createTextNode( text ) );
        }

        function hideLoginError()
        {
                if(document.getElementById( 'auth_error' ))
                {
                        var div = document.getElementById( 'auth_error' );
                        var pnode = div.parentNode;
                        if(pnode) pnode.removeChild(div);
                        pnode.style.height = '80px';
                }
        }

        function user_login(file, page_type, count, id, page, sort, main_page_link)
        {
                var autologin;
                var login=document.getElementById('ulogin').value;
                var password=document.getElementById('upassword').value;
                if(!login) return false;
                if(!password) return false;
                if(document.getElementById('uautologin').checked) autologin=1;
                else autologin='';
                var req = new JsHttpRequest();

                showLoginError("Загрузка...");
                req.onreadystatechange = function()
                {
                        if (req.readyState == 4)
                        {
                                if(req.responseText) alert(req.responseText);
                                if (req.responseJS.error!="")
                                {
                                        showLoginError( req.responseJS.error );
                                        return;
                                }
                                else
                                {
                                        document.getElementById('login').innerHTML = "Выход";
                                        document.getElementById('login').onclick = new Function( req.responseJS.logout_js );

					document.getElementById('welcome').style.display='inline';
                                        document.getElementById('welcome').innerHTML = "&nbsp; Здравствуйте <b>"+req.responseJS.username+"</b>";
                                        document.getElementById('register').style.display='none';

                                        hideLoginError();
                                        closeLoginForm();
                                }
                                showUserControls(page_type, count, req.responseJS.user_mark, req.responseJS.reviews, req.responseJS.edit_object_link, req.responseJS.edit_object, req.responseJS.delete_object_link, req.responseJS.delete_object, req.responseJS.reviews_count);
                                if(in_array(limited_sections, page_type)) document.location = main_page_link;
                        }
                }
                req.open('POST', file, true);
                req.send({login:login,
                              password:password,
                              autologin:autologin,
                              page_type:page_type,
                              count:count,
                              id: id,
                              page:page,
                              sort:sort});
        }

        function user_logout(file, page_type, count, id, page, sort, main_page_link)
        {
                var req = new JsHttpRequest();
                req.onreadystatechange = function()
                {
                        if (req.readyState == 4)
                        {
                                if(req.responseText) alert(req.responseText);
                                document.getElementById('login').innerHTML = "Вход";
                                document.getElementById('login').onclick = new Function( req.responseJS.login_js );

                                document.getElementById('welcome').style.display='none';
                                document.getElementById('register').style.display='inline';

                                hideUserControls(page_type, count);
                                if(in_array(limited_sections, page_type)) document.location = main_page_link;
                        }
                }
                req.open('POST', file, true);
                req.send({ page_type: page_type,
                                count: count,
                                id: id,
                                page:page,
                                sort:sort});
        }

                function example_1(str)
                {
                        document.getElementById('searchwhat').value=str;
                }

                function example_2(str)
                {
                        document.getElementById('searchwhere').value=str;
                }

                function hotButtons(id, cid, url1, url2)
                {
                        if (!hotbuttons[id])
                        {
                             top.frames[0].mapHotButton(cid);
                             hotbuttons[id]=1;
                             document.getElementById('hotbt').src=url2;
                        }
                        else
                        {
                             top.frames[0].clearMarkers(cid);
                             document.getElementById('hotbt').src=url1;
                             hotbuttons[id]='';
                        }
                }

                function loadObjectPage(dir)
                {
                      object_marks_image[0]=new Image();
                      object_marks_image[0].src=dir+"graysmiles1.gif";
                      object_marks_image[1]=new Image();
                      object_marks_image[1].src=dir+"redsmiles1.gif";
                      object_marks_image[2]=new Image();
                      object_marks_image[2].src=dir+"orangesmiles1.gif";
                      object_marks_image[3]=new Image();
                      object_marks_image[3].src=dir+"yellowsmiles1.gif";
                      object_marks_image[4]=new Image();
                      object_marks_image[4].src=dir+"greensmiles1.gif";
                      object_marks_image[5]=new Image();
                      object_marks_image[5].src=dir+"bluesmiles1.gif";
                      return true
                }

                function change(element, dir, set_element)
                {
                      var x;
                      var y;
                      var mark;
                      x=mouseX-getBounds(element).left+1;
                      y=mouseY-getBounds(element).top+1;
                      if(x < 18)
                      {
                          document.getElementById(element).src=object_marks_image[1].src;
                          mark=1;
                      }
                      else
                      if(x < 37)
                      {
                          document.getElementById(element).src=object_marks_image[2].src;
                          mark=2;
                      }
                      else
                      if(x < 56)
                      {
                          document.getElementById(element).src=object_marks_image[3].src;
                          mark=3;
                      }
                      else
                      if(x < 75)
                      {
                          document.getElementById(element).src=object_marks_image[4].src;
                          mark=4;
                      }
                      else
                      {
                          document.getElementById(element).src=object_marks_image[5].src;
                          mark=5;
                      }
                      if(document.getElementById(set_element)) document.getElementById(set_element).value=mark;
                      return mark;
                }

                function setDefaultImage(element, dir, set_element)
                {
                          document.getElementById(element).src=object_marks_image[0].src;
                          return true;
                }
                function openWindow(url)
                {
                          opened_window[ url ] =  window.open(url);
                }

                function setMark(file, oid, element, dir, set_element)
                {
                      var mark;
                      mark=change(element, dir, set_element);
                      if(!oid) return false;
                      var req = new JsHttpRequest();
                      req.onreadystatechange = function()
                      {
                              if (req.readyState == 4)
                              {
                                      if(req.responseText) alert(req.responseText);
                                      if (req.responseJS)
                                      {
                                         if(req.responseJS.user_mark_link) 
                                         {
                                                 document.getElementById('user_mark').innerHTML=req.responseJS.user_mark_link;
                                         }
                                         if(req.responseJS.object_rating_link)
                                         {
                                                 document.getElementById('object_rating').style.display="inline";
                                                 document.getElementById('object_rating').src = req.responseJS.object_rating_link;
                                                 document.getElementById('mark_result').innerHTML = "";
                                         }
                                         if(req.responseJS.object_ratings_count) document.getElementById('object_ratings_count').innerHTML = ": "+req.responseJS.object_ratings_count;
                                         else document.getElementById('object_ratings_count').innerHTML = " нет";
                                      }
                                      else
                                      {
                                         document.getElementById('mark_result').innerHTML = "Произошла ошибка";
                                      }
                              }
                      }
                      req.open('POST', file, true);
                      req.send({id:oid,
                                mark:mark
                              });
                }

                function vote(file, n, rid, mark)
                {
                          var mark;
                      if(!rid) return false;
                      var req = new JsHttpRequest();
                      req.onreadystatechange = function()
                      {
                              if (req.readyState == 4)
                              {
                                      if(req.responseText) alert(req.responseText);
                                      if (req.responseJS)
                                      {
                                       if(req.responseJS.review_rating>0) {
                                         document.getElementById('review_rating_'+n).innerHTML = '('+ req.responseJS.review_rating+')';
                                         document.getElementById('_review_rating_'+n).innerHTML = '('+ req.responseJS.review_rating+')';
                                                                           }

                                       if(req.responseJS.review_rating_minus>0)
                                                  {      
                                                  document.getElementById('review_rating_minus_'+n).innerHTML ='('+ req.responseJS.review_rating_minus+')';
                                                  document.getElementById('_review_rating_minus_'+n).innerHTML ='('+ req.responseJS.review_rating_minus+')';

                                                  }
                                       if(document.getElementById('review_voting_'+n)) document.getElementById('review_voting_'+n).innerHTML = "";
                                       if ( document.getElementById('_review_voting_'+n)) document.getElementById('_review_voting_'+n).style.display = 'inline';

                                      }
                              }
                      }
                      req.open('POST', file, true);
                      req.send({rid:rid,
                                mark:mark
                              });
                }

                function showCategoryOnMap(oid, cid)
                {
                    if(!cid) return false;
                    if(!oid) return false;
                    if(category_id) top.frames[0].clearMarkers(category_id);
                    else top.frames[0].deleteMarkers();
                    //top.frames[0].mapObject(oid);
                    if(cid==-1 || cid==0)
                    {

                    }
                    else
                    {
                            category_id=cid;
                            top.frames[0].mapHotButton(cid);
                    }
                }

                function updateReviews(file, id, page, sort, url)
                {
                     var req = new JsHttpRequest();
                     if( url )  opened_url = url;
                     req.onreadystatechange = function()
                     {
                             if (req.readyState == 4)
                             {
                                     if(req.responseText) alert(req.responseText);
                                     if (req.responseJS)
                                     {
                                         if(req.responseJS.user_mark) document.getElementById('user_mark').innerHTML=req.responseJS.user_mark; 
                                         if(req.responseJS.object_rating_link)
                                         {
                                                 document.getElementById('object_rating').style.display="inline";
                                                 document.getElementById('object_rating').src = req.responseJS.object_rating_link;
                                                 document.getElementById('mark_result').innerHTML = "";
                                         }
                                         if(req.responseJS.object_ratings_count) document.getElementById('object_ratings_count').innerHTML = ": "+req.responseJS.object_ratings_count;
                                         else document.getElementById('object_ratings_count').innerHTML = " нет";
                                         document.getElementById('reviews').innerHTML = req.responseJS.reviews;
                                         document.getElementById('reviews_count').innerHTML = req.responseJS.reviews_count;
                                         if(req.responseJS.reviews_count > 0) document.getElementById('object_review_sort').style.display="inline";
                                         document.getElementById('paging').innerHTML = req.responseJS.paging;
                                     }
                                     if( opened_window[ opened_url ] ) 
                                     {
                                                opened_window[ opened_url ].close();
                                                opened_window[ opened_url ]='';
                                                opened_url = '';
                                     }
                             }
                     }
                     req.open('POST', file, true);
                     req.send({id:id,
                               page: page,
                               sort: sort
                             });
                }

                function updateComments(n, str)
                {
                   document.getElementById('comment_str_'+n).style.display = 'inline';
                   document.getElementById('comment_str_'+n).innerHTML = str;
                   document.getElementById('comment_add_str_'+n).style.display = 'none';
                }

                function updateNewsComments(n, str)
                {
                   document.getElementById('comment_news_'+n).innerHTML = str;
                }

                function closeReviewWin(url, url_open)
                {
                   if ( opener )
                   {
                     if ( opener.closed ) window.open(url_open, "");
                     else
                     {
                       if (opener.location.href.search(url_open) == -1) {} //opener.location.href = url_open;
                     }
                   }
                   else window.open(url_open, "");
                   self.close();
                   return true;
                }

                function updateObjectPage_review(file, id, page, sort, url)
                {
                   if (opener) if (!opener.closed) opener.updateReviews(file, id, page, sort, url);
                   return true;
                }

                function updateObjectPage_comment(n, str)
                {
                   if (opener) if (!opener.closed) opener.updateComments(n, str);
                   return true;
                }

                function updateObjectPage_news_comment(n, str)
                {
                   if (opener) if (!opener.closed) opener.updateNewsComments(n, str);
                   return true;
                }

                function addReview(min, max, mark, code)
                {
                        var str=document.getElementById('review_text').value;
                        if(str.length < min)
                        {
                                alert('Текст обзора слишком короткий ( меньше '+min+' символов)');
                                return false;
                        }
                        else if(str.length > max)
                        {
                                alert('Текст обзора слишком длинный');
                                return false;
                        }

                        if(!mark && document.getElementById('mark').value=='')
                        {
                                alert('Необходимо поставить оценку');
                                return false;
                        }
                        if(document.getElementById('code'))
                        if(code && document.getElementById('code').value=='')
                        {
                                alert('Необходимо ввести код');
                                return false;
                        }
                        return true;
                }

                function addComment(min, max, code)
                {
                        var str=document.getElementById('comment_text').value;
                        if(str.length < min)
                        {
                                alert('Текст комментария слишком короткий ( меньше '+min+' символов)');
                                return false;
                        }
                        else if(str.length > max)
                        {
                                alert('Текст комментария слишком длинный');
                                return false;
                        }
                        if( document.getElementById('code') )
                        if(code && document.getElementById('code').value=='')
                        {
                                alert('Необходимо ввести код');
                                return false;
                        }
                        return true;
                }

                function addNewsComment(min, max, code)
                {
                        var str=document.getElementById('news_comment_text').value;
                        if(str.length < min)
                        {
                                alert('Текст комментария слишком короткий ( меньше '+min+' символов)');
                                return false;
                        }
                        else if(str.length > max)
                        {
                                alert('Текст комментария слишком длинный');
                                return false;
                        }
                        if(code && document.getElementById('code').value=='')
                        {
                                alert('Необходимо ввести код');
                                return false;
                        }
                        return true;
                }

                function clearComment()
                {
                        document.getElementById('comment_text').innerHTML='';
                        document.getElementById('comment_text').value='';
                        if(document.getElementById('code')) document.getElementById('code').value='';
                        document.getElementById('add_button').style.display ='inline';
                        document.getElementById('save_button').style.display ='none';
                        document.getElementById('action').value             = 'add';
                        return false;
                }

                function clearNewsComment()
                {
                        document.getElementById('news_comment_text').value='';
                        if(document.getElementById('code')) document.getElementById('code').value='';
                        return false;
                }

                function setDistrict()
                {
                        document.getElementById('did').value=document.getElementById('did_value').value;
                }

                function setRegion()
                {
                        document.getElementById('rid').value=document.getElementById('rid_value').value;
                }

                function search_submit(form_name, div_name, count_var)
                {
                     if(document.getElementById(div_name).innerHTML) count_var++;
                     if(count_var==2
                        || !document.getElementById(div_name).innerHTML
                        || document.getElementById(div_name).innerHTML=="<UL></UL>"
                        || document.getElementById(div_name).innerHTML=="<ul></ul>"
                        || document.getElementById(div_name).innerHTML=="<UL _extended=\"true\"></UL>"
                       )
                       {
                           count_var=0;
                       }
                       return count_var;
                }

                function changeData(id)
                {
                            var name=document.getElementById(id).value;
                            if(name.length > 2)
                            {
                                 if(document.getElementById("check"+id)) document.getElementById("check"+id).disabled=false;
                                 if(document.getElementById('check'+id+'_result')) document.getElementById('check'+id+'_result').innerHTML = "";
                            }
                            else
                            {
                                 if(document.getElementById("check"+id)) document.getElementById("check"+id).disabled=true;
                                 if(document.getElementById('check'+id+'_result')) document.getElementById('check'+id+'_result').innerHTML = "";
                            }
                }

                function changePassword() {__changePassword("password", "repassword", "match");}

                function user_changePassword() {__changePassword("new_passwd", "re_new_passwd", "status");}

                function __changePassword(password, repassword, status)
                {
                            var password=document.getElementById(password).value;
                            var repassword=document.getElementById(repassword).value;
                            if(password.length > 3)
                            {
                               if(repassword.length >= password.length)
                               {
                                if(repassword==password) document.getElementById(status).innerHTML="<div style=\"font-size: 13; color: green;\"><b>ok</b></div>";
                                else document.getElementById(status).innerHTML="<div style=\"font-size: 13; color: red;\"><b>не совпадают</b></div>";
                           }
                           else document.getElementById(status).innerHTML="";
                        }
                }

                function checkName(file, show)
                {
                    var login;
                    login=document.getElementById('name').value;
                    if(!login) return false;
                    if(login.length<3) return false;
                    if(m_login==login)
                    {
                        if(show && m_login_result) document.getElementById('checkname_result').innerHTML = m_login_result;
                        if(m_login_result) return false;
                    }
                    else m_login_result='';
                    m_login=login;
                    var req = new JsHttpRequest();
                    if(show) document.getElementById('checkname_result').innerHTML = "Проверка...";
                    req.onreadystatechange = function()
                    {
                                         if (req.readyState == 4)
                                         {
                                                 if(req.responseText) alert(req.responseText);
                                                 if (req.responseJS.result==1)
                                                 {
                                                      m_login_result="<div style=\"font-size: 11; color: green;\"><b>ok</b></div>";
                                                      if(show) document.getElementById('checkname_result').innerHTML = m_login_result;
                                                      else document.getElementById('checkname_result').innerHTML="";
                                                      document.getElementById('name_uniq').value = "";
                                                 }
                                                 else if (req.responseJS.result==2)
                                                 {
                                                      m_login_result="<div style=\"font-size: 11; color: red;\"><b>Имя занято</b></div>";
                                                      document.getElementById('checkname_result').innerHTML = m_login_result;
                                                      document.getElementById('name_uniq').value = "1";
                                                 }
                                         }
                    }
                    req.open('POST', file, true);
                    req.send({login:login
                            });
                }

                function checkEmail(file, show)
                {
                    var email;
                    email=document.getElementById('email').value;
                    if(!email) return false;
                    if (!isEmail(email)) return false;
                    if(m_email==email)
                    {
                        if(show && m_email_result) document.getElementById('checkemail_result').innerHTML = m_email_result;
                        if(m_email_result) return false;
                    }
                    else m_email_result='';
                    m_email=email;
                    var req = new JsHttpRequest();
                    if(show) document.getElementById('checkemail_result').innerHTML = "Проверка...";
                    req.onreadystatechange = function()
                    {
                                         if (req.readyState == 4)
                                         {
                                                 if(req.responseText) alert(req.responseText);
                                                 if (req.responseJS.result==1)
                                                 {
                                                      m_email_result="<div style=\"font-size: 11; color: green;\"><b>ok</b></div>";
                                                      if(show) document.getElementById('checkemail_result').innerHTML = m_email_result;
                                                      else document.getElementById('checkemail_result').innerHTML = "";
                                                      document.getElementById('email_uniq').value = "";
                                                 }
                                                 else if (req.responseJS.result==2)
                                                 {
                                                      m_email_result="<div style=\"font-size: 11; color: red;\"><b>Email занят</b></div>";
                                                      document.getElementById('checkemail_result').innerHTML = m_email_result;
                                                      document.getElementById('email_uniq').value = "1";
                                                 }
                                         }
                    }
                    req.open('POST', file, true);
                    req.send({email:email
                            });
                }

                function isEmail(email)
                {
                    var reg = new RegExp("[0-9a-z_-]+@[-0-9a-z_^.]+\\.[a-z]", 'i');
                    if (!reg.test(email)) return false;
                    return true;
                }

                function isURL(url)
                {
                    var reg = new RegExp("(http:\/\/)?[0-9a-z_-]+[-0-9a-z_^.]*\\.[a-z]{2,3}", 'i');
                    if (!reg.test( url )) return false;
                    return true;
                }

                function checkData()
                {
                    document.getElementById('name_hint').style.color='#959595';
                    document.getElementById('password_hint').style.color='#959595';
                    document.getElementById('repassword_hint').style.color='#959595';
                    document.getElementById('repassword_hint').innerHTML='';
                    document.getElementById('email_hint').style.color='#959595';
                    document.getElementById('code_hint').style.color='#959595';
                    document.getElementById("match").innerHTML="<div style=\"font-size: 13; color: red;\"></div>";
                    var result=true;
                    var name=document.getElementById('name').value;
                    var name_uniq=document.getElementById('name_uniq').value;
                    var password=document.getElementById('password').value;
                    var repassword=document.getElementById('repassword').value;
                    var email=document.getElementById('email').value;
                    var email_uniq=document.getElementById('email_uniq').value;
                    var code=document.getElementById('code').value;
                    if(name.length < 3 || name.length > 20)
                    {
                         document.getElementById('name_hint').style.color='red';
                         result=false;
                    }
                    if(password.length < 4)
                    {
                         document.getElementById('password_hint').style.color='red';
                         result=false;
                    }

                    if(repassword.length < 4)
                    {
                         document.getElementById('repassword_hint').style.color='red';
                         document.getElementById('repassword_hint').innerHTML='Не менее 4 символов';
                         result=false;
                    }

                    if(password!=repassword)
                    {
                         document.getElementById("match").innerHTML="<div style=\"font-size: 13; color: red;\"><b>не совпадают</b></div>";
                         result=false;
                    }

                    if (!isEmail(email))
                    {
                         document.getElementById('email_hint').style.color='red';
                         result=false;
                    }

                    if(code.length == 0)
                    {
                         document.getElementById('code_hint').style.color='red';
                         result=false;
                    }
                    if(name_uniq)
                    {
                         result=false;
                    }
                    if(email_uniq)
                    {
                         document.getElementById('email_hint').style.color='red';
                         result=false;
                    }
                    return result;
                }

                function toFavorite()
                {
                    var url=location.href;
                    var title=document.title;
                    if ((typeof window.sidebar == "object") && (typeof window.sidebar.addPanel == "function")) window.sidebar.addPanel (title, url, "");
                    else if (typeof window.external == "object") window.external.AddFavorite(url, title);
                    else if (window.opera && document.createElement)
                    {
                       document.getElementById('bookmark_link').href="";
                       /*  var a = document.createElement('a');
                         if (!a) return false; //IF Opera 6
                         a.setAttribute('rel','sidebar');
                         a.setAttribute('href',url);
                         a.setAttribute('title',title);
                         a.click(); */
                    }
                    else alert('Ваш браузер не поддерживает автоматическое добавление закладок.\nПопробуйте нажать Ctrl+D');
                    return false;
                }

                function deleteElement(link, text)
                {
                        if( !link || !text ) return false;
                        if (confirm( text )) document.location = link;
                }

                function moveCommentForEdit(cid)
                {
                        document.getElementById('comment_text').innerHTML    = document.getElementById('comment_'+cid).innerHTML;
                        document.getElementById('comment_text').value        = document.getElementById('comment_'+cid).innerHTML;
                        document.getElementById('cid').value                 = cid;
                        document.getElementById('action').value              = 'edit';
                        document.getElementById('add_button').style.display  ='none';
                        document.getElementById('save_button').style.display ='inline';
                }

                function addToInput(element, value, list)
                {
                        if(!document.getElementById(element)) return false;
                        var str = document.getElementById(element).value;
                        if( list )
                        {
                                var variants = "(^|\\s+)("+ list + ")(\\s+|$)";
                                var regexp = new RegExp( variants );
                                if(!regexp.test( str )) str+=(str ? " " : "" ) + value;
                        }
                        else str+=(str ? " " : "" ) + value;
                        document.getElementById(element).value = str;
                }

                function getMetroRegion(file)
                {
                        var req = new JsHttpRequest();
                        var x = top.frames[0].editor_marker_x;
                        var y = top.frames[0].editor_marker_y;
                        if( !x || !y ) return false;
                        req.onreadystatechange = function()
                        {
                                if (req.readyState == 4)
                                {
                                        if(debug && req.responseText) alert(req.responseText);
                                        if(!req.responseJS || (!req.responseJS.metro && !req.responseJS.region)) alert("Не удалось определить метро и/или район");
                                        else
                                        {
                                                if(req.responseJS.metro && document.getElementById('metro'))
                                                {
                                                        document.getElementById('metro').value = req.responseJS.metro;
                                                        document.getElementById('metro').style.color     ='black';
                                                }
                                                if(req.responseJS.region && document.getElementById('region'))
                                                {
                                                        document.getElementById('region').value = req.responseJS.region;
                                                        document.getElementById('region').style.color     ='black';
                                                }
                                        }
                                }
                        }
                        req.open('POST', file, true);
                        req.send({x:x,
                                  y:y
                                 });
                }

                function cleanNode(dest)
                {
                        while (dest.firstChild) dest.removeChild(dest.firstChild);
                }


                function getSegments(file, id, element, del_element, handler, count)
                {
                        var req = new JsHttpRequest();
                        if( !id || !element ) return false;
                        cleanNode(document.getElementById(element));
                        cleanNode(document.getElementById(del_element));
                        if(id == 0) return false;
                        document.getElementById(element).appendChild(document.createTextNode("Идет загрузка..."));
                        req.onreadystatechange = function()
                        {
                                if (req.readyState == 4)
                                {
                                        if(debug && req.responseText) alert(req.responseText);
                                        if(req.responseJS)
                                        {
                                                cleanNode(document.getElementById(element));
                                                cleanNode(document.getElementById(del_element));
                                                var sel = document.createElement('SELECT');
                                                sel.id='segment_'+count;
                                                sel.name='segment_'+count;
                                                document.getElementById(element).appendChild(sel);
                                                var a = document.createElement('A');
                                                a.onclick=new Function( handler );
                                                a.className='editor_link';
                                                a.appendChild(document.createTextNode('[x]'));
                                                document.getElementById(del_element).appendChild(a);
                                                for(var i in req.responseJS)
                                                        if(req.responseJS[i][0] && req.responseJS[i][1]) 
                                                        {
                                                                var opt = document.createElement('OPTION');
                                                                opt.value = req.responseJS[i][0];
                                                                opt.appendChild(document.createTextNode(req.responseJS[i][1]));
                                                                sel.appendChild(opt);
                                                        }
                                        }
                                }
                        }
                        req.open('POST', file, true);
                        req.send({id:id});
                }

                function getSegments1(file, id, element, count)
                {
                        var req = new JsHttpRequest();
                        if( !id || !element ) return false;
                        cleanNode(document.getElementById(element));
                        if(id == 0) return false;
                        document.getElementById(element).appendChild(document.createTextNode("Идет загрузка..."));
                        req.onreadystatechange = function()
                        {
                                if (req.readyState == 4)
                                {
                                        if(debug && req.responseText) alert(req.responseText);
                                        if(req.responseJS)
                                        {
                                                cleanNode(document.getElementById(element));
                                                var sel = document.createElement('SELECT');
                                                sel.id='segment1_'+count;
                                                sel.name='segment1_'+count;
                                                sel.onchange=new Function("getSegments2_step('"+file+"','s2_" +count+"', "+count+")");
                                                document.getElementById(element).appendChild(sel);//добавим селект

                                                //заполняем селект
                                                for(var i in req.responseJS)
                                                        if(req.responseJS[i][0] && req.responseJS[i][1]) 
                                                        {
                                                                var opt = document.createElement('OPTION');
                                                                opt.value = req.responseJS[i][0];
                                                                opt.appendChild(document.createTextNode(req.responseJS[i][1]));
                                                                sel.appendChild(opt);
                                                        }
                                        document.getElementById('s1_'+count).style.display="inline";
                                        }
                                }
                        }
                        req.open('POST', file, true);
                        req.send({id:id});
                }

                function getSegments2_step(file,element, count)
                {
                 nam='segment1_'+count;
                 id=document.getElementById(nam).value;
                 getSegments2(file, id, element, count);
                }

                function getSegments2(file, id, element, count)
                {
                        var req = new JsHttpRequest();
                        if( !id || !element ) return false;
                        cleanNode(document.getElementById(element));
                        if(id == 0) return false;
                        document.getElementById(element).appendChild(document.createTextNode("Идет загрузка..."));
                        req.onreadystatechange = function()
                        {
                                if (req.readyState == 4)
                                {
                                        if(debug && req.responseText) alert(req.responseText);
                                        if(req.responseJS)
                                        {
                                                cleanNode(document.getElementById(element));
                                                var sel = document.createElement('SELECT');
                                                sel.id='segment2_'+count;
                                                sel.name='segment2_'+count;
                                                document.getElementById(element).appendChild(sel);//добавим селект
/*
                                                if(del_element)
                                                {
                                                var a = document.createElement('A');
                                                a.onclick=new Function( handler );
                                                a.className='ajax';
                                                a.appendChild(document.createTextNode('[x]'));
                                                document.getElementById(del_element).appendChild(a);
                                                }
*/                                              var cnt_el=0;
                                                for(var i in req.responseJS)
                                                        if(req.responseJS[i][0] && req.responseJS[i][1]) 
                                                        {
                                                                var opt = document.createElement('OPTION');
                                                                opt.value = req.responseJS[i][0];
                                                                opt.appendChild(document.createTextNode(req.responseJS[i][1]));
                                                                sel.appendChild(opt);
                                                                cnt_el++;
                                                        }
                                        if(cnt_el>1) 
                                                {
                                                document.getElementById('s2_'+count).style.display="inline";
                                                }
                                        document.getElementById('ok_'+count).style.display="inline";
                                        }
                                }
                        }
                        req.open('POST', file, true);
                        req.send({id:id});
                }

                function saveCategory(count)
                {
                 var val_cat1=document.getElementById( 'category_'+count).value;
                 document.getElementById( 'b_category_'+count).value=val_cat1;

                 var val_segm1=document.getElementById(  'segment1_'+count).value;
                 document.getElementById( 'b_segment1_'+count).value=val_segm1;

                 var val_segm2=document.getElementById( 'segment2_'+count).value;
                 if (val_segm2>0)
                 document.getElementById( 'b_segment2_'+count).value=val_segm2;

                 var cat1="";
                 var segm1="";
                 var segm2="";

                 select=document.getElementById('category_'+count);
                 if (select)
                 cat1=select.options[select.selectedIndex].text;

                 
                 select=document.getElementById('segment1_'+count);
                 if (val_segm1)
                 segm1=select.options[select.selectedIndex].text;

                 
                 select=document.getElementById('segment2_'+count);
                 if (val_segm2)
                 segm2=select.options[select.selectedIndex].text;

                 if(val_cat1==0) cat1="";
                 if(val_segm1==0) segm1="";
                 if(val_segm2==0) segm2="";
                 //alert(cat1+'-'+segm1+'-'+segm2);

                 a1=document.getElementById('b_name_category_'+count);//.InnerHTML=cat1; 
                 a2=document.getElementById('b_name_segment1_'+count);//.InnerHTML=segm1;
                 a3=document.getElementById('b_name_segment2_'+count);//.InnerHTML=segm2;
                 cleanNode(a1);
                 a1.appendChild(document.createTextNode(cat1));
                 a1.href = 'slist.php?cid='+val_cat1;
                 a1.target= '_blank';
       
                 cleanNode(a2);
                 a2.appendChild(document.createTextNode(segm1));
                 a2.href = 'slist.php?cid='+val_segm1;
                 a2.target= '_blank';

                 if (val_segm2>0)
                 {
                 cleanNode(a3);
                 a3.appendChild(document.createTextNode(segm2));
                 a3.href = 'slist.php?cid='+val_segm2;
                 a3.target= '_blank';
                 }
                 //
                 document.getElementById( 'div_categories_container_'+count).style.display='none';
                 document.getElementById( 'edit_segment_'+count).style.display='inline';
                 document.getElementById( 'delete_segment_'+count).style.display='inline';
                 document.getElementById( 'span1_'+count).style.display='inline';
                 document.getElementById( 'span2_'+count).style.display='inline';
                 document.getElementById('add_cat_link').style.display='inline';
                }

                function deleteCategory(id)
                {
                        if(!id) return false;
                        if(!document.getElementById("categories_container_"+id)) return false;
                        if(confirm("Действительно удалить?"))
                        {
                        cleanNode(document.getElementById("categories_container_"+id));
                        document.getElementById("categories_count").value=document.getElementById("categories_count").value-1;
                        }
                }

                function addCategoryLine(file, file_onChange)
                {
                        if(!document.getElementById("categories")) return false;
                        var count = document.getElementById("categories_count").value;
                        count++;
                        document.getElementById("categories_count").value = count;
                        var tr = document.createElement('TR');
                        tr.id='categories_container_'+count;

                        var table1=document.getElementById("categories");
                        tr=table1.insertRow(0);
                        tr.id='categories_container_'+count;
                        //document.getElementById("categories").appendChild(tr);

                        var td = document.createElement('TD');
                        tr.appendChild(td);
                        //добавим скрытые элементы
                        var maindiv_categories_container=document.createElement('DIV');
                        maindiv_categories_container.id='maindiv_categories_container_'+count;
                        td.appendChild(maindiv_categories_container);
                        var a1=document.createElement('A');
                        a1.id='b_name_category_'+count;
                        a1.className="brand_url";
                        a1.appendChild(document.createTextNode(' '));

                        maindiv_categories_container.appendChild(a1);
                        var span1=document.createElement('SPAN');
                        span1.id='span1_'+count;
                        span1.style.display="none";
                        span1.appendChild(document.createTextNode(' >> '));
                        maindiv_categories_container.appendChild(span1);
                        var intput1=document.createElement('INPUT');
                        intput1.id='b_category_'+count;
                        intput1.name='b_category_'+count;
                        intput1.value='0';
                        intput1.type='hidden'
                        maindiv_categories_container.appendChild(intput1);


                        var a2=document.createElement('A');
                        a2.id='b_name_segment1_'+count;
                        a2.className="brand_url";
                        a2.appendChild(document.createTextNode(' '));
                        maindiv_categories_container.appendChild(a2);
                        var span2=document.createElement('SPAN');
                        span2.id='span2_'+count;
                        span2.style.display="none";
                        span2.appendChild(document.createTextNode(' >> '));
                        maindiv_categories_container.appendChild(span2);

                        var intput2=document.createElement('INPUT');
                        intput2.id='b_segment1_'+count;
                        intput2.name='b_segment1_'+count;
                        intput2.value='0';
                        intput2.type='hidden'
                        maindiv_categories_container.appendChild(intput2);

                        var a3=document.createElement('A');
                        a3.id='b_name_segment2_'+count;
                        a3.className="brand_url";
                        a3.appendChild(document.createTextNode(' '));
                        maindiv_categories_container.appendChild(a3);

                        var intput3=document.createElement('INPUT');
                        intput3.id='b_segment2_'+count;
                        intput3.name='b_segment2_'+count;
                        intput3.value='0';
                        intput3.type='hidden'
                        maindiv_categories_container.appendChild(intput3);


                        //добавим селекты
                        var div_categories_container=document.createElement('DIV');
                        div_categories_container.id='div_categories_container_'+count;
                        div_categories_container.style.backgroundColor="#e7e7e7";
                        div_categories_container.style.padding="7px";
                        td.appendChild(div_categories_container);

                        var sel = document.createElement('SELECT');
                        sel.id='category_'+count;
                        sel.name='category_'+count;
                        sel.style.clear="both";
                        sel.style.margin="3px";
                        div_categories_container.appendChild(sel);

                        sel.onchange=new Function( "getSegments1('"+file_onChange+"', this.value, 's1_"+count+"',"+count+")");

                        s1=document.createElement('DIV');
                        s1.id='s1_'+count;
                        s1.style.display="none";
                        s1.style.clear="left";
                        s1.style.padding="3px";
                        s1.style.margin="3px";
                        div_categories_container.appendChild(s1);

                        segment1= document.createElement('SELECT');
                        segment1.id='segment1_'+count;
                        s1.appendChild(segment1);

                        s2=document.createElement('DIV');
                        s2.id='s2_'+count;
                        s2.style.display="none";
                        s2.style.clear="left";
                        s2.style.padding="3px";
                        s2.style.margin="3px";
                        div_categories_container.appendChild(s2);

                        segment2= document.createElement('SELECT');
                        segment2.id='segment2_'+count;
                        s2.appendChild(segment2);
                        //заполним 1й селект
                        if(categories_array)
                        {
                                for(var i in categories_array)
                                {
                                        if( categories_array[i][0])
                                        {
                                                var opt = document.createElement('OPTION');
                                                opt.value = categories_array[i][1];
                                                opt.appendChild(document.createTextNode(categories_array[i][0]));
                                                document.getElementById("category_"+document.getElementById("categories_count").value).appendChild(opt);
                                        }
                                }
                        }
                        //добавим кнопки [сохранить] [отмена]

                        a_br=document.createElement('BR');
                        div_categories_container.appendChild(a_br);
                        a_save=document.createElement('A');
                        a_save.id="ok_"+count;
                        a_save.style.display="none";
                        a_save.className='ajax';
                        a_save.appendChild(document.createTextNode('[ок]'));
                        a_save.onclick= new Function("saveCategory('"+count+"')");
                        div_categories_container.appendChild(a_save);

                        a_cancel=document.createElement('A');
                        a_cancel.className='ajax';
                        a_cancel.appendChild(document.createTextNode('[отмена]'));
                        a_cancel.onclick= new Function("document.getElementById('div_categories_container_"+count+"').style.display='none'; document.getElementById('add_cat_link').style.display='inline';");
                        div_categories_container.appendChild(a_cancel);
                        //добавим кнопки [редактировать] [x]

                        var td1 = document.createElement('TD');
                        tr.appendChild(td1);

                        var td2 = document.createElement('TD');
                        tr.appendChild(td2);
                       
                        a_edit=document.createElement('A');
                        a_edit.className='ajax';
                        a_edit.id="edit_segment_"+count;
                        a_edit.style.display="none";

                        var image_edit= new Image();
                        image_edit.src="img/edit.png";
                        image_edit.alt="редактировать";
                        image_edit.title="редактировать";
                        a_edit.appendChild(image_edit);
                        a_edit.onclick= new Function("document.getElementById( 'div_categories_container_"+count+"').style.display='inline';");
                        td1.appendChild(a_edit);

                        a_del=document.createElement('A');
                        a_del.className='ajax';
                        a_del.style.display="none";
                        a_del.id="delete_segment_"+count;
                        var image_delete= new Image();
                        image_delete.src="img/delete.png";
                        image_delete.alt="удалить";
                        image_delete.title="удалить";
                        a_del.appendChild(image_delete);
                        a_del.onclick= new Function("deleteCategory("+count+")");
                        td2.appendChild(a_del);

                        document.getElementById('add_cat_link').style.display="none";


                }

                function addNewCategoryLine(file, file_onChange)
                {
                        if(!document.getElementById("categories")) return false;
                        var count = document.getElementById("categories_count").value;
                        count++;
                        document.getElementById("categories_count").value = count;
                        var tr = document.createElement('TR');
                        tr.id='categories_container_'+count;
                        document.getElementById("categories").appendChild(tr);
                        var td = document.createElement('TD');
                        tr.appendChild(td);
                        var sel = document.createElement('SELECT');
                        sel.id='category_'+count;
                        sel.name='category_'+count;
                        td.appendChild(sel);
                        var td1 = document.createElement('TD');
                        td1.name='segment_container_'+count;
                        td1.id='segment_container_'+count;
                        tr.appendChild(td1);
                        sel.onchange=new Function( "getSegments('"+file_onChange+"', this.value, 'segment_container_"+count+"', 'delete_segment_"+count+"', 'deleteCategory("+count+")',"+count+")");
                        var td2 = document.createElement('TD');
                        td2.id='delete_segment_'+count;
                        tr.appendChild(td2);
                        if(categories_array)
                        {
                                for(var i in categories_array)
                                {
                                        if(categories_array[i][0] && categories_array[i][1])
                                        {
                                                var opt = document.createElement('OPTION');
                                                opt.value = categories_array[i][1];
                                                opt.appendChild(document.createTextNode(categories_array[i][0]));
                                                document.getElementById("category_"+document.getElementById("categories_count").value).appendChild(opt);
                                        }
                                }
                        }
                        else
                        {
                        var req = new JsHttpRequest();
                        req.onreadystatechange = function()
                        {
                                if (req.readyState == 4)
                                {
                                        if(debug && req.responseText) alert(req.responseText);
                                        if(req.responseJS)
                                        {
                                                for(var i in req.responseJS)
                                                {
                                                        if(req.responseJS[i][0] && req.responseJS[i][1])
                                                        {
                                                                var opt = document.createElement('OPTION');
                                                                opt.value = req.responseJS[i][0];
                                                                opt.appendChild(document.createTextNode(req.responseJS[i][1]));
                                                                document.getElementById("category_"+document.getElementById("categories_count").value).appendChild(opt);
                                                        }
                                                }
                                        }
                                }
                        }
                        req.open('POST', file, true);
                        req.send({id:1});
                        }
                }

                function changeXY()
                {
                        document.getElementById('x').value = '';
                        document.getElementById('y').value = '';
                }

                function showAddress(street_element, house_element, map_element, text, location)
                {
                        if(!street_element || !house_element) return false;
                        document.getElementById(map_element).innerHTML='&nbsp;';
                        var street = document.getElementById(street_element).value;
                        var house = document.getElementById(house_element).value;
                        if(!street || !house) return false;
                        top.frames[0].showAddress(street+' '+house, location, true, function() {
                                document.getElementById(map_element).innerHTML=text;
                                document.getElementById('x').value='';
                                document.getElementById('y').value='';
                                top.frames[0].clearXY();
                                top.frames[0].allowSetMarkers();
                        });
                }

                function submitObjectChanges()
                {
                        if(document.getElementById('region_error').value)    {alert('Ошибка при выборе района'); return false;}
                        if(document.getElementById('metro_error').value)     {alert('Ошибка при выборе станции метро'); return false;}
                        if(document.getElementById('container_error') && document.getElementById('container_error').value) {alert('Ошибка при выборе сети компаний'); return false;}
                        if(document.getElementById('tc_error') && document.getElementById('tc_error').value)        {alert('Ошибка при выборе торгового центра'); return false;}
                        if(!document.getElementById('name').value)           {alert('Не указано название компании'); return false;}
                        if(!document.getElementById('street').value)         {alert('Не указано название улицы'); return false;}
                        if(!document.getElementById('house').value)          {alert('Не указан номер дома'); return false;}
                        if(!document.getElementById('metro').value)          {alert('Не указана станция метро'); return false;}
                        if(!document.getElementById('region').value)         {alert('Не указан район'); return false;}
                        if(document.getElementById('file').value) if(testFileName(document.getElementById('file').value) ) {alert("Загрузите изображение в формате jpg"); return false;}
                        if(top.frames[0].editor_marker_x > 0 && top.frames[0].editor_marker_y > 0)
                        {
                                document.getElementById('x').value=top.frames[0].editor_marker_x;
                                document.getElementById('y').value=top.frames[0].editor_marker_y;
                        }
                        if(!document.getElementById('x').value || !document.getElementById('y').value)
                        {
                                alert('Необходимо найти адрес на карте');
                                top.frames[0].allowSetMarkers();
                                return false;
                        }
                        return true;
                }

                function cancelObjectChanges()
                {
                        top.frames[0].forbidSetMarkers();
                        document.getElementById('metro_error').value     = '';
                        document.getElementById('region_error').value    = '';
                        if(document.getElementById('tc_error'))document.getElementById('tc_error').value        = '';
                        document.getElementById('commerce').value        = '';
                        if(document.getElementById('metadata')) document.getElementById('metadata').value        = '';
                        if(document.getElementById('container_error'))document.getElementById('container_error').value = '';
                        document.getElementById('main_form').reset();
                        document.getElementById('metro').style.color     ='black';
                        document.getElementById('region').style.color     ='black';
                        if(document.getElementById('container')) document.getElementById('container').style.color     ='black';
                        if(document.getElementById('tc'))document.getElementById('tc').style.color     ='black';
                }

                function confirmAction(text, url)
                {
                        if (confirm( text )) window.location = url;
                }

                function deleteCompany(text)
                {
                        if (confirm( text ))
                        {
                                document.getElementById('action').value='delete';
                                document.getElementById('main_form').submit();
                                return true;
                        }
                }

                function restoreCompany(text)
                {
                        if (confirm( text ))
                        {
                                document.getElementById('action').value='restore';
                                document.getElementById('main_form').submit();
                                return true;
                        }
                }

                function passwd_submit()
                {
                        var old_passwd = document.getElementById('old_passwd').value;
                        var new_passwd = document.getElementById('new_passwd').value;
                        var re_new_passwd = document.getElementById('re_new_passwd').value;
                        if(!old_passwd) { document.getElementById('old_passwd_status').innerHTML="Введите пароль"; return false;}
                        else document.getElementById('old_passwd_status').innerHTML='';
                        if(!new_passwd || new_passwd.length < 4) { document.getElementById('new_passwd_status').innerHTML="Введите пароль"; return false;}
                        else document.getElementById('new_passwd_status').innerHTML='';
                        if(!re_new_passwd || re_new_passwd.length < 4) { document.getElementById('status').innerHTML="Введите пароль"; return false;}
                        else document.getElementById('status').innerHTML='';
                        if(new_passwd != re_new_passwd) {document.getElementById('status').innerHTML="не совпадают"; return false;}
                        document.getElementById('passwd_form').submit();
                }

                function openPage(link, elements)
                {
                        if(!link || !elements) return false;
                        var str=link;
                        for(var i in elements)
                        {
                                if(document.getElementById(elements[i]))
                                if(document.getElementById(elements[i]).value != '')
                                {
                                        if( i > 0) str+=' ';
                                        str+=document.getElementById(elements[i]).value;
                                }
                        }
                        if(str != link) window.open(str);
                }

                function showVideo(data, width, height, element_id)
                {
                        var swf = new SWFObject("uflvplayer.swf", "video", width, height, 8, "#336699");
                        swf.addParam("movie", "uflvplayer.swf");
                        swf.addParam("allowFullScreen", true);
                        swf.addParam("bgcolor", "#FFFFFF");
                        swf.addParam("FlashVars", data);
                        swf.write(element_id);
                }

                function checkFileFormat(element_name, form, file)
                {
                        element = document.getElementById(element_name);
                        if(!element) return false;
                        if(testFileName(element.value))
                        {
                                alert("Загрузите изображение в формате jpg");
                                return false;
                        }
                        else
                        {
                                if(document.getElementById('action')) document.getElementById('action').value = 'upload';
                                if(document.getElementById('case')) document.getElementById('case').value = 'edit';
                                document.getElementById(form).submit();
                        }
                }

                function checkFileFormatAndEmail(element_name, email_element_name, form, file)
                {
                        element = document.getElementById(element_name);
                        email_element = document.getElementById(email_element_name);
                        if(!element || !email_element) return false;
                        if(!email_element.value || !isEmail(email_element.value))
                        {
                                alert("Email не корректный");
                                return false;
                        }
                        if(testFileName(element.value))
                        {
                                alert("Загрузите изображение в формате jpg");
                                return false;
                        }

                        if(document.getElementById('action')) document.getElementById('action').value = 'upload';
                        if(document.getElementById('case')) document.getElementById('case').value = 'edit';
                        document.getElementById(form).submit();
                        
                }

                function deleteAttach( form, id, text )
                {
                        if( !id || !text || !form) return false;
                        if (confirm( text ))
                        {
                                if(document.getElementById('action')) document.getElementById('action').value = 'delattach';
                                if(document.getElementById('case')) document.getElementById('case').value = 'edit';
                                if(document.getElementById('aid')) document.getElementById('aid').value = id;
                                document.getElementById(form).submit();
                        }
                }

                function testFileName(name)
                {
                        if(!name) return false;
                        var regexp=new RegExp(".*bmp$", "i");
                        if(regexp.test(name)) return true;
                        return false;
                }

                function openImage(url, width, height)
                {
                          window.open(url, '', 'width='+width+',height='+height);
                }

                function rotateAttach( form, action, id )
                {
                        if( !id || !action || !form) return false;
                        if(document.getElementById('action')) document.getElementById('action').value = action;
                        if(document.getElementById('case')) document.getElementById('case').value = 'edit';
                        if(document.getElementById('aid')) document.getElementById('aid').value = id;
                        document.getElementById(form).submit();
                }
