//###################################################################
//ADD ARTIST TO PLAYLIST
//###################################################################

function js_addArtistToPlaylist(vendors_id,customers_id) {

   var filename = "index.php?group=shop&class=ajax&task=add_artist_to_playlist&vendors_id=" + vendors_id + "&customers_id=" + customers_id;

   ajaxCallback = js_refreshPlaylist;

   ajaxRequest(filename);

   window.scrollTo(0,0);

   setTimeout("js_playlistFocus(" + vendors_id + ",1)", 300);

   //UNFOCUS BUTTON
   var button = document.getElementById('add_artist_playlist_button');
   button.blur();

}

//###################################################################
//ADD TRACK TO PLAYLIST
//###################################################################

function js_addToPlaylist(products_id) {

   var filename = "/index.php?group=shop&class=ajax&task=add_to_playlist&products_id=" + products_id;

   ajaxCallback = js_refreshPlaylist;

   ajaxRequest(filename);

   pageScroll();

   setTimeout("js_playlistFocus(" + products_id + ",0)", 300);

}

//###################################################################
//DELETE TRACK FROM PLAYLIST
//###################################################################

function js_delFromPlaylist(id,type) {

   if (type == 1) {
      var label = 'vendors_id';
   } else {
      var label = 'products_id';
   } 

   var filename = "/index.php?group=shop&class=ajax&task=del_from_playlist&" + label + "=" + id;

   ajaxCallback = js_refreshPlaylist;

   ajaxRequest(filename);

}

//###################################################################
//FOCUS ON PLAYLIST
//###################################################################
function js_playlistFocus(id,type) {

   var playlist_alert = document.getElementById('playlist_alert');

   if (playlist_alert) {

	   playlist_alert.style.display = 'block';

	   if (id != 0) {

		   var playlist_row = document.getElementById(type + '_pl_row_' + id);
                   if (playlist_row) playlist_row.style.background = '#eaf5cd';

	   }

	   setTimeout( "js_playlistUnFocus(" + id + "," + type + ")", 1500 );

   }

}

//###################################################################
//UNFOCUS PLAYLIST
//###################################################################
function js_playlistUnFocus(id,type) {

   var playlist_alert = document.getElementById('playlist_alert');
   playlist_alert.style.display = 'none';

   if (id != 0) {

	   var playlist_row = document.getElementById(type + '_pl_row_' + id);
	   if (playlist_row) playlist_row.style.background = 'white';

   }

}

//###################################################################
//CREATE AND START USER PLAYLIST
//###################################################################

function js_startUserPlayer() {

   var filename = "/index.php?group=shop&class=ajax&task=customer_playlist";

   ajaxCallback = js_openPlayer;

   ajaxRequest(filename);

}

//###################################################################
//OPEN PLAYER
//###################################################################

function js_openPlayer() {

var siteID = document.getElementById('site_id').value;

var customers_id = ajaxreq.responseXML.getElementsByTagName("playlist_ok")[0].childNodes[0].nodeValue;

if (customers_id) {

	var newwindow=window.open("http://www." + siteID + "/play/playerindex.php?userid=" + customers_id,"user_player","height=340,width=580,scrollbars=no");
	if (window.focus) {newwindow.focus()}
        return true;

} else {

        window.alert("There has been an error generating your player");

}

}

