
// get value of parameter from URL
function getUrlParam(name) { 
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) {
		return "";
	} else {
		return results[1];
	}
}

// build gallery page content
function buildGalleryPage() {

	var code='';
	winnersTemplate=document.getElementById("winners").innerHTML;
	entriesTemplate=document.getElementById("entries").innerHTML;
	document.getElementById("winners").innerHTML="";
	document.getElementById("entries").innerHTML="";
	var numPages=Math.ceil(entries.length/perPage);
	var currPage=getUrlParam("page");
	if (currPage.length<1 || currPage<1 || currPage>numPages) { 
		currPage=1; 
	}	
	for (i=0 ; i<winners.length ; i++) {
		code=winnersTemplate.replace("[[FIRSTNAME]]",winners[i][1]);
		code=code.replace("[[CITY]]",winners[i][2]);
		code=code.replace("[[PROVINCE]]",winners[i][3]);		
		code=code.replace("[[DETAILS]]",winners[i][4]);		
		code=code.replace("[[DATE]]",winners[i][5]);				
		code=code.replace("[[EXTRA]]",winners[i][6]);				
		code=code.replace("[[ID]]",winners[i][0]);				
		document.getElementById("winners").innerHTML+=code;
		if (winners[i][6].length>0) {
			document.getElementById("extra"+winners[i][0]).style.display="block";
		}		
	}
	if (!winners.length) {
		document.getElementById("winnersHeading").style.display="none";
		document.getElementById("winners").style.display="none";			
	} else {
		document.getElementById("winners").style.display="block";	
	}
	var first=(currPage-1)*perPage;
	var last=first+perPage;
	if (last>entries.length) {
		last=entries.length;
	}
	for (i=first ; i<last ; i++) {
		code=entriesTemplate.replace("[[FIRSTNAME]]",entries[i][0]);
		code=code.replace("[[CITY]]",entries[i][1]);
		code=code.replace("[[PROVINCE]]",entries[i][2]);
		code=code.replace("[[DETAILS]]",entries[i][3]);		
		code=code.replace("[[DATE]]",entries[i][4]);				
		document.getElementById("entries").innerHTML+=code;		
	}
	if (entries.length==0) {
		document.getElementById("entries").innerHTML="<p>There are no entries in this gallery.</p>";			
	}	
	document.getElementById("entries").style.display="block";	
	var pagination="Page ";
	for (i=1 ; i<=numPages ; i++) {
		if (i==currPage) {
			pagination+=i+" | ";
		} else {
			pagination+='<a href="gallery.html?page='+i+'">'+i+"</a> | ";			
		}
	}
	pagination+="X";
	pagination=pagination.replace(" | X","");
	document.getElementById("pagination").innerHTML=pagination;
}
var winnersTemplate='';
var entriesTemplate='';


// show individual image from URL
function showImage() {
	
	var backlink=document.referrer;
	if (backlink.indexOf("gallery.html")==-1) {
		backlink="gallery.html";
	}

	var img=getUrlParam("img");
	if (!img.length) {
		document.getElementById("content").innerHTML='<p>Image not found.</p><p>&laquo; <a href="' + backlink + '">Return to gallery</a></p>';
		return;
	}
	var found=0;
	for (var i=0 ; i<entries.length ; i++) {		
		if (entries[i][3].indexOf(img)>-1) {
			found=1;
			break;	
		}
	}
	var offset=0; 
	if (!found) { // if match not found in entries, check winners array
		entries=winners.slice(0);
		for (i=0 ; i<entries.length ; i++) {		
			if (entries[i][4].indexOf(img)>-1) {
				found=1;
				offset=1; // accommodates for fact that winners array has one extra element at beginning
				break;	
			}
		}		
	}
	if (!found) {
		document.getElementById("content").innerHTML='<p>Image details not found.</p><p>&laquo; <a href="' + backlink + '">Return to gallery</a></p>';
		return;		
	}
	// remove any images/thumbs/links from details before display
	var details=entries[i][3+parseInt(offset)];
	var arr_details=details.split("<br />",99);
	var new_details="";
	for (var j=0 ; j<arr_details.length ; j++) {
		if (arr_details[j].substring(0,1)!="<") {
			new_details+=arr_details[j]+"<br />";
		}
	}
	var code=document.getElementById("fullimage").innerHTML;
	code=code.replace("[[IMAGESRC]]","/contestapp/uploads/"+img);	
	code=code.replace("%5B%5BIMAGESRC%5D%5D","/contestapp/uploads/"+img); // weird ff quirk	
	code=code.replace("[[ALT]]",entries[i][0+parseInt(offset)]+"'s submitted image");	
	code=code.replace("[[FIRSTNAME]]",entries[i][0+parseInt(offset)]);
	code=code.replace("[[CITY]]",entries[i][1+parseInt(offset)]);
	code=code.replace("[[PROVINCE]]",entries[i][2+parseInt(offset)]);
	code=code.replace("[[DETAILS]]",new_details);		
	code=code.replace("[[DATE]]",entries[i][4+parseInt(offset)]);			
	document.getElementById("fullimage").innerHTML=code;	
	document.getElementById("backlink").innerHTML='<p>&laquo; <a href="' + backlink + '">Return to gallery</a></p>';
}


