
	//AJAX Calendar
	// Author: Gustavo Campos
		//remove calendar if not in use
			//listen to document on firefox
			if(document.addEventListener) {
				document.addEventListener("mouseup",function(ev) { 
															var element = ev.target;
															var hide = true;
															//iterate 
															for(var e = element; e; e = e.offsetParent) {
																if(e.getAttribute('id') == 'calendarHolder') {																	
																	hide = false;	
																}
															}
															if(hide == true && element.getAttribute('id') != 'aStartDate' && element.getAttribute('id') != 'aEndDate') {
																if($j('#calendarHolder').length>0) {
																	$j('#calendarHolder').hide();
																	calendar.changeMonth = false;
																}
															}
															},true);
			} else {
				//listen to the document on IE
				document.onclick = function() {
					var element = event.srcElement;
					var hide = true;
					//same here
					for(var e = element; e; e = e.offsetParent) {
						if(e.getAttribute('id') == 'calendarHolder') {
							hide = false;
						}
					}
					if(hide == true && element.getAttribute('id') != 'aStartDate' && element.getAttribute('id') != 'aEndDate') {
						if($j('#calendarHolder').length>0) {
							$j('#calendarHolder').hide();
							calendar.changeMonth = false;
						}
					}
				}
			}
			calendar = {  

			    changeMonth:false,
				ev:null,
				initCalendar:function(m,y,a,e) {
					calendar.renderCalendar(m,y,a,e);
					calendar.ev = e;

				},
				renderCalendar: function(month,year,a,e) {
					
					//get 
					var x = 0, y = 0;
					if(month == '') {
						month = getMonth();
					} 
					if(year == '') {
						year = getFullYear();
					}					
					var divCal = document.createElement('div');
					if($j('#calendarHolder').length == 0) {
						divCal.setAttribute('id','calendarHolder');					
						document.body.appendChild(divCal);					
					}
					var scTop = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;
					var scLeft = document.documentElement.scrollLeft || document.body.scrollLeft || window.pageXOffset;
					
					if(calendar.changeMonth == false) {	
						if(document.addEventListener) {
							x = e.clientX;
							y = e.clientY;
						} else {
							x = event.clientX;
							y = event.clientY;
						}
						x += (scLeft > 0 ? scLeft : 0);
						y += (scTop > 0 ? scTop : 0);
						$j('#calendarHolder').css({position:'absolute',top:y+'px',left:x+'px',zIndex:99999});										
						
					}					
					$j('#calendarHolder').show();
					
					
					$j.ajax({
						type:"POST",
						url:"/js/ajax/newsletter.php",
						data:"action=ajax.quotes&func=getCalendar&month="+month+"&year="+year+"&element="+$j('#'+a).attr('id'),
						success:function(r) {
							 var output = r || 'Error';	
							 $j('#calendarHolder').html(output);
						},
						
						error:function(r) {
							alert('Error loading calendar');
						},
						
					});
										

				},
				
				selectDate: function(month,day,year,element) {	
					$j('#'+element).get(0).value = month + '/' + day + '/' + year;
					$j('#calendarHolder').hide();
					calendar.changeMonth = false;
				}
			}
				