//###################################################################
//REFRESH PLAYLIST
//###################################################################
function js_refreshPlaylist() {

var response = ajaxreq.responseXML.getElementsByTagName("response")[0].childNodes[0].nodeValue;

if (response == 1) {

	var conf = window.confirm("You must be logged in to use your playlist. Would you like to login?");

        if (conf) {

           window.location="index.php?group=shop&class=mall&task=customer_login&subtask=form";

        }

        return;

} else {

	var mainTable = document.getElementById('playlist_table');
	var mainTbody = document.getElementById('playlist_tbody');
	if (mainTable) mainTable.removeChild(mainTbody);

	var newTbody = document.createElement("TBODY");
	newTbody.id = 'playlist_tbody';
	if (mainTable) mainTable.appendChild(newTbody);

	var tracknames = ajaxreq.responseXML.getElementsByTagName("trackname");
	var trackids = ajaxreq.responseXML.getElementsByTagName("trackid");
	var artistnames = ajaxreq.responseXML.getElementsByTagName("artistname");

        var label = true;
        var type = true;
        var type = true;

	for (i=0;i<tracknames.length;i++) {

            if (tracknames[i].childNodes[0].nodeValue == '*') {
               label = "<B>All Tracks</B>";
               type = 'artist';
               type = 1;
            } else {
               label = tracknames[i].childNodes[0].nodeValue;
               type = 'product';
               type = 0;
            }

	    var row = document.createElement("TR");
            row.id = type + '_pl_row_' + trackids[i].childNodes[0].nodeValue;
	    var cell1 = document.createElement("TD");
	    var cell2 = document.createElement("TD");

            if (tracknames[i].childNodes[0].nodeValue == '*') {
               label = "<B>All Tracks</B>";
               type = 'artist';
               del = 1;
            } else {
               label = tracknames[i].childNodes[0].nodeValue;
               type = 'product';
               del = 0;
            }
	    
	    cell1.innerHTML = "<A CLASS=boxtext HREF=?" + type + "=" + trackids[i].childNodes[0].nodeValue + ">" + label + "</A><BR>" + artistnames[i].childNodes[0].nodeValue;
	    cell2.innerHTML = "<A HREF=javascript:js_delFromPlaylist(" + trackids[i].childNodes[0].nodeValue + "," + del + ");><IMG SRC=images/drop.png BORDER=0></A>";

	    row.appendChild(cell1);
	    row.appendChild(cell2);
	    newTbody.appendChild(row);

	}

}

}

//###################################################################
//SET PRODUCT DELIVERY METHOD
//###################################################################

function js_setDelMethod(vendors_id) {

   var delivery_method = document.getElementById("method_" + vendors_id).selectedIndex;
   var delivery_method_id = document.getElementById("method_" + vendors_id).options[delivery_method].value;

   filename = "index.php?group=shop&class=ajax&task=set_delivery_method&vendors_id=" + vendors_id + "&delivery_method_id=" + delivery_method_id;

   ajaxCallback = js_getCart;

   ajaxRequest(filename);

   js_updateCart();

}
	
//###################################################################
//DELETE ITEM FROM CART
//###################################################################

function js_deleteFromCart(vendors_id,products_id) {

   filename = "index.php?group=shop&class=ajax&task=delete_from_cart&products_id=" + products_id + "&vendors_id=" + vendors_id;

   ajaxCallback = js_getCart;

   ajaxRequest(filename);

   js_updateCart();

}

//###################################################################
//UPDATE SESSION BASED CART
//###################################################################

function js_updateSessionCart(products_id,vendors_id) {

   var products_quantity = document.getElementById('products_quantity_' + products_id);

   if (!products_quantity) {
      quantity = 1;
   } else {
      quantity = products_quantity.value;
   }

   filename = "/index.php?group=shop&class=ajax&task=update_cart&products_id=" + products_id + "&vendors_id=" + vendors_id + "&products_quantity=" + quantity;

   ajaxCallbackcart = js_getCart;

   ajaxRequestCart(filename);

   js_getCart();

   //SCROLL PAGE UP TO CART
   pageScroll();

   //HIGHLIGHT CART
   setTimeout( "js_cartFocus()", 1500 );

   //UPDATE THE BACK BUTTON
   var button = document.getElementById("back_button");

   if (button) {
      button.href = 'javascript:history.go(-2)';
   }

}
//###################################################################
//FOCUS CART ALERT
//###################################################################
function js_cartFocus() {

   var c_alert = document.getElementById('cart_alert');

   c_alert.style.display = 'block';

   setTimeout( "js_cartUnFocus()", 2000 );

}
//###################################################################
//UNFOCUS CART ALERT
//###################################################################
function js_cartUnFocus() {

   var c_alert = document.getElementById('cart_alert');

   c_alert.style.display = 'none';

}
//###################################################################
//SCROLL PAGE ON HOME PAGE FOR CART UPDATES
//###################################################################
function pageScroll() {
    	window.scrollBy(0,-20); // horizontal and vertical scroll increments
	if (document.body.scrollTop == 0) {
		return;
	}
    	scrolldelay = setTimeout('pageScroll()',2); // scrolls every 100 milliseconds
}
//###################################################################
//GET VENDORS BY CATEGORY
//###################################################################

function js_getVendorsByCategory(category) {

   if (!category) {

      var ind1 = document.select_vendors_by_category.vendors_categories_id.selectedIndex;
      category_id = document.select_vendors_by_category.vendors_categories_id.options[ind1].value;

   } else {

      category_id = category;

   }

   filename = "index.php?group=shop&class=ajax&task=get_vendors_by_category_id&categories_id=" + category_id;

   ajaxCallback = js_displayVendors;

   ajaxRequest(filename);

}

