/* Управление контентом */
function fnSetElements() {
  fnCreateOverlay();
  SocialShare();
  
  left_col = $(".main_left_td");
  if (left_col.length != 0) {        
    $("#rss_box").css("top", (left_col.offset().top + 14) + "px");
    $("#rss_box").css("left", (left_col.offset().left + 215) + "px");
  }
  
  $(".child-graf B").each(function(){
      var el_id = 'ch_bar_'+ $(this).attr("width")+ '';
      $(this).css("top", $("#"+ el_id +"").offset().top - 1  + "px");
      $(this).css("left", $("#"+ el_id +"").offset().left + "px");
  });  

  
}

function SocialShare(id) { 
  if (id) {
    var c = $("#"+ id +"");
  } else {
    var c = $("#share");
  }  
  var b = c.attr("page");
  function a(e) {
    window.open(e,"sharer","toolbar=0,status=0,width=626,height=470");
  };
  c.find(".mailru").click(function(){
    a("http://connect.mail.ru/share?share_url="+b+"?social=1");
    return false;
  });
  c.find(".vk").click(function(){
    a("http://www.vkontakte.ru/share.php?url="+b+"?social=1");
    return false;
  });
  c.find(".twitter, .email").attr("target","_blank");
  c.find(".facebook").click(function(){
   a("http://www.facebook.com/sharer.php?u="+b+"?social=1");
   return false;
  });
  c.find(".livejournal").click(function(){
   var f = window.open("","","toolbar=0,resizable=1,scrollbars=1,status=1,width=830,height=700");
   var e = $('<form method="POST" accept-charset="utf-8" />').attr("action","http://www.livejournal.com/update.bml?usescheme=nonavigation").appendTo(f.document);
   var g = {subject:$(this).data("title"),event:$(this).data("text"),transform:1};
   for (name in g) {
     $('<input type="hidden" />').attr("name",name).attr("value",g[name]).appendTo(e)
   };
   e.submit();
   return false;
  });
}


/* Комменты */
var comments_option = {
  target: "#comments_box",
  beforeSubmit: showComRequest, // функция, вызываемая перед передачей
  success: showComResponse, // функция, вызываемая при получении ответа
  timeout: 3000 // тайм-аут
};

var commform = 0;

function showComRequest(formData, jqForm, options) {
  var form = jqForm;
  var go = true; 
  var now = 0;
  var loader = $("#loader");
  var control = $(".comment_button", form).parent();
  var button = control.html();
  control.html(loader.html()); 
    
  if (commform == 0) {
    var items = $(".afcheck", form);
    items.each(function (i) {   
      var item = $(this);
      var val = $(this).val();
      var link = '/ajax/check-'+ $(this).attr("fid") +'.htm';    
      $.ajax({
        type: 'POST',
        url: link,
        data: { value: val },
        cache:false,
        success: function(page) { 
          if ($.trim(page) == 'error') {
            go = false;
            item.addClass('error');
            item.next('div.error_t').show();
          } else {
            item.removeClass('error');
            item.next('div.error_t').hide();
          }
          now = now + 1;        
          if (now == items.length) {
            if (go) {
              //if (type) { commform = 0; } else { commform = 1; }
              commform = 1;
              form.submit();
              control.html(button);
            } else {
              commform = 0;
              control.html(button);
            }  
          }                 
        }
      });  
    });  
  }
  if (commform == 1) {
    commform = 0;
    return true;
  } else {
    return false; 
  }  
}

