var needhack = 0;
var ua;
if (/(Chrome|Safari)/i.test(navigator.userAgent)){
  needhack = 1;
  ua = 'chrome';
} else if (/(Opera)/i.test(navigator.userAgent)){
  needhack = 1;
  ua = 'opera';
} else if (/Firefox/i.test(navigator.userAgent)){
  ua = 'firefox';
} else if (/MSIE/i.test(navigator.userAgent)){
  ua = 'ie';
}	


if (needhack ==1){
  var content = '<link rel="stylesheet" href="/css/main.' + ua + '.css" type="text/css" media="screen"/>';
  document.write(content);
}




//var mid = ['treemenu1', 'treemenu2'];

var sliderinfo = {'max' : 7};



function maketreemenu(mid){
  for (var i=0; i<mid.length; i++){
  if (!$('ul#' + mid[i].id).length) continue;
  var ul=document.getElementById(mid[i].id).getElementsByTagName('ul')
    for (var t=0; t<ul.length; t++){
      ul[t].parentNode.getElementsByTagName('a')[0].className = 'subfolder';   
      ul[t].style.left = ul[t].parentNode.parentNode.id==mid[i].id ? ul[t].parentNode.offsetWidth + 'px' : ul[t-1].getElementsByTagName('a')[0].offsetWidth + 'px'
      ul[t].parentNode.onmouseover = function(){this.getElementsByTagName('ul')[0].style.display = 'block';}
      ul[t].parentNode.onmouseout = function(){this.getElementsByTagName('ul')[0].style.display = 'none'}
    }		
    for (var t=ul.length-1; t>-1; t--){
      ul[t].style.visibility = 'visible';
      ul[t].style.display = 'none';
    }
  }
}

function getresult(xml){
    //alert('xml = ' + xml);
    var info = {};
    var tag = Array('flag', 'error', 'id');
    for (var i=0; i <tag.length; i++){
        var node = xml.documentElement.getElementsByTagName(tag[i]);
        info[tag[i]] = node[0].textContent ? node[0].textContent : node[0].text;
    }
    return info;
}

