var ct = 1;
var ab = null;
var af = 'lyrics';
var bc = '#0093FF';
var lc = '#EEEEEE';
var common = '/common/';
var defsearch = 'Search...';
var progressstopped = false;
var httpRequester = getHTTPRequestObject();

function getHTTPRequestObject() {
  var xmlHttpRequest;
  /*@cc_on
  @if (@_jscript_version >= 5)
  try {
    xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (exception1) {
    try {
      xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (exception2) {
      xmlHttpRequest = false;
    }
  }
  @else
    xmlhttpRequest = false;
  @end @*/
 
  if (!xmlHttpRequest && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlHttpRequest = new XMLHttpRequest();
    } catch (exception) {
      xmlHttpRequest = false;
    }
  }
  return xmlHttpRequest;
}

function art()
{
  var result = document.getElementById('artist');
  if (result==null) result = document.getElementById('artist'+ct);
  return result;
}

function alb()
{
  var result = document.getElementById('album');
  if (result==null) result = document.getElementById('album'+ct);
  return result;
}

function clickImg(aid)
{
  af=aid;
  var track = document.getElementById('t'+ct);
  var frm = document.getElementById('frm');
  switch (aid)
  {
    case 'video':
    {
      lyrics.bgColor = lc;
      video.bgColor = bc;
      buy.bgColor = lc;
      frm.src = common+'loading.html';
      frm.src = '/scripts/vf.php?artist='+art().innerHTML+'&song='+track.innerHTML;
      frm.scrolling = 'no';
      break;
    }
    case 'lyrics':
    {
      lyrics.bgColor = bc;
      video.bgColor = lc;
      buy.bgColor = lc;
      frm.src = common+'loading.html';
      frm.src = '/scripts/lf.php?artist='+art().innerHTML+'&song='+track.innerHTML;
      frm.scrolling = 'yes';
      break;
    }
    case 'buy':
    {
      lyrics.bgColor = lc;
      video.bgColor = lc;
      buy.bgColor = bc;
      frm.src = common+'loading.html';
      frm.src = '/scripts/framebuy.php?artist='+art().innerHTML+'&album='+alb().innerHTML+'&song='+track.innerHTML;
      frm.scrolling = 'no';
      break;
    }
  }
}

function hoverb(over)
{
  if (over) closeb.src=common+'closea.gif';
  else closeb.src=common+'closen.gif';
}

function closediv()
{
  document.getElementById('frm').src = common+'loading.html';
  adiv.style.visibility='hidden';
}

function getScrollY() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

function showdiv(track)
{
  ct = track.id.substr(1);
  trackname.innerHTML=ct+'. '+track.innerHTML;
  adiv.style.marginTop = -250+getScrollY();
  adiv.style.visibility='visible';
  checktrackbuttons();
  clickImg(af);
}

function checktrackbuttons()
{
  var i=ct;
  i++;
  if (document.getElementById('t'+i)==null) nextt.src=common+'nextd.gif';
  else
    if (ab==nextt) nextt.src=common+'nexta.gif';
    else nextt.src=common+'nextn.gif'
  if (ct==1) prevt.src=common+'prevd.gif';
  else
    if (ab==prevt) prevt.src=common+'preva.gif';
    else prevt.src=common+'prevn.gif'
}

function prevtrack()
{
  if (ct>1)
  {
    ct--;
    var track = document.getElementById('t'+ct);
    if (track!=null) trackname.innerHTML=ct+'. '+track.innerHTML;
    checktrackbuttons();
    clickImg(af);
  }
}

function nexttrack()
{
  ct++;
  var track = document.getElementById('t'+ct);
  if (track!=null) 
  {
    trackname.innerHTML=ct+'. '+track.innerHTML;
    checktrackbuttons();
    clickImg(af);
  }
  else ct--;
}

function hovert(button,over)
{
  if (over) ab = button;
  else ab = null;
  checktrackbuttons();
}

function hoverf(image,over)
{
  switch (image)
  {
    case lyricsicon:
    {
      if (over) lyrics.bgColor = bc;
      else
        if (af=='lyrics') lyrics.bgColor = 'gray';
        else lyrics.bgColor = lc;
      break;
    }
    case videoicon:
    {
      if (over) video.bgColor = bc;
      else
        if (af=='video') video.bgColor = 'gray';
        else video.bgColor = lc;
      break;
    }
    case buyicon:
    {
      if (over) buy.bgColor = bc;
      else
        if (af=='buy') buy.bgColor = 'gray';
        else buy.bgColor = lc;
      break;
    }
  }
}

function kd()
{
  if (event.keyCode == 27) closediv();
}


// color fading