function ERBORformCheck() {
  var form = $("#erbor_form");
  var go = true; 
  var now = 0;
  var loader = $("#loader");
  var control = $(".comment_button", form).parent();
  var button = control.html();
  control.html(loader.html()); 
    
  if (commform == 0) {
    var items = $(".afcheck", form);
    items.each(function (i) {   
      var item = $(this);
      var val = $(this).val();
      var link = '/ajax/check-'+ $(this).attr("fid") +'.htm';    
      $.ajax({
        type: 'POST',
        url: link,
        data: { value: val },
        cache:false,
        success: function(page) { 
          if ($.trim(page) == 'error') {
            go = false;
            item.addClass('error');
            item.next('div.error_t').show();
          } else {
            item.removeClass('error');
            item.next('div.error_t').hide();
          }
          now = now + 1;        
          if (now == items.length) {
            if (go) {
              //if (type) { commform = 0; } else { commform = 1; }
              commform = 1;
              form.submit();
              control.html(button);
            } else {
              commform = 0;
              control.html(button);
            }  
          }                 
        }
      });  
    });  
  }
  if (commform == 1) {
    commform = 0;
    return true;
  } else {
    return false; 
  }
}

// вызов после получения ответа
function showComResponse(responseText, statusText)  {
  var box = $("#comments_box");
  var divdescr = $("#comments_list");
  var header = $('.comments_head', divdescr);
  if ($(".error_mes", box).length == 1) {
    alert($(".error_mes", box).html());
  } else {
    if (header.length == 1) {
      header.after('<div class="hide_comment">'+ box.html() +'</div>');
    } else {
      divdescr.append('<div class="comments_head"><div>Комментарии</div></div><div class="hide_comment">'+ box.html() +'</div>');      
    }
    new_block = $(".hide_comment", divdescr);
    var destination = new_block.offset().top - 118;    
    new_block.hide();
    $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 400);
    new_block.fadeIn('slow', function(){ $(".hide_comment", divdescr).removeClass('hide_comment'); });    
    $("#comments_form").clearForm();    
  }   
}

function s_count(obj_id, form_id, ind_id) {  
  var s = 2000 - $("#"+obj_id+"").val().length;
  $("#"+ind_id+"").text(s);
  if (s < 0) {
    alert('Текст сообщения должен содержать не более 2000 символов');
    document.getElementById(form_id).com_submit.disabled = true;
  } else {
    document.getElementById(form_id).com_submit.disabled = false;
  }
}


/* Подложка для модального окна */

function fnCreateOverlay() {
  $('<div id="site_wrap"></div>').appendTo("body");
  $("#site_wrap").prepend('<div id="site_overlay"></div>');
  $("#site_overlay").css({'width': $(window).width(), 'height': $(document).height(), 'opacity': 0.4});
  if ($.browser.msie) {
    $("#site_wrap").prepend('<iframe id="site_bigIframe" scrolling="no" frameborder="0"></iframe>');
    $("#site_bigIframe").css({'width': $(window).width(), 'height': $(document).height(), 'opacity': 0});
  }
  $("#site_overlay, #site_bigIframe").hide();
}

function fnShowOverlay() {
  $("#site_overlay,#site_bigIframe").fadeIn("fast").show();
}

function fnHideOverlay() {
  $("#site_overlay,#site_bigIframe").fadeOut("fast").hide();
}

function fnCloseOverlay() {
  $("#site_overlay,#site_bigIframe").fadeOut("fast").remove();
}

/* End */

/* Прокрутка страницы */
function fnHideScroll() {
  $("body").css("overflow", "hidden");
}

function fnShowScroll() {
  $("body").css("overflow", "auto");
}
/* End */

/* Main popup menu */

function fnDivOn(id) { $(id).show(); }
function fnDivOff(id) { $(id).hide(); }
function fnOff(id) { e = $("#"+id+""); e.hide(); }
function fnOn(id, parent, y, x) { if (!y) y = 24; if (!x) x = 5; e = $("#"+id+""); e.css("top", ($(parent).offset().top + y + "px")); e.css("left", ($(parent).offset().left - x + "px")); e.show().fadeIn("fast"); }

/* End */

/* Child Bar */

function animateChildBars(){
  $(".child-graf div").each(function(){
      var percentage = $(this).attr("width");
      $(this).css({width: "0%"}).animate({
        width: percentage}, 'slow');
  });
}

/* Доска объявлений */

function isIeWork(){
   if (jQuery.browser.msie && jQuery.browser.version == '7.0') {
    return true;
  } else {
    return false;
  }
}

