var searchingdialog = null;

function displayLatest(array, num, doc) {

	var sorted = sortByDate(array);
	
	for (idx in sorted) {
		if (num-- <= 0) {
			break;
		}
		displayListEntry(sorted[idx], doc);
	}
}

function displaySearch(matches, frame, array, sortby, keywords) {

	var doc = window.frames[frame].document;
	
	doc.close();
	
	doc.open("text/html");
	
	doc.write("<html><head>");
	doc.write("<title>Search Results</title>");
	doc.write("<link rel=StyleSheet href='fadingsuns.css' type='text/css' media=screen></link>");
	doc.write("<link rel=StyleSheet href='fadingsuns.css' type='text/css' media=all></link>");
	doc.write("</head><body>");

	
	displaySectionTitle("Search Results", doc);
	
	doc.write("<center>");
	if (sortby == "relevance") {
		doc.write("Sort by Relevance");
	} else {
		doc.write("<a href='javascript:parent.displaySearch(parent.search(parent.getIndex(), \"" + keywords + "\"), \"fsmain\", parent.getContentsByIndex(), \"relevance\", \"" + keywords + "\")'>Sort by Relevance</a>");
	}
	doc.write(" - ");
	if (sortby == "title") {
		doc.write("Sort by Title");
	} else {
		doc.write("<a href='javascript:parent.displaySearch(parent.search(parent.getIndex(), \"" + keywords + "\"), \"fsmain\", parent.getContentsByIndex(), \"title\", \"" + keywords + "\")'>Sort by Title</a>");
	}
	doc.write(" - ");
	if (sortby == "author") {
		doc.write("Sort by Author");
	} else {
		doc.write("<a href='javascript:parent.displaySearch(parent.search(parent.getIndex(), \"" + keywords + "\"), \"fsmain\", parent.getContentsByIndex(), \"author\", \"" + keywords + "\")'>Sort by Author</a>");
	}
	doc.write(" - ");
	if ((sortby == null) || (sortby == "date")) {
		doc.write("Sort by Date");
	} else {
		doc.write("<a href='javascript:parent.displaySearch(parent.search(parent.getIndex(), \"" + keywords + "\"), \"fsmain\", parent.getContentsByIndex(), \"date\", \"" + keywords + "\")'>Sort by Date</a>");
	}
	doc.write("</center>");
	
	var sorted = new Array();
	var i = 0;
	
	for (match in matches) {
		sorted[i++] = array[matches[match]];
	}
	
	sorted = sortBy(sorted, sortby);
	
	for (idx in sorted) {
		var elem = sorted[idx];
		displayListEntry(elem, doc);
	}
	
	doc.write("</body></html>");
	
	doc.close();
}


function displaySection(sectionname, frame, array, sortby) {

	var doc = window.frames[frame].document;
	
	doc.close();
	
	doc.open("text/html");
	
	doc.write("<html><head>");
	doc.write("<title>" + sectionname + "</title>");
	doc.write("<link rel=StyleSheet href='fadingsuns.css' type='text/css' media=screen></link>");
	doc.write("<link rel=StyleSheet href='fadingsuns.css' type='text/css' media=all></link>");
	doc.write("</head><body>");
	
	displaySectionTitle(sectionname, doc);
	
	
	doc.write("<center>");
	if (sortby == "title") {
		doc.write("Sort by Title");
	} else {
		doc.write("<a href='javascript:parent.displaySection(\"" + sectionname + "\",\"fsmain\",parent.getContentsBySection(), \"title\")'>Sort by Title</a>");
	}
	doc.write(" - ");
	if (sortby == "author") {
		doc.write("Sort by Author");
	} else {
		doc.write("<a href='javascript:parent.displaySection(\"" + sectionname + "\",\"fsmain\",parent.getContentsBySection(), \"author\")'>Sort by Author</a>");
	}
	doc.write(" - ");
	if ((sortby == null) || (sortby == "date")) {
		doc.write("Sort by Date");
	} else {
		doc.write("<a href='javascript:parent.displaySection(\"" + sectionname + "\",\"fsmain\",parent.getContentsBySection(), \"date\")'>Sort by Date</a>");
	}
	doc.write("</center>");
	
	var matches = sortBy(array[sectionname], sortby);
	
	for (match in matches) {
		var elem = matches[match];
		displayListEntry(elem, doc);
	}
	
	doc.write("</body></html>");
	
	doc.close();
}