function isvalidemail(email){
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

var info = {'checkcaptcha' : false, 'progressbar' : '<img src="/images/progressbar.gif" width="24" height="24" />'};


var ui = { 'pbimg' : '/images/ico/progressbar.gif'};



function hidebo(){
  $.unblockUI({message: ''});
}



$(function($) {


 // Anchor Modal IMage
 $('.amim').click(function(e){
      
   var obj = $(this);
   var aid = obj.attr('id');

   var num;
   if (aid.match(/^amim(\d+)$/)){
    num = Math.ceil(RegExp.$1);
   }
  
   $('.pb').remove();
   $('.dmim').addClass('trash');

   var d = $('<div></div>').hide().appendTo('body'); // основной слой в котором выводим изображение
   var did = 'dmim' + num; //new Date().getTime()
   d.attr('class', 'dmim');
   d.attr('id', did); // идентифицируем

   var i  = $('<img></img>').hide().appendTo('body'); // создаем скрытый элемент
   var id = 'mim' + num; //new Date().getTime()
   i.attr('id', id); // идентифицируем  
   i.attr('class', 'mim');


   var pb  = $('<img></img>').hide().insertAfter(obj); // создаем скрытый элемент
   pb.attr('id', 'pb' + new Date().getTime()); // идентифицируем  num); //
   pb.attr('class', 'pb');
   pb.attr('border', 0);
   pb.attr('src', ui['pbimg']);

   var tiw = obj.children('img').width(); // ширина миниатюры
   var tih = obj.children('img').height(); // высота миниатюры


   //if (userinfo['console']) console.log('obj amim parent= ' + obj.parent()[0].tagName);
   //if (userinfo['console']) console.log('ua= ' + navigator.userAgent);

   // позиционируем "градусник" по центру миниатюры
   var l = -Math.ceil(tiw/2) + 'px';
   var t = Math.ceil(tih/2) + 'px';

   if (/(?:Firefox\/3\.6\.3)/i.test(navigator.userAgent)){

     if (obj.parent()[0].tagName == 'TD'){

       var td = obj.parent();
       if (!td.attr('width')){
         l = Math.ceil(tiw/2) + 'px';
         t = -Math.ceil(tih/2) + 'px';
       }

     } else {
       l = Math.ceil(tiw/2) + 'px';
       t = -Math.ceil(tih/2) + 'px';
     }
   }

   if (tiw>0) pb.css('margin-left', l);
   if (tih>0) pb.css('margin-top', t);



   pb.css('position', 'absolute');
   pb.show();

   i.load(function(){

     $('.trash').remove();
     var list = getPageSize(); 
     var wh = list[3]; // высота окна
     var ww = list[2]; // ширина окна
  
     var iw = i.width();
     var ih = i.height();

     //$.blockUI.defaults.css = {};
     ih = ih + 25; // запас для панели управления

     if (wh < ih){
       ih = wh * 0.9;
       $('#' + id).height(ih); // принудитлеьно изменили высоту
       iw = $('#' + id).width(); // пропорционально изменилась ширина
     }
     if (ww < iw){
       iw = ww * 0.9;
       $('#' + id).width(iw);
       //i.width(iw);
     }
     var t = Math.ceil((wh - ih)/2);
     var l = Math.ceil((ww - iw)/2);
     
     $.blockUI.defaults.css.top = t + 'px';
     $.blockUI.defaults.css.left = l + 'px';

     var r = ['<div class="miminfo"><span title="закрыть" class="fx fxb fxmim">x</span>'];
     var l = $('.amim').length;
     if (l > 1){
       if (num > 1){             
         r.push('<span class="mimnav mimprev" title="предыдущая"');
         r.push(' id="mimprev');
         r.push(num-1);
         r.push('"');
         r.push('>предыдущая</span>');
       } 
       if (num < l){
         r.push('<span class="mimnav mimnext" title="следующая"');
         r.push(' id="mimnext');
         r.push(num+1);
         r.push('"');
         r.push('>следующая</span>');
       }
     }
     r.push('</div>');
     var content = r.join('');

     i.appendTo($('#dmim' + num));
     i.show();
     i.attr('zindex', 99);
  
     var cd = $(content).appendTo($('#dmim' + num));
     $.blockUI({ message: $('#dmim' + num) });
     //attr('title', 'нажмите для разблокировки').
     $('.blockOverlay').click(function(){hidebo();});
     pb.remove();
   });


   i.attr('src', obj.attr('href'));
   return false;
 });


 $('.mimnav').live('mouseover', 
  function(){
    $(this).css('color', linkcolor['in']);
    $(this).css('background-color', linkbkg['in']);
 })
 
 $('.mimnav').live('mouseout',  
  function(){
    $(this).css('color', linkcolor['out']);
    $(this).css('background-color', linkbkg['out']);
 });
  

 $('.mimnav').live('click', function(e){
   if (e.button!=0) return false;
   var id = $(this).attr('id');
   if (id.match(/^mim(?:next|prev)(\d+)$/)){
     var num = RegExp.$1;
     $('#amim' + num).click();
   }
 });


 $('.mim').live('click', function(e){
   if (e.button) if (e.button!=0) return true;
   $('.dmim').remove();

   var l = $('.amim').length;
   if (l==1){
     hidebo();
     return false;
   }

   if ($(this).attr('id').match(/^mim(\d+)$/)){
     var num = RegExp.$1;
     if (num < $('.amim').length){ 
       num++;
     } else {
       num = 1;
     }
     $('#amim' + num).click();
   }

 });


});



$(document).ready(function(){
  

  $('html').keydown(function(event){
 
   var d = $('.dmim:visible:first');
    if (d.length){
      //if (userinfo['console']) console.log('event.keyCode = ' + event.keyCode);
      switch (event.keyCode) {        
        case 13: $('#' + d.children('.mim').attr('id')).click(); break; // enter
        case 32: $('#' + d.children('.mim').attr('id')).click(); break;
        case 27: hidebo(); break;
        default:;
      }
    }
   
  });

  var f = 1;
  if (typeof(userinfo) != 'undefined'){
    if (userinfo.needtop!=1){
      f = 0;
    }
  }
  if (f==1){
    $.ajax({
      'url'      : '/top.html', 
      'dataType' : 'html', 
      'timeout'  : 10000, 
      'success'  : function(data){$('#tlist').html(data);}  
    });
  }



  var mid = $('.treemenu').children('ul');
  maketreemenu(mid);

  var th = 0; // высота всего блока меню
  var ph = 0;
  for (var i=0; i<mid.length; i++){
    if (!$('ul#' + mid[i].id).length) continue;
    // абсолютное позиционирование меню
    $('ul#' + mid[i].id).css('position', 'absolute');
    $('ul#' + mid[i].id).css('z-index', 100);
 
    if (i>0){ // отступ от предыдущего меню
      $('ul#' + mid[i].id).css('margin-top', ph + 10 + 'px');  
    }
    ph = $('ul#' + mid[i].id).height(); // высота предудущего меню
    th += ph;    
  }


  if ($('#mga').length){
    $('#mga').css('padding-top', th + 20 + 'px');
  } else {
    if ($('#lblock').length){    
      $('#lblock').css('padding-top', th + 30 + 'px');
    }
  }


  $('.treemenu ul li a').hover(
      function(){
        if (!$(this).hasClass('aitem')){
         var content = $(this).hasClass('subfolder') ? linkbkg['in'] + ' url("/images/menu-arrow.png") no-repeat right -13px' : linkbkg['in'];
         $(this).css('background', content);
         $(this).css('color', linkcolor['in']);
        }
      },
      function(){
        if (!$(this).hasClass('aitem')){
         var content = $(this).hasClass('subfolder') ? linkbkg['out'] + ' url("/images/menu-arrow.png") no-repeat right 3px' : linkbkg['out']; //5px
         $(this).css('background', content);
         $(this).css('color', linkcolor['out']);               
        }
      }
   );    
   var mid = $.cookie('mid');
   if (mid){
     var id = '#' + mid;
     $(id).addClass('aitem')     
     var content = $(id).hasClass('subfolder') ? linkbkg['in'] + ' url("/images/menu-arrow.png") no-repeat right -13px' : linkbkg['in']; //-11px
     $(id).css('background', content);
     $(id).css('color', linkcolor['in']);
   }

   var url = document.URL;   
   if (url.match(/http:\/\/(?:[^\/]+?)\/(.+?)\/(\d+)/i)){ //[a-z0-9_]
     var path = RegExp.$1;
     var id = RegExp.$2;
     if (path.match(/^(?:topic|qa\/view|test)$/)){
       url =  '/bookmark/' + path + '/' + id + '.html';
       putblist(url); 
       url = '/commentform.php?id=' + id;
       //getcommentform(url);
     }     
   }

   if (url.match(/http:\/\/(?:[^\/]+?)\/topic_([a-z0-9_-]+)/i)){ 
     var a = RegExp.$1;     
     url =  '/bookmark/topic/' + a + '.html';
     putblist(url); 
   }
   

   function getcommentform(url){ // загружаем код формы
     $.ajax({
       type     : 'POST',
       url      : url,
       dataType : 'html',
       timeout  : 5000,
       success  : function(data){$('#comment').html(data); setcommentform();},
       error    : function(XMLHttpRequest, textStatus, errorThrown){}
     })
   }

   // поворот фигруки и установка скрытого поля
   function setico(obj, id){
     var v = -obj.getValue()*50 - obj.getValue();
     $('#captchaico' + id).css('margin-left', v);     
     $('#c' + id).val(obj.getValue());
   }

   // проверка кода
   function checkcaptcha(list){
       if (!list['msgid']) list['msgid'] = 'captchamsg'; 
       var url = '/notcaptcha/check.php?cw=' + $('#cw').val() + '&c1=' + $('#c1').val() + '&c2=' + $('#c2').val() + '&c3=' + $('#c3').val(); // + '&sid=' + Math.round(Math.random()*1000);
       //alert('url= ' + url);
       var flag = false;
       $.ajax({
           'type' : 'POST', 'url' : url, 'dataType' : 'text', 'cache' : false,
           'timeout' : 5000,
           'success' : function(data){
              if (data!=1){
                 $('#' + list['msgid']).html('неверный код, попробуйте еше раз'); 
              } else {
                 info.checkcaptcha = true;
                 reg();
                 //$('#' + list['formid']).submit();
              }
           },
           'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#' + list['msgid']).html('ошибка выполнения');}
      }) 
   }   
   function setcommentform(){      // создаем элементы и задем им обработчики
     $('#commentform').submit( // обработки формы отправки, делаем ajax-запрос для проверки
       function(){
         var list = {'msgid' : 'commentmsg', 'formid' : 'commentform'};
         if (info.checkcaptcha != true) checkcaptcha(list);
         return info.checkcaptcha;
       }
     );

     var s = []; // элементы управления
     for (i=1; i<4; i++){
       s[i] = new Slider(document.getElementById('slider-' + i), document.getElementById('slider-input-' + i));
       s[i].setMaximum(sliderinfo['max']);       
     }         
     // задаем обработчики
     s[1].onchange = function(){setico(this, 1)};
     s[2].onchange = function(){setico(this, 2)};
     s[3].onchange = function(){setico(this, 3)};
   }
   function putblist(url){
     $.ajax({
       'type' : 'GET', 'url' : url, 'dataType' : 'html', 'timeout'  : 5000,
       'success' : function(data){$('#hbookmark').html(data); $('#fbookmark').prepend($('#hbookmark').clone());},
       'error' : function(XMLHttpRequest, textStatus, errorThrown){}
     })
   }

   function setmsgstatus(msgid, status){
     if (status == 'err'){
       $('#' + msgid).removeClass('okmsg');
       $('#' + msgid).addClass('errmsg');
     } else if (status == 'ok'){
       $('#' + msgid).removeClass('errmsg');
       $('#' + msgid).addClass('okmsg');
     }
   }

   function checklogin(data){
     var msg;
     if (data==1){
       msg = 'Логин свободен';
       setmsgstatus('regmsg', 'ok');
     } else {
       msg = 'Логин занят';
       setmsgstatus('regmsg', 'err');
     }
     $('#checklogin').attr('disabled', '');
     $('#regmsg').html(msg);
   }

   $('#checklogin').click(function(){
     var re = /^[a-z0-9_]+$/; 
     if (!re.test($('#rlogin').val())){
       $('#rlogin').focus();
       setmsgstatus('regmsg', 'err');
       $('#regmsg').html('Недопустимый логин');
       return false;
     }
     $('#checklogin').attr('disabled', 'disabled');
     $('#regmsg').html(info['progressbar']);
     var url = '/reg';
     var data = 'step=isfree&login=' + $('#rlogin').val(); //+ '&sid=' + Math.round(Math.random()*1000);
     $.ajax({ 'data' : data,
       'type' : 'POST', 'url' : url, 'dataType' : 'text', 'timeout'  : 5000, 'cache' : false, 
       'success' : function(r){checklogin(r);},                     
       'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#regmsg').html('');}
     })
   })

   // результат регистрации
   function checkreg(data){
     //alert('data = ' + data);
     var info = getresult(data);
     //alert('info = ' + info['flag']);
     if (info['flag'] == 1){
       $('#regformplace').html('<p>Поздравляем! Вы успешно зарегистрировались. На указанный вами почтовый адрес отправлено письмо со ссылкой подтверждения регистрации.</p>');
     } else {
       setmsgstatus('regmsg', 'err');
       $('#regmsg').html(info['error']);
     }
     $('#regbtn').attr('disabled', '');
   }

  function checkconfirm(data){
     //alert('checkconfirm');
     var info = getresult(data);
     if (info['flag'] == 1){
       $('#confirmformplace').html('<p>Поздравляем! Вы подтвердили регистрацию</p>');
       setuserinfo();
     } else {
       setmsgstatus('confirmmsg', 'err');
       $('#confirmmsg').html(info['error']);
     }
     $('#confirmbtn').attr('disabled', '');
   }
 
  function confirm(){
     //alert('confirm');
     $('#confirmbtn').attr('disabled', 'disabled'); // выключаем кнопку регистрации
     var url = '/confirm'; //step=confirm&
     var data = 'x=1&login=' + $('#rlogin').val() + '&ccode=' + $('#ccode').val();
     //alert('data = ' + data);
     $.ajax({ 'data' : data, 'cache' : false, 
       'type' : 'POST', 'url' : url, 'dataType' : 'xml', 'timeout'  : 5000,
       'success' : function(r){checkconfirm(r);},                     
       'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#confirmmsg').html(''); $('#confirmbtn').attr('disabled', '');}
     })
   }

   $('#confirmform').submit(
     function(){
       //alert('confirmform');
       confirm();
       return false;
     }
   );


   function reg(){
     $('#regbtn').attr('disabled', 'disabled'); // выключаем кнопку регистрации
     var url = '/reg';
     var data = 'x=1&step=reg&login=' + $('#rlogin').val() + '&pwd=' + $('#rpwd').val() + '&repwd=' + $('#rrepwd').val() + '&email=' + $('#remail').val();
     $.ajax({ 'data' : data, 'cache' : false, 
       'type' : 'POST', 'url' : url, 'dataType' : 'xml', 'timeout'  : 5000,
       'success' : function(r){checkreg(r);},                     
       'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#regmsg').html(''); $('#regbtn').attr('disabled', '');}
     })
   }
   
   $('#regform').submit( // обработки формы отправки, делаем ajax-запрос для проверки
       function(){         
         setmsgstatus('regmsg', 'err');
         var id = ['captchamsg', 'regmsg'];    
         for (var i in id) $('#' + id[i]).html(''); 
         if (!isvalidemail($('#remail').val())){
           $('#remail').focus();
           $('#regmsg').html('Неправильный email-адрес ' + $('#remail').val());
           return false;
         }
         var re = /^[a-z0-9_]+$/; 
         if (!re.test($('#rlogin').val())){
           $('#rlogin').focus();
           $('#regmsg').html('Недопустимый логин');
           return false;
         }
         if ($('#rlogin').val().length < 3 || $('#rlogin').val().length > 25){
           $('#rlogin').focus();
           $('#regmsg').html('Длина логина должна составлять от 3 до 25 символов включительно');
           return false;  
         }
         if (!re.test($('#rpwd').val())){
           $('#rpwd').focus();
           $('#regmsg').html('Недопустимый пароль');
           return false;
         }
         if ($('#rpwd').val().length < 6 || $('#rpwd').val().length > 12){
           $('#rpwd').focus();
           $('#regmsg').html('Длина пароля должна составлять от 6 до 12 символов включительно');
           return false;  
         }
         if ($('#rpwd').val() != $('#rrepwd').val()){
           $('#rrepwd').focus();
           $('#regmsg').html('Пароль и подтверждение пароля не совпадают');
           return false;
         }
         var list = {'msgid' : '', 'formid' : 'regform'};
         //if (info.checkcaptcha != true) checkcaptcha(list);         
         //return info.checkcaptcha;
         if (info.checkcaptcha != true){ 
           checkcaptcha(list);
         } else {
           reg();
         }
         return false;
       }
   );


