prodListURL = "layout/ajax/prodList.php";
suppliersListURL = "layout/ajax/suppliersList.php";
newsListURL = "layout/ajax/newsList.php";
ordersListURL = "layout/ajax/ordersList.php";
categoriesValuesURL = "layout/ajax/categoriesValue.php";
purchasingInfoURL = "layout/ajax/purchasingInfo.php";
knowledgeListURL = "layout/ajax/knowledgeList.php";






var xhr;


function stripslashes(str)
{
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\0/g,'\0');
	str=str.replace(/\\\\/g,'\\');
	return str;
}

function loadList()
{
	
	
	if($("#mainContent .prodList").text() != "") 
	{
		listURL = prodListURL;
		listContent = "#mainContent .prodList-inner2";
		
		
	
	$(".filtersInfo").height($(".filters").height()-60);
	$(".filtersInfo div").css("top", $(".filters").height()/ 2 - 50);
	$(".filtersInfo div").css("left", 250);
	$(".filtersInfo").fadeIn(100);
	
		
	}
	else if($("#mainContent .suppliersList").text() != "")
	{
		listURL = suppliersListURL;
		listContent = "#mainContent .suppliersList-inner2";
	}
	else if($("#mainContent .newsListSp").text() != "")
	{
		listURL = newsListURL;
		listContent = "#mainContent .newsListSp-inner2";
	}
	else if($("#mainContent .ordersList").text() != "")
	{
		listURL = ordersListURL;
		listContent = "#mainContent .ordersList-inner2";
	}
	else if($("#mainContent .knowledgeListSp").text() != "")
	{
		listURL = knowledgeListURL;
		listContent = "#mainContent .knowledgeListSp-inner2";
	}

	$(listContent+'>ul').slideUp(300);
	setTimeout(function(){
						$(listContent).html('<div style="color: #fff; text-align:center">PROSZĘ CZEKAĆ, WCZYTUJĘ DANE</div>');
						$(".filtersInfo").fadeIn(100);
						
						$(listContent).load(listURL,{"formData":$('.filters form').serialize(), "pageNumber":$('.mainContentListNav input').val(), "numberOnPage":$('.mainContentListNav select').val()},
																					function(){
																									$(".filtersInfo").hide();	
																								   ini();
																								   $(listContent+'>ul').hide();
																								   setTimeout(function(){$(listContent+'>ul').slideDown(300);}, 50);
																								   $('.mainContentListNav .result span').text(itemsNumber);
																								   $('.mainContentListNav .pagesNumber').text( Math.ceil(parseFloat(itemsNumber) / parseFloat($('.mainContentListNav select:first').val())) );
																								   
																								   
																								   if(filters)
																								   {
																									   filters = stripslashes(filters);
																									   $('#mainContent .filtersItem-inner2').html(filters);
																									   bindFiltersAction();
																								   }
																								  
																								   
																								});
						}, 300);
	
}

function loadCategoriesValues()
{
	$.getScript(categoriesValuesURL+'?'+$('.filters form').serialize(), function(data) {
																		  // $('.result').html(data);
																		   showCategories(categoriesToView);
																		   $(".selectedFilters strong").text($('.filters select#suppliersList').children("option:selected").text());
																		   //alert(categoriesToView);
																		   });
}
function showCategories(categoriesToView)
{
	$('.mainCategories li').each(function()
										 {
											 $(this).find("ul").show();
											 $(this).find("ul").attr("display", "none");
											 for(i=0; i<categoriesToView.length; i++)
											{
												if($(this).attr("id") == "category"+categoriesToView[i])
												{
													$(this).removeClass("inactive");
													$(this).slideDown(250);
													break;
												}
												if(i==categoriesToView.length-1)
												{
													$(this).slideUp(250);
												}
											}
											$(this).find("ul").attr("display", "none");
										 });
	$('.mainCategories li ul').hide();
	$('.mainCategories li a').animate({backgroundPosition: '-230px 0px'}, 200).css('color', '#fff');
}