function fnFormStep(show, obj, val, obj_id, type) {
  var show_obj = $("#"+show+"");
  var arrow1 = $("#arrow1");
  var arrow2 = $("#arrow2");
  var arrow3  = $("#arrow3");
  is_fix = isIeWork(); 
  is_fix ? fix = 0 : fix = -3;
  if (type) {
    arrow3.css("left", 0 - 50 + "px");
    $("#board_form_line").hide();
    $(".sell_div2").removeClass('sell_div2');
    $(".sell_div").removeClass('sell_div');
    show_obj.show();    
    arrow2.css("top", $(obj).offset().top + $(obj).height() + fix + "px");
    arrow2.css("left", $(obj).offset().left + ($(obj).width()/2) - arrow2.width() + "px");    
    arrow1.css("top", arrow2.offset().top - 38 + "px");
    $(obj).addClass('sell_div');
  } else {        
    show_obj.show();
    arrow3.css("top", $(obj).offset().top + $(obj).height() + fix + "px");
    arrow3.css("left", $(obj).offset().left + ($(obj).width()/2) - arrow2.width() + "px");    
    arrow2.css("top", arrow3.offset().top - 40 + "px");
    arrow1.css("top", arrow2.offset().top - 38 + "px");
    $(".sell_div2").removeClass('sell_div2');
    $(obj).addClass('sell_div2');
  }                        
  $("#"+obj_id+"").val(val);  
}

function fnFirtsStep(show, obj) {
  var show_obj = $("#"+show+"");
  var arrow1 = $("#arrow1");
  is_fix = isIeWork(); 
  is_fix ? fix = 0 : fix = -3;
  show_obj.show();
  arrow1.css("top", $(obj).offset().top + $(obj).height() + fix + "px");
  arrow1.css("left", $(obj).offset().left + ($(obj).width()/2) - arrow1.width() + "px");
}

/* Boxes */

var sub=0;

function slen() {
  var textfield =document.getElementById('searchadr')
  var spanobj = document.getElementById('rad');
  if (textfield.value.length > 0)
  {
    spanobj.disabled = false;
  }
  else
  {
    spanobj.disabled = true;
  }
}

function fnCheckAddress() {
  if (sub == 1) {
    return true; 
  } else {
    obj = $("#searchadr");
    value = obj.val();
    if (value == '') {
      alert('Введите адрес в строку поиска!');
      return false;
    } else {      
      $.ajax({
       type: "POST",
       url: "/ajax/address.htm",
       data: "address="+ value +"",
       cache:false,
       success: function(data) {
          if ($.trim(data) == '') {
            sub = 1;
            $("#search_frm").submit();
            return true;
          } else {
            if ($.trim(data) == 'error') {
              alert('Указанный Вами адрес не может быть найден на карте!');
            } else {
              elem = $("#adres_results");     
              elem.css("top", obj.offset().top + 20 + "px");
              elem.css("left", obj.offset().left + "px");    
              elem.empty().html(data);
            }
          }
       }
      });
      return false; 
    }
  }
}

function fnSetNewA(obj) {
  $("#searchadr").val($(obj).text());  
  $("#adres_results").css("left", -900 + "px");
  sub = 1;
  $("#search_frm").submit();
}


var ajx_link, ajx_ww, ajx_wh;
var ajx_val = '';

function fnLinksInit() {    
  $(".af-show").fancybox({ 'zoomSpeedIn': 100, 'zoomSpeedOut': 100,'titlePosition':'over'});
    
  $(".lookup_box").click(function(){ ajx_link = $(this).attr("uid"); ajx_ww = $(this).attr("ww"); ajx_wh = $(this).attr("wh"); return false; }).fancybox({
    'frameWidth': 360, 
    'frameHeight': 100, 
    'zoomSpeedIn': 300, 
    'zoomSpeedOut': 300, 
    'showCloseButton': true,
    'enableEscapeButton': true,
    'hideOnContentClick': false, 
    'hideOnOverlayClick': false,
    'callbackOnShow': function() {         
       fnLookLink(ajx_link, ajx_ww, ajx_wh);
    }              
  }); 
  
  $(".pays_box").click(function(){ ajx_link = $(this).attr("uid"); ajx_ww = $(this).attr("ww"); ajx_wh = $(this).attr("wh"); return false; }).fancybox({
    'frameWidth': 360, 
    'frameHeight': 100, 
    'zoomSpeedIn': 300, 
    'zoomSpeedOut': 300, 
    'padding': 0, 
    'showCloseButton': true,
    'centerOnScroll': false,
    'enableEscapeButton': true,
    'hideOnContentClick': false, 
    'hideOnOverlayClick': false,
    'callbackOnShow': function() {         
       fnLookPay(ajx_link, ajx_ww, ajx_wh);
    },
    'callbackOnClose': function() {      
      $("#all_money_id").stopTime('timerChild');
    }          
  });
        
}

