$(document).ready(function(){

    formatWF($("#wrapper"));
	
	var isFAQShowing = false;
	var isNewsLetterShowing = false;
	var isCalendarShowing = false;
	
	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	//FAQ
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	$("#feedbackBtn").click(function (e) {
		e.preventDefault();
		//$("div#calendar").css('display', 'block');
		if(isNewsLetterShowing==true){
			$("div#newsletter").fadeOut(0);
			isNewsLetterShowing = false
		}else if(isCalendarShowing==true){
			$("div#calendar").fadeOut(0);
			isCalendarShowing = false;
		} 
		
		$("div#feedback").fadeIn(500);
		$("#employer_services_swf").css('visibility','hidden');
		isFAQShowing = true;
    });
	
	$("#feedback_close").click(function (e) {
		e.preventDefault();	
		//$("div#calendar").css('display', 'none');
		$("div#feedback").fadeOut(500);
		$("#employer_services_swf").css('visibility','visible');
		isFAQShowing = false;
    });
	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	//Newsletter	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    $('#tabs').each(function(){$(this).tabs();});
	
	$("#newsletterBtn").click(function (e) {
		e.preventDefault();	
      	//$("div#calendar").css('display', 'block');
		if(!isFAQShowing || !isNewsLetterShowing || !isCalendarShowing){
			$("div#newsletter").fadeIn(500);
			$("#employer_services_swf").css('visibility','hidden');
			isNewsLetterShowing = true;
		}
    });
	
	$("#newsletter_close").click(function (e) {
		e.preventDefault();	
		//$("div#calendar").css('display', 'none');
		$("div#newsletter").fadeOut(500);
		$("#employer_services_swf").css('visibility','visible');
		isNewsLetterShowing = false;
    });

	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	//Calendar	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


						   
	var _d;
	var _m;
	var _y;
	var _category;
	var _events;
	
	// Datepicker
	var calendar = $('#datepicker');
    calendar.datepicker({	
						
		onSelect: function(dateText, inst) {
			var myString = dateText;
			var subStrings= new Array();
 			subStrings = myString.split("/", 3); // subStrings == ["12","01", "2009"]
			
			if(subStrings[0]<10){
				_m = subStrings[0].charAt(1)
			}else{
				_m = subStrings[0];
			}
			
			_d = subStrings[1];
			_y = subStrings[2];
			
			getEvents();
			
			$.timer(100, function (timer) {
				updateCalendarDays();
				timer.stop();	
			});
			
		},
		onChangeMonthYear: function(year, month, inst) { 
			_m = month;
			_y = year;
			_d = null;
			loadXMLFile();
		}
		
	});	
	
	
	$("input[name='event_categories']").click(function(){
		_category = $('input[name=event_categories]:checked').val() ;
		
		getEvents();
		$.timer(500, function (timer) {
			updateResultsHeader();
			updateCalendarDays();
			timer.stop();
		});
	});

	
	function loadXMLFile(){	

		$("#calendar_results ul").empty();
	
		$.ajax({
			type: "GET",
			url: "http://www.wfplus.org/index.php/events/data/" + _m + "/" + _y,
			//url: "calendar_" + _m + ".xml",
			//url: "calendar_7.xml",
			dataType: "xml",
			success: function(xml) {
				_events = $(xml);
				getEvents();
			}
		 });

		 updateResultsHeader()
		 updateCalendarDays()
		 resetCheckBoxes()
		 
	
	}
	
	function resetCheckBoxes(){
		
		$('#calendar_picker').find('input[name=event_categories]').attr({'checked': false});
		$('#radioAll').attr({'checked': true});
	}
	

	function updateResultsHeader(){
		
		var monthArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
		
		var myString="";
		
		_category = $('input[name=event_categories]:checked').val() ;
		
		if (_d == null || _d == undefined || _d == ""){
			myString = "Currently showing <strong>"+_category+"</strong> events for <strong>"+monthArray[_m-1]+", "+_y+"</strong>"
		}else{
			myString = "Currently showing <strong>"+_category+"</strong> events for <strong>"+monthArray[_m-1]+" "+_d+", "+_y+"</strong>"
		}
		
		$('#calendar_results_header').html(myString);
	}
	
	

	
	function getEvents(){
		
		_category = $('input[name=event_categories]:checked').val() ;
		
		$("#calendar_results ul").empty();
		
		var selector = 'event';
		
		if (_category != "All" && _category != null && _category != ""){
			selector += '[category="' + _category + '"]';
		}
		
		if (_d){
			selector += '[startDay="' + _d + '"]';	
		}
		
		$(_events).find(selector).each(function(){
			
			var startDay = $(this).find('startDate').attr('day');
			var eventTitle_text = $(this).find('eventTitle').text()
			var shortDescription_text = $(this).find('shortDescription').text()
			var eventLink_text = $(this).find('internalUrl').text()
			
			$('<li></li>')
				.html('<span>'+eventTitle_text + '</span><br/>' + shortDescription_text+'<br/><a href="' + eventLink_text+'">Read More</a>' )
				.appendTo('#calendar_results ul');
		}); //close each(	
		 
		 updateResultsHeader();
		 updateCalendarDays();
	}
	
	
	
	
	function updateCalendarDays(){
		
		var _daysEvents = new Array();
		var selector = 'event';
		
		if (_category != "All" && _category != null && _category != ""){
		
		//if (_category != "All"){
			
			selector += '[category="' + _category + '"]';
		}
		
		$(_events).find(selector).each(function(){
												
			var startDay = $(this).find('startDate').attr('day');
			_daysEvents.push(startDay);
			
		}); 
		
		
			  
		$('table.ui-datepicker-calendar a').each(function(i) {
														  
			var _a = $(this);
			
			for(j=0; j<_daysEvents.length;j++){
				
				if(_a.html() == _daysEvents[j]){
					_a.css("color", "red");
				} 
			}

		});

	}
	
	
	
	
	
	
	jQuery.timer = function (interval, callback){
		
		
		var interval = interval || 100;
		
		if (!callback)
			return false;
		
		_timer = function (interval, callback) {
			this.stop = function () {clearInterval(self.id);};
			
			this.internalCallback = function () {callback(self);};
			
			this.reset = function (val) {
				if (self.id)
					clearInterval(self.id);
				
				var val = val || 100;
				this.id = setInterval(this.internalCallback, val);
			};
			
			this.interval = interval;
			this.id = setInterval(this.internalCallback, this.interval);
			
			var self = this;
		};
		
		return new _timer(interval, callback);
	};
	
	$("#calendarBtn").click(function (e) {
		e.preventDefault();	
      	//$("div#calendar").css('display', 'block');
		$("div#calendar").fadeIn(500);
		$("#employer_services_swf").css('visibility','hidden');

		isCalendarShowing = true;
    });
	
	$("#calendar_close").click(function (e) {
		e.preventDefault();	
		//$("div#calendar").css('display', 'none');
		$("div#calendar").fadeOut(500);
		$("#employer_services_swf").css('visibility','visible');
		isCalendarShowing = false;
    });
	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	//Search box swap values	
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    swapValues = [];
    $(".swap_value").each(function(i){
        swapValues[i] = $(this).val();
        $(this).focus(function(){
            if ($(this).val() == swapValues[i]) {$(this).val("");}
        }).blur(function(){
            if ($.trim($(this).val()) == "") {$(this).val(swapValues[i]);}
        });
    });
});







function formatWF(jqObj){
	jqObj.html(jqObj.html().replace(/workforce plus/gi, "<strong>WORK</strong>FORCE <em>plus</em>"));
}