function displayListEntry(elem, doc) {
	if (elem != null) {
		doc.write('<p>');
		doc.write('<table border=0 cellspacing=0 cellpadding=0 width=95%><tr><td colspan=2>');
		doc.write('<p class=searchtitle><a href="' + elem.value + '/article.html">' + elem.title + '</a></p>');
		doc.write('</td></tr>');
		doc.write('<tr><td>');
		doc.write('<p>By <a href="mailto:' + elem.email + '">' + elem.author + '</a></p>');
		doc.write('</td><td><p class=date>');
		doc.write(formatDate(elem.date));
		doc.write('</p></td></tr>');
		doc.write('<tr><td colspan=2>');
		doc.write('<p>' + elem.summary + '</p>');
		doc.write('</td></tr>');
		doc.write('</table>');
		doc.write('</p>');
	}
}

function displayHeader(title, doc, page) {

	try {
		if (parent.document.title != "Fading Suns Webpage") {
			doc.write("<meta HTTP-EQUIV='REFRESH' CONTENT='0;URL=../index.html?page="+page+"'>");
		}
	} catch (e) {
		doc.write("<meta HTTP-EQUIV='REFRESH' CONTENT='0;URL=../index.html?page="+page+"'>");
	}
	
	doc.write("<link rel=StyleSheet href='../fadingsuns.css' type='text/css' media=screen></link>");
	doc.write("<link rel=StyleSheet href='../fadingsuns.css' type='text/css' media=all></link>");
	
}


