var productsXML;
var categoriesXML;
var currentCategory = null;
var currentProduct = null;
var currentCategoryText = '';
var txtViewDetails;
var txtInStock;
var txtOutOfStock;

/**
 *	extract a querystring paramter
 */

function parseURL(name)
{
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var tmpURL = window.location.href;
  var results = regex.exec( tmpURL );
  
  if( results == null ) {
    return "";
  }
  else {
    return results[1];
  }
}


//absolute path to use .com version
$(document).ready(function() {	
	$.ajax({
		url: "/vip/store/xml/categories.xml",
		success: function(data){ 
			categoriesXML = data; //store for later use
			$.ajax({
				url: "/vip/store/xml/products.xml",
				success: function(data){
					productsXML = data; //store for later use
						
					//store translations for later use
					txtViewDetails = $('translations',productsXML).find('view-details').text();
					txtInStock = $('translations',productsXML).find('in-stock').text();
					txtOutOfStock = $('translations',productsXML).find('out-of-stock').text();
					
					//parse url
					currentLevel = parseURL('level');

					//if we have a productID display product detail
					if (currentLevel != '') {
						buildProductList(currentLevel);
					}
				}
			 });
		 }
	 });
});





/**
 *	Build the list of products for the current category from the loaded XML
 */

function buildProductList(currentLevel)
{		
	var content = '<table class="products" id="productsTable">'; 
	var inCategory = false;
	$('product',productsXML).each(function(i) {
		level = $(this).find("level").text();
		productID = $(this).attr("id");

		if (level.indexOf(currentLevel) != -1) {
			thisLevel = true;
			var categories = $(this).find("categories").text();

			if (categories.indexOf(' ') != -1){ //we have a space
				var currentCategory = categories.substring(categories.indexOf('_')+1,categories.indexOf(' '));
			}
			else {
				var currentCategory = categories.substring(categories.indexOf('_')+1);
			}
			
			content = content + '<tr><td>';
			content = content + '<a href="../../store/index.html?cat=' + currentCategory + '&prod=' + productID + '">';
			content = content + '<img class="productImage" alt="' + $(this).find("name").text() + '"';
			content = content + ' src="http://www.pokerstars.com/vip/store/images/small/';
			
			//check for flash movie
			var imageName = $(this).find("imgpath").text();
			
			if (imageName.substring(imageName.lastIndexOf('.')+1) == 'swf') { //it's a flash movie
				content = content + imageName.substring(0,imageName.lastIndexOf('.')+1) + 'gif'; //show a gif thumbnail instead
			}
			else {
				content = content + imageName;
			}
			
			var txtLevel = $('translations',productsXML).find($(this).find("level").text()).text();
			
			content = content + '" /></a></td>';
			content = content + '<td><h3>' + $(this).find("name").text() + '</h3>';
			//substring the description to get an intro
			var description = $(this).find("description").text().substring(0,100);
			var shortDescription = description.substring(0,description.lastIndexOf(' '));
			content = content + shortDescription + ' ... <a href="../../store/index.html?cat=' + currentCategory + '&prod=' + productID + '" >';
			content = content + txtViewDetails + '&nbsp;&raquo;</a></td>';
			content = content + '<td class="fppLevel">' + $(this).find("price").text() + '<br />';
			content = content + '<img src="http://www.pokerstars.com/vip/store/images/';
			content = content + $(this).find("level").text() + '.gif" alt="' + txtLevel + '" /><br />';
			content = content + txtLevel + '</td>';
			content = content + '<td style="text-align:center;"><a href="../../store/index.html?cat=' + currentCategory + '&prod=' + productID + '">';
			content = content + '<img src="http://www.pokerstars.com/vip/store/images/view-details.gif" alt="' + txtViewDetails + '" /></a>';
			
			if ($(this).find("instock").text() != 'true') {	
				content += '<span class="stockOut">' + txtOutOfStock + '</span></td></tr>';
			}
			else {
				content += '<span class="stockIn">' + txtInStock + '</span></td></tr>';
			}
			
		}
	});
		
		if (thisLevel != false) {
			$("#store").html(content);					  
		}			
}
