/* JavaScript Copyright (C) 2006-2008 by Alexandru DIMA for Go4Celebrity.com. */
call_initI = true;
var w_columns = 4;
var w_rows = 3;
var w_page = 1;

function getPageCount(images, perpage) {
	if(images % perpage === 0) {
		return parseInt(images/perpage, 10);
	}
	return parseInt(images/perpage, 10) + 1;
}

function getPerPage(w_columns, w_rows) {
	return parseInt(w_columns * w_rows, 10);
}


function render_wallpapers(celebrity_name, celebrity_directory) {
	var w_perpage = getPerPage(w_columns, w_rows);
	var w_start = (w_page-1)*w_perpage;
	var w_stop = w_page*w_perpage;
	if(w_stop > I.length) {
		w_stop = I.length;
	}
	
	var txt = '';
	
	for(var i=w_start; i<w_stop; i++)
	{
txt+=
'<div class="wallpaper2">'+
'\t<div class="framed">'+
'\t\t<a target="_blank" href="'+image_url(I[i][I_name])+'">'+
'\t\t<img title="'+celebrity_name+' wallpaper" alt="'+celebrity_name+' wallpaper" width="150" height="112" src="'+image_thumb_src(celebrity_directory, I[i][I_file])+'"></a>' +'\t\t<div class="description">'+
'\t\t<a target="_blank" href="'+image_url(I[i][I_name])+'">'+celebrity_name+'</a> ('+I[i][I_width]+'x'+I[i][I_height]+')<br />'+rating(I[i][I_rating], I[i][I_votes])+ '\t\t </div>'+
 '\t\t</div>'+
'</div>';
	}
	
	var e = document.getElementById('wallpaperscontent');
	e.innerHTML = txt;
	
	e = document.getElementById('displaying');
	e.innerHTML = (w_start+1)+' to '+(w_stop)+' from a total of '+(I.length);
	
	e = document.getElementById('page');
	e.innerHTML = 'PAGE '+w_page+'/'+getPageCount(I.length, w_perpage);
}

function jump_to_page(form) {
	var e = form.jump_number;
	var page = e.value;
	
	var w_perpage = getPerPage(w_columns, w_rows);
	var w_count_pages = getPageCount(I.length, w_perpage);
	
	if(page >= 1 && page <= w_count_pages) {
		w_page = page;
		render_wallpapers(celebrity_name, celebrity_directory);
	}
	
	return false;
}

function goToFirstPage() {
	w_page = 1;
	render_wallpapers(celebrity_name, celebrity_directory);
}

function goToPreviousPage() {
	if(w_page > 1) {
		w_page --;
	}
	render_wallpapers(celebrity_name, celebrity_directory);
}

function goToNextPage() {
	var w_perpage = getPerPage(w_columns, w_rows);
	var w_count_pages = getPageCount(I.length, w_perpage);
	if(w_page < w_count_pages) {
		w_page ++;
	}
	render_wallpapers(celebrity_name, celebrity_directory);
}

function goToLastPage() {
	var w_perpage = getPerPage(w_columns, w_rows);
	w_page = getPageCount(I.length, w_perpage);
	render_wallpapers(celebrity_name, celebrity_directory);
}

function sortByDateDesc(a, b) {
	return b[I_timestamp] - a[I_timestamp];
}
function sortByDateAsc(a, b) {
	return a[I_timestamp] - b[I_timestamp];
}

function sortByRatingDesc(a, b) {
	if(b[I_rating] == a[I_rating]) {
		return b[I_downloads] - a[I_downloads];
	} else {
		return b[I_rating] - a[I_rating];
	}
}
function sortByRatingAsc(a, b) {
	if(b[I_rating] == a[I_rating]) {
		return a[I_downloads] - b[I_downloads];
	} else {
		return a[I_rating] - b[I_rating];
	}
}

function sortByDownloadsDesc(a, b) {
	return b[I_downloads] - a[I_downloads];
}
function sortByDownloadsAsc(a, b) {
	return a[I_downloads] - b[I_downloads];
}

function sortByWidthDesc(a, b) {
	return b[I_width] - a[I_width];
}
function sortByWidthAsc(a, b) {
	return a[I_width] - b[I_width];
}

function sortByIdDesc(a, b) {
	return b[I_id] - a[I_id];
}
function sortByIdAsc(a, b) {
	return a[I_id] - b[I_id];
}

function change_sortby(sel)
{
	var sortby = sel.value;
	if(sortby == 'rating_desc') {
		I = I.sort(sortByRatingDesc);
	} else if(sortby == 'rating_asc') {
		I = I.sort(sortByRatingAsc);
	} else if(sortby == 'date_desc') {
		I = I.sort(sortByDateDesc);
	} else if(sortby == 'date_asc') {
		I = I.sort(sortByDateAsc);
	} else if(sortby == 'downloads_desc') {
		I = I.sort(sortByDownloadsDesc);
	} else if(sortby == 'downloads_asc') {
		I = I.sort(sortByDownloadsAsc);
	} else if(sortby == 'width_desc') {
		I = I.sort(sortByWidthDesc);
	} else if(sortby == 'width_asc') {
		I = I.sort(sortByWidthAsc);
	} else {}
	
	var e = document.getElementById('sortedby');
	e.innerHTML = sel.options[sel.selectedIndex].text;
	
	render_wallpapers(celebrity_name, celebrity_directory);
}

function detect_columns() {
	var e = document.getElementById('wallpapers');
	var space = e.offsetWidth;
	var wallpaper_width = 180;
	var num_columns = parseInt(space/wallpaper_width, 10);
	
	w_columns = num_columns;
}

function initI() {
	detect_columns();
	I = I.sort(sortByRatingDesc);
	render_wallpapers(celebrity_name, celebrity_directory);
}