	var _dayTitles = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");

	YAHOO.namespace("example.calendar");
	
	function cal1Init() {	    
		YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container");
		YAHOO.example.calendar.cal1.addMonthRenderer(1, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(2, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(3, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(4, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(5, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(6, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(7, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(8, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(9, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(10, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(11, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.addMonthRenderer(12, YAHOO.example.calendar.cal1.renderBodyCellRestricted);
		YAHOO.example.calendar.cal1.selectEvent.subscribe(mySelectHandler, YAHOO.example.calendar.cal1, true);	
		YAHOO.example.calendar.cal1.changePageEvent.subscribe(myChangePageHandler, YAHOO.example.calendar.cal1, true);
		YAHOO.example.calendar.cal1.renderEvent.subscribe(syncMonthYear);			
		if(newURLMonth != "" && newURLYear != ""){
		 YAHOO.example.calendar.cal1.setMonth(parseInt(newURLMonth)-1);
		 YAHOO.example.calendar.cal1.setYear(parseInt(newURLYear));	     
		}		
		YAHOO.example.calendar.cal1.render();		
		myChangePageHandler();		
	};
	
	
	var myChangePageHandler = function(type,args,obj) {	    
		var month = YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getMonth() + 1;
		if (month.toString().length == 1) {
			month = "0" + month;
		}
		var year = YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getFullYear();
		
		document.getElementById("cal1Titles").innerHTML = "";
		_dayTitles = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");
				
		checkPostsForMonth(month, year);
							   
	};
	
	//******************************************************
	
	function displayArchiveBlog(month,year,day){
		var script = document.createElement("script");
		script.setAttribute("type", "text/javascript");
		var theUrl;
		
		 if (month.toString().length == 1) {
			month = "0" + month;
		    }
		    
		  if (day.toString().length == 1) {
			day = "0" + day;
		    }  		    
		
		if(day == "")
		{		   
		    theUrl = _yourBlogUrl +"?orderby=updated&alt=json-in-script&callback=archiveCallback&published-min=" + year + "-" + month + "-01T00%3A00%3A00" + _yourBlogTimeZone + "&published-max=" + year + "-" + month + "-31T23%3A59%3A59" + _yourBlogTimeZone + "&max-results=100";
		}
		else
		{
		    theUrl = _yourBlogUrl + "?orderby=updated&alt=json-in-script&callback=archiveCallback&published-min=" + year + "-" + month + "-" + day + "T00%3A00%3A00" + _yourBlogTimeZone + "&published-max=" + year + "-" + month + "-" + day + "T23%3A59%3A59" + _yourBlogTimeZone + "&max-results=100";
		}				
		script.setAttribute("src", theUrl);
		document.documentElement.firstChild.appendChild(script);	
	}
	
	function archiveCallback(json) {	
		if (json.feed.entry) {
		document.getElementById("posts").innerHTML = "";
		var tempTitle = GetURlTitle();
        var showTitleFlag = false;
		
			for(i = 0; i < json.feed.entry.length; i++) {							
				var arvtitle = json.feed.entry[i].title.$t;
			    var arvsummary = json.feed.entry[i].content.$t;                    
                var arvdate = json.feed.entry[i].published.$t;        
                arvdate = convertAtomDateString(arvdate); 
                 /*if(tempTitle == ""){
                document.getElementById("posts").innerHTML += "<div class='entry'><b>" + arvdate + "</b>";    
                document.getElementById("posts").innerHTML += "<h2>" + arvtitle + "</h2>";    
                document.getElementById("posts").innerHTML += "<p>" + arvsummary + "</p></div>";   
                }
                else{
                if(CompareURLAndPostTitle(tempTitle,arvtitle) && !showTitleFlag)
                {*/
                    document.getElementById("posts").innerHTML += "<div class='entry'><b>" + arvdate + "</b>";    
                    document.getElementById("posts").innerHTML += "<h2>" + arvtitle + "</h2>";    
                    document.getElementById("posts").innerHTML += "<p>" + arvsummary + "</p></div>";   
                   // showTitleFlag = true;
                /*}
                }*/
			}			
		}	
	};
	
	
	function recentPostsCallback(json) {	
	var showRecentPost = 0;	
		if (json.feed.entry) {		
		document.getElementById("PreviousPosts").innerHTML = "";
				
			for(i = 0; i < json.feed.entry.length; i++) {							
				var recentTitle = json.feed.entry[i].title.$t;
				var recentdate = json.feed.entry[i].published.$t;      
                    var month = recentdate.substr(5,2);
				    var year = recentdate.substr(0,4);
			    
                //Previous Posts
                    if(showRecentPost < _numRecentPosts)
                    {
                    var urlTitle = GetTitleForURL(recentTitle);
                    var href = "/blog/" + year + "/" + month + "/" + urlTitle + ".aspx";
                    
                    document.getElementById("PreviousPosts").innerHTML += "<li><a href='"+ href +"'>" + recentTitle + "</a>";  
                    }
                    showRecentPost++;
			}			
		}	
	};
	
	//******************************************************
	
	function checkPostsForMonth(month,year) {
	    //$("#ajaxloaderArchive").show();
		//document.getElementById("cal1loadimg").style.display = "block";			
		var script = document.createElement("script");
		script.setAttribute("type", "text/javascript");		
		var theUrl = _yourBlogUrl +"?alt=json-in-script&callback=checkPostsCallback&published-min=" + year + "-" + month + "-01T00%3A00%3A00" + _yourBlogTimeZone + "&published-max=" + year + "-" + month + "-31T23%3A59%3A59" + _yourBlogTimeZone + "&max-results=100";
		script.setAttribute("src", theUrl);
		document.documentElement.firstChild.appendChild(script);
	};
	
	function checkPostsCallback(json) {	
		if (json.feed.entry) {
		document.getElementById("posts").innerHTML = "";
		var tempTitle = GetURlTitle();
        var showTitleFlag = false;
		
			for(i = 0; i < json.feed.entry.length; i++) {
						    		    
			    var dt = json.feed.entry[i].published.$t;
			    var title = json.feed.entry[i].title.$t;
				var summary = json.feed.entry[i].content.$t;
			    
				var month = dt.substr(5,2);
				var year = dt.substr(0,4);
				var day = dt.substr(8,2);
				var date = month + "/" + day + "/" + year;	
				var displayDate = convertAtomDateString(dt);							
				//var href = "javascript:displayArchiveBlog(" + month + "," + year + "," + day + ")";
				var href = "/blog/" + year + "/" + month + "/" + GetTitleForURL(title) + ".aspx";
                
                 if(tempTitle == ""){
                document.getElementById("posts").innerHTML += "<div class='entry'><b>" + displayDate + "</b>";    
                document.getElementById("posts").innerHTML += "<h2>" + title + "</h2>";    
                document.getElementById("posts").innerHTML += "<p>" + summary + "</p></div>";   
                }
                else{
                var compareFlag = CompareURLAndPostTitle(tempTitle,title); 
                if(compareFlag && !showTitleFlag)
                {
                    document.getElementById("posts").innerHTML += "<div class='entry'><b>" + displayDate + "</b>";    
                    document.getElementById("posts").innerHTML += "<h2>" + title + "</h2>";    
                    document.getElementById("posts").innerHTML += "<p>" + summary + "</p></div>";   
                    showTitleFlag = true;
                }
                }
								
				if (day.substr(0,1) == "0") {
					day = day.substr(1);
				}
				
				document.getElementById("cal1Titles").innerHTML += "<li><a href='"+ href +"'>" + title + "</a>";
				_dayTitles[day] += "<li><a href='" + href + "'>" + title + "</a>";
			
				YAHOO.example.calendar.cal1.addRenderer(date, myCustomRenderer);

			}
			YAHOO.example.calendar.cal1.render();
		}
		if(document.getElementById("cal1Titles").innerHTML == ""){
         document.getElementById("relPosts").style.display = "none";                
         }
        else{
         document.getElementById("relPosts").style.display = "block";
         }           
		//document.getElementById("cal1loadimg").style.display = "none";
		//$("#ajaxloaderArchive").hide("fast");
	};
	
	
	function showDayTitles(day) {
		document.getElementById("cal1Titles").innerHTML = _dayTitles[day];
	}
	
	
	var myCustomRenderer = function(workingDate, cell) {	    	    
		var day = workingDate.toString().substr(8,2);
		var href = "";
							
		if (day.substr(0,1) == "0") {
			day = day.substr(1);
		}	
						
		var d = new Date(workingDate);
		var mon = d.getMonth() + 1;
		mon = RemoveWhiteSpaces(mon.toString());
		if (mon.length == 1)
		{
		 mon = "0" + mon;
		}
		
		var year = d.getFullYear();
	    day = RemoveWhiteSpaces(day);
				
		var title = _dayTitles[day];		
		var startPos = _dayTitles[day].indexOf("href=") + 6;
		var endPos = _dayTitles[day].indexOf(".aspx");
		title = _dayTitles[day].substring(startPos,endPos);
		
		var newStartPos =  title.lastIndexOf("/") + 1;
		title = title.substring(newStartPos);		
		href = "/blog/" + year + "/" + mon + "/" + title + ".aspx";
			    
		cell.innerHTML = '<div onmouseover="showDayTitles(' + day + ');"><a href="'+ href + '">' + YAHOO.example.calendar.cal1.buildDayLabel(workingDate) + "</a></div>";
		YAHOO.util.Dom.addClass(cell, YAHOO.example.calendar.cal1.Style.CSS_CELL_SELECTABLE);
		YAHOO.util.Dom.addClass(cell, YAHOO.example.calendar.cal1.Style.CSS_CELL_HIGHLIGHT1);
		return YAHOO.widget.Calendar.STOP_RENDER; 
		
		
	}
	
	var mySelectHandler = function(type,args,obj) {
		var dates = args[0];
		var date = dates[0];
		var year = date[0];
		var month = date[1];
		if (month.toString().length == 1) {
			month = "0" + month;
		}
		var day = date[2];
		
		var element = YAHOO.util.Dom.getElementsByClassName("d" + day, "td", "cal1Container")[0];
		
		if (day.toString().length == 1) {
			day = "0" + day;
		}
		
		if (element.className.indexOf("highlight1") != -1) {			
			displayArchiveBlog(month,year,day);
		}

	};
	
	var changeDate = function() {
		YAHOO.example.calendar.cal1.setMonth(parseInt(YAHOO.util.Dom.get("cal1monthselect").value));
		YAHOO.example.calendar.cal1.setYear(parseInt(YAHOO.util.Dom.get("cal1yearselect").value));
	    YAHOO.example.calendar.cal1.render(); 
	    myChangePageHandler();
	    
	    var month = YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getMonth() + 1;
		if (month.toString().length == 1) {
			month = "0" + month;
		}
		var year = YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getFullYear();
	    displayArchiveBlog(month,year,"");
	}
	
	var syncMonthYear = function(type) { 
		YAHOO.util.Dom.get("cal1monthselect").value = parseInt(YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getMonth());
		
		var fullYear = parseInt(YAHOO.example.calendar.cal1.cfg.getProperty("pagedate").getFullYear());
		
		var isYearFound = false;
		var i = 0;
		while(i < document.getElementById("cal1yearselect").options.length && !isYearFound) {
			if (document.getElementById("cal1yearselect").options[i].value == fullYear) {
				isYearFound = true;
			}
			i++;
		}
		if (!isYearFound) {
			var option = document.createElement("option");
			option.setAttribute("value", fullYear);
			var text = document.createTextNode(fullYear);
			option.appendChild(text);
			document.getElementById("cal1yearselect").appendChild(option);
		}
		
	    YAHOO.util.Dom.get("cal1yearselect").value = fullYear; 
	};
	
	YAHOO.util.Event.addListener(window, "load", cal1Init);
	YAHOO.util.Event.addListener("cal1dateselect", "click", changeDate);
