$(document).ready(function(){

});
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }
var products = new Array(); 
function productHtml(product)
{
	var html = ''; 
	html +=	'<div class="product_container">'; 
	html +=		'<a href="/product-details/'+product.id+'/">'; 
	html +=			'<img src="/uploads/thumbs_2/'+product.image+'" alt="listing" width="70" height="70" />'; 
	html +=			'<div class="product_text">';	
	html +=				'<p>'+product.title+'</p>';
	html +=			'</div>';
	html +=		'</a>';
	html +=	'</div>';
	return html;
}
function getProductsByCat(id)
{
	$.post('/ajax.products.php',{action:'getProductsByCat',id:id},function(data){
		products = data.data;
		displayProducts();
		
		$('#sub_thingy').stop(true,true).fadeOut();
		$('.sub_list.selected').stop(true,true).fadeOut().removeClass('selected');
		setTimeout(function(){
			$('#holder').animate({'marginLeft':'-595px'},'1000');
		},500);
		
	},'json');
}
function getProductsByCat_noanimation(id)
{
	$.post('/ajax.products.php',{action:'getProductsByCat',id:id},function(data){
		products = data.data;
		displayProducts();
		
	},'json');
}
function back()
{
	if (parseInt($('#pages').css('marginLeft'))<0)
	{
		$('#pages').animate({'marginLeft':'+=570'},'1000');
	}
	else
	{
		$('#holder').animate({'marginLeft':'0px'},'1000');
	}
	
		$('#products_holder a.more').not('.back').show();
}
function showPrev()
{
	$('#pages').animate({'marginLeft':'+=570'},'1000');
	
	if (parseInt($('#pages').css('marginLeft'))+570>=0)
		$('#products_holder a.more.back').hide();

	$('#products_holder a.more').not('.back').show();
}
function showMore()
{
	
	$('#pages').animate({'marginLeft':'-=570'},'1000');
	
	if (-parseInt($('#pages').css('marginLeft'))>=$('#pages').width()-(570*2))
		$('#products_holder a.more').not('.back').hide();
	
	$('#products_holder a.more.back').show();
}
function displayProducts()
{
	$('#products #pages div.page').remove();
	for(var i in products ){
		var curPage = Math.floor(i/9);
		if ($('#page_'+curPage).length==0)
			$('#products #pages').append('<div id="page_'+curPage+'" class="page" style="float:left; width:570px"></div>');
		$('#page_'+curPage).append(productHtml(products[i].data));
	}
	if (curPage!=0)
	{
		$('#products_holder a.more').not('.back').show();
	}
	$('#pages').animate({'marginLeft':'0'},'1000');
	$('#products #pages').css('width',570*(curPage+1));
}
function searchProducts(query)
{
	$.post('/ajax.products.php',{action:'searchProducts',query:query},function(data){
		products = data.data;
		displayProducts();
		
		$('#sub_thingy').stop(true,true).fadeOut();
		$('.sub_list.selected').stop(true,true).fadeOut().removeClass('selected');
		setTimeout(function(){
			$('#holder').animate({'marginLeft':'-595px'},'1000');
		},500);
		
	},'json');
}
function sortByDate()
{
	function cmp(a, b)
	{
	    var x = a.data.ts.toLowerCase();
	    var y = b.data.ts.toLowerCase();
	    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
	}
	products.sort(cmp);
	
	displayProducts();
}
function sortByCompany()
{
	function cmp(a, b)
	{
	    var x = a.data.company_id.toLowerCase();
	    var y = b.data.company_id.toLowerCase();
	    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
	}
	products.sort(cmp);
	displayProducts();
}
function sortByTitle()
{
	function cmp(a, b)
	{
	    var x = a.data.title.toLowerCase().trim();
	    var y = b.data.title.toLowerCase().trim();
	    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
	}
	products.sort(cmp);
	displayProducts();
}