function fnLookPay(text_link, ww, wh) {
  if (!ww) ww = 730;
  if (!wh) wh = 480;  
  $("#fancy_content").html(''+$("#loader").html()+'<div align="center">Загрузка данных...</div>');
  var link = text_link;
  var val = 1;
  $.ajax({
    type: 'POST',
    url: link,
    data: { value: val },
    cache:false,
    success: function(page) {     
      $("#fancy_outer").animate({ width: ww, height: wh, left: '-='+Math.round(ww/3.13)+'', top: '-='+Math.round(wh/4)+'' }, 800, function() {
         $("#fancy_content").html(page);
         $("#all_money_id").everyTime(10000, 'timerChild', function(i) {
           if ($("#all_money_id").length > 0) {
             $.ajax({
               type: "POST",
               url: "/ajax/blagobox/pays_update.htm",
               data: "all_money="+ $('#all_money_id').val() +"&child_id="+ $('#child_id').val() +"&type_id="+ $('#object_type').val() +"",
               success: function(msg){
                 if ($.trim(msg) != 'false') {
                   new_money = parseMoney(msg);
                   if (new_money) {
                     $("#all_money_id").val(new_money[0]['value']);
                     $("#money_take SPAN").animate({ fontSize: "20px" }, 350 ).animate({ fontSize: "11px" }, 800);
                     $("#money_take SPAN").html(new_money[0]['result']);
                   }
                 }
             }
             });
           } else {
             $(this).stopTime('timerChild');
           }
         });
         SocialShare('share2');         
      });
    }
  });  
}



function fnLookLink(text_link, ww, wh) {
  if (!ww) ww = 730;
  if (!wh) wh = 480;
  $("#fancy_content").html(''+$("#loader").html()+'<div align="center">Загрузка данных...</div>');
  var link = text_link;
  var val = 1;
  $.ajax({
    type: 'POST',
    url: link,
    data: { value: val },
    cache:false,
    success: function(page) {     
      $("#fancy_outer").animate({ width: ww, height: wh, left: '-='+Math.round(ww/3.13)+'', top: '-='+Math.round(wh/4)+'' }, 800, function() {
         $("#fancy_content").html(page);         
      });
    }
  });  
}

function fnLinkOpen(div, link, sender, obj, funk) {
  fnSetLoader(div);  
  $.ajax({
    type: "POST",
    url: link,
    cache:false,
    success: function(page) {      
      $("#"+div+"").empty().html(page);
      if (funk) {
        eval(funk);
      }      
    }
  });
}

var is_form = 0;
var sbor_options = {
  target: "#af_form_block",
  beforeSubmit: showSborRequest, // функция, вызываемая перед передачей
  success: showSborResponse, // функция, вызываемая при получении ответа
  timeout: 3000 // тайм-аут
};

function showSborRequest(formData, jqForm, options) {
  var queryString = $.param(formData);
  //alert('Вот что мы передаем: \n\n' + queryString);
  SetLoader('af_form_block');
  return true;
}

function showSborResponse(responseText, statusText)  {
  if ($.trim(responseText) == 'refresh') {
    $("#fancy_content").html(''+$("#loader").html()+'<div align="center">Загрузка данных...</div>');
    document.location.href = document.location.href;
  }
}

