
var tnjava = new Array();
var dnjava = 0;
var tracknums = new Array();
var singlepass = new Array();
var discpass = 0;
var trackstore = new Array();
var commentstore = new Array();
var completestore = new Array();
var timestore = new Array();
var events = new Array();
var eventnumstore = new Array();


// window shade
function change(id){ 
  ID = document.getElementById(id); 
  
  if(ID.style.display == "") 
       ID.style.display = "none"; 
  else 
       ID.style.display = ""; 
 }


function addtrack(divObj,discnum) {

	// loop thru all tracks
	track=1;
	tempvar="D"+discnum+"T"+track;
	
	while(document.getElementsByName(tempvar)[0]){
		track = track+1;
		tempvar = "D"+discnum+"T"+track;
	}
	
	track=track-1;
	trackmaster=track;
	//alert(track);
	
	trackstore[discnum] = [];
	commentstore[discnum] = [];
	completestore[discnum] = [];
	timestore[discnum] = [];	
	eventnumstore[discnum] = [];


	for(track;track>0;track--){
		//create and assign
		tempvar="D"+discnum+"T"+track;
		trackstore[discnum][track]=document.getElementsByName(tempvar)[0].value;
		tempvarcomment="D"+discnum+"C"+track;
		commentstore[discnum][track]=document.getElementsByName(tempvarcomment)[0].value;
		tempvarcomplete="D"+discnum+"com"+track;
		completestore[discnum][track]=document.getElementsByName(tempvarcomplete)[0].checked;
		tempvartime="D"+discnum+"time"+track;
		timestore[discnum][track]=document.getElementsByName(tempvartime)[0].value;
		tempeventnum="D"+discnum+"event"+track;
		//eventnumstore[discnum][track]=document.getElementsByName(tempeventnum)[0].value;
	}

	
	tnjava[discnum] = ++tnjava[discnum];

	trackno = "D" + discnum + "N" + tnjava[discnum];
	trackname = "D" + discnum + "T" + tnjava[discnum];
	commentname = "D" + discnum + "C" + tnjava[discnum];
	completename = "D" + discnum + "com" + tnjava[discnum];
	timename = "D" + discnum + "time" + tnjava[discnum];
	eventname = "D" + discnum + "event" + tnjava[discnum];
	eventradio = "D" + discnum + "radio" + tnjava[discnum]; 

	//alert(discnum + "," + completename + "," + commentname + "," + timename);
	//alert(fontsize + "," + tnjava[discnum]);

	tmpvar = "<table><tr><td width = \"5\"><input type=\"Text\" size=\"1\" name=\"" + trackno + "\" value=\"" + tnjava[discnum] + "\"></td><td width = \"150\"><input type=\"Text\" size=\"20\" name=\"" + trackname + "\" value=\"\"></td><td width = \"5\"><input type=\"checkbox\" name=\"" + completename + "\" value=\"1\"Checked></td><td width = \"245\"><input type=\"text\" size=\"28\" name=\"" + commentname + "\"value=\"\"></td><td width = \"75\"><input type=\"text\" size=\"5\" name=\"" + timename + "\"value=\"\"></td>";
	// if more than one event.. dynamically build the events

	if (events.length > 2) {
		for (i=1; i < events.length; i++){
			tmpvar = tmpvar + "<td width = \"40\"><input type=\"radio\" name=\"" + eventname + "\" id=\"" + eventradio + "\" value=\"" + events[i] + "\"></td>";
		}
	} else {
		tmpvar = tmpvar + "<td width = \"40\"><input type=\"hidden\" name=\"" + eventname + "\" value=\"" + events[1] + "\"></td>";
	
	}
	tmpvar = tmpvar + "</tr></table>"
	divObj.innerHTML = divObj.innerHTML + tmpvar;

	discname = "DiscCount" + discnum;
	//alert(discname);
	if (singlepass[discnum] != 1){
		tracknums[discnum] = parseInt(document.getElementById(discname).value);
		singlepass[discnum] = 1;
	}
	//tmp = "Disc # "+discname+" has "+tracknums[discnum]+" tracks";
	//alert (tmp);
	tracknums[discnum] = tracknums[discnum] + 1;
	document.getElementById(discname).value = tracknums[discnum];
	
	for(track=trackmaster;track>0;track--){
		tempvar = "D"+discnum+"T"+track;
		document.getElementsByName(tempvar)[0].value = trackstore[discnum][track];
		tempvarcomment = "D"+discnum+"C"+track;
		document.getElementsByName(tempvarcomment)[0].value = commentstore[discnum][track];
		tempvarcomplete = "D"+discnum+"com"+track;
		document.getElementsByName(tempvarcomplete)[0].checked = completestore[discnum][track];
		tempvartime = "D"+discnum+"time"+track;
		document.getElementsByName(tempvartime)[0].value = timestore[discnum][track];
	}
		
} 

