﻿var editMenuItems = new Array ("event", "banner", "link", "club", "dj", "band");
var xmlHttp;

function Initialize()
{
 if ($('mainMenu')) new DropdownMenu($('mainMenu'));
// if ($('previewBanner'))  LoadPreviewBanner();
 var usedHeightLeft = 0;
 var bodyHeight = $('content').getSize().size.y;
// if ($('recommendedAgenda')) usedHeightLeft = LoadRecommendedAgenda(5);
// if ($('artistGalleryList')) usedHeightLeft += $('artistGalleryList').getSize().size.y;
// if ($('bestOfThumbnails')) LoadBestOfThumbnails(bodyHeight / 200);
// if ($('partnerBannerList')) LoadPartnerBannersList((bodyHeight - usedHeightLeft) / 105);
}

function togleClass (tSource, tPrefix, tID, tClass0, tClass1)
{
 var e = document.getElementById(tID);
 e.className = (e.className == tClass0) ? tClass1 : tClass0;
}

function togleSubmenu (id)
{
 var e = document.getElementsByName('submenu');
 for (i = 0; i < e.length; i++)
 {
  e[i].style.display = (e[i].id != id) ? 'none' : 'block';
 }
}

function togleSubSubmenu (id)
{
 var e = document.getElementsByName('subsubmenu');
 for (i = 0; i < e.length; i++)
 {
  e[i].style.display = (e[i].id != id) ? 'none' : 'block';
 }
}

function comparePlaces (place0, place1)
{
 return (place0[1].toLowerCase() > place1[1].toLowerCase()) ? 1 : -1;
}

function showPlaces (id)
{
 document.write("<select>");
 var i;
 var html;

 Places.sort(comparePlaces);
 for (i = 0; i < Places.length; i++)
 {
  html = "<option value='" + Places[i][0] + "'";
  if (Places[i][0] == id) html += " selected='selected'";
  html += ">" + Places[i][1] + ", " + Places[i][2] + ", " + Places[i][4] + "</option>";
  document.write(html);
 }
 document.write("</select>");
}

function ExpandPlace (handle)
{
 handle.childNodes[2].style.display = 'block';
}

function ListPlaces ()
{
 var i;
 var html;

 Places.sort(comparePlaces);
 for (i = 0; i < Places.length; i++)
 {
  html  = "<div name='places_place' onclick='ExpandPlace(this)'><b>" + Places[i][1] + "</b>, " + Places[i][2] + ", " + Places[i][3] + ", " + Places[i][5];
  html += "<div style='display: none;'>";
  if (Places[i][7] != "") html += "<img src='Places[i][7]' alt='" + Places[i][1] + "'/>";
  if (Places[i][8] != "") html += "<br/><b>In the club:</b> " + Places[i][8];
  html += "</div>";
  html += "</div>";
  document.write(html);
 }
}

