﻿function loadHTML(fname)
{
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.open("GET",fname,false);
	xmlhttp.send(null);
	return xmlhttp;
}


function loadXMLDoc(fname)
{
        	    var xmlhttp = loadHTML(fname)
		    
	    try //Internet Explorer
 	    {
  			var compXML=new ActiveXObject("Microsoft.XMLDOM");
  			compXML.async="false";
  			compXML.loadXML(xmlhttp.responseText);
        }
		catch(e)
 		{
  			parser=new DOMParser();
  			var compXML=parser.parseFromString(xmlhttp.responseText,"text/xml");
  		}
		
		return(compXML);
}

var xmlData=loadXMLDoc("Page/data.xml");

//Load tumbs >>>
var xmlPics=loadXMLDoc("Page/images.xml");

function loadPics()
{

//picasa    
    var picFeed = xmlPics.getElementsByTagName("link");
    
    var HTMLCode = ""; 
    
    for(var a =0;a<picFeed.length; a++)
    {
        var AlbumLINK = picFeed[a].childNodes[0].nodeValue; //link to album

        HTMLCode += "<table id='" + AlbumLINK + "' onclick='OpenPicsLink(this.id)' >";
        HTMLCode += "<tr><th colspan=3>Album no." + (a + 1) + " <span>powered by</span> <img src='http://picasa.google.com/images/logo.jpg' /></th></tr>";
        var GetPicasaXML=loadXMLDoc("picasa_images.php?url=" + AlbumLINK);
//alert(loadHTML("getXML.php?url=" + AlbumLINK).responseText);

        var x = GetPicasaXML.getElementsByTagName("img");//.getElementsByTagName("url")
//alert(x.length);
        //var y = GetPicasaXML.getElementsByTagName("a");

//alert(y.length);

	var TDCode = "";
	var m = 1;

    for(var i =0;i<x.length; i++)
    {
	if(m>3)
	{
		TDCode +="</tr>";	
		m=1;	
	}

	if(m==1)
	{
		TDCode +="<tr>";
	}

	var PicURL = x[i].attributes.getNamedItem("src").value; 
	var PicLINK = x[i].attributes.getNamedItem("src").value;//GetPicasaXML[i].childNodes[0].nodeValue; 
	var PicTITLE = "";

	//if(y[i].hasChildNodes() )
	//{
	//	PicTITLE = y[i].childNodes[0].nodeValue;
	//}

  	TDCode += "<td><div class='hideover'><img title='" + PicTITLE + "' id='" + PicLINK + "' onmouseover='StartAnim(this.id)'  onmouseout='AnimOnMouseOut(this.id)'  src='" + PicURL + "' /></div></td>";

	m++;
    }

	if(m==1)
	{
		TDCode +="</tr>";
	}
    
    HTMLCode += TDCode + "</table>"; 
    
    }
    
    
    //alert(HTMLCode);
    document.getElementById("tumbs").innerHTML = HTMLCode;

//picasa                       
}

function hooverOnPics(obj)
{
    obj.setAttribute("src","Img/beatinspector0.png");
}

function hooverOffPics(obj)
{
    obj.setAttribute("src",obj.id);
}

function OpenPicsLink(url)
{
    window.open(url);
}
//Load tumbs <<<

var DjNo = 0;
var MixNo = null;

//Load Djs >>>
function GetNodeValue(obj,name)
{
    for(var i =0;i<obj.length; i++)
    {
        if (obj[i].nodeName == name)
        {
            return obj[i].childNodes[0].nodeValue;
        }
    }
    
    return null;
}

function clickDj(loaddj)
{
    document.getElementById("lppics" + DjNo).style.visibility = "hidden";
    
    DjNo = loaddj.id.replace("dj","");
    
    document.getElementById("lppics" + DjNo).style.visibility = "visible";

    MixNo = null;
    loadMix();
    //loadTrack();    
}