function adddisc(divObj) 
{ 

	dnjava = ++dnjava;
	//alert(dnjava);
	discmaster = dnjava;

	// go and save the track names for dnjava-1 to 1

	for(discnum=discmaster-1;discnum>0;discnum--){
		track = tracknums[discnum];
		trackstore[discnum] = [];
		commentstore[discnum] = [];
		completestore[discnum] = [];
		timestore[discnum] = [];
		
		for(track;track>0;track--){
			
			//create and assign
			tempvar="D"+discnum+"T"+track;
			trackstore[discnum][track]=document.getElementsByName(tempvar)[0].value;
			tempvarcomment="D"+discnum+"C"+track;
			commentstore[discnum][track]=document.getElementsByName(tempvarcomment)[0].value;
			tempvarcomplete="D"+discnum+"com"+track;
			completestore[discnum][track]=document.getElementsByName(tempvarcomplete)[0].checked;
			tempvartime="D"+discnum+"time"+track;
			timestore[discnum][track]=document.getElementsByName(tempvartime)[0].value;
			//alert("saving " + tempvar + ";"+trackstore[discnum][track]);
		}
	
	}
	
	
	
	divObj.innerHTML = divObj.innerHTML +"<p><br>Disc " + dnjava + "<input type=\"button\" value=\"Add Track\" onClick=\"addtrack(getElementById('divObj" + dnjava + "'),'" + dnjava + "')\"></p>";
	tmpvar = "<table><tr><td width = \"30\">No</td><td width = \"150\">Track Name</td><td width = \"5\">Cmplt?</td><td width = \"245\">Comments</td><td width = \"55\">Duration</td>";
	if (events.length > 1) {
		for (i=1; i < events.length; i++){
			tmpvar = tmpvar + "<td width = \"40\">" + events[i] + "</td>";
		}
	}	
	
	divObj.innerHTML = divObj.innerHTML + tmpvar;	
	divObj.innerHTML = divObj.innerHTML +"<div id=\"divObj" + dnjava + "\"></div>";	
	tnjava[dnjava] = 0;
	//alert("names1");
	outputname = "DiscCount" + dnjava;
	outputquery = tnjava[dnjava];
	divObj.innerHTML = divObj.innerHTML +"<input type=\"hidden\" id=\"" + outputname + "\" name=\"" + outputname + "\" value=\"" + outputquery + "\">";

	discname = "disc";
	if (discpass == 0){
		discjava = parseInt(document.getElementById(discname).value);
		discpass = 1;
	}
	if (isNaN(discjava)) {
		discjava = 1;
	}
	else {
	//alert("disc " + discjava + " has " + tracknums[discjava] + " tracks");
		discjava = discjava + 1;
	}
	document.getElementById(discname).value = discjava;


	// write tracks back
	for(discnum=discmaster-1;discnum>0;discnum--){
		for(track=tracknums[discnum];track>0;track--){
			
			tempvar = "D"+discnum+"T"+track;
			document.getElementsByName(tempvar)[0].value = trackstore[discnum][track];
			tempvarcomment = "D"+discnum+"C"+track;
			document.getElementsByName(tempvarcomment)[0].value = commentstore[discnum][track];
			tempvarcomplete = "D"+discnum+"com"+track;
			document.getElementsByName(tempvarcomplete)[0].checked = completestore[discnum][track];
			tempvartime = "D"+discnum+"time"+track;
			document.getElementsByName(tempvartime)[0].value = timestore[discnum][track];
			//alert("writing " + tempvar + ";"+trackstore[discnum][track]);
		}
	}

}   

