$(document).ready(function(){
	$("#search-div").hide();
	 var itemPerPage = 30;
	 var url = $("#home_url").val();
	 if(url.charAt(url.length - 1) == '/')
			url = url.substring(0,url.length-1);
		if(url.indexOf("#") > 0)
			url = url.substring(0,url.indexOf("#"));
		
	 var hash = "";
	function pageselectCallback(page_index, jq){
		
		var cat_href = $(".cat_link_active").attr("href");
		 var hash = window.location.hash.split('#')[1];
	     if(hash == '')
	     	hash = cat_href.split('#')[1];
	    
	     
		var limit = page_index*itemPerPage;
		var offset = itemPerPage;
		
		var form_data = {
				cat : hash,
				network : $("#nw_selector").val(),
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val(),
				limit : limit,
				offset: offset,
				ajax : '1'
		};
		$("#loading").fadeIn();
		$("#frontproducttable").hide();
		$("#mobi_table").hide();
		$("#vina_table").hide();
		$("#viettel_table").hide();
		$("#mobi_Pagination").hide();
		$("#vina_Pagination").hide();
		$("#viettel_Pagination").hide();
			$("#viettel_header").hide();
			$("#mobi_header").hide();
			$("#vina_header").hide();
		
		$("#Pagination").show();
		$.ajax({
			type: "POST",
			url: url+"/shopsim/filter",
			data: form_data,
			complete: function(msg){
				$("#frontproducttable").html(msg.responseText);
				$("#loading").fadeOut();
				$("#frontproducttable").fadeIn();
			}
		});
        return false;
    }
	function initPagination() {
		var cat_href = $(".cat_link_active").attr("href");
		 var hash = window.location.hash.split('#')[1];
	     if(hash == '')
	     	hash = cat_href.split('#')[1];
	     
        var num_entries = 0;
		var form_data = {
				cat : hash,
				network : $("#nw_selector").val(),
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val()
		};
        //get total number of entries
        $.ajax({
				type: "POST",
				url: url + "/shopsim/countFilter",
				data: form_data,
				complete: function(msg){
       	 			num_entries = msg.responseText;
       	 		// Create pagination element
       	         $("#Pagination").pagination(num_entries, {
       	         	items_per_page: itemPerPage,
	       	         num_edge_entries: 2,
	                 num_display_entries: 5,
       	             callback: pageselectCallback
       	         });
				}
        });
    }
	
	/*****************MOBIPHONE*******************************/
	function pageselectCallbackMobi(page_index, jq) {
		var limit = page_index*itemPerPage;
		var offset = itemPerPage;
		var form_data = {
				cat : -1,
				network : 1,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val(),
				limit : limit,
				offset: offset,
				ajax : '1'
		};
		$("#loading").fadeIn();
		$("#mobi_table").hide();
		$.ajax({
			type: "POST",
			url: url+"/shopsim/filter",
			data: form_data,
			complete: function(msg){
				$("#mobi_table").html(msg.responseText);
				$("#loading").fadeOut();
				$("#mobi_table").fadeIn();
			}
		});
        return false;
	}
	function initPaginationMobi() {
        var num_entries = 0;
		var form_data = {
				cat : -1,
				network : 1,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val()
		};
        //get total number of entries
        $.ajax({
				type: "POST",
				url: url + "/shopsim/countFilter",
				data: form_data,
				complete: function(msg){
       	 			num_entries = msg.responseText;
       	 		// Create pagination element
       	         $("#mobi_Pagination").pagination(num_entries, {
       	         	items_per_page: itemPerPage,
	       	         num_edge_entries: 2,
	                 num_display_entries: 5,
       	             callback: pageselectCallbackMobi
       	         });
				}
        });
    }
	/*****************VINAPHONE*******************************/
	function pageselectCallbackVina(page_index, jq) {
		var limit = page_index*itemPerPage;
		var offset = itemPerPage;
		var form_data = {
				cat : -1,
				network : 2,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val(),
				limit : limit,
				offset: offset,
				ajax : '1'
		};
		$("#loading").fadeIn();
		$("#vina_table").hide();
		$.ajax({
			type: "POST",
			url: url+"/shopsim/filter",
			data: form_data,
			complete: function(msg){
				$("#vina_table").html(msg.responseText);
				$("#loading").fadeOut();
				$("#vina_table").fadeIn();
			}
		});
        return false;
	}
	function initPaginationVina() {
        var num_entries = 0;
		var form_data = {
				cat : -1,
				network : 2,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val()
		};
        //get total number of entries
        $.ajax({
				type: "POST",
				url: url + "/shopsim/countFilter",
				data: form_data,
				complete: function(msg){
       	 			num_entries = msg.responseText;
       	 		// Create pagination element
       	         $("#vina_Pagination").pagination(num_entries, {
       	         	items_per_page: itemPerPage,
	       	         num_edge_entries: 2,
	                 num_display_entries: 5,
       	             callback: pageselectCallbackVina
       	         });
				}
        });
    }
	/*****************VIETTEL*******************************/
	function pageselectCallbackViettel(page_index, jq) {
		var limit = page_index*itemPerPage;
		var offset = itemPerPage;
		var form_data = {
				cat : -1,
				network : 3,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val(),
				limit : limit,
				offset: offset,
				ajax : '1'
		};
		$("#loading").fadeIn();
		$("#viettel_table").hide();
		$.ajax({
			type: "POST",
			url: url+"/shopsim/filter",
			data: form_data,
			complete: function(msg){
				$("#viettel_table").html(msg.responseText);
				$("#loading").fadeOut();
				$("#viettel_table").fadeIn();
			}
		});
        return false;
	}
	function initPaginationViettel() {
        var num_entries = 0;
		var form_data = {
				cat : -1,
				network : 3,
				price : $("#price_selector").val(),
				type : $("#type_selector").val(),
				key : $("#search_box").val()
		};
        //get total number of entries
        $.ajax({
				type: "POST",
				url: url + "/shopsim/countFilter",
				data: form_data,
				complete: function(msg){
       	 			num_entries = msg.responseText;
       	 		// Create pagination element
       	         $("#viettel_Pagination").pagination(num_entries, {
       	         	items_per_page: itemPerPage,
	       	         num_edge_entries: 2,
	                 num_display_entries: 5,
       	             callback: pageselectCallbackViettel
       	         });
				}
        });
    }
	
	function validateKey(key) 
	{
		if(key=="")
			return true;
		else 
		if(key.indexOf('%')>=0 || key.indexOf('#')>=0 || key.indexOf('`')>=0 || key.indexOf(':')>=0 || 
				key.indexOf('$')>=0 || key.indexOf('&')>=0 || key.indexOf('%')>=0 || key.indexOf('^')>=0)
		{
			alert('Bạn đã nhập vào ký tự không hợp lệ, vui lòng nhập lại!');
			return false;
		}
		
		return true;
		
	}
	
	if(hash)
		initPagination();
	else {
		initPaginationMobi();
		initPaginationVina();
		initPaginationViettel();
	}
	
	$("#filter_form").submit(function(event){
			event.preventDefault();
			if(!validateKey($("#search_box").val()))
				return false;
			//we deactivate submit button while sending
			$("#submit_filter").attr({ disabled:true, value:"Sending..." });
			$("#submit_filter").blur();
			
			initPagination();
			
			$("#submit_filter").attr({ disabled:false, value:"Lọc Dữ Liệu" });
			return false;
	});
	
	$("#resetBtn").click(function(event){
			$("#filter_form").get(0).reset();
			initPagination();
			
			$("#submit_filter").attr({ disabled:false, value:"Lọc Dữ Liệu" });
		return false;
	});
	$(".cat_link").click(function(event){
		window.location.href = url + "/shopsim#" + $(this).attr("href").split('#')[1];
		$(".cat_link_active").attr("class","cat_link");
		$(".cat_active").attr("class","cat_inactive");
		
		$(this).attr("class", "cat_link_active");
		$(this).parent().attr("class","cat_active");
		
		initPagination();
		return false;
	});
	
	$(".cat_link_active").click(function(event){
		window.location.href = url + "/shopsim#" + $(this).attr("href").split('#')[1];
		$(".cat_link_active").attr("class","cat_link");
		$(".cat_active").attr("class","cat_inactive");
		$(this).attr("class", "cat_link_active");
		$(this).parent().attr("class","cat_active");
		
		initPagination();
		$("#submit_filter").attr({ disabled:false, value:"Lọc Dữ Liệu" });
	return false;
	});
});