function loadDjs()
{
    var dataHold = xmlData.getElementsByTagName("dj");
    
    var HTMLCode = "<table>";   
        
    for(var i =0;i<dataHold.length; i++)
    {           
        if (i==0){document.getElementById("djpic").setAttribute("src",GetNodeValue(dataHold[i].childNodes,"pic"));}
       
        HTMLCode += "<tr id='dj" + i + "'>";
        
        HTMLCode += "<td id='lp" + i + "'><img src='Pics/lp.png' id='lppics" + i + "' style='visibility:hidden;' /></td>";
        
        HTMLCode += "<td class='DjOutMouse' onclick='clickDj(this.parentNode);' style='cursor:pointer;' onmouseover='ChangeClass(this)' onmouseout='ChangeClassOut(this)'>" + GetNodeValue(dataHold[i].childNodes,"name").toUpperCase() + "</td>";

        HTMLCode += "</tr>";
    }

    HTMLCode += "</table>"; 
    
    //alert(HTMLCode);
    document.getElementById("djs").innerHTML = HTMLCode;
    document.getElementById("lppics0").style.visibility = "visible";
    loadMix();
}
//Load Djs <<<
function ChangeClass(obj)
{
	//alert("ok");
	obj.className="DjOnMouse";
}

function ChangeClassOut(obj)
{
	//alert("ok");
	obj.className="DjOutMouse";
}
//Load Mix>>>
function clickMix(loadmix)
{
    MixNo = loadmix.id.replace("mix","");
    loadTrack();    
}

function loadMix()
{
    document.getElementById("djmix").innerHTML = ""; 
    document.getElementById("mixmaker").innerHTML = "";
    
    displayResult("djDetails","djdetails");
    var dataHold = xmlData.getElementsByTagName("dj")[DjNo];
    document.getElementById("mixmaker").innerHTML = "Mixes by: " + GetNodeValue(dataHold.childNodes,"name");
    
    document.getElementById("djpic").setAttribute("src",GetNodeValue(dataHold.childNodes,"pic"))
    
    dataHold = dataHold.getElementsByTagName("mix");
    
    var HTMLCode = "<table>";   
    for(var i =0;i<dataHold.length; i++)
    {
        HTMLCode += "<tr onclick='clickMix(this)' id='mix" + i + "' >";
        
        HTMLCode += "<td>" + GetNodeValue(dataHold[i].childNodes,"name") + "</td>";
        HTMLCode += "<td class='minutes'>" + GetNodeValue(dataHold[i].childNodes,"min") + " min.</td><td><img src='Pics/play.png' /></td>";

        HTMLCode += "</tr>";
    }

    HTMLCode += "</table>"; 

    document.getElementById("djmix").innerHTML = HTMLCode;
    //loadTrack();
}
//Load Mix <<<

//Load Track <<<
function loadTrack()
{ 
if(MixNo != null)
{
    var dataHold = xmlData.getElementsByTagName("dj")[DjNo];
    var DJName = GetNodeValue(dataHold.childNodes,"name");
    dataHold = dataHold.getElementsByTagName("mix")[MixNo]; 

    PlayMix(GetNodeValue(dataHold.childNodes,"file"));
    document.getElementById("nowplaying").innerHTML = "<marquee scrollamount='5'>Now playing: " + GetNodeValue(dataHold.childNodes,"name") + " by " +  DJName + "</marquee>"; 
     
    dataHold = dataHold.getElementsByTagName("track");
    
    HTMLCode = "<table>";   
        
    for(var i =0;i<dataHold.length; i++)
    {
        HTMLCode += "<tr>";
        
        HTMLCode += "<td>" + GetNodeValue(dataHold[i].childNodes,"name") + "</td>";
        HTMLCode += "<td>" + GetNodeValue(dataHold[i].childNodes,"time") + "</td>";

        HTMLCode += "</tr>";
    }

    HTMLCode += "</table>"; 

    //document.getElementById("tracklist").innerHTML = HTMLCode;
}
else
{
    //document.getElementById("tracklist").innerHTML = "";
}
}
//Load Track <<<


function loadElements(obj,dest)
{
     document.getElementById(dest).innerHTML = loadHTML(obj).responseText;
}

//Old

function displayResult(objxsl,dest)
{
var xml=xmlData.getElementsByTagName("dj")[DjNo];
var xsl=loadXMLDoc("http://www.handjob-records.com/Page/djDetails.xsl");
// code for IE
if (window.ActiveXObject)
  {
    ex=xml.transformNode(xsl);
    document.getElementById(dest).innerHTML=ex;
  }
  // code for Mozilla, Firefox, Opera, etc.
  else if (document.implementation
  && document.implementation.createDocument)
  {
    document.getElementById(dest).innerHTML="";
    xsltProcessor=new XSLTProcessor();
    xsltProcessor.importStylesheet(xsl);
    resultDocument = xsltProcessor.transformToFragment(xml,document);
    document.getElementById(dest).appendChild(resultDocument);
  }
}