//###################################################################
//DISPLAY VENDOR RESULTS
//###################################################################

function js_displayVendors() {

   var c_symbol = document.getElementById('c_symbol').value;

   var main = document.getElementById("vendor_results");
   var list = document.getElementById("vendor_results_list");
   main.removeChild(list);
   var list = document.createElement("DIV");
   list.id = "vendor_results_list";
   main.appendChild(list);

   vendors_id = ajaxreq.responseXML.getElementsByTagName("vendors_id");
   vendors_name = ajaxreq.responseXML.getElementsByTagName("vendors_name");
   vendors_images_filename = ajaxreq.responseXML.getElementsByTagName("vendors_images_filename");
   vendors_description = ajaxreq.responseXML.getElementsByTagName("vendors_description");
   vendors_zones = ajaxreq.responseXML.getElementsByTagName("vendors_zones");

   vendors_heading_div = document.createElement("DIV");
   vendors_heading_text = document.createTextNode('Artists:');
   vendors_heading_div.appendChild(vendors_heading_text);
   vendors_heading_div.id = "results_list_heading";
   vendors_heading_div.setAttribute('id','results_list_heading');
   list.appendChild(vendors_heading_div);

   for (i=0;i<vendors_name.length;i++) {

      if (vendors_images_filename[i].childNodes[0].nodeValue == 'vendor_default_image.jpg') vendors_images_filename[i].childNodes[0].nodeValue = 'vendor_default_image84.jpg';

       //CREATE MASTER TABLE
       var vendor_table_1 = document.createElement("TABLE");
       var vendor_table_1_body = document.createElement("TBODY");

       var vendor_table_1_row = document.createElement("TR");

       //COLUMN 1 WITH DATA
       var vendor_table_1_column_1 = document.createElement("TD");

       //COLUMN SPACER
       var vendor_table_1_column_spacer = document.createElement("TD");

       //COLUMN 2 WITH IMAGE
       var vendor_table_1_column_2 = document.createElement("TD");
       var vendor_table_1_column_2_image = document.createElement("IMG");
       vendor_table_1_column_2_image.id = 'vendor_image_' + vendors_name[i].childNodes[0].nodeValue;
       vendor_table_1_column_2_image.setAttribute('src','images/shops/' + vendors_images_filename[i].childNodes[0].nodeValue);
       vendor_table_1_column_2.appendChild(vendor_table_1_column_2_image);

       //TOP TABLE COLUMN 1 NAME, PRICE AND LINK
       var vendor_table_2 = document.createElement("TABLE");
       var vendor_table_2_body = document.createElement("TBODY");
       var vendor_table_2_row_1 = document.createElement("TR");

       var vendor_table_2_column_1 = document.createElement("TD");
       var vendor_name = document.createTextNode(vendors_name[i].childNodes[0].nodeValue);
       vendor_table_2_column_1.appendChild(vendor_name);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_1);

       var vendor_table_2_column_2 = document.createElement("TD");
       vendor_table_2_row_1.appendChild(vendor_table_2_column_2);

       var vendor_table_2_column_3 = document.createElement("TD");
       var vendor_table_2_column_3_link = document.createElement("A");
       vendor_table_2_column_3_link.setAttribute('href','index.php?group=shop&class=unit&task=unit_home&vendors_id=' + vendors_id[i].childNodes[0].nodeValue);
       var vendor_go = document.createTextNode("Go");
       vendor_table_2_column_3_link.appendChild(vendor_go);
       vendor_table_2_column_3.appendChild(vendor_table_2_column_3_link);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_3);

       vendor_table_2_body.appendChild(vendor_table_2_row_1);
       vendor_table_2.appendChild(vendor_table_2_body);

       //BOTTOM TABLE COLUMN 1 OTHER DATA
       var vendor_table_3 = document.createElement("TABLE");
       var vendor_table_3_body = document.createElement("TBODY");

       var vendor_table_3_row_1 = document.createElement("TR");
       var vendor_table_3_column_1 = document.createElement("TD");
       var vendor_desc = document.createTextNode(vendors_description[i].childNodes[0].nodeValue);
       vendor_table_3_column_1.appendChild(vendor_desc);
       vendor_table_3_row_1.appendChild(vendor_table_3_column_1);

       var vendor_table_3_row_2 = document.createElement("TR");
       var vendor_table_3_column_2 = document.createElement("TD");
       //var vendor_vendor = document.createTextNode(vendors_vendors_name[i].childNodes[0].nodeValue);
       //vendor_table_3_column_2.appendChild(vendor_vendor);
       vendor_table_3_row_2.appendChild(vendor_table_3_column_2);

       var vendor_table_3_row_3 = document.createElement("TR");
       var vendor_table_3_column_3 = document.createElement("TD");
       var vendor_zones = document.createTextNode('Deliveries to: ' + vendors_zones[i].childNodes[0].nodeValue);
       vendor_table_3_column_3.appendChild(vendor_zones);
       vendor_table_3_row_3.appendChild(vendor_table_3_column_3);

       vendor_table_3_body.appendChild(vendor_table_3_row_1);
       vendor_table_3_body.appendChild(vendor_table_3_row_2);
       vendor_table_3_body.appendChild(vendor_table_3_row_3);

       vendor_table_3.appendChild(vendor_table_3_body);

       //BUILD TABLES
       vendor_table_1_column_1.appendChild(vendor_table_2);
       vendor_table_1_column_1.appendChild(vendor_table_3);
       vendor_table_1_row.appendChild(vendor_table_1_column_1);
       vendor_table_1_row.appendChild(vendor_table_1_column_spacer);
       vendor_table_1_row.appendChild(vendor_table_1_column_2);

       vendor_table_1_body.appendChild(vendor_table_1_row);

       vendor_table_1.appendChild(vendor_table_1_body);

       //ADD MASTER TABLE
       list.appendChild(vendor_table_1);

       //SET ATTRIBUTES
       vendor_table_1.setAttribute("class", "results_list");
       vendor_table_1.setAttribute("className", "results_list");

       vendor_table_1_column_1.setAttribute("class", "results_list_column_1");
       vendor_table_1_column_1.setAttribute("className", "results_list_column_1");

       vendor_table_1_column_spacer.setAttribute("class", "results_list_column_spacer");
       vendor_table_1_column_spacer.setAttribute("className", "results_list_column_spacer");

       vendor_table_1_column_2.setAttribute("class", "results_list_column_2");
       vendor_table_1_column_2.setAttribute("className", "results_list_column_2");

       vendor_table_2.setAttribute("class", "results_list_left_column_t1");
       vendor_table_2.setAttribute("className", "results_list_left_column_t1");

       vendor_table_2_column_1.setAttribute("class", "results_list_vendor_name");
       vendor_table_2_column_1.setAttribute("className", "results_list_vendor_name");
       vendor_table_2_column_2.setAttribute("class", "results_list_vendor_price");
       vendor_table_2_column_2.setAttribute("className", "results_list_vendor_price");
       vendor_table_2_column_3.setAttribute("class", "results_list_vendor_link");
       vendor_table_2_column_3.setAttribute("className", "results_list_vendor_link");

       vendor_table_3.setAttribute("class", "results_list_left_column_t2");
       vendor_table_3.setAttribute("className", "results_list_left_column_t2");

       vendor_table_3_column_1.setAttribute("class", "results_list_vendor_desc");
       vendor_table_3_column_1.setAttribute("className", "results_list_vendor_desc");
       vendor_table_3_column_2.setAttribute("class", "results_list_vendor_vendor");
       vendor_table_3_column_2.setAttribute("className", "results_list_vendor_vendor");
       vendor_table_3_column_3.setAttribute("class", "results_list_vendor_zones");
       vendor_table_3_column_3.setAttribute("className", "results_list_vendor_zones");
   }

   if (vendors_id.length==0) {
       vendors_no_results = document.createElement("DIV");
       vendors_no_results.id = 'vendors_no_results_0';
       vendors_no_results.setAttribute('id','results_list_no_results');
       vendors_no_results.appendChild(document.createTextNode("No shops under this category"));
       list.appendChild(vendors_no_results);
   }     

}

