// JavaScript Document
var month = 1;
var newDate=new Date(); 
var d = new Date();
month =  d.getMonth();

function showDialog(link, title){
 
    //$("#dialog").html(title+'<iframe  href="" id="modalIframe" width="100%" height="100%" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="auto" ></iframe>');
    $("#dialog").html("<div style='text-align:left;font-size:14px'>"+title+"</div>");
    $("#modalIframe").attr("src",link);
	 $("#dialog").dialog("open");
	 
} 

 function showAdd(link, title){
	 $("#add_event").dialog("open");
	}
 function showGuide(link, title){
	 $("#guidelines").dialog("open");
	}
	$(document).ready(function() {
 
	 $('#event_start_date').datepicker({ dateFormat: 'yy-mm-dd' });   
	 $('#event_end_date').datepicker({ dateFormat: 'yy-mm-dd' });    
	
	$('#add_this').click(function() { showAdd('link','title');  });
	$('#show_guidelines').click(function() { showGuide('link','Policy and User Guidelines');  });
	
	$('#dialog').dialog({
					autoOpen: false,
					width: 600,
					buttons: {
						"Ok": function() { 
							$(this).dialog("close"); 
						}, 
						"Cancel": function() { 
							$(this).dialog("close"); 
						} 
					}
				});

	 $('#add_event').dialog({
					autoOpen: false,
					width: 600,
					buttons: {
						 
					}
				});
	 
	 
	 $('#guidelines').dialog({
					autoOpen: false,
					width: 600,
					buttons: {
						 
					}
				});
	 
	 

  function create_calendar(search_term) 
  {
	  
		$('#calendar').fullCalendar({
									
			 
			 viewDisplay: function(view) {
				/* if the next two lines are not here onclick event is not registered for search calendar */
            
    

   			 },

		header: {
			
				 left: '',  
				center: 'title',
				right: 'month,basicWeek,basicDay'
			},
			 
			//this feed below is a blank calendar to use for overlaying other calendars
			events: $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/tnr01t1t8adkgnm7tsp9mt1i0o%40group.calendar.google.com/public/basic',''),		
			
		 
			eventClick: function(event) {
		 
			url = event.url;
			if (event.url) {
				var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
 				var r = new RegExp();
				var r2 = new RegExp();
			    var email = new RegExp();

  			    r.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
  			    r2.compile("^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
			    email.compile("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$");

				var title = event.title;
				var start_time;
				var end_time;
				
				var start_d = event.start;
				var end_d = event.end;  
				var start_date;
				var end_date;
				var when;
				
				if (start_d!=null) {
				start_d = start_d.toString();
				start_d = start_d.replace(' GMT-0600 (Mountain Daylight Time)','');
				var start_parts = new Array();
				var start_parts  = start_d.split(' '); 
				start_date = start_parts[0]+' '+start_parts[1]+' '+start_parts[2]+' '+start_parts[3];
				start_t = start_parts[4].split(':');
				if (start_t[0]>12) { start_t[0] = start_t[0]-12; add=' pm'; } else { add=' am'; }
				if (start_t[0]=='12') { add=' pm'; }
				start_time = (start_t[0])+':'+(start_t[1])+ add;
				if ((start_t[0]=='00') || (start_t[0]=='') ) { start_time='All Day'; }
				} 
				
				
				
				if (end_d!=null) {
				end_d = end_d.toString();
				 
				end_d = end_d.replace(' GMT-0600 (Mountain Daylight Time)','');
				var end_parts = new Array();
				var end_parts  = end_d.split(' ');
				end_date = end_parts[0]+' '+end_parts[1]+' '+end_parts[2]+' '+end_parts[3];
				end_t = end_parts[4].split(':');
				if (end_t[0]>12) { end_t[0] = end_t[0]-12; add=' pm'; } else { add=' am'; }
				if (end_t[0]=='12') { add=' pm'; }
				end_time = (end_t[0])+':'+(end_t[1])+ add;
			    if ((end_t[0]=='00')  || (end_t[0]=='') ) { end_time='All Day'; }
				}
				 
				 if ((start_d==null) || (end_d==null) ) { when=''; } else { when = start_date+' '+start_time+' to '+end_date+' '+end_time+'<br><br>'; }
				var desc = event.description; 
				var words = new Array();
				var words = desc.split(' '); 
				for(i=0;i<words.length;i++) {
				    if (r.test(words[i]) && ( !(words[i].search(".png")>-1) && !((words[i].search(".jpg")>-1) || (words[i].search(".gif")>-1))) &&  ((words[i]!='p.m.') && (words[i]!='a.m.') && !(words[i].search('www.youtube.com')>-1) ))   {  words[i] = "<p><a style='text-align:left;font-size:14px' href='"+words[i]+"'>"+words[i]+"</a></p>"; }
				 	if (r2.test(words[i]) && !(words[i].search(".png")>-1) &&  ((words[i]!='p.m.') && (words[i]!='a.m.') && !(words[i].search('www.youtube.com')>-1) ))  {  words[i] = "<p><a style='text-align:left;font-size:14px' href='http://"+words[i]+"'>"+words[i]+"</a></p>"; }
					if ( (words[i].search(".png")>-1) || (words[i].search(".jpg")>-1) || (words[i].search(".gif")>-1)) {words[i] = "<p><img width=200 height=200 border=0 src='"+words[i]+"' /></p>"; }
					if(words[i].search('www.youtube.com')>-1) { words[i] = '<p><object width="240" height="193"><param name="movie" value="'+words[i]+'"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="'+words[i]+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="240" height="193"></embed></object></p>'; }
					if (email.test(words[i])) { words[i] = "<a href='mailto:"+words[i]+"'>"+words[i]+"</a>";  } 
				 
					}
				// desc = "<span style='font-weight:bold;font-size:16px;'>"+ title+"</span><br>"+start_date+" "+start_time+" to "+end_date+" "+ end_time+"<br><br>";
				  desc = "<span style='font-weight:bold;font-size:16px;'>"+ title+"</span><br>"+when+"";
				 desc = desc + words.join(' ');  
				 desc = desc + "<p style='text-align:left;font-size:14px'>Location: "+event.location+" <a style='text-align:left;font-size:14px' target='_BLANK' href='http://maps.google.com/maps?q="+ event.location+" 83638'>Map It!</a></p>";
				 
				showDialog(event.url, desc);
                return false;
                }
			 
			},
			firstDay: 1 ,
			weekends: true,
			
			loading: function(bool) {
				if (bool) {
					$('#loading').show();
				}else{
					$('#loading').hide();
				}
		
		}
			
		});
 
 /*** end of create calendar */// 
 }

var blank_slate = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/tnr01t1t8adkgnm7tsp9mt1i0o%40group.calendar.google.com/public/basic",'');
 

function curr_month()
{
var t =  $('#calendar').fullCalendar('getDate');
var d = $('#calendar').fullCalendar('getDate').getMonth();
 

return d;
}

function add_all(srch_term)
{
	                                   
var chamber = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallchamber%40gmail.com/public/basic", { className: 'chamber' } ,srch_term);  
var chamber_member = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallchambermember%40gmail.com/public/basic", { className: 'chamber_member' } ,srch_term);  
var holidays = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic", { className: 'holidays' } ,srch_term);  

var business = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/i1ktbh4j0g0539tt6krpuhih5o%40group.calendar.google.com/public/basic", { className: 'business' } ,srch_term); 
var golf = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallgolf%40gmail.com/public/basic", { className: 'golf' }, srch_term); 
var ski = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/412uqjleborvsgdd4baq2927i0%40group.calendar.google.com/public/basic', { className: 'ski' }, srch_term); 
var ice = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/jwjawlly5%40gmail.com/public/basic', { className: 'ice' }, srch_term); 
var arts = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/28eos0nqdvrk5q43hv08qk0r10%40group.calendar.google.com/public/basic', { className: 'arts' }, srch_term);
 var recreation = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/mccallrecreation%40gmail.com/public/basic', { className: 'recreation' }, srch_term);
 
 
clear_all(); 
//$('#calendar').fullCalendar('addEventSource', blank_slate);

if ($("#business").attr("rel")=='1') {     set_active('business');  $('#calendar').fullCalendar('addEventSource', business); } else { set_deactive('business');  $('#calendar').fullCalendar('removeEventSource', business); }

if ( $("#recreation").attr('rel')=='1') {    set_active('recreation'); $('#calendar').fullCalendar('addEventSource', recreation); } else { set_deactive('recreation'); $('#calendar').fullCalendar('removeEventSource', recreation); }

if ( $("#golf").attr('rel')=='1') {    set_active('golf'); $('#calendar').fullCalendar('addEventSource', golf); } else { set_deactive('golf'); $('#calendar').fullCalendar('removeEventSource', golf); }

//if ($("#ski").attr('rel')=='1') {   set_active('ski'); $('#calendar').fullCalendar('addEventSource', ski); } else { set_deactive('ski'); $('#calendar').fullCalendar('removeEventSource', ski); }
if ($("#ice").attr('rel')=='1') { set_active('ice'); $('#calendar').fullCalendar('addEventSource', ice); } else { set_deactive('ice'); $('#calendar').fullCalendar('removeEventSource', ice); }
if ($("#arts").attr('rel')=='1') {   set_active('arts'); $('#calendar').fullCalendar('addEventSource', arts); } else {  set_deactive('arts');$('#calendar').fullCalendar('removeEventSource', arts); } 
if ($("#chamber").attr('rel')=='1') {    set_active('chamber'); $('#calendar').fullCalendar('addEventSource', chamber);	$('#calendar').fullCalendar('addEventSource', chamber_member);} else { set_deactive('chamber'); $('#calendar').fullCalendar('removeEventSource', chamber); $('#calendar').fullCalendar('removeEventSource', chamber_member); }
 
 $('#calendar').fullCalendar('addEventSource', holidays);
 
}

 
function add_feed(srch_term, id)
{
	                                   
var chamber = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallchamber%40gmail.com/public/basic", { className: 'chamber' } ,srch_term);  
var chamber_member = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallchambermember%40gmail.com/public/basic", { className: 'chamber_member' } ,srch_term);  
var holidays = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic", { className: 'holidays' } ,srch_term);  

 
var business = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/i1ktbh4j0g0539tt6krpuhih5o%40group.calendar.google.com/public/basic", { className: 'business' } ,srch_term); 
var golf = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/mccallgolf%40gmail.com/public/basic", { className: 'golf' }, srch_term); 
var ski = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/412uqjleborvsgdd4baq2927i0%40group.calendar.google.com/public/basic', { className: 'ski' }, srch_term); 
var ice = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/jwjawlly5%40gmail.com/public/basic', { className: 'ice' }, srch_term); 
var arts = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/28eos0nqdvrk5q43hv08qk0r10%40group.calendar.google.com/public/basic', { className: 'arts' }, srch_term);
 var recreation = $.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/mccallrecreation%40gmail.com/public/basic', { className: 'recreation' }, srch_term);


clear_all();
//$('#calendar').fullCalendar('addEventSource', blank_slate);
switch(id) {
case 'business' :
if ($("#business").attr("rel")=='1') {   set_active('business');  $('#calendar').fullCalendar('addEventSource', business); } else { set_deactive('business');  $('#calendar').fullCalendar('removeEventSource', business); }

case 'golf' :
if ( $("#golf").attr('rel')=='1') {  set_active('golf'); $('#calendar').fullCalendar('addEventSource', golf); } else { set_deactive('golf'); $('#calendar').fullCalendar('removeEventSource', golf); }

case 'recreation' :
if ( $("#recreation").attr('rel')=='1') {  set_active('recreation'); $('#calendar').fullCalendar('addEventSource', recreation); } else { set_deactive('recreation'); $('#calendar').fullCalendar('removeEventSource', recreation); }


case 'ski' :
if ($("#ski").attr('rel')=='1') {   set_active('ski'); $('#calendar').fullCalendar('addEventSource', ski); } else { set_deactive('ski'); $('#calendar').fullCalendar('removeEventSource', ski); }

case 'ice' :
if ($("#ice").attr('rel')=='1') {   set_active('ice'); $('#calendar').fullCalendar('addEventSource', ice); } else { set_deactive('ice'); $('#calendar').fullCalendar('removeEventSource', ice); }
if ($("#arts").attr('rel')=='1') {   set_active('arts'); $('#calendar').fullCalendar('addEventSource', arts); } else {  set_deactive('arts');$('#calendar').fullCalendar('removeEventSource', arts); } 

case 'chamber' :
if ($("#chamber").attr('rel')=='1') {   set_active('chamber'); $('#calendar').fullCalendar('addEventSource', chamber);	$('#calendar').fullCalendar('addEventSource', chamber_member);} else { set_deactive('chamber'); $('#calendar').fullCalendar('removeEventSource', chamber); $('#calendar').fullCalendar('removeEventSource', chamber_member); }

}

} 
 
function set_active(button)
{
$("#"+button).attr('rel','1');
$("#"+button).attr('class','regular item-selected item-selected-regular');		
}
function set_deactive(button)
{
$("#"+button).attr('rel','0');  
$("#"+button).attr('class','special item-selected item-selected-special');		
}
function deactivate_all()
{
  $("#golf").attr('class','special item-selected item-selected-special');	$("#golf").attr('rel','0');
  $("#ice").attr('class','special item-selected item-selected-special');	$("#ice").attr('rel','0');
  $("#business").attr('class','special item-selected item-selected-special'); $("#business").attr('rel','0');
  //$("#ski").attr('class','special item-selected item-selected-special');	$("#ski").attr('rel','0');
  $("#chamber").attr('class','special item-selected item-selected-special'); $("#chamber").attr('rel','0');	
  $("#arts").attr('class','special item-selected item-selected-special');	$("#arts").attr('rel','0');
    $("#recreation").attr('class','special item-selected item-selected-special');	$("#recreation").attr('rel','0');
}
function activate_all()
{
 
  $("#golf").attr('class','regular item-selected item-selected-regular');		$("#golf").attr('rel','1');
  $("#ice").attr('class','regular item-selected item-selected-regular');		$("#ice").attr('rel','1');
  $("#business").attr('class','regular item-selected item-selected-regular'); $("#business").attr('rel','1');
 // $("#ski").attr('class','regular item-selected item-selected-regular');		$("#ski").attr('rel','1');
  $("#chamber").attr('class','regular item-selected item-selected-regular');  $("#chamber").attr('rel','1');	
  $("#arts").attr('class','regular item-selected item-selected-regular');		$("#arts").attr('rel','1');
    $("#recreation").attr('class','regular item-selected item-selected-regular');		$("#recreation").attr('rel','1');
}

function clear_all()
{


 $('#calendar').fullCalendar('removeEvents');  
 $('#calendar').fullCalendar('destroy'); 
  create_calendar();
  

  $('#calendar').fullCalendar('addEventSource', blank_slate);
}
function set_date()
{
 //alert('set date:'+$("#gotoDate").val());
  toggle();
  
	 $('#calendar').fullCalendar( 'gotoDate', new Date(2010,$("#gotoDate").val(),1) );	
} 
function toggle()
{
	 $('#calendar').fullCalendar('prev');
}

		$("#golf").click(function(){  
			id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
		
       $("#recreation").click(function(){  
			id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
		
	/*	$("#ski").click(function(){
			 id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {  set_active(id); add_feed($('#search').val(), 'ski');   $('#calendar').fullCalendar('next');set_date();   }  else {  set_deactive(id);  add_all($('#search').val()); $("#gotoDate").val( month);    }   	});	 
*/
		$("#business").click(function(){
		id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
	
		$("#ice").click(function(){	  
			id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
		
	 	$("#arts").click(function(){	  
			id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
		 
		$("#chamber").click(function(){ 
			id = $(this).attr('id'); if ($(this).attr('rel')  == '0')  {   clear_all();   set_active(id);  add_all($('#search').val());  set_date();   }  else {   clear_all();    set_deactive(id);  $("#gotoDate").val( month); add_all($('#search').val());  set_date();  } 		}); 
		
		
		
				 
				
				$("#search_it").click(function(){     
				clear_all();							   
		       	 $("#gotoDate").val( month);  
                		 
				add_all($('#search').val());  
                set_date();	
  
 
				
		 	    });
					
				$("#clear").click(function(){	$('#search').val(''); clear_all(); deactivate_all(); $("#gotoDate").val( month); set_date(); });	
					
				$("#add_all").click(function(){	activate_all(); $('#calendar').fullCalendar('removeEvents');   $('#calendar').fullCalendar('destroy'); 	  
				 create_calendar();  $("#gotoDate").val( month); add_all($('#search').val());  $('#calendar').fullCalendar('next'); toggle(); set_date();
	               });


              $("#gotoDate").change(function() { 
											 
				var currentTime = new Date();
				var curr_month = currentTime.getMonth() + 1;
				var curr_year = currentTime.getFullYear();
				var num_month = 1;
				
				
				var newDate=new Date();   
				month =  $(this).val(); 
				 num_month = parseInt(month) + 1;
				if (num_month<curr_month) { curr_year = curr_year + 1; } 
				// if current month is greater than jump to date add + 1 year 
				newDate.setFullYear(curr_year,month,1); 
				$('#calendar').fullCalendar( 'gotoDate', newDate );	  
				});

      
	 
	 create_calendar();  
	  
	 $("#gotoDate").val( month);   
	 add_all($('#search').val());  
	 
   
    
	$(".prev").click(function() {    month--; $('#calendar').fullCalendar('prev');  $("#gotoDate").val(month);  	 } );
	$(".next").click(function() {  month++; $('#calendar').fullCalendar('next');       $("#gotoDate").val(month);   });
	$(".today").click(function() { $('#calendar').fullCalendar('today');     $("#gotoDate").val(curr_month());});
	
	
	$("#period").change(function() {   
	if ($(this).val()!='None') 
	{  
	if ($(this).val()=='Daily') {
		 
		$('input[name=event_mon]').attr('checked','checked');
		$('input[name=event_tue]').attr('checked','checked');
		$('input[name=event_wed]').attr('checked','checked');
		$('input[name=event_thur]').attr('checked','checked');
		$('input[name=event_fri]').attr('checked','checked');
		$('input[name=event_sat]').attr('checked','checked');
		$('input[name=event_sun]').attr('checked','checked');
	}
	else {
		
		$('input[name=event_mon]').attr('checked','');
		$('input[name=event_tue]').attr('checked','');
		$('input[name=event_wed]').attr('checked','');
		$('input[name=event_thur]').attr('checked','');
		$('input[name=event_fri]').attr('checked','');
		$('input[name=event_sat]').attr('checked','');
		$('input[name=event_sun]').attr('checked','');
	}
	$("tr#re_days").css("display","inline");
	}  
	else { 
	
	$('input[name=event_mon]').attr('checked','');
		$('input[name=event_tue]').attr('checked','');
		$('input[name=event_wed]').attr('checked','');
		$('input[name=event_thur]').attr('checked','');
		$('input[name=event_fri]').attr('checked','');
		$('input[name=event_sat]').attr('checked','');
		$('input[name=event_sun]').attr('checked','');
	$("tr#re_days").css("display","none");
	
	
	} } );
	 });