// вывод блокирующий доступ к сайту формы авторизации
function authform(){defblockUI(); $('#authmsg').html(''); $.blockUI({ message: $('#authform') });
}
// по клику ссылки 
$('#auth').live('click', function(){authform();});

// выход
$('#logout').live('click', function(){logout();});

$('#authbtn').live('click', function(){

/*
  $(this).attr('disabled', 'disabled'); // выключаем кнопку авторизации
  var url = '/auth';
  var data = 'x=1&step=auth&login=' + $('#alogin').val() + '&pwd=' + $('#apwd').val();
  $.ajax({ 
     'data' : data, 'cache' : false, 
     'type' : 'POST', 'url' : url, 'dataType' : 'xml', 'timeout'  : 5000,
     'success' : function(r){checkauth(r);},                     
     'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#authmsg').html(''); $(this).attr('disabled', '');}
  })
*/

auth();
})



function logout(){
  $.cookie('userinfo', null, {path: '/'}); 
  setuserinfo();
}


$("#authform").live('keydown', function(event){

  //if (userinfo['console']) console.log('event.keyCode = ' + event.keyCode);
  switch (event.keyCode) {    
    case 13: auth(); break;
    case 27: $.unblockUI({message: ''}); break;
    default:;
  }
});


// результат авторизации
function checkauth(data){
  var info = getresult(data);
  if (info['flag'] == 1){
    //$('#regformplace').html('<p>Поздравляем! Вы успешно зарегистрировались. На указанный вами почтовый адрес отправлено письмо со ссылкой подтверждения регистрации.</p>');
    $.unblockUI({message: ''});
    setuserinfo();
  } else {
    setmsgstatus('authmsg', 'err');
    $('#authmsg').html(info['error']);
  }
  $('#authbtn').attr('disabled', '');
}

