
	//AJAX Calendar
	// Author: Gustavo Campos
		//remove calendar if not in use
			//listen to document on firefox
			if(document.addEventListener) {
				document.addEventListener("click",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($('calendarHolder')) {
																	$('calendarHolder').hide();
																}
															}
															},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($('calendarHolder')) {
							$('calendarHolder').hide();
						}
					}
				}
			}
			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');
					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);
						$('calendarHolder').setStyle({position:'absolute',top:y+'px',left:x+'px',zIndex:101});										
						
					}					
					$('calendarHolder').show();
					
					new Ajax.Request('/index.php', 
						{   method: 'post',
							parameters: 'action=ajax.quotes&func=getCalendar&month='+month+'&year='+year+'&element='+$(a).getAttribute('id'),
							onSuccess: function(transport) {  								  
								 var output = transport.responseText || 'Error';	
								 $('calendarHolder').update(output);
							},
							
							onLoaded: function() {
								var output = transport.responseText || '0';	 
								 $('calendarHolder').update(output);
								
							},
							onFailure: function() { alert('Error loading calendar'); } 
						}
					 ); 
					

				},
				
				selectDate: function(month,day,year,element) {	
					$(element).value = month + '/' + day + '/' + year;
					$('calendarHolder').hide();
				}
			}
				