tgProducts.init = function(){
	var startOffset, endOffset;
	startOffset = 1;	
	if(tgProducts.container.view1_ItemsPerPage_ > tgProducts.container.view2_ItemsPerPage_) {
		endOffset = tgProducts.container.view1_ItemsPerPage_ * tgProducts.container.pageBuffer;
	} else {
		endOffset = tgProducts.container.view2_ItemsPerPage_ * tgProducts.container.pageBuffer;	
	}
	tgProducts.container.loadProductsBySearchedTerms(startOffset, endOffset, function(){
		if(tgProducts.container.totalTGProducts > 0){																							  
			tgProducts.container.loadSubcontainers(function(){				
				tgProducts.container.initSortingLists();
				tgProducts.container.initTabs();
				tgProducts.container.showView(1);
			});
		} else {
			$('div.products-loading').html('No result found.');
		}
	});	
}

tgProducts.Container.prototype.loadSubcontainers = function(callBackFunction) {
	tgProducts.container.subContainers = new Object();

	tgProducts.container.subContainers['subContainer-active'] = new Object();	
	var activeSubcontainer = tgProducts.container.subContainers['subContainer-active'];
	activeSubcontainer.id = 'active';
	activeSubcontainer.name = 'Active';
	activeSubcontainer.displayOrder = 1;
	activeSubcontainer.itemCount = 0;
	activeSubcontainer.offset = 1;
	activeSubcontainer.items = new Object();
	activeSubcontainer.itemListByName = new Array();
	activeSubcontainer.itemListByDate = new Array();
	activeSubcontainer.itemListByPrice = new Array();
	
	tgProducts.container.subContainers['subContainer-archived'] = new Object();
	var archivedSubcontainer = tgProducts.container.subContainers['subContainer-archived'];
	archivedSubcontainer.id = 'archived';
	archivedSubcontainer.name = 'Archived';
	archivedSubcontainer.displayOrder = 2;
	archivedSubcontainer.itemCount = 0;
	archivedSubcontainer.offset = 1;
	archivedSubcontainer.items = new Object();
	archivedSubcontainer.itemListByName = new Array();
	archivedSubcontainer.itemListByDate = new Array();
	archivedSubcontainer.itemListByPrice = new Array();	
	
	var active_index=0;
	var archived_index=0;
	for(var key in tgProducts.container.tgProducts_){
		var item_ = key.toUpperCase();
		var tgProduct = tgProducts.container.tgProducts_[key];
		if(tgProduct.isActive){
			activeSubcontainer.itemListByName[active_index] = item_;
			activeSubcontainer.itemListByDate[active_index] = item_;
			activeSubcontainer.itemListByPrice[active_index] = item_;
			activeSubcontainer.itemCount = activeSubcontainer.itemCount + 1;
			active_index++;
		} else {			
			archivedSubcontainer.itemListByName[archived_index] = item_;
			archivedSubcontainer.itemListByDate[archived_index] = item_;
			archivedSubcontainer.itemListByPrice[archived_index] = item_;
			archivedSubcontainer.itemCount = archivedSubcontainer.itemCount + 1;
			archived_index++;
		}
	}
	callBackFunction();
}

tgProducts.Container.prototype.loadProductsBySearchedTerms = function(startOffset, endOffset, callBackFunction) {
	$.ajax({
		type: "GET",
		url: "data/getProductsBySearchedTermsAndCategory.aspx?regionId=" + regionId + "&productCategoryId=" + productCategoryId + "&searchedTerms=" + searchedTerms + "&filters=" + filters,
		dataType: "xml",
		success: function(xml) {
			var total_records = $(xml).find('totalRecords').text();
			tgProducts.container.setTotalTGProducts(total_records);
			$(xml).find('product').each(function(n){
				var id_text = trim($(this).attr('item').toUpperCase());
				var offset = $(this).attr('offset');
				//var name_text = (tgProducts.container.numTGProducts + 1) + " : " + $(this).find('name').text()
				var img_thumb = "product_images/" + $(this).find('img_thumb').text()
				//var name_text = offset + " : " + $(this).find('name').text();
				var name_text = $(this).find('name').text();
				var ecommerce = $(this).find('ecommerce').text() == 'True'? true: false;
				var displayprice = $(this).find('displayprice').text() == 'True'? true: false;
				var displayPrice = $(this).find('displayprice').text();
				var webPrice = $(this).find('web_price').text();
				var salePrice = $(this).find('sale_price').text();
				var stock = parseInt($(this).find('stock').text());
				var shoppingCartCode = trim($(this).find('cart_code').text());
				var entryDate = new Date($(this).find('entry_date').text());
				var isActive = $(this).find('active').text() == '1'? true: false;
				//var img_thumb = imgs[n%5];
				var product = tgProducts.container.createTGProduct({productId: id_text, productName: name_text, imgThumb: img_thumb, ecommerce: ecommerce, displayPrice: displayPrice, webPrice: webPrice, salePrice: salePrice, stock: stock, shoppingCartCode: shoppingCartCode, entryDate: entryDate, isActive: isActive});
				tgProducts.container.addTGProduct(product);
			}); //close each(
			callBackFunction();
		}
	}); //close $.ajax(		
}