// JavaScript Document

jQuery(function($){

	$.ajax({
		type: "GET",
		url: "http://australianetwork.com/pacificpulse/xml/stories.xml",
		dataType: "xml",
		success: function(xml) {
			
			var maxItems = 12;
			var countItems = -1;
			var currentType = "all";
			var currentOption = "";
			var startMult = 0;
			var pNo = 0;
			
   pagerMult();
			writePager();
			
			function pagerMult() {
			var startPos = maxItems * startMult;
			var endPos = maxItems * (startMult+1);
			filterOption(startPos,endPos);
			} //end pagerMult
			
			function filterOption(start,end) {
			$("#write_ajax").empty();
			$("#loading").css({"display":"block"});
			countItems = -1;
			$(xml).find('item').each(function(){
			var id = $(this).find('id').text();
			var title = $(this).find('title').text();
			var date = $(this).find('date').text();
			var photo_small_url = $(this).find('url').text();
					if(currentType == "all")
					{
							countItems = countItems + 1;
							if(countItems >= start && countItems < end) {
							$('<div class="item_ajax order'+countItems+'" id="item_'+id+'"></div>').html('<div class="item_photo"><a href="/pacificpulse/stories/'+id+'.htm"><img src="'+ photo_small_url +'" alt="'+title+'" title="'+title+'" /></a></div><p><a href="/pacificpulse/stories/'+id+'.htm">'+title+'</a></p>').appendTo('#write_ajax');
							}
					}
					else
		 		{
							$(this).find(currentType).each(function(){
							var tempItem = $(this).text();
							if(tempItem == currentOption) {
									countItems = countItems + 1;
									if(countItems >= start && countItems < end)
									{
									$('<div class="item_ajax order'+countItems+'" id="item_'+id+'"></div>').html('<div class="item_photo"><a href="/pacificpulse/stories/'+id+'.htm"><img src="'+ photo_small_url +'" alt="'+title+'" title="'+title+'" /></a></div><p><a href="/pacificpulse/stories/'+id+'.htm">'+title+'</a></p>').appendTo('#write_ajax');
									}
							} // end if
							}); // end each option
					}
			}); //end each item
		 $('<div class="clearboth"></div>').insertAfter("div.item_ajax:nth-child(4n)");
			$("#loading").css({"display":"none"});
			} // filter options
			
			function writePager()
			{

			pFloor = Math.floor(countItems/maxItems);
			pNo =  (countItems+1)/maxItems;
			
			if (pNo > pFloor) {pNo = pFloor + 1;}
			else {pNo = pFloor;}
			
			var strPager = "";

					if (pNo > 1)
					{
						 strPager += '<div id="write_pager">';
							strPager += '<ul id="write_pager_nav">';
						 strPager += '<li id="pagTitle"><strong>Pages:</strong></li>';
							strPager += '<li id="pagPrev"><a href="?pagPrev" class="link_prev">&lt; previous</a></li>';
							for(i=0; i < pNo; i++)
							{
							var aNo = i + 1;
							strPager += '<li id="pag'+aNo+'"><a href="?pag='+aNo+'" class="link_pager" id="link_pag'+i+'">'+aNo+'</a></li>';
							}
							strPager += '<li id="pagNext"><a href="?pagNext" class="link_next">next &gt;</a></li>';
							strPager += '</ul>';
							strPager += '</div>';
							$("#write_pager").replaceWith(strPager);
							$("#pagPrev").css({"display":"none"});
							$("a#link_pag0").css({"color":"#000000","font-weight":"bold"});
					}

					else
					{
							strPager += '<div id="write_pager">';
							strPager += '<ul id="write_pager_nav">';
						 strPager += '<li id="pagTitle"><strong>Pages:</strong></li>';
							strPager += '<li id="pag1">1</li>';
							strPager += '</ul>';
							strPager += '</div>';
							$("#pag1").css({"color":"#000000","font-weight":"bold"});
							$("#write_pager").replaceWith(strPager);
					}
			}

			var countryList=[];
			$(xml).find('country').each(function(i){
			var thisCountry = $(this).text();
   countryList.push(thisCountry);
			});
			countryList = countryList.sort();
			var countryListStr = '<select id="select_cou">';
			countryListStr += '<option class="list_country" id="countryAll" selected="selected" value="All Countries">All Countries</option>';
			
			for(i=0;i<countryList.length;i++)
			{
			var previousItem = countryList[i-1];
			var currentItem = countryList[i];
			if(currentItem != previousItem)
			{
   countryListStr += '<option class="list_country" value="'+currentItem+'">'+currentItem+'</option>';
			}
			}
   countryListStr += '</select>';
			$(countryListStr).appendTo('#write_cou');
			
			$("#select_cou").change(function () {
			var strCou = "";
			$("#select_cou option:selected").each(function () {
			strCou += $(this).val();
			});
					if (strCou == "All Countries") {currentType = "all"; startMult = 0; pagerMult(); writePager();}
					else {currentType = "country"; currentOption = strCou; startMult = 0; pagerMult(); writePager();}
			return false;
			})  //end country list array
			
			var subjectList=[];
			$(xml).find('subject').each(function(i){
			var thisSubject = $(this).text();
			var thisSujbectAlias = thisSubject;
			colPos = thisSujbectAlias.indexOf(":");
			if(colPos != -1) {
			thisSujbectAlias = thisSujbectAlias.substring(colPos+1);
			}
			if (thisSujbectAlias == "Business, Economics and Finance") {thisSujbectAlias = "Business";}
			if (thisSujbectAlias == "Population and Demographics") {thisSujbectAlias = "Language and Literacy";}
			if (thisSujbectAlias == "Design") {thisSujbectAlias = "Fashion";}
			if (thisSujbectAlias == "Indigenous (Aboriginal and Torres Strait Islander)") {thisSujbectAlias = "Aboriginal and Torres Strait Islander";}
			if (thisSujbectAlias == "Indigenous (Other Peoples)") {thisSujbectAlias = "Culture and Traditions";}
   subjectList.push(thisSujbectAlias+';'+thisSubject);
			});
			subjectList = subjectList.sort();
			
			var subjectListStr = '<select id="select_sub">';
			subjectListStr += '<option class="list_subject" id="subjectAll" selected="selected" value="All Subjects">All Subjects</option>';
			for(i=0;i<subjectList.length;i++)
			{	
			var previousSubject = subjectList[i-1];
			var optionSubject = subjectList[i];
			semiColPos = optionSubject.indexOf(";");
			var partSubject = optionSubject.substring(semiColPos+1);
			var partSubjectAlias = optionSubject.substring(0,semiColPos);
			if(optionSubject != previousSubject)
			{
   subjectListStr += '<option class="list_subject" value="'+partSubject+'">'+partSubjectAlias+'</option>';
			}
			} //end subject list array
			subjectListStr += '</select>';
			$(subjectListStr).appendTo('#write_sub');
			
			$("#select_sub").change(function () {
			var strSub = "";
			$("#select_sub option:selected").each(function () {
			strSub += $(this).val();
			});
					if (strSub == "All Subjects") {currentType = "all"; startMult = 0; pagerMult(); writePager();}
					else {currentType = "subject"; currentOption = strSub; startMult = 0; pagerMult(); writePager();}
			return false;
			}) //end change
			
			function updatePager(option) {
			var thisLink = "a#link_pag"+option;
			$("a.link_pager").css({"color":"#1b808a","font-weight":"normal"});
			$(thisLink).css({"color":"#000000","font-weight":"bold"});
			if (option < 1) {$("#pagPrev").css({"display":"none"});}
			if (option > 0) {$("#pagPrev").css({"display":"inline"});}
			if (option < pNo) {$("#pagNext").css({"display":"inline"});}
			if (option >= pNo-1) {$("#pagNext").css({"display":"none"});}
			}

			$.listen('click', '.link_next', function(){
   startMult = startMult + 1;																											
			if(startMult > 0 && startMult < pNo) {
			pagerMult();
			updatePager(startMult);
			}
			return false;
			});
			
			$.listen('click', '.link_prev', function(){
			startMult = startMult - 1;																											
			if(startMult > -1 && startMult <= pNo) {
			pagerMult();
			updatePager(startMult);
			}
			return false;
			});
			
			$.listen('click', '.link_pager', function(){
			var thisItem = $("a.link_pager").index(this);
			startMult = thisItem;
			pagerMult();
			updatePager(startMult);
			return false;
			});
			
		} // end success
	}); //end ajax
});	//end doc ready