function fnSendSborForm(obj, fname, type) {
  if ($(obj).length == 0) {
    obj = $("#"+ obj +"");
  }
  var form = $("#"+fname+"");
  var go = true; 
  var now = 0;
  var loader = $("#loader");
  var control = $(obj).parent();
  var button = control.html();
  control.html(loader.html());  
  if (type) {
    form.submit(function() {
      $(this).ajaxSubmit(sbor_options);
      return false;
    });
  }
  if (is_form == 0) {
    var items = $(".afcheck", form);
    items.each(function (i) {   
      var item = $(this);
      var val = $(this).val();
      var link = '/ajax/check-'+ $(this).attr("fid") +'.htm';    
      $.ajax({
        type: 'POST',
        url: link,
        data: { value: val },
        cache:false,
        success: function(page) { 
          if ($.trim(page) == 'error') {
            go = false;
            item.addClass('error');
            item.next('div.error_t').show();
          } else {
            item.removeClass('error');
            item.next('div.error_t').hide();
          }
          now = now + 1;        
          if (now == items.length) {
            if (go) {
              if (type) { is_form = 0; } else { is_form = 1; }
              form.submit();
            } else {
              is_form = 0;
              control.html(button);
            }  
          }                 
        }
      });  
    });  
  }
  if (is_form == 1) {
    is_form = 0;
    return true;
  } else {
    return false; 
  }
}


function fnSetLoader(win_id) {
  $("#"+win_id+"").html($("#loader").html());
}

function fnCopyCode(obj_id) {
  wrapper = $("#"+obj_id+"");
  alert(wrapper.val());
  copyToClipboard(wrapper.val());
}

function copyToClipboardSFW(content) {
  var flashcopier = 'flashcopier';
  if (!document.getElementById(flashcopier)) {
    var divholder = document.createElement('div');
    divholder.id = flashcopier;
    eval("document.body.appendChild(divholder);");
  }
  document.getElementById(flashcopier).innerHTML = '';
  var divinfo = "<embed src='/js/clipboard/clipboard.swf' FlashVars='clipboard=" + content + "' width='0' height='0' type='application/x-shockwave-flash'></embed>";
  document.getElementById(flashcopier).innerHTML = unescape(divinfo);
  return true;
}

function copyToClipboard(content) {
  // for IE
  if (window.clipboardData && window.clipboardData.setData) {
    return (window.clipboardData.setData("Text", content) || copyToClipboardSFW(content));
  } else {
    // for not IE
    try {
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {      
      return copyToClipboardSFW(content);
    }

    var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService();
    if (clipboard) { clipboard = clipboard.QueryInterface(Components.interfaces.nsIClipboard); }

    var transferable = Components.classes["@mozilla.org/widget/transferable;1"].createInstance();
    if (transferable) { transferable = transferable.QueryInterface(Components.interfaces.nsITransferable); }

    if (clipboard && transferable) { 
      var textObj = new Object(); 
      textObj = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
      if (textObj) {
        textObj.data = content;
        transferable.setTransferData("text/unicode", textObj, content.length * 2);
        var clipid = Components.interfaces.nsIClipboard;
        clipboard.setData(transferable, null, clipid.kGlobalClipboard);
        return true;
      }
    }
    return false;
  }
}

/* Auto Counters */
function fnSetAutoCounter() {
  $.ajax({
   type: "POST",
   url: "/ajax/set_auto_count.htm",
   cache:false,
   success: function(data) {
      if ($.trim(data)) {
        var bhtml = '<noindex><a href="http://democrator.ru/problem/5762" target="_blank" rel="nofollow" title="Поддержать проект"><span>Проектом заинтересовались <b>'+$.trim(data)+'</b> человек</span></a></noindex>'; 
        $("#auto_sbor_vote_bot").animate({ opacity: 0.2 }, 50, function(){ $(this).html(bhtml).animate({ opacity: 1 }, 500); });
        $("#auto_sbor_vote").animate({ opacity: 0.2 }, 50, function(){ $(this).html(bhtml).animate({ opacity: 1 }, 500); });
      } 
   }
  });
}
