var editing=0;
function formData2QueryString(docForm) {

  var submitContent = '';
  var formElem;
  var lastElemName = '';
  
  for (i = 0; i < docForm.elements.length; i++) {
    
    formElem = docForm.elements[i];
    switch (formElem.type) {
      // Text fields, hidden form elements
      case 'text':
      case 'hidden':
      case 'password':
      case 'textarea':
      case 'select-one':
        submitContent += formElem.name + '=' + escape(formElem.value) + '&'
        break;
        
      // Radio buttons
      case 'radio':
        if (formElem.checked) {
          submitContent += formElem.name + '=' + escape(formElem.value) + '&'
        }
        break;
        
      // Checkboxes
      case 'checkbox':
        if (formElem.checked) {
          // Continuing multiple, same-name checkboxes
          if (formElem.name == lastElemName) {
            // Strip of end ampersand if there is one
            if (submitContent.lastIndexOf('&') == submitContent.length-1) {
              submitContent = submitContent.substr(0, submitContent.length - 1);
            }
            // Append value as comma-delimited string
            submitContent += ',' + escape(formElem.value);
          }
          else {
            submitContent += formElem.name + '=' + escape(formElem.value);
          }
          submitContent += '&';
          lastElemName = formElem.name;
        }
        break;
        
    }
  }
  // Remove trailing separator
  submitContent = submitContent.substr(0, submitContent.length - 1);
  return submitContent;
}


function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(strURL,strSubmitContent) {
    http.open('POST', strURL, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleResponse;
    http.send(strSubmitContent);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		
		if(response == "denied")
		 document.getElementById('loading').innerHTML = "<span style=\"color:#FF0000\">incorrect login..</span>";
		else if(response == "granted"){
		 window.location = 'index.php';
		}
		else if(response == "activation"){
		 document.getElementById('loading').innerHTML = "<span style=\"color:#FF0000\">account requires activation<br>check email</span>";	
		}
		else{
		//update = response.split('|');
		window.location = response;
        //alert(response);
		}
    }
	else
	  document.getElementById('loading').innerHTML = "<span style=\"color:#0000FF\">loging in...</span>";
	  
}

function validateSubmit() {

	  var strSubmitContent = '';
	  strSubmitContent = formData2QueryString(document.forms['form1']);
	  sndReq('loginres.php', strSubmitContent);

}


function handleComments() {
	e = document.getElementById('comments');
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if(response == "nocomments"){
		 e.style.height = '30px';
		 document.getElementById('comments').innerHTML = "<span style=\"color:#FF0000\">no comments have been posted for this track.</span>";
		 //alert("not comments");
		}
		else{
		  update = response.split('|');
		  //window.location = response+".php";
		  //alert("comments about to be loaded!");
		  
		  e.style.height = update[1];
		  e.style.vAlign = 'top';
		  document.getElementById('comments').innerHTML = update[0];
		  
		  //e.style.height = '250px';
		  //document.getElementById('comments').innerHTML = response;
		  //document.getElementById('comments').innerHTML = "<span style=\"color:#FF0000\">comments to go here bloke!</span>";
		}
    }
	else{
	  //e.style.height = '30px';
	  //document.getElementById('comments').innerHTML = "<span style=\"color:#0000FF\">gettings comments!</span>";
	  if( parseFloat(e.style.height) != 30 ){
	    //alert(parseFloat(e.style.height)/2);
		e.style.vAlign = 'middle';
		document.getElementById('comments').innerHTML = "<div align='center'><img src='images/loading_comments.gif' align='absmiddle'>&nbsp;Loading comments...</div>";
	    //document.getElementById('comments').innerHTML = "<div align='center' style='margin-top:"+parseFloat(e.style.height)/2+"px;'><img src='images/loading_comments.gif' align='absmiddle'>&nbsp;Loading comments...</div>";
	  }
	}
}
var carttotal;
function handleShopping() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if(response == "empty"){		 
		 document.getElementById('cart').innerHTML = "<span style=\"color:#FF0000\">error, try again!</span>";
		 //alert("not comments");
		}
		else if(response.substring(0,9) == "duplicate"){
		  var update = response.split('|');
		 document.getElementById('cart').innerHTML = "<span style=\"color:#999999\">Track not added(already in cart)</span>";	
		}
		else if(response.substring(0,5) == "error"){
		  var update = response.split('|');
		  document.getElementById('cart').innerHTML = "<span style=\"color:#FF0000\">error, try again!</span>";
		}
		else{
		  var update = response.split('|'); 
		  document.getElementById('cart').innerHTML = "<span style=\"color:#999999\"><strong>"+update[0]+"</strong></span><span style=\"color:#f87f11\">&nbsp;added.</span>";
          document.getElementById('cart_item_update').innerHTML = update[1];
		  document.getElementById('cart_total_update').innerHTML = update[2];
		  document.getElementById('addto_'+update[3]).innerHTML = "<strong>In cart</strong>";
		  carttotal = update[1];
		}
    }
	else{
	    document.getElementById('cart').innerHTML = "<span style=\"color:#999999\">processing...</span>";
	}
}