function GetXmlHttpObject()
{
 var objXMLHttp=null;
 if (window.XMLHttpRequest)
 {
  objXMLHttp=new XMLHttpRequest();
 }
 else if (window.ActiveXObject)
 {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 return objXMLHttp;
}

function SimpleLoad(query, result)
{
 xmlHttp = GetXmlHttpObject();
 if (xmlHttp == null)
 {
  alert ("Browser does not support HTTP Request");
  return;
 }
 var url = query + "&sid="+Math.random();
 xmlHttp.onreadystatechange = function () {
  if ((xmlHttp.readyState == 4) || (xmlHttp.readyState == "complete"))
  {
   document.getElementById(result).innerHTML = xmlHttp.responseText;
  }
 };
 xmlHttp.open("GET", url, true);
 xmlHttp.send(null);
}

Element.extend(
{
 hide: function() 
 {
  return this.setStyle('display', 'none');
 },
 
 show: function() 
 {
  return this.setStyle('display', 'block');
 }
});

var DropdownMenu = new Class({	
 initialize: function(element)
 {
  $A($(element).childNodes).each(function(el)
  {
   if(el.nodeName.toLowerCase() == 'td')
   {
    $A($(el).childNodes).each(function(el2)
    {
     if(el2.nodeName.toLowerCase() == 'ul')
     {
      $(el2).hide();
      el.addEvent('mouseover', function()
      {
       el2.show();
      });
      el.addEvent('mouseout', function()
      {
       el2.hide();
      });
      new DropdownMenu(el2);
     }
    });
   }
  });
  return this;
 }
});

function GenerateGraphicsHTML (source, title, width, height, maxwidth, maxheight)
{
 if (source.toLowerCase().substr(source.length - 4) == ".swf")
 {
  var ratio = width / height;
  var ratiow = maxwidth / width;
  var ratioh = maxheight / height;
  if ((ratiow < 1) || (ratioh < 1))
  {
   var ratio = ratiow < ratioh ? ratiow : ratioh;
   var width = width * ratio;
   var height = height * ratio;
  }
  return "<div style='width: " + width + "px; height: " + height + "px;'><object codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' width=" + width + " height=" + height + "><param name='movie' value='" + source + "'><param name=quality value=high><param name=wmode value=opaque><embed src='" + source + "' menu=false quality=high wmode=opaque width=" + width + " height=" + height + " TYPE='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></embed></object></div>";
 }
 return "<img src='" + source + "' alt='" + title + "' title='" + title + "' border='0' style='width: " + width + "px; height: " + height + "px;'/>";
}

function GeneratePartnerBannersList(height)
{
 var partner = new Array();
 var i;
 var j = 0;
 var html = "";
// while (partner.length < 10)
 {
  i = Math.floor(Math.random() * partnersList.length);
  j = partner.length;
  partner.include(i);
  if (j < partner.length)
  {
   j = partner[partner.length - 1];
   var id = partnersList[j][0];
   var name = partnersList[j][1];
   var banner = "http://yesternight.pl/" + partnersList[j][2];
   var iwidth = partnersList[j][3];
   var iheight = partnersList[j][4];
   html += "<div><a href='link.php?url=" + id + "' target='_blank'>" + GenerateGraphicsHTML(banner, name, iwidth, iheight, 150, 100) + "<br/>" + name + "</a></div>";
  }
 }
 partner.each(function(item, index) {
  var id = partnersList[item][0];
  var name = partnersList[item][1];
  var banner = "http://yesternight.pl/" + partnersList[item][2];
  var iwidth = partnersList[item][3];
  var iheight = partnersList[item][4];
  html += "<div><a href='link.php?url=" + id + "' target='_blank'>" + GenerateGraphicsHTML(banner, name, iwidth, iheight, 150, 100) + "<br/>" + name + "</a></div>";
 });
 return html;
}

function LoadPartnerBannersList(n)
{
 var html = new Array();
 if (n < 1) n = 1;
 if (n >= partnersList.length) n = partnersList.length;
 for (var i = 0; i < n; i++)
 {
  var item = partnersList.getRandom();
  partnersList.remove(item);
  var id = item[0];
  var name = item[1];
  var banner = "http://yesternight.pl/" + item[2];
  var iwidth = item[3];
  var iheight = item[4];
  html.include("<div><a href='link.php?url=" + id + "' target='_blank'>" + GenerateGraphicsHTML(banner, name, iwidth, iheight, 150, 100) + "<br/>" + name + "</a></div>");
 }
 $('partnerBannerList').innerHTML += html.join("");
}

function LoadPreviewBanner()
{
 i = Math.floor(Math.random() * previewBanner.length);
 id = previewBanner[i][0];
 name = previewBanner[i][1];
 url = "http://yesternight.pl/" + previewBanner[i][2];
 width = previewBanner[i][3];
 height = previewBanner[i][4];
 $('previewBanner').innerHTML = "<a href='preview.php?url=" + id + "' target='_blank'>" + GenerateGraphicsHTML(url, name, width, height, 468, 60) + "</a>";
}

function LoadBestOfThumbnails(n)
{
 var html = new Array();
 if (n < 1) n = 1;
 if (n >= bestImagesList.length) n = bestImagesList.length;
 for (var i = 0; i < n; i++)
 {
  var item = bestImagesList.getRandom();
  bestImagesList.remove(item);
  var iid = item[0];
  var aid = item[1];
  var gid = item[2];
  var artist = item[3];
  var gallery = lang == "pl" ? item[4] : item[5];
  var path = item[6];
  var file = item[7];
  var iwidth = item[8].toInt();
  var iheight = item[9].toInt();
  html.include("<div><a href='index.php?action=image&amp;gid=" + gid + "&amp;iid=" + iid + "'><img src='http://yesternight.pl/gallery/" + path + "/t/" + file + "' alt='" + artist + "' title='" + artist + " @ " + gallery + "' border='0' style='width: " + iwidth + "px; height:" + iheight + "px;'/></a><br/><a href='index.php?action=artistGallery&aid=" + aid + "' id='artist'>" + artist + "</a><br/><a href='index.php?action=gallery&gid=" + gid + "' id='gallery'>" + gallery + "</a></div>");
 }
 $('bestOfThumbnails').innerHTML += html.join("");
}

function LoadRecommendedAgenda(min)
{
 var i = 0;
 var html = "";
 var handle = $('recommendedAgenda');
 var max = recommendedAgendaList.length;
 if (min > max) min = max;
 while (1)
 {
  var begin = recommendedAgendaList[i][1];
  var end = recommendedAgendaList[i][2];
  var name = lang == "pl" ? recommendedAgendaList[i][3] : recommendedAgendaList[i][4];
  name = name.toUpperCase();
  var city = lang == "pl" ? recommendedAgendaList[i][5] : recommendedAgendaList[i][6];
  i++;
  handle.innerHTML += "<div>" + MakeDataRange(begin, end) + ", <i>" + city + "</i><br/><b>" + name + "</b></div>";
  if (i >= min)
  {
   if (i >= max) break;
   if (recommendedAgendaList[i][1] != begin) break;
  }
 }
 handle.innerHTML += "<a href='http://yesternight.pl/mtest/index.php?action=preview'>" + (lang == 'pl' ? "więcej" : "more") + "</a>";
 return handle.getSize().size.y;
}

function MakeDataRange(begin, end)
{
 if (end == "") end = "0000-00-00";
 var begin = begin.split("-");
 var end = end.split("-");
 var date;
 if (begin[0] == end[0])
 {
  if (begin[1] == end[1])
  {
   if (begin [2] == end[2])
   {
    date = begin[2] + "." + begin[1] + "." + begin[0];
   }
   else
   {
    date = begin[2] + "-" + end[2] + "." + begin[1] + "." + begin[0];
   }
  }
  else
  {
   date = begin[2] + "." + begin[1] + "-" + end[2] + "." + end[1] + "." + begin[0];
  }
 }
 else
 {
  if (end[0] != "0000")
  {
   date = begin[2] + "." + begin[1] + "." + begin[0] + "-" + end[2] + "." + end[1] + "." + end[0];
  }
  else
  {
   date = begin[2] + "." + begin[1] + "." + begin[0];
  }
 }
 return date;
}

window.addEvent('domready', Initialize);
