// Copyright (C) 2005-2008 Ilya S. Lyubinskiy. All rights reserved.
// Technical support: http://www.php-development.ru/
//
// YOU MAY NOT
// (1) Remove or modify this copyright notice.
// (2) Re-distribute this code or any part of it.
//     Instead, you may link to the homepage of this code:
//     http://www.php-development.ru/javascripts/dropdown.php
//
// YOU MAY
// (1) Use this code on your website.
// (2) Use this code as part of another product.
//
// NO WARRANTY
// This code is provided "as is" without warranty of any kind.
// You expressly acknowledge and agree that use of this code is at your own risk.


// ***** Popup Control *********************************************************

// ***** at_show_aux *****


		

function at_show_aux(parent, child)
{
  var p = document.getElementById(parent);
  var c = document.getElementById(child );
  var parentPos = findPos(p);
  
  c.style.position   = "absolute";
  c.style.left       = parentPos[0] + 'px';
  c.style.top        = parentPos[1] + 28 + 'px';
  c.style.visibility = "visible";
}

// ***** at_show *****

function at_show()
{
  var p = document.getElementById(this["at_parent"]);
  var c = document.getElementById(this["at_child" ]);

  at_show_aux(p.id, c.id);
  clearTimeout(c["at_timeout"]);
}

// ***** at_hide *****

function at_hide()
{
  var p = document.getElementById(this["at_parent"]);
  var c = document.getElementById(this["at_child" ]);

  c["at_timeout"] = setTimeout("document.getElementById('"+c.id+"').style.visibility = 'hidden'", 222);
}

// ***** at_click *****

function at_click()
{
  var p = document.getElementById(this["at_parent"]);
  var c = document.getElementById(this["at_child" ]);

  if (c.style.visibility != "visible") at_show_aux(p.id, c.id); else c.style.visibility = "hidden";
  return false;
}

// ***** at_attach *****

// PARAMETERS:
// parent   - id of the parent html element
// child    - id of the child  html element that should be droped down
// showtype - "click" = drop down child html element on mouse click
//            "hover" = drop down child html element on mouse over
// position - "x" = display the child html element to the right
//            "y" = display the child html element below
// cursor   - omit to use default cursor or specify CSS cursor name

function at_attach(parent, child, showtype, position, cursor)
{
  var p = document.getElementById(parent);
  var c = document.getElementById(child);

  p["at_parent"]     = p.id;
  c["at_parent"]     = p.id;
  p["at_child"]      = c.id;
  c["at_child"]      = c.id;
  p["at_position"]   = position;
  c["at_position"]   = position;

  c.style.position   = "absolute";
  c.style.visibility = "hidden";

  if (cursor != undefined) p.style.cursor = cursor;

  switch (showtype)
  {
    case "click":
      p.onclick     = at_click;
      p.onmouseout  = at_hide;
      c.onmouseover = at_show;
      c.onmouseout  = at_hide;
      break;
    case "hover":
      p.onmouseover = at_show;
      p.onmouseout  = at_hide;
      c.onmouseover = at_show;
      c.onmouseout  = at_hide;
      break;
  }
}

function findPos(obj) {
	var curleft = curtop = 0;
	
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;	
		} while (obj = obj.offsetParent);
	}
	
	return [curleft,curtop];
}

var currText = 0;
var color = 245;
var lastColor = 250;
var headlinesID = new Array();
var headlines = new Array();
var fadeInVar;
var fadeOutVar;

function fadingText(){
	
}

function fadeIn(){
	var fadingText = document.getElementById('fadingText');
	lastColor = color;
	color -= 5;

	if (color == -5){
		fadeOutVar = setTimeout("fadeOut()", 7000);	
	}else{
		//if ((lastColor - color) == 5) fadingText.style.color = "#" + d2h(color) + d2h(color) + d2h(color);
		fadeInVar = setTimeout("fadeIn()", 10);	
	}
}

function fadeOut(){
	var fadingText = document.getElementById('fadingText');
	lastColor = color;
	color += 5;	
	
	if (color == 225){		
		nextHeadline();		
		fadeInVar = setTimeout("fadeIn()", 10);
	}else{
		//if ((color - lastColor) == 5) fadingText.style.color = "#" + d2h(color) + d2h(color) + d2h(color);
		fadeOutVar = setTimeout("fadeOut()", 10);					
	}
}

function nextHeadline(){
	var fadingText = document.getElementById('fadingText');		
	
	if (currText == (headlines.length - 1)){
		currText = 0;	
	}else{
		currText++;	
	}
	
	fadingText.innerHTML = headlines[currText]+' - ' + headlinesID[currText];
}

function prevHeadline(){
	var fadingText = document.getElementById('fadingText');
	
	if (currText == 0){
		currText = (headlines.length - 1);
	}else{
		currText--;	
	}
	
	fadingText.innerHTML = headlines[currText]+' - ' + headlinesID[currText];
}

function d2h(d) {
	var hD="0123456789ABCDEF";
	var h = hD.substr(d&15,1);
	while (d>15){
		d >>= 4;
		h = hD.substr(d&15,1)+h;
	}

	return h;
}
function h2d(h) {return parseInt(h,16);} 