function createRequestObject(){

	var req;
	if(window.XMLHttpRequest){
		//For Firefox, Safari, Opera
		req = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
		//For IE 5+
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		//Error for an old browser
		alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
	}
	return req;
}

//Make the XMLHttpRequest Object
var http = createRequestObject();
	
function sendRequest(method, url){
	//alert(method);
	if(method == 'get' || method == 'GET'){
		http.open(method,url,true);
		http.onreadystatechange = function() {
			handleResponse(url,method);
		}
		http.send(null);
	} else if (method == "got" || method == "GOT"){
		handleResponse(url,method);
	}
}

function handleResponse(url,method){
	//alert("Junebug!");
	if(method == "GOT" || method == "got"){
		//document.getElementById(event_no).innerHTML = null;
		//alert("got");
		BetterInnerHTML(event_no,null);
	} else if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		var equals = url.indexOf('=');
		var andsign = url.indexOf('&');
		var event_no = url.substring(equals + 1, andsign);
		if(response){
			//alert(response);
			document.getElementById(event_no).innerHTML = response;
		 	//BetterInnerHTML(event_no,response);
		}
	} 

}

function sendRequest2(method, url ,form){
	if(form != null){
		var equals = url.lastIndexOf('=');
		var andsign = url.lastIndexOf('&');
		var optionname = url.substring(andsign + 1, equals);
		if(optionname == 'country') {
			var countryIndex = form.country.selectedIndex;	
			var country = form.country.options[countryIndex].text;
			if(countryIndex > 0) {
				url = url+country;
			}
		} else if (optionname == 'locale1') {
			var locale1Index = form.locale1.selectedIndex;	
			var locale1 = form.locale1.options[locale1Index].text;
			if(locale1Index > 0) {
				url = url+locale1;
			}
		} else if (optionname == 'locale2') {
			var locale2Index = form.locale2.selectedIndex;	
			var locale2 = form.locale2.options[locale2Index].text;
			if(locale2Index > 0) {			
				url = url+locale2;
			}	
		} else if (optionname == 'venue_name') {
			var venue_nameIndex = form.venue_name.selectedIndex;	
			var venue_name = form.venue_name.options[venue_nameIndex].text;
			if(venue_nameIndex > 0) {			
				url = url+venue_name;
			}
		}
	}

	
	if(method == 'get' || method == 'GET'){
		//alert(url);		
		http.open(method,url,true);
		http.onreadystatechange = function() {
			handleResponse2(url,method);
		}
		http.send(null);
	} 
}

