var ArtSound = (function() {
  function initDom() {
    document.documentElement.className = 'js';
  }
  
  function newsSwitcher(news_container, headers, bodies) {
    var news_container_elem = $(news_container);
    var headers_elems = news_container_elem.find(headers);
    var bodies_elems = news_container_elem.find(bodies);
    headers_elems.eq(0).addClass('act').next('dd').addClass('act');
    headers_elems.children('a').click(function() {
      var header_parent = $(this).parent();
      header_parent.addClass('act').siblings().removeClass('act');
      header_parent.next().addClass('act');
      return false;
    });
  }
  
  function mainMenu() {
    $('ul.b-menu_main > li > div').each(function() {
      var sub_menu = $(this).children('ul');
      $(this).hover(function() {
        if(!sub_menu.is(':animated')) sub_menu.slideDown(300);
      }, function() {
        if(!sub_menu.is(':animated')) sub_menu.slideUp(300);
      });
    });
  }
  
  return {
    init: function() {
      initDom();
      newsSwitcher('.b-news-archive', '.year-switcher', '.new-body');
      mainMenu();
    }
  };
}());

$(document).ready(function() {
  ArtSound.init();
});



function getXmlHttp(){
  var xmlhttp; 
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


function loadHTML(URL,name,place,email,comment) {
    // создать объект для запроса к серверу, функция getXmlHttp будет дана ниже
    var req = getXmlHttp();

    req.open('GET',URL+'?name='+(name)+'&place='+(place)+'&email='+(email)+'&comment='+(comment), true);  // задать адрес подключения
    
    // span рядом с кнопкой
    // в нем будем отображать ход выполнения
    var content = document.getElementById('result_bar');
	
    req.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера

        if (req.readyState == 4) { // если запрос закончил выполняться           
            if(req.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю
                str=req.responseText;
				
	        	content.innerHTML=str;

            } else {
                content.innerHTML = "Error: Status "+request.status;
             }
            // тут можно добавить else с обработкой ошибок запроса
        }
 	
    }
 
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера
 
    req.send(null);  // отослать запрос

}