//###################################################################
//DISPLAY BLOCKS OF PRODUCTS
//###################################################################
function js_displayProducts(s,f,t) {

for (x=s;x<=f;x++) {

    var product_table = document.getElementById("product_" + x + "_table");
    product_table.style.display = 'block';

}

y = s - 1;

for (x=y;x>0;x--) {

    var product_table = document.getElementById("product_" + x + "_table");
    product_table.style.display = 'none';

}

q = f + 1;

for (x=q;x<=t;x++) {

    var product_table = document.getElementById("product_" + x + "_table");
    product_table.style.display = 'none';

}

//CHANGE COLOR OF LINKS

//for (x=1;x<=t;x++) {

    //var link = document.getElementById("display_link_" + x);

    //if (link) {

      //link.setAttribute("class", "display_products_link");
      //link.setAttribute("className", "display_products_link");

    //}

//}

}
//###################################################################
//APPLY MEMBER NUMBER
//###################################################################
function js_applyMemberNumber(vendor_id) {

var member_number = document.getElementById("member_number_vendor_" + vendor_id).value;


if (member_number != '') {

   filename = "index.php?group=shop&class=ajax&task=apply_member_number&member_number=" + member_number;
	
   ajaxRequest(filename);

   js_getCart();

}

}

//###################################################################
//ADD EXTRA INFO IN CART
//###################################################################
function js_addExtraInfo() {

var i = document.getElementById("extra_info");

extra_info = document.extra_info_form.extra_info.value;

if (i) {

   filename = "index.php?group=shop&class=ajax&task=add_extra_info&extra_info=" + extra_info;
	
   ajaxRequest(filename);

   window.location = "index.php?group=shop&class=mall&task=checkout&subtask=pay";

}

}
//###################################################################
//SEND VOTE TO SERVER
//###################################################################
function js_battleVote(products_id,code) {

filename = "index.php?group=widget&class=ajax&task=battle_vote&products_id=" + products_id + "&code=" + code;

ajaxCallback = js_voteResult;

ajaxRequest(filename);

}

