﻿// JScript File


var listTitle = [];
listTitle['hot'] = "Hot Playing Now";
listTitle['wnew']= "What's New";
listTitle['next']= "Next Video Requests";
listTitle['us'] = "United States Charts";
listTitle['eu'] = "Europe Charts";
listTitle['uk'] = "United Kingdom Charts";
listTitle['de'] = "Deutschland Charts";
listTitle['fr'] = "France Charts";
listTitle['es'] = "España Charts";
listTitle['it'] = "Italia Charts";
listTitle['nl'] = "Nederland Charts";
listTitle['br'] = "Brasil Charts";
listTitle['pt'] = "Portugal Charts";



function startYourEngines() {

  listSongs('hot');
  document.getElementById("txtComment").focus;  
  // loadComments();  
  importXML();  
}



function turn_off(cell) {
  if (document.images != null) {
  cell.style.backgroundImage = "none";
  }
}

function turn_on(cell) {
  if (document.images != null) {
    cell.style.backgroundImage = "url('" + buttonDown.src + "')";
  }
}




function textCounter(maxlimit) {
    var field = document.getElementById('txtComment')
    if (field.value.length > maxlimit)
      field.value = field.value.substring(0, maxlimit);
      // if too long... trim it! 
    else 
      document.getElementById('remLen').innerHTML = maxlimit - field.value.length;
     // otherwise, update 'characters left' counter
}



function listSongs(listName)
{
  var songlist = songLists[listName];

  if (songlist == null) {
    alert("There's no videos with that letter");
    return;  
  }  
    
  if(listName.substring(0,3) == 'art'){
    document.getElementById('listTitle').innerHTML = "Artists Letter " + listName.substring(4,3).toUpperCase();
  }
  else
  {    
    document.getElementById('listTitle').innerHTML = listTitle[listName];
  }
       
  for (var i = 0; i < songlist.length; i++)    
  { 
    var song = songlist[i];
  
    document.getElementById('artistName' + (i+1)).innerHTML = songArray[song][0];
    document.getElementById('songName' + (i+1)).innerHTML = songArray[song][1];
    document.getElementById('songLink' + (i+1)).href = getlink(song + '', songArray[song][0] + ' ' + songArray[song][1]);
  }

  for (var i = songlist.length; i < 12; i++)    
  { 
    document.getElementById('artistName' + (i+1)).innerHTML = '&nbsp;';
    document.getElementById('songName' + (i+1)).innerHTML = '&nbsp;';
    document.getElementById('songLink' + (i+1)).href = '#';
  }

}


function getlink(id, name) {
  while (id.length < 4)
    id = '0' + id;
  name=name.toLowerCase();
  name = name.replace(/ /g,'_');
  name = name.replace(/&/g,'');
  name = name.replace(/__/g,'_');
  return id + '_' + name + '_video_karaoke_lyrics.html';
}



var http_request = false;


function makePOSTRequest(url, parameters, handleFunction) {

  http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
     	// set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
  
  http_request.onreadystatechange = handleFunction;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}




function saveRequest(obj) {
  document.getElementById("requestButton").disabled = 'true';
  var poststr = "?request=" + encodeURI(document.getElementById("txtRequest").value ) +
                "&email=" + encodeURI( document.getElementById("txtEmail").value );
  makePOSTRequest('request.aspx' + poststr, '', alertRequest);
}



function alertRequest() {

  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        //alert(http_request.responseText);
        result = http_request.responseText;
        document.getElementById('requestForm').style.display = 'none';            
        document.getElementById('requestDone').style.display = 'block';
     } else {
        alert('There was a problem with the request.\nPlease try again later.');
     }
  }
}



function saveComment(obj) {
  document.getElementById("commentButton").disabled = 'true';
  var poststr = "?v=" + videoid + "&t=" + encodeURI( document.getElementById("txtComment").value ) +
                "&u=" + encodeURI( document.getElementById("txtUser").value );
  makePOSTRequest('comment.aspx' + poststr, '', alertContentsComment);
}



function alertContentsComment() {

  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        //alert(http_request.responseText);
        result = http_request.responseText;
        document.getElementById('commentForm').style.display = 'none';            
        document.getElementById('commentNew').style.display = 'block';
        document.getElementById("u5").innerHTML =  document.getElementById("txtUser").value;
        document.getElementById("d5").innerHTML = "now";
        document.getElementById("c5").innerHTML = document.getElementById("txtComment").value;
        
     } else {
        alert('There was a problem saving comment.\nPlease try again later.');
     }
  }
}



function removeSWFobject() {
  var newdiv = document.createElement("div");
  newdiv.innerHTML = "Hello World!";
  var flashdiv = document.getElementById("ytapiplayer");
  document.body.replaceChild(newdiv, flashdiv);
}




function importXML()
{
  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

  if (window.ActiveXObject)
	{
   xmlDoc.async="false"; 
   xmlDoc.onreadystatechange=function () {
			if (xmlDoc.readyState == 4)
		  	populateComments(xmlDoc.documentElement)
		};

    var videoid2 = videoid + '';
    while(videoid2.length<4)
      videoid2 = '0' + videoid2;

   xmlDoc.load("comments/K" + videoid2 + ".xml");

 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}

}



function verify() 
{ 
 if (xmlDoc.readyState != 4) 
 { 
   return false; 
 } 
}



function populateComments(xmlObj)
{
  if (xmlObj!=null)
  {
	  for (j=0;j<xmlObj.childNodes.length&&j<4;j++)
    {	
      document.getElementById("u"+(4-j)).innerHTML =  xmlObj.childNodes[j].attributes.getNamedItem("user").nodeValue
      document.getElementById("d"+(4-j)).innerHTML =  xmlObj.childNodes[j].attributes.getNamedItem("date").nodeValue
      document.getElementById("c"+(4-j)).innerHTML =  xmlObj.childNodes[j].firstChild.text;
    }  
  } 
}



