function MenuHover(el){
  if(!el) return;
  el.onmouseout = function(){MenuUnhover(el)};
  var span;
  if(el.lastChild.nodeType == 1){
    span = el.lastChild;
  }else{
    span = document.createElement('span');
    span.innerHTML = el.innerHTML;
    el.appendChild(span);
  }
  RunEffect(span, "slideIn",{speed:250, callback: function(el){el.parentNode.style.color = '#ff114f'}});
}

function MenuUnhover(el){
  if(!el) return;
  if(el.lastChild.nodeType != 1) return;
  span = el.lastChild;
  el.style.color = '';
  RunEffect(span, "slideOut",{speed:250});
}

var ListDone = 0;

function MenuShow(el){
  if(!el) return;
  el.onmouseout = function(){MenuHide(el)};
  
  var i;
  var gray = document.getElementsByName('menugray');
  var pink = document.getElementsByName('menupink');
  var tit = document.getElementsByName('menutit');
  var list = document.getElementsByName('menulist');
  
  for(i=0; i<gray.length; i++){
    changeOpac(gray[i], 82);
    RunEffect(gray[i], "slideIn", {speed: 250, callback: function(ell){
      ell.className = 'gray hack';
      if(IE){
	changeOpac(document.getElementById('iehack'),82)
      }
    }});
    RunEffect(pink[i], "slideIn", {speed: 250, delay: 50});
    RunEffect(tit[i], "titIn", {speed: 400});
    RunEffect(list[i], "fadeIn", {speed: 250, delay: 250, stepcall: function(ell, t){ListDone = t}});
    list[i].style.display = 'block';
  }
}

function MenuHide(el){
  if(!el) return;
  
  var i;
  var gray = document.getElementsByName('menugray');
  var pink = document.getElementsByName('menupink');
  var tit = document.getElementsByName('menutit');
  var list = document.getElementsByName('menulist');
  
  for(i=0; i<gray.length; i++){
    gray[i].className = 'gray';
    RunEffect(gray[i], "slideOut", {speed: 250, delay: 50+ListDone});
    RunEffect(pink[i], "slideOut", {speed: 250, delay: ListDone});
  //  RunEffect(tit[i], "titOut", {speed: 400, delay: ListDone});
    RunEffect(list[i], "fadeOut", {speed: 250, callback: function(l){l.style.display = ''}});
    if(IE){
      changeOpac(document.getElementById('iehack'),0);
    }
  }
}

function SubMenuShow(el){
  if(!el) return;
  el.onmouseout = function(){SubMenuHide(el)};
  var gray = document.getElementById('grayer');
  changeOpac(gray, 82);
  RunEffect(gray, "slideIn", {speed: 250, prop: "height", measure: "px", max: "268"});
}

function SubMenuHide(el){
  if(!el) return;
  var gray = document.getElementById('grayer');
  RunEffect(gray, "slideOut", {speed: 250, prop: "height", measure: "px", max: "268"});
}

var InSub;
var InSubber;
var ToSub = null;

function SubShow(el){
  if(!el) return;
  el.onmouseout = function(){SubHide(el)};
  if(InSubber && InSubber != el){
    ToSub = el;
    return;
  }
  
  var child, j, k=0;
  InSubStart = Number(new Date());
  for(var i=0; i<el.childNodes.length;i++){
    child = el.childNodes[i];
    if(child.className && child.className == 'list'){
      for(j=0; j<child.childNodes.length; j++){
	if(child.childNodes[j].nodeType == 1 && child.childNodes[j].tagName.toLowerCase() == 'a'){
	  if(!k) InSubber = el;
	  RunEffect(child.childNodes[j], "fadeIn", {speed: 100, delay: 50*k});
	  k++;
	  child.childNodes[j].style.display = 'inline';
	}
      }
      InSub = k;
      child.style.display = 'block';
      break;
    }
  }
}

