var json = null;
var itemsPerPage = 5;
var currentPage = 1;

new Ajax.Request('/ajax.php',
			{
				method: 'post',
				parameters: {c:'PortfolioController', m:'getAllProjects'},
				requestHeaders: {Accept: 'application/json'},
				onSuccess: function(transport) {
					json = window.eval('('+transport.responseText+')');
					populatePage(itemsPerPage);
					createPageLinks();
				},
				onFailure: function(transport) {
					alert('Could not retrieve data from the server');
				}
			}
);

function maelfbmis(elmt, evnt, func) {
  // maelfbmis == My Add Event Listener Function Because Microsoft Is Stupid
  if(elmt.addEventListener) {
    elmt.addEventListener(evnt, func, false);
  }
  // need to figure out how the hell IE sucks
}
function rollOver() {
  this.style.backgroundColor = '#1F1F1F'; 
}
function rollOut() {
  this.style.backgroundColor = '#000000';
}

function populatePage(items) {
	projectCont = document.getElementById("projectContainer");
	projectCont.innerHTML = '';
	
	items = items - itemsPerPage;
	for(i=items; (i<(itemsPerPage + items) && i<json.length); i++) {
		cont = document.createElement('div');
		cont.className = 'container';
		cont.id = json[i].project_id;
		maelfbmis(cont, 'mouseover', rollOver);
    	maelfbmis(cont, 'mouseout', rollOut);
		
		imgCont = document.createElement('div');
		imgCont.className = 'imageContainer';
		
		imgLink = document.createElement('a');
		url = '/portfolio/view/'+json[i].project_id;
		imgLink.href = url;
		
		img = document.createElement('img');
		splitFileName = json[i].image.split('\.');
		file = splitFileName[0] + '_thumb.' + splitFileName[1];
		img.src = '/app/view/resources/images/projects/'+file;
		
		imgLink.appendChild(img);
		imgCont.appendChild(imgLink);
		
		textCont = document.createElement('div');
		textCont.className = 'textContainer';
		
		title = document.createElement('div');
		title.className = 'newsTitle';
		
		titleLink = document.createElement('a');
		titleLink.href = url;
		titleLink.appendChild(document.createTextNode(json[i].name));
		
		title.appendChild(titleLink);
		
		text = document.createElement('div');
		text.className = 'news';
		text.appendChild(document.createTextNode(json[i].description));
		
		textCont.appendChild(title);
		textCont.appendChild(text);
		
		clear = document.createElement('div');
		clear.className = 'clear';
		
		cont.appendChild(imgCont);
		cont.appendChild(textCont);
		cont.appendChild(clear);
		
		projectCont.appendChild(cont);
		projectCont.appendChild(document.createElement('br'));
	}
}

function createPageLinks() {
  numPages = Math.round(json.length / itemsPerPage);
  cont = document.getElementById('projectsNav');
  for(i=1; (i<=numPages && numPages != 1); i++) {
    div = document.createElement('div');
    div.className = 'nav';
    div.id = 'page'+i;
    maelfbmis(div, 'mouseover', rollOver);
    maelfbmis(div, 'mouseout', rollOut);
    
    link = document.createElement('a');
    link.setAttribute('href', 'javascript:changeProjects('+i+')');
    link.innerHTML = i;
    
    div.appendChild(link);
    cont.appendChild(div);
  }
  clear = document.createElement('div');
  clear.className = 'clear';
  cont.appendChild(clear);
}

function changeProjects(page) {
  populatePage((page * itemsPerPage));
}

setCurrentPage('portfolio');