function posthandleComments() {
e = document.getElementById('comments');
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if( response.substring(0,5) != "error" ){		 
		 //alert("Your comment has been posted, Thank you.");
		 document.getElementById('posting_updates').innerHTML = "<strong>Comment posted</strong>";
		 //alert(response);
		 update = response.split('|');
		 tmpHeight = parseFloat(update[1])+parseFloat(e.style.height);
		 	
		
		 if( parseFloat(e.style.height) != 30 )
		  document.getElementById('comments').innerHTML = update[0]+document.getElementById('comments').innerHTML;
		 else
		  document.getElementById('comments').innerHTML = update[0];
		  
		 e.style.height = tmpHeight;
		  
         document.forms['form1'].elements['leavecomment'].value = "";
		 enableCommentButton();
		}
		else{
		  update = response.split('|');
		  //alert("Comment did not work.. please try again!");
		  document.getElementById('posting_updates').innerHTML = "<strong>"+update[1]+"</strong>";
		  enableCommentButton();
		}
    }
	else{
	  document.getElementById('posting_updates').innerHTML = "<strong>Posting comment...</strong>";
	  document.forms['form1'].elements['postcomment'].disabled = true;
	}
}

function getComments(x,pageno) {

	var strSubmitContent = 'songid='+x;
    http.open('POST', 'commentres.php?page='+pageno, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleComments;
    http.send(strSubmitContent);

}

function postComments() {
    
	//if( document.forms['form1'].elements['leavecomment'].value == "" ){
   
    // alert("You must enter a comment to submit one!");
	//}
	//else{
	//alert( escape(encodeURI(document.forms['form1'].elements['leavecomment'].value)) );	
	//alert( escape(document.forms['form1'].elements['leavecomment'].value) );	
    var tmp_comment_srt = escape(encodeURI(document.forms['form1'].elements['leavecomment'].value));
	//alert(tmp_comment_srt);
	
	var strSubmitContent = 'songid='+document.forms['form1'].elements['songcomment'].value+'&userid='+document.forms['form1'].elements['usercomment'].value+'&comment='+tmp_comment_srt;	
    //var strSubmitContent = 'songid='+document.forms['form1'].elements['songcomment'].value+'&userid='+document.forms['form1'].elements['usercomment'].value+'&comment='+document.forms['form1'].elements['leavecomment'].value;
	 //var strSubmitContent = '2';
     http.open('POST', 'postcommentres.php', true);
	 http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     http.onreadystatechange = posthandleComments;
     http.send(strSubmitContent);
	//}	

}

function update_loginlink(id,bandurl){
	
  document.getElementById('bandlink').innerHTML = "<a href=\"login.php?band="+bandurl+"&id="+id+"\">login</a>";
  document.getElementById('bandlink_innap').innerHTML = "<a href=\"login.php?band="+bandurl+"&id="+id+"\">login</a>";
  document.getElementById('ratebandlink').innerHTML = "<a href=\"login.php?band="+bandurl+"&id="+id+"\">login</a>";
  document.getElementById('shoppinglogin').innerHTML = "<a href=\"login.php?band="+bandurl+"&id="+id+"\">login</a>";
  document.getElementById('friendlink').href = "login.php?band="+bandurl+"&id="+id;
	//alert("fwefasdfa");
}

function enableCommentButton(){
	  document.forms['form1'].elements['postcomment'].disabled = false;

}

function addMp3(x) {

	var strSubmitContent = 'songid='+x;
    http.open('POST', 'shoppingres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleShopping;
    http.send(strSubmitContent);

}

function removeFromCart(location, trackid) {

	var strSubmitContent = 'songid='+trackid+"&loc="+location;
    http.open('POST', '../basketres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleupdatebasket;
    http.send(strSubmitContent);

}

function handleupdatebasket() {

    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		
		if(response.substring(0,7) == "removed"){
		 var update = response.split('|');
		 var trackDetails = update[1].split(';');
		 document.getElementById('cartstatus').innerHTML = "Track: <strong>"+trackDetails[0]+"</strong> by <strong>"+trackDetails[1]+"</strong> removed!";
		 document.getElementById('cartstatus_holder').style.backgroundColor = '#CCCCCC';
		 var tmpRemove = 'trackinfo'+update[2];
		 var tmpfillerRemove = 'trackfiller'+update[2];
		 //alert(update);
		 document.getElementById('price_total').innerHTML = "<strong>$"+update[3]+"</strong>";
		 document.getElementById('global_cart').innerHTML = update[3];
		 document.getElementById('global_amount').innerHTML = document.getElementById('global_amount').innerHTML - 1;
		 
         var tr = document.getElementById(tmpRemove);
		 var tr2 = document.getElementById(tmpfillerRemove);
		 tr.parentNode.removeChild(tr);
		 tr2.parentNode.removeChild(tr2);

		}
		else{
		  //window.location = 'index.php?cartempty';
		  window.location = 'basket.php';
		}
    }
	else{
	  document.getElementById('cartstatus').innerHTML = "Removing track.... please wait...";
	}
}

function rateTrack(ratingID) {
	
	//alert("song id is "+ratingID);
    
	 var strSubmitContent = 'songid='+document.forms['rateform'].elements['songrating'].value+'&userid='+document.forms['rateform'].elements['userratingid'].value+'&rating='+ratingID;
	 //var strSubmitContent = '2';
     http.open('POST', 'ratetrackres.php', true);
	 http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     http.onreadystatechange = posthandleRating;
     http.send(strSubmitContent);
	

}

function posthandleRating() {

    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if(response.substring(0,7) == "granted"){
		 updatedResponse = response.split('|');
		 //alert("Thank you for rating this track!");
		 updateCurrentRating(updatedResponse[1],0);
		 document.getElementById('ratingStatus').innerHTML = '<br><strong>Voting complete. Thank you.</strong>';
		}
		//else{
		  //alert("Comment did not work.. please try again!");
		  //enableCommentButton();
		//}
    }
	else{
	  //document.forms['rateform'].elements['postcomment'].disabled = true;
	  document.getElementById('ratingStatus').innerHTML = '<br><strong>Processing rating...</strong>';
	}
}

var tmp_var_for_test=0;
function getRating(x) {
	tmp_var_for_test = x;
    //alert("am getting here!");
	var strSubmitContent = 'songid='+x;
    http.open('POST', 'rateres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleRating;
    http.send(strSubmitContent);

}

function handleRating() {

    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if(response.substring(0,6) == "result"){
		 //alert(response);
		 updatedResponse = response.split('|');
		  if(updatedResponse[1] > 0){
		    document.getElementById('ratingStatus').innerHTML = '<br>Current rating above.';
		  }
		  else{
		    document.getElementById('ratingStatus').innerHTML = '<br>Track not yet rated.';
		  }
		  if(updatedResponse[2] == 1){
			if(updatedResponse[3] == 1){  
		      updateCurrentRating(updatedResponse[1],1);
		      document.getElementById('ratingStatus').innerHTML = '<br>Rate this track, roll over the head phones above:';
			}
			else if(updatedResponse[3] == 2){
			  updateCurrentRating(updatedResponse[1],0);
		      document.getElementById('ratingStatus').innerHTML = '<br>You cannot rate your own tracks sorry.';
			}
			else{
			  updateCurrentRating(updatedResponse[1],0);
		      document.getElementById('ratingStatus').innerHTML = '<br>You have rated this song in the last 7 days.';
			}
		  }
		  else{
			updateCurrentRating(updatedResponse[1],0);
		    //document.getElementById('ratingStatus').innerHTML += '</strong></span>';
		  }
		}
	getComments(tmp_var_for_test, 1);
    }
	else{
	  //document.forms['rateform'].elements['postcomment'].disabled = true;
	  //alert("here");
	  document.getElementById('ratingStatus').innerHTML = '<br>getting rating...';
	}
}



function chartUpdate(genreID,resulttype) {
	
	//alert("song id is "+ratingID);
    
	 var strSubmitContent = 'genreid='+document.forms['rateform'].elements['songrating'].value+'&userid='+document.forms['rateform'].elements['userratingid'].value+'&rating='+ratingID;
	 //var strSubmitContent = '2';
     http.open('POST', 'ratetrackres.php', true);
	 http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     http.onreadystatechange = posthandleRating;
     http.send(strSubmitContent);
	

}

function updatetrans(location, trackid) {

	document.getElementById('downloadarea_'+location).innerHTML = "Downloading...";
	document.getElementById('downloadareaholder_'+location).style.color = "#FFFFFF";
	document.getElementById('downloadareaholder_'+location).style.backgroundColor = "#f87f11";
	
	window.location = 'http://bootlegmusic.com.au/processtransaction.php?id='+trackid;

}

function moveFiles(trackid) {
	   
	 var strSubmitContent = 'id='+trackid;

     http.open('POST', 'trackconvertres.php', true);
	 http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     http.onreadystatechange = posthandleConvert;
     http.send(strSubmitContent);
	

}

function posthandleConvert() {

    if(http.readyState == 4){
        var response = http.responseText;
        //alert(response);
		if(response != "error"){
		  //document.getElementById('ratingStatus').innerHTML = '<span style="color:#000000;"><strong>current rating below';
		  window.location = 'my_music.php';
		}
        else{
		    document.getElementById('convert_status').innerHTML = '<span style="color:#FF0000;">ERROR!!</span>';
		}

    }
	else{
	  //document.forms['rateform'].elements['postcomment'].disabled = true;
	  //document.getElementById('ratingStatus').innerHTML = '<span style="color:#FF0000;">getting rating!</span>';
	}	
	
}

function getnews(x,band) {

	var strSubmitContent = 'band='+band+'&id='+x;
    http.open('POST', 'newsupdateres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handlenews;
    http.send(strSubmitContent);

}

function handlenews() {

    if(http.readyState == 4){
        var response = http.responseText;
        //alert(response);
		if(response != "error"){
		  updated = response.split('|');
		  document.getElementById('news_results').innerHTML = updated[0];
		  document.getElementById('news_nav').innerHTML = updated[1];
		}


    }
	else{
	   document.getElementById('news_nav').innerHTML = '<span style="color:#FFFFFF;">Loading...</span>';
	  //document.forms['rateform'].elements['postcomment'].disabled = true;
	  //document.getElementById('ratingStatus').innerHTML = '<span style="color:#FF0000;">getting rating!</span>';
	}	
	
}

function addUser(id) {

	var strSubmitContent = 'id='+id;
    http.open('POST', 'addmemberres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handlefriend;
    http.send(strSubmitContent);

}

function handlefriend() {

    if(http.readyState == 4){
        var response = http.responseText;
        //alert(response);
		if(response == "requested"){
		  document.getElementById('friend_list').innerHTML = 'Friend requested';
		 for(i=0;i<=8;i++){
	     if( document.getElementById('add_friend_'+i) != null )
		  document.getElementById('add_friend_'+i).innerHTML = 'Requested';
	   }

		}else if(response == "added"){
		  document.getElementById('friend_list').innerHTML = 'Friend added';
		  for(i=0;i<=8;i++){
	     if( document.getElementById('add_friend_'+i) != null )
		  document.getElementById('add_friend_'+i).innerHTML = 'Added';
	   }
		}


    }
	else{
	   document.getElementById('friend_list').innerHTML = 'Requesting friend. Please wait...';
       for(i=0;i<=8;i++){
	     if( document.getElementById('add_friend_'+i) != null )
		  document.getElementById('add_friend_'+i).innerHTML = 'Requesting';
	   }
	  //document.forms['rateform'].elements['postcomment'].disabled = true;
	  //document.getElementById('ratingStatus').innerHTML = '<span style="color:#FF0000;">getting rating!</span>';
	}	
	
}

var currentFriendRequest;
function acceptFriend(id,accept) {
    
	currentFriendRequest = id;
	var strSubmitContent = 'id='+id+'&accept='+accept;

    http.open('POST', 'confirmmemberres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handleaccept;
    http.send(strSubmitContent);

}

function handleaccept() {

    if(http.readyState == 4){
        var response = http.responseText;
        //alert(response);
		if(response == "added"){
		  document.getElementById('acceptignore_'+currentFriendRequest).innerHTML = 'Friend added';

		}else{
		  update = response.split('|'); 
		  document.getElementById('frienddiv_'+currentFriendRequest).innerHTML = update[1]+'\'s friend request has been ignored';
		}


    }
	else{
	   document.getElementById('acceptignore_'+currentFriendRequest).innerHTML = 'Processing...';
	}	
	
}

var current_request_id;
function addFRequest(id) {
    
	current_request_id = id;
	var strSubmitContent = 'id='+id;
    http.open('POST', 'addmemberres.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.onreadystatechange = handlefrequest;
    http.send(strSubmitContent);

}

function handlefrequest() {

    if(http.readyState == 4){
        var response = http.responseText;
        //alert(response);
		if(response == "added"){
		  document.getElementById('friend_request_'+current_request_id).innerHTML = '<span style="color:#999999;">Added</span>';

		}else{
		  document.getElementById('friend_request_'+current_request_id).innerHTML = '<span style="color:#999999;">Requested</span>';
		}


    }
	else{
	   document.getElementById('friend_request_'+current_request_id).innerHTML = '<span style="color:#999999;">Processing</span>';
	}	
	
}