function SubHide(el){
  if(!el) return;
  if(InSubber && ToSub == el){
    ToSub = null;
  }

  var child, j, k=0, obj;
  for(var i=0; i<el.childNodes.length;i++){
    child = el.childNodes[i];
    if(child.className && child.className == 'list'){
      for(j=0; j<child.childNodes.length; j++){
	if(child.childNodes[j].nodeType == 1 && child.childNodes[j].tagName.toLowerCase() == 'a'){
	  obj = {speed: 100, delay: 50*(InSub - k), callback: function(l){l.style.display = ''}};
	  if(!k) obj.callback = function(l){
	    l.style.display = '';
	    InSubber = null;
	    if(ToSub) SubShow(ToSub);
	  }
	  k++;
	  RunEffect(child.childNodes[j], "fadeOut", obj);
	}
      }
      break;
    }
  }
}

if(typeof(MAIN) !== 'undefined'){
  var Fiflak = [200, 440];
  var FiflakImg = [1200, 773];
  var heights = [0,0];
}else{
  var Fiflak = [400, 235];
  var FiflakImg = [1200, 445];
  var heights = [0,0];
}

AddLoad(SetFiflaki);

function SetFiflaki(){
  var el = document.getElementById("fiflak");
  var menu = document.getElementById("menu");
  if(!el || !menu) return;
  var flier;
  for(var i=0; i<heights.length; i++){
    flier = document.createElement("div");
    flier.className = "flier";
    flier.style.zIndex = i;
    flier.style.left = GetRand(0,WinWid()-Fiflak[0])+'px';
    flier.appendChild(el.cloneNode(true));
    flier.firstChild.style.display = 'block';
    flier.firstChild.firstChild.firstChild.style.top = "-"+heights[i]+"px";
    flier.firstChild.lastChild.firstChild.style.top = "-"+heights[i]+"px";
    FiflakPosition(flier);
    menu.appendChild(flier);
    RunEffect(flier, "fadeIn", {speed: 1000, callback: FiflakFly});
  }
}

function WinWid(){
  if(typeof( window.innerWidth ) == 'number'){
    return Math.min(1425,window.innerWidth-15);
  }else if(document.documentElement && document.documentElement.clientWidth){
    return Math.min(1425,document.documentElement.clientWidth-15);
  }
}

function FiflakFly(el){
  if(!el) return;
  var wid = parseInt(el.style.left,10);
  var topos = GetRand(0,WinWid()-Fiflak[0]);
  while(Math.abs(topos-wid) < (WinWid()-Fiflak[0])*0.4) topos = GetRand(0,WinWid()-Fiflak[0]);
  
  RunEffect(el, "move", {to: topos, stepcall: FiflakPosition, speed:Math.abs(wid-topos)*15, delay: GetRand(500,2000), callback: FiflakFly} );
}

function FiflakPosition(el){
  if(!el) return;
  var wid = parseInt(el.style.left,10);
  el.firstChild.style.left = "-"+wid+"px";
  el.firstChild.firstChild.firstChild.style.left = -1*Math.round(wid*(FiflakImg[0]-720)/720)+'px';
  el.firstChild.lastChild.firstChild.style.left = -1*Math.round((wid-720+Fiflak[0])*(FiflakImg[0]-720)/720)+'px';
}

function GetRand(min, max){
  return Math.round(min+(max-min)*Math.random());
}

var Albumer = null;
function Album(el, side){
  var table = document.getElementById("phototable");
  if(table.offsetWidth <= table.parentNode.offsetWidth) return;
  Albumer = setInterval(function(){
    var left = table.offsetLeft + side*3;
    left = Math.min(0,left);
    left = Math.max(left, -(table.offsetWidth-table.parentNode.offsetWidth));
    table.style.left = left+'px';
  },10);
  el.onmouseout = function(){clearInterval(Albumer)};
}

function View(el){
  var src = el.src.split('/');
  src = src[src.length-1];
  src = new RegExp(src);
  var toel = document.getElementById('photobox');
  for(var i=0;i<toel.childNodes.length;i++){
    if(toel.childNodes[i].nodeType !== 3){
      if(src.test(toel.childNodes[i].src)) toel.childNodes[i].className = "";
      else toel.childNodes[i].className = "hide";
    }
  }
}