function handleResponse2(url,method){
	if(http.readyState == 4 && http.status == 200){
		//alert("readyState ="+http.readyState);
		//alert("httpState ="+http.status);
		var response = http.responseText;
		var equals = url.indexOf('=');
		var andsign = url.indexOf('&');
		var event_no = url.substring(equals + 1, andsign);
		//alert("event_no ="+event_no);
		//alert(response); 
		if(response){
			document.getElementById(event_no).innerHTML = response;
		}
	}
}
// BetterInnerHTML v1.15 - by Craig Buckler, http://www.optimalworks.net/
//function BetterInnerHTML(_1,_2,_3)	{function Load(_4){var _5;if(typeof DOMParser!="undefined"){_5=(new DOMParser()).parseFromString(_4,"application/xml");}else{var _6=["MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];for(var i=0;i<_6.length&&!_5;i++){try{_5=new ActiveXObject(_6[i]);_5.loadXML(_4);}catch(e){}}}return _5;}function Copy(_8,_9,_a){if(typeof _a=="undefined"){_a=1;}if(_a>1){if(_9.nodeType==1){var _b=document.createElement(_9.nodeName);for(var a=0,attr=_9.attributes.length;a<attr;a++){var _d=_9.attributes[a].name,aValue=_9.attributes[a].value,evt=(_d.substr(0,2)=="on");if(!evt){switch(_d){case "class":_b.className=aValue;break;case "for":_b.htmlFor=aValue;break;default:_b.setAttribute(_d,aValue);}}}_8=_8.appendChild(_b);if(evt){_8[_d]=function(){eval(aValue);};}}else{if(_9.nodeType==3){var _e=(_9.nodeValue?_9.nodeValue:"");var _f=_e.replace(/^\s*|\s*$/g,"");if(_f.length<7||(_f.indexOf("<!--")!=0&&_f.indexOf("-->")!=(_f.length-3))){_8.appendChild(document.createTextNode(_e));}}}}for(var i=0,j=_9.childNodes.length;i<j;i++){Copy(_8,_9.childNodes[i],_a+1);}}_2="<root>"+_2+"</root>";var _11=Load(_2);if(_1&&_11){if(_3!=false){while(_1.lastChild){_1.removeChild(_1.lastChild);}}Copy(_1,_11.documentElement);}}

function BetterInnerHTML(element, HTML, clearfirst) {

	// load the HTML as XML
	function Load(xmlString) {
		var xml;
		if (typeof DOMParser != "undefined") xml = (new DOMParser()).parseFromString(xmlString, "application/xml");
		else {
			var ieDOM = ["MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"];
			for (var i = 0; i < ieDOM.length && !xml; i++) {
				try { xml = new ActiveXObject(ieDOM[i]); xml.loadXML(xmlString); }
				catch(e) {}
			}
		}
		return xml; 
	}

	// recursively copy the XML into the DOM
	function Copy(domNode, xmlDoc, level) {

		if (typeof level == "undefined") level = 1;
		if (level > 1) {
	
			if (xmlDoc.nodeType == 1) {

				// element node
				var thisNode = document.createElement(xmlDoc.nodeName);

				// attributes
				for (var a = 0, attr = xmlDoc.attributes.length; a < attr; a++) {
					var aName = xmlDoc.attributes[a].name, aValue = xmlDoc.attributes[a].value, evt = (aName.substr(0,2) == "on");
					if (!evt) {
						switch (aName) {
							case "class": thisNode.className = aValue; break;
							case "for": thisNode.htmlFor = aValue; break;
							default: thisNode.setAttribute(aName, aValue);
						}
					}
				}

				// append node
				domNode = domNode.appendChild(thisNode);

				// attach event
				if (evt) domNode[aName] = function() { eval(aValue); };
			}
			else if (xmlDoc.nodeType == 3) {
				// text node
				
				var text = (xmlDoc.nodeValue ? xmlDoc.nodeValue : "");
				var test = text.replace(/^\s*|\s*$/g, ""); 
				if (test.length < 7 || (test.indexOf("<!--") != 0 && test.indexOf("-->") != (test.length - 3))) domNode.appendChild(document.createTextNode(text));
			}
		}

		// do child nodes
		for (var i = 0, j = xmlDoc.childNodes.length; i < j; i++) Copy(domNode, xmlDoc.childNodes[i], level+1);
	}

	// load the XML and copies to DOM
	HTML = "<root>"+HTML+"</root>";
	alert(HTML);
	var xmlDoc = Load(HTML);
	var test2 = document.getElementById(element); 
	if (test2 && xmlDoc) {
		if (clearfirst != false) while (test2.lastChild) test2.removeChild(test2.lastChild);
		Copy(test2, xmlDoc.documentElement);
	}
}

