

var botResponseObjects;
var blogPostResponse;
var links;

var $ = jQuery.noConflict();
var currentDate = new Date();
var month = currentDate.getMonth() + 1;
var day = currentDate.getDate();
var year = currentDate.getFullYear();
var dateFilter = convertDay(day) + " " + convertMonth(month) + " " + " " + year;
var today = convertMonth(month) + " " + day + ", " + year;
    
	
	//@function : Listens whenever <a> tag is clicked and checked
	//            whether if it came from the content or other source
	//------------------------------------------------------
	//@Abstract: Whenever <a> is clicked, it first check if the 
	//           'href' attribute contains a ' " ' character,
	//           if yes then it change the whole attribute and replace
	//           it with the original href attribute value
	$.listen('click', 'a', function() {
		var href = $(this).attr("href");
		if (href.indexOf("\"") != - 1 ) {
			href = href.substring(1, href.length-1);
       	    $(this).attr("href", href);
		}		
	});
	
	//@function: Index.html first loads
	function index() {
		loadCalenderFeed();//render calendar first..
		RenderLinks();
		for (j = 0; j < blogPostResponse.length; j++) {
			PostToBlog({
					"id":		blogPostResponse[j].id,
					"title":	blogPostResponse[j].title,
					"date":		blogPostResponse[j].time,
					"contents":	blogPostResponse[j].content,
					"tags":		blogPostResponse[j].tags
			});
		}
	}
	
	//@function: Single.html first loads
	function single() {
		loadCalenderFeed(); //load calendar firts..
		RenderLinks();
		var postarea = $("#left");
		var id = getUrlVars()["id"];
		
		var entry = "";
		
		for (j = 0; j < blogPostResponse.length; j++) {
			if ( id == blogPostResponse[j].id ) {
				entry = Blog.getSinglePost(blogPostResponse[j]);
			}
		}//for
		
		postarea.append(entry);
	}//single
	
	//@function that will extract the parameter values in 
	//the URL when passed to the single.html page
	function getUrlVars() {
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++) {
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		}
		return vars;
	}
	
	/***************************
	 *	Calendar Feeds
	 ***************************/
	
	//@function that will load the calendar feed for about.html page
	function about() {
		loadCalenderFeed();
		RenderLinks();
	}
	//@function that loads calendar feed for contact.html
	function contact() {
		loadCalenderFeed();
		RenderLinks();
	}
	//@function that will load the calendar feed
	function loadCalenderFeed() {
			for(i = 0; i < botResponseObjects.results.length; i++)  {
			Render({
				"time":			" ",
				"title":		botResponseObjects.results[i].toString,
				"src":			botResponseObjects.results[i].src,
				"venue":		botResponseObjects.results[i].venue.toString,
				"venueSrc":		botResponseObjects.results[i].venue.src,
				"dateRange":	botResponseObjects.results[i].dateRange
			});
		}//for
	}
	
	function RenderLinks() {
		var span = $("#links_here");
		
		var out = "";
		
		var nl = "";
		var la = "";
		var lg = "";
		var none = "";
		
		for (i = 0; i < links.length; i++) {
			var _links = (links[i].details).split(":");		
			if(_links.length < 2 ){				
				none += "<div id='url'>";
				none += " <a href='"+links[i].url+"'>"+ links[i].details +"</a>";
				none += "</div>";
			}			
			else if (_links.length == 2) {
				if (_links[0] == "NL") {					
					nl += "<div id='url'>";
					nl += " <a href='"+links[i].url+"'>"+ _links[1] +"</a>";
					nl += "</div>";
				} else if (_links[0] == "LA") {
					la += "<div id='url'>";
					la += " <a href='"+links[i].url+"'>"+ _links[1] +"</a>";
					la += "</div>";

				} else if (_links[0] == "LG") {					
					lg += "<div id='url'>";
					lg += " <a href='"+links[i].url+"'>"+ _links[1] +"</a>";
					lg += "</div>";
				}
			} 
									
		}
		
		out += none;
		
		out += "<div id='link-header' type='nl'>";
		out += " <a>(Inter) National Sites + Blogs</a>";
		out += "</div>";
		
		out += nl;
		
		out += "<div id='link-header' type='la'>";
		out += " <a>Local Sites + Blogs/Arts</a>";
		out += "</div>";
		
		out += la;
		
		out += "<div id='link-header' type='lg'>";
		out += " <a>Local Sites + Blogs/General </a>";
		out += "</div>";
		
		out += lg;
		/*
		out += "<div id='url'>";
			out += " <a href='"+links[i].url+"'>"+ links[i].details+"</a>";
			out += "</div>";
		*/
		
		span.prepend(out);
	}
	
	//@function that gets the calendar feed
	function wsResults(obj) {botResponseObjects = obj;}//wsResults
	
	//@function that gets the BlogPost
	function BlogPost(obj) {
		blogPostResponse = obj;
	}
	
	//@function that loads all the links
	function LoadLinks(obj) {
		links = obj;	
	}
	
	//@function that post all blog from the feed in the index.html
	function PostToBlog(param) {
		var postarea = $("#left");
		var blog = Blog.getBlog(param.title,param.date,param.contents,param.tags, param.id);
		postarea.append(blog);
	}
	
	
	//@function that renders all calendar on the html
	function Render(message) {
		
		try {
						
			setTimeout(function(){			
				$("#loader").fadeOut("fast", function()
				{					
					$("#today").html(today);					
					var display = "";		
					
					display += "<div id='entry'>";
					//display += "<span id='time'>" + "" + "</span>";
					display += "	<span id='title'>" + "<a href='"+message.src+"'>"+message.title+"</a></span>";
					display += "	<div id='breaker'></div>";
					display += "	<span id='venue'> <a href="+message.venueSrc+">"+ message.venue + "</a></span>";
					display += "	<div id='breaker'></div>";
					display += "	<span id='dateRange'>"+ message.dateRange + "</span>";
					display += "</div>";
							
					$("#results").prepend(display);				
					$("#results").slideDown("fast");
					
				});
			},1000);
	
		} //try
		catch(err){displayError();}//catch
	
	}//Render
	
	
	function convertMonth(month) {
		
		switch (month) {
			case 1:  return "Jan";	break;
			case 2:  return "Feb"; 	break;
			case 3:  return "Mar"; 	break;
			case 4:  return "Apr";	break;
			case 5:  return "May";	break;
			case 6:  return "Jun";	break;
			case 7:  return "Jul";	break;
			case 8:  return "Aug";	break;
			case 9:  return "Sep";	break;
			case 10: return "Oct";	break;
			case 11: return "Nov";	break;
			case 12: return "Dec";	break;
		}//switch
		
	}//convertMonth
	
	function convertDay(day) {
		if ( day < 10 ) {day = "0"+day;} 
		else {return day;}
		return day;
	}
	
	function removeWhiteSpace(field){
		 field = field.replace(/\s/g, "");	 
		 return field;	 
	}
	
	//@function that captures errors on the calendar feed
	function displayError() {
		var display = "";
					
		display += "<div id='entry'>";
		display += "<span id='time'>&nbsp;</span>";
		display += "<span id='title'> There was an error loading the feeds</span>";
		display += "<div id='breaker'></div>";
		display += "<span id='venue'>&nbsp;</span>";
		display += "</div>";
				
		$("#results").prepend(display);				
		$("#results").slideDown();
	}
	