//###################################################################
//UPDATE TRACK APPLET AFTER VOTE
//###################################################################
function js_voteResult() {
 
var product = ajaxreq.responseXML.getElementsByTagName("product")[0].childNodes[0].nodeValue;

var loser = document.getElementById('loser' + product);
var winner = document.getElementById('winner' + product);
var title = document.getElementById('title' + product);
loser.style.visibility = 'hidden';
title.innerHTML = "<B>The Winner!</B><BR>";


}
//###################################################################
//GET DATA FOR 2 NEW TRACKS
//###################################################################
function js_getNewTracks() {

filename = "index.php?group=widget&class=ajax&task=battle_xml";

ajaxCallback = js_refreshVote;

ajaxRequest(filename);

}
//###################################################################
//REFRESH DOM FOR NEW TRACKS
//###################################################################
function js_refreshVote() {

var track0id = ajaxreq.responseXML.getElementsByTagName("track_id")[0].childNodes[0].nodeValue;
var track1id = ajaxreq.responseXML.getElementsByTagName("track_id")[1].childNodes[0].nodeValue;
var track0file = ajaxreq.responseXML.getElementsByTagName("track_file")[0].childNodes[0].nodeValue;
var track1file = ajaxreq.responseXML.getElementsByTagName("track_file")[1].childNodes[0].nodeValue;
var track0name = ajaxreq.responseXML.getElementsByTagName("track_name")[0].childNodes[0].nodeValue;
var track1name = ajaxreq.responseXML.getElementsByTagName("track_name")[1].childNodes[0].nodeValue;
var track0vendor = ajaxreq.responseXML.getElementsByTagName("track_vendor")[0].childNodes[0].nodeValue;
var track1vendor = ajaxreq.responseXML.getElementsByTagName("track_vendor")[1].childNodes[0].nodeValue;
var code = ajaxreq.responseXML.getElementsByTagName("code")[0].childNodes[0].nodeValue;

var tlink1 = document.getElementById('tracklink1');
var tlink2 = document.getElementById('tracklink2');
tlink1.href = '?product=' + track0id;
tlink2.href = '?product=' + track1id;

var loser1 = document.getElementById('loser1');
var loser2 = document.getElementById('loser2');
loser1.style.visibility = 'visible';
loser2.style.visibility = 'visible';

var title1 = document.getElementById('title1');
var title2 = document.getElementById('title2');
title1.innerHTML = "<B>Track 1</B><BR>";
title2.innerHTML = "<B>Track 2</B><BR>";

var vlink1 = document.getElementById('votelink1');
var vlink2 = document.getElementById('votelink2');
vlink1.href = "javascript:js_battleVote(" + track0id + ",'" + code + "')";
vlink2.href = "javascript:js_battleVote(" + track1id + ",'" + code + "')";

js_wimpyButton(track0file,'wimpyb0',0);
js_wimpyButton(track1file,'wimpyb1',1);

var name0 = document.getElementById('track0name');
name0.innerHTML = track0name;

var name1 = document.getElementById('track1name');
name1.innerHTML = track1name;

var vendor0 = document.getElementById('track0vendor');
vendor0.innerHTML = track0vendor;

var vendor1 = document.getElementById('track1vendor');
vendor1.innerHTML = track1vendor;

}