function displayTitle(title, doc) {
	
	doc.write("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
	doc.write("<tr><td><img src='../fsspc_1.gif'></td><td><img src='../fsspc_2.gif'></td><td><img src='../fsspc_3.gif'></td><td></td><td><img src='../fsspc_4.gif'></td><td><img src='../fsspc_5.gif'></td><td><img src='../fsspc_6.gif'></td></tr>");
	doc.write("<tr><td height=50 colspan=3><img src='../fsttl_1.gif'></td><td></td><td height=50 colspan=3><img src='../fsttl_2.gif'></td></tr>");
	doc.write("<tr><td height=30 colspan=3><img src='../fsttl_3.gif'></td><td bgcolor=black width=100% >.</td><td height=30 colspan=3><img src='../fsttl_4.gif'></td></tr>");
	doc.write("<tr><td height=135><img src='../fsttl_5.gif'></td><td height=135><img src='../fsttl_6.gif'></td><td bgcolor=black height=30 colspan=3><h1>" + title + "</h1></td><td height=135><img src='../fsttl_7.gif'></td><td height=135><img src='../fsttl_8.gif'></td></tr>");
	doc.write("<tr><td height=38 colspan=3><img src='../fsttl_9.gif'></td><td bgcolor=black height=38>.</td><td height=38 colspan=3><img src='../fsttl_10.gif'></td></tr>");
	doc.write("<tr><td colspan=3><img src='../fsttl_11.gif'></td><td></td><td colspan=3><img src='../fsttl_12.gif'></td></tr>");
	doc.write("</table>");
}

function displaySectionTitle(title, doc) {
	
	doc.write("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
	doc.write("<tr><td><img src='./fsspc_1.gif'></td><td><img src='./fsspc_2.gif'></td><td><img src='./fsspc_3.gif'></td><td></td><td><img src='./fsspc_4.gif'></td><td><img src='./fsspc_5.gif'></td><td><img src='./fsspc_6.gif'></td></tr>");
	doc.write("<tr><td height=50 colspan=3><img src='./fsttl_1.gif'></td><td></td><td height=50 colspan=3><img src='./fsttl_2.gif'></td></tr>");
	doc.write("<tr><td height=30 colspan=3><img src='./fsttl_3.gif'></td><td bgcolor=black width=100% >.</td><td height=30 colspan=3><img src='./fsttl_4.gif'></td></tr>");
	doc.write("<tr><td height=135><img src='./fsttl_5.gif'></td><td height=135><img src='./fsttl_6.gif'></td><td bgcolor=black height=30 colspan=3><h1>" + title + "</h1></td><td height=135><img src='./fsttl_7.gif'></td><td height=135><img src='./fsttl_8.gif'></td></tr>");
	doc.write("<tr><td height=38 colspan=3><img src='./fsttl_9.gif'></td><td bgcolor=black height=38>.</td><td height=38 colspan=3><img src='./fsttl_10.gif'></td></tr>");
	doc.write("<tr><td colspan=3><img src='./fsttl_11.gif'></td><td></td><td colspan=3><img src='./fsttl_12.gif'></td></tr>");
	doc.write("</table>");
}

function displayFooter(title, doc) {
}

function formatDate(date) {

	if (date == null) {
		return null;
	}

	var now = new Date();
	
	if ((date.getDate() == now.getDate()) && (date.getMonth() == now.getMonth()) && (date.getFullYear() == now.getFullYear())) {
		return 'Today';
	}
	
	var datestring = new String();
	
	switch (date.getDay()) {
		case 0: datestring = datestring +  'Sunday, ';
			break;
		case 1: datestring = datestring +  'Monday, ';
			break;
		case 2: datestring = datestring +  'Tuesday, ';
			break;
		case 3: datestring = datestring +  'Wednesday, ';
			break;
		case 4: datestring = datestring +  'Thursday, ';
			break;
		case 5: datestring = datestring +  'Friday, ';
			break;
		case 6: datestring = datestring +  'Saturday, ';
			break;	
	}

	datestring = datestring + date.getDate();
	
	switch (date.getDate()) {
		case 1 : datestring = datestring + 'st ';
			 break;
		case 21 : datestring = datestring + 'st ';
			 break;
		case 31 : datestring = datestring + 'st ';
			 break;
		case 2 : datestring = datestring + 'nd ';
			 break; 
		case 22 : datestring = datestring + 'nd ';
			 break; 
		case 3 : datestring = datestring + 'rd ';
			 break;
		case 23 : datestring = datestring + 'rd ';
			 break;
		default : datestring = datestring + 'th ';
	}
	
	switch (date.getMonth()) {
		case 0: datestring  = datestring + 'Jan';
			break;
		case 1: datestring  = datestring + 'Feb';
			break;
		case 2: datestring  = datestring + 'Mar';
			break;
		case 3: datestring  = datestring + 'Apr';
			break;
		case 4: datestring  = datestring + 'May';
			break;
		case 5: datestring  = datestring + 'Jun';
			break;
		case 6: datestring  = datestring + 'Jul';
			break;
		case 7: datestring  = datestring + 'Aug';
			break;
		case 8: datestring  = datestring + 'Sep';
			break;
		case 9: datestring  = datestring + 'Oct';
			 break;
		case 10: datestring  = datestring + 'Nov';
			 break;
		case 11: datestring  = datestring + 'Dec';
			 break;
	}
	
	datestring = datestring + ' ' + date.getFullYear();
	
	return datestring;

}

function openSearchingDialog() {

	if (searchingdialog == null) {
		searchingdialog = window.open("searching.html", "searchingdialog", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=150,top=300,left=400");
	}
	
}

function closeSearchingDialog() {

	if (searchingdialog != null) {
		searchingdialog.close();
		searchingdialog = null;
	}
}

function sendMailWithSubject(name, site, subject) {
	document.location = "mailto:" + name + "@" + site + "?subject=" + subject;
}

function sendMail(name, site) {
	document.location = "mailto:" + name + "@" + site + "?subject=" + document.title;
}