function isNumber(n) {
	return !isNaN(parseFloat(n)) && isFinite(n);
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function costCountProdList(inputObj)
{
	var inputVal = inputObj.val().replace(",", ".");
        var container = inputObj.closest(".addToCartModule"); 
	var pInfo = container.find(".pInfo").text().split("|");	
	var price = pInfo[0].replace(",", ".");
	var perPackage = pInfo[2].replace(",", ".") / pInfo[1].replace(",", ".");
	var type = pInfo[3];

	if($.trim(inputVal) == ''){
		inputVal = '0';
	}

	if(type == 'luzem'){
		if(!isNumber(inputVal)){
			alert("Nieprawidłowy format ilości.");
			cost = 0;
		}else{
			var cost = Math.round(((price * inputVal) / perPackage) * 100) / 100;
		}
	}else{
		if(inputVal.match(/^[0-9]*$/) === null){
			alert("Opakowania można kupować tylko w całości. Wpisz liczbę całkowitą.");
			inputVal = 0;
			cost = 0;
		}	
		else{
			var cost = Math.round((price * inputVal * perPackage) * 100) / 100;
		}
	}
	
	if(cost>0){
		cost = cost+'';
		var tmp = cost.split(".");
		if(tmp.length == 2 && tmp[1].length == 1){
			tmp[1] += '0';
			cost = tmp[0]+'.'+tmp[1];
		}
	}else{
            inputObj.val(cost);
        }
	
	cost += "";
	cost = cost.replace(".", ",")+" PLN";
	
	inputObj.closest(".addToCartModule").find(".actualCost").children("strong").text(cost);
	inputObj.closest(".addToCartModule").find(".actualCost").fadeIn(150);
}

function getPurchasingInfo(supplierID, productID, prodItem, ordering)
{
	 prodItem.addClass('active');
	 
	 prodItem.children(".addToCartModule").children(".purchasingInfo").fadeOut(100);
	 prodItem.children(".addToCartModule").children(".addToCartDetails").children(".number").fadeOut(100);
	 prodItem.children(".addToCartModule").children(".addToCartDetails").children("select").fadeOut(100);
	 prodItem.children(".addToCartModule").children(".addToCartDetails").children(".addToCartBtn").fadeOut(100);
	 
	setTimeout(function(){prodItem.children(".addToCartModule").children(".purchasingInfo").html("<ul class=\"loader\"><li>PROSZĘ CZEKAĆ<li><li>WCZYTUJĘ DANE</li></ul>");
																								 prodItem.children(".addToCartModule").children(".purchasingInfo").fadeIn(100);
						$.getScript(purchasingInfoURL+'?supplierID='+supplierID+'&productID='+productID+'&ordering='+ordering, function(data) {
																		  // $('.result').html(data);
																		   //showCategories(categoriesToView);
																		   //alert(prodItem);
																		  purchasingInfo = stripslashes(purchasingInfo);
																		  addToCartDetails = stripslashes(addToCartDetails);
																		  prodItem.children(".addToCartModule").children(".purchasingInfo").html(purchasingInfo);
																		  prodItem.children(".addToCartModule").children(".addToCartDetails").html(addToCartDetails);
																		  
														 				  prodItem.children(".addToCartModule").children(".addToCartDetails").children(".number").fadeIn(100);
														  				  prodItem.children(".addToCartModule").children(".addToCartDetails").children("select").fadeIn(100);
																		  prodItem.children(".addToCartModule").children(".addToCartDetails").children(".addToCartBtn").fadeIn(100);
																		  
																		  //$.each($('.addToCartDetails input'), function(){ $(this).change(function(){ alert($(this).html()) }) })
																		  $('.addToCartDetails input').keyup(function(){costCountProdList($(this))});
																		  $('.addToCartDetails input').focus( function(){$(this).val("");} )
																		  //$('.addToCartDetails select').change(function(){ $(this).closest(".addToCartDetails").find("input").val(""); });

																		  
																		  
																		  //$('body').text(addToCartDetails);
																		  //$(".addToCartBtn").click(function(){ viewAddToCartInfo($(this).closest(".prodItem"))});

																		   
																		   
																		   })}, 100);
}

function viewAddToCartInfo(addedProd)
{
	//addedProd.fadeOut(100).fadeIn(300);
	addedProd.prepend('<div class="addToCartInfo">PRODUKT ZOSTAŁ DODANY DO KOSZYKA</div>');
	addedProd.children(".addToCartInfo").fadeIn(100);
	setTimeout(function(){
		addedProd.children(".addToCartInfo").fadeOut(200);	
		setTimeout(function(){
							addedProd.children(".addToCartInfo").remove();
							}, 300);
	}, 1600);
	
	
	//alert("Produkt został dodany do koszyka.");
}

function changePage(whichSide)
{
	newPageNumber = parseFloat(whichSide);
	if(newPageNumber < parseFloat($('.mainContentListNav .pagesNumber:first').text()) && newPageNumber> 1)
	{
		$('.mainContentListNav input').val(newPageNumber);
		loadList();
	}
	else if(newPageNumber >= parseFloat($('.mainContentListNav .pagesNumber:first').text()) )
	{
		$('.mainContentListNav input').val($('.mainContentListNav .pagesNumber:first').text());
		if(prevPage != parseFloat($('.mainContentListNav .pagesNumber:first').text()) ) loadList();
	}
	else if( newPageNumber <= 1 )
	{
		$('.mainContentListNav input').val(1);
		if(prevPage != 1) loadList();
	}
	prevPage = parseFloat($('.mainContentListNav input').val());
}

var prevPage = 1;
function bindFiltersAction(isCategoriesList)
{
	$.each($('.prodList li.prodItem .addToCartModule .suppliersList'), function(){newSelect($(this))});
	makeFiltersRows();
	$.each($('.filters select'), function(){newSelect($(this))});
	
	if(!isCategoriesList) $('.filters select, .filters input').change(function(){
																			   if(!$(this).hasClass("valueRange")) 
																			   {
																				   $('.mainContentListNav input').val(1);loadList();
																			   }
																			   else
																			   {
																				   if(!$(this).next('select').val() == "")
																				   {
																				   		$('.mainContentListNav input').val(1);loadList();
																				   }
																			   }
																			   });
	else $('.filters select, .filters input').change(function(){loadCategoriesValues();})
	
	$('.prodItem .suppliersList').change(function(){
													  
													  if( $(this).val()=="" )
													  { 
													      $(this).parent().parent().removeClass('active');
														  $(this).parent().children(".purchasingInfo").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children(".number").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children("select").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children(".addToCartBtn").fadeOut(100);
													  }
													  else
													  {
														  getPurchasingInfo($(this).find("option:selected").attr("title"),$(this).closest(".prodItem").attr("title"), $(this).parent().parent(), $(this).find("option:selected").parent("optgroup").attr("title"));
													  }
													  }
											);
	
	
	
}

$(function()
	{
		$('.filters').prepend('<div class="filtersInfo"><div style="position:absolute;">PROSZĘ CZEKAĆ, WCZYTUJĘ DANE.</div></div>');
		
		$('.mainContentListNav .prevPage').click( function(){changePage(parseFloat($('.mainContentListNav input').val())-1);} );
		$('.mainContentListNav .nextPage').click( function(){changePage(parseFloat($('.mainContentListNav input').val())+1);} );
		$('.mainContentListNav input').click( function(){$(this).val("");} );
		$('.mainContentListNav input').keyup( function(){if($(this).val()!="") changePage($(this).val());} );
		$('.mainContentListNav input').blur( function(){$(this).val(prevPage);} )
		$('.mainContentListNav select').change( function(){$('.mainContentListNav input').val(1);$('.mainContentListNav select').val($(this).val());loadList();});
		
		$('.prodItem .suppliersList').change(function(){
													  
													  if( $(this).val()=="" )
													  { 
													      $(this).parent().parent().removeClass('active');
														  $(this).parent().children(".purchasingInfo").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children(".number").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children("select").fadeOut(100);
														  $(this).parent().children(".addToCartDetails").children(".addToCartBtn").fadeOut(100);
													  }
													  else
													  {
														  getPurchasingInfo($(this).find("option:selected").attr("title"),$(this).closest(".prodItem").attr("title"), $(this).parent().parent(), $(this).find("option:selected").parent("optgroup").attr("title"));
													  }
													  }
											);
		
		if($("#mainContent .prodList").text() != "" || $("#mainContent .suppliersList").text() != "" || $("#mainContent .newsListSp").text() != "" || $("#mainContent .ordersList").text() != "")
		{
			bindFiltersAction(false);
		} else if($("#mainContent .mainCategories").text() != "")
		{
			bindFiltersAction(true);
		}
		
		
				$('input.searchTerm').autocomplete("layout/ajax/searchTerms.php",{width:228,matchContains:true, max:14, //autoFill:true, 
										   formatItem: function(row, i, max) { 
												return row[0] + " <span class='category'>" + row[1] + "</span>"; 
											}, 
											formatMatch: function(row, i, max) { 
												return row[0]; 
											}, 
											formatResult: function(row) { 
												return row[0]; 
											}
										   });

		
	}
)
    
var t = null;   
function expand_rows(){
    $('.prodItem').each(function(){ 
        $(this).children('.prodItem-inner').animate({backgroundPosition: '-208px 0px'}, 120);
        $(this).children('.prodItem-inner').css('color', '#000');
        $(this).find('.addToCartModule').show(150);
        t = setTimeout("show_cost()",500);
    });

    $('.addToCartModule .suppliersList').change();
}
    
    
$().ready(function(){
    expand_rows();
});
  
  function show_cost(){
        $('select[name="units"]').change();
        clearTimeout(t);
    }
                
window.onload = function(){
   t = setTimeout("show_cost()",1000);
}