function auth(){
     $('#authbtn').attr('disabled', 'disabled'); // выключаем кнопку авторизации
     var url = '/auth';
     var data = 'x=1&step=auth&login=' + $('#alogin').val() + '&pwd=' + $('#apwd').val();
     $.ajax({ 'data' : data, 'cache' : false, 
       'type' : 'POST', 'url' : url, 'dataType' : 'xml', 'timeout'  : 5000,
       'success' : function(r){checkauth(r);},                     
       'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#authmsg').html(''); $('#authbtn').attr('disabled', '');}
     })
   }

function setuserinfo(){
  var userinfo = $.cookie('userinfo'); 
  var p = document.getElementById('supmenu');
  if (p == null) return;
  p.innerHTML = '';
  if (userinfo != null && userinfo !=''){
    var d = document.createElement('div');
    d.className = 'supmenuitem';
    d.innerHTML = 'Вошли как: <b id="profile">' + userinfo.split('|')[0] + '</b>';
    p.appendChild(d);

    d = document.createElement('div');
    d.id = 'logout';
    d.className = 'supmenuitem';
    d.innerHTML = 'Выйти';
    p.appendChild(d);
  } else {
    d = document.createElement('div');
    d.id = 'auth';
    d.className = 'supmenuitem';
    d.innerHTML = 'Войти';
    p.appendChild(d);

    d = document.createElement('div');
    d.className = 'supmenuitem';
    d.innerHTML = '<a href="/reg">Зарегистрироваться</a>';
    p.appendChild(d);
    //alert('no user!');
  }
}


