Indeed API

by Alvin Olavarrieta

HTML

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
	<div class="container">
	
		<ul class="pagination"></ul>
	
		<div id="list"></div>
		
    
	</div>

JavaScript

$(function(){
	
	searchCall();
			
}); //end doc ready


//Search
function searchCall(start){
    
    $("#list").empty();
    
    var endpoint = 'http://api.indeed.com/ads/apisearch';
    var params = {
        'v': '2',
        'format': 'json',
        'publisher': '2698999922791168',
        'userAgent' : navigator.userAgent,
        'q': 'office',
        'l': 'miami, fl',
        'limit': '10',
        'start': start,
        'userip': '1.2.3.4',
        'jt': 'fulltime'
    };
    
    $.ajax({
        url: endpoint,
        dataType: 'jsonp',
        type: 'GET',
        data: params,
        success: function (response) {
            
            console.log(response);
            console.log(response.results);
            
            var target = $("#list");
            html = "";
            
            $.each(response.results, function(index, value) {
                html += "<div class='panel panel-default'>";
                html += "<div class='panel-heading'>";
                html += "<h3 class='panel-title'>"+ value.jobtitle +"</h3>";
                html += "</div>";
                html += "<div class='panel-body'>"+ value.snippet +"</div>";
                html += "</div>";
            });
            
            target.append( $(html) );
            
            var currentPage = response.pageNumber;
            var numPages = Math.ceil(response.totalResults / response.results.length);
            pagingControl(currentPage, numPages);
            
        }
    }); //end ajax
    
};//end search



//Pagination
function pagingControl (currentPage, numPages){
    $(".pagination").empty();
    
    var pagesCutOff = 5;
    var prevPosition = currentPage - pagesCutOff;
    var nextPosition = currentPage + pagesCutOff;
    
    console.log("Curent page: " + currentPage);
    console.log("Number of pages: " + numPages);
    console.log("pagesCutOff: " + pagesCutOff);
    console.log("prevPosition: " + prevPosition);
   ...