function fadebg(end,steps,speed) {
  var startrgb,endrgb,er,eg,eb,step,rint,gint,bint,step;
  var target = top.window.document.body;
  var start = 'E0E0E0';
  steps = steps || 20;
  speed = speed || 20;
  clearInterval(target.timer);
  endrgb = colorConv(end);
  er = endrgb[0];
  eg = endrgb[1];
  eb = endrgb[2];
  if(!target.r) {
    startrgb = colorConv(start);
    r = startrgb[0];
    g = startrgb[1];
    b = startrgb[2];
    target.r = r;
    target.g = g;
    target.b = b;
  }
  rint = Math.round(Math.abs(target.r-er)/steps);
  gint = Math.round(Math.abs(target.g-eg)/steps);
  bint = Math.round(Math.abs(target.b-eb)/steps);
  if(rint == 0) { rint = 1 }
  if(gint == 0) { gint = 1 }
  if(bint == 0) { bint = 1 }
  target.step = 1;
  target.timer = setInterval( function() { animateColor(steps,er,eg,eb,rint,gint,bint) }, speed);
}

function animateColor(steps,er,eg,eb,rint,gint,bint) {
  var target = top.window.document.body;
  var color;
  if(target.step <= steps) {
    var r = target.r;
    var g = target.g;
    var b = target.b;
    if(r >= er) {
      r = r - rint;
    } else {
      r = parseInt(r) + parseInt(rint);
    }
    if(g >= eg) {
      g = g - gint;
    } else {
      g = parseInt(g) + parseInt(gint);
    }
    if(b >= eb) {
      b = b - bint;
    } else {
      b = parseInt(b) + parseInt(bint);
    }
    color = 'rgb(' + r + ',' + g + ',' + b + ')';
    target.style.backgroundColor = color;
    target.r = r;
    target.g = g;
    target.b = b;
    target.step = target.step + 1;
  } else {
    clearInterval(target.timer);
    color = 'rgb(' + er + ',' + eg + ',' + eb + ')';
    target.style.backgroundColor = color;
  }
}

function colorConv(color) {
  var rgb = [parseInt(color.substring(0,2),16), 
    parseInt(color.substring(2,4),16), 
    parseInt(color.substring(4,6),16)];
  return rgb;
}

function SFocus(input)
{
  if (input.value==defsearch) input.value = '';
}

function SBlur(input)
{
  if (input.value=='') input.value = defsearch;
}

function SChange(input)
{
  var btn = document.getElementById('gobutton');
  btn.disabled = (input.value=='' || input.value==defsearch);
}

function SDisable()
{
  var btn = document.getElementById('gobutton');
  btn.disabled = true;
  var input = document.getElementById('topinput');
  input.value = defsearch;
}

function Count() 
{
  if (!progressstopped)
  {
    var sp = top.document.getElementById("sprogress");
    sp.innerHTML = sp.innerHTML+".";
    setTimeout("Count()",200);
  }
}

function SearchLoad()
{
  progressstopped = true;
  var sp = top.document.getElementById("sprogress");
  sp.innerHTML = "";
  sp.style.visibility = "hidden";
  var sf = top.document.getElementById("sframe");
  sf.height=scontent.offsetHeight+6;
  sf.style.visibility="visible";
}

function VideoLoad(found) 
{
  if (found=1) 
  {
    var frm = top.document.getElementById("videoframe");
    frm.style.display = 'block';
  }
}

function LyricsLoad(found)
{
  if (found=1) 
  {
    var frm = top.document.getElementById("lyricsframe");
    frm.style.display = 'block';
  }
}

function InitPage()
{
}

function GetPrice()
{
  if (httpRequester) 
  {
    ct++;
    var trackitem = top.document.getElementById('track'+ct);
    if (trackitem!=null)
    {
      var track = trackitem.innerHTML;
      //httpRequester.open("POST","http://cdtrrracks.dailyrussianwords.com/scripts/gettrackdata.php?artist="+encodeURI(artist.innerHTML)+"&track="+encodeURI(track),true);
httpRequester.open("POST","http://cdtrrracks.com/scripts/gettrackdata.php?trackid="+trackitem.className,true);
      httpRequester.onreadystatechange = UpdatePrice;
      httpRequester.send(null);
    }
  }
}

function UpdatePrice()
{
 var result;
 result = 'n/a';
 var price = document.getElementById('price'+ct);
 if (price) 
 {
  if (httpRequester && httpRequester.readyState == 4) 
  {
    var trackitem = top.document.getElementById('track'+ct);
    if (trackitem) result = httpRequester.responseText;
    setTimeout("GetPrice(ct)",1000);
    price.innerHTML = result;
  }
 }
}

function LoadAlbum()
{
  SDisable();
  ct = 0;
  GetPrice();
}