function setpage(r){
  $('#box').append(r);
  setuserinfo();
}

function defblockUI(){
  $.blockUI.defaults.css = {}; // сброс настроек css для блокиратора
  $.blockUI.defaults.css.border = 0;
  $.blockUI.defaults.css.left = '35%';
  var list = getPageSize();
  $.blockUI.defaults.css.top = list[3]/2 - 50;
}

function initpage(){  
  
  defblockUI();
  if ($('#auth').length){
    var url = '/html/authform.html';
    $.ajax({  
      'type' : 'GET', 'url' : url, 'dataType' : 'html', 'timeout'  : 5000,
      'success' : function(r){setpage(r)},                     
      'error' : function(XMLHttpRequest, textStatus, errorThrown){$('#box').html('');}
    });
  }

  var a = $('.amim');

  //if (userinfo['console']) console.log('length a = ' + a.length);

  if (a.length >0){
    $.each(a, function(i){
      a[i].id = 'amim' + (i + 1);
    });
  }

}



$('.fx').live('click', function(e)
{ 

  if (e.button!=0) return false;

  var obj = $(this);
  $.unblockUI({message: ''});

  if ($(this).hasClass('fxmim')){

    //if (userinfo['console']) console.log('has fxmin! ' + $('.dmim').length);
    $('.dmim').remove();
    //$('#' + obj.parent('.miminfo').parent('.dmim').attr('id')).remove();
    //if (userinfo['console']) console.log('has fxmin after remove! ' + $('.dmim').length);

    //if (userinfo['console']) console.log('has fxmin! ' + $('#' + obj.parent('.miminfo').parent('.dmim').attr('id')).length);
    //obj.parent().parent().remove();

    //$('#' + obj.parent('.miminfo').parent('.dmim').attr('id')).remove();
  };


//'dmim')

  //$('#' + $(this).attr('win')).hide();

//  
  
});




/* 
 $('.gfxb').live('mouseover',  function(){$(this).css('background-color', '#ff0000');})
 $('.gfxb').live('mouseout',  function(){$(this).css('background-color', 'transparent');})
*/  

 $('.fxb').live('mouseover', 
  function(){$(this).css('color', linkcolor['in']);$(this).css('background-color', linkbkg['in']);}
 );
 
 $('.fxb').live('mouseout',  
  function(){$(this).css('color', linkcolor['out']); $(this).css('background-color', 'transparent');} //linkbkg['out']
 );



 $('.fxb').live('click', function(){
   $(this).css('color', linkcolor['out']);
   $(this).css('background-color', 'transparent');
 });


 initpage();

});


function getPageSize(){
	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
		xScroll = document.documentElement.scrollWidth;
		yScroll = document.documentElement.scrollHeight;
	} else { // Explorer Mac...would also work in Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) { // all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	return [pageWidth,pageHeight,windowWidth,windowHeight];
}

