var todaydate=new Date()
var curmonth=todaydate.getMonth()+1; //get current month (1-12)
var curyear=todaydate.getFullYear(); //get current year

  function getURLParam(strParamName){
		var strReturn = "";
		var strHref = window.location.href;

		if ( strHref.indexOf("?") > -1 ){
			var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
			var aQueryString = strQueryString.split("&");

			for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){

				if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
					var aParam = aQueryString[iParam].split("=");
					strReturn = aParam[1];
					break;
				}
			}
		}
	
		return strReturn;
	}
	

var selectedDate = new String();
var skin = new String();
var tempArray = [];
var thismonth = todaydate.getMonth()+1;
selectedDate = getURLParam("startdate");
skin = getURLParam("skin");
tempArray = selectedDate.split("%2f");

if(tempArray.length == 3){
	var selectedDay = tempArray[1];
	selected_month = tempArray[0];
	selected_year = tempArray[2];

}else{
	var selected_year = curyear;
	var selected_month = curmonth;
}


function buildCal(m, y, cM, cH, cDW, cD, brdr, eventAff, urlParams){

// PRE-Load Images for IE 6.0
	if (document.images){
		preload_image_object1 = new Image();
		preload_image_object2 = new Image();
		preload_image_object3 = new Image();
		preload_image_object4 = new Image();
		
		// set image url
		preload_image_object1.src = "/img/calendar_top_left_dark.gif";
		preload_image_object2.src = "/img/calendar_top_right_dark.gif";
		preload_image_object3.src = "/img/calendar_bottom_left_dark.gif";
		preload_image_object4.src = "/img/calendar_bottom_right_dark.gif";
//		alert("preloaded: /img/calendar_top_left_dark.gif \n /img/calendar_top_right_dark.gif \n /img/calendar_bottom_left_dark.gif \n /img/calendar_bottom_right_dark.gif");
    }

	var mn=['January','February','March','April','May','June','July','August','September','October','November','December'];
	var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
	var date;
	var count=1;

	var oD = new Date(y, m-1, 1); 
	oD.od=oD.getDay()+1; 

	var todaydate=new Date() 
	var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 
	var thismonth = todaydate.getMonth()+1;//parseInt(selected_month);
	var thisyear = todaydate.getFullYear();
	
	dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
	var t='<div class="'+cM+'"><table class="'+cM+'" cols="7" cellpadding="0" border="'+brdr+'" cellspacing="0"><tr align="center">';

	t+='<td colspan="1" align="center" class="'+cH+' month_colors">';
	if (m == thismonth && y == thisyear) { 
		t+='';
	} else { t+='<span class="month_colors"><a href="javascript:void(0);" onClick="skip(\'-\',\'' + eventAff + '\');">&lt;&lt;</a></span>';}
	t+='<td colspan="5" align="center" class="'+cH+' month_colors">'+mn[m-1]+' '+y+'</td>';
	t+='<td colspan="1" align="center" class="'+cH+' month_colors"><span class="month_colors"><a href="javascript:void(0);" onClick="skip(\'+\',\'' + eventAff + '\');">&gt;&gt;</a></span></td></tr>';

//	t+='<tr align="center">';

//	for(s=0;s<7;s++)t+='<td class="'+cDW+' daysofweek_colors">'+"SMTWTFS".substr(s,1)+'</td>';

//	t+='</tr>';

	t+='<tr align="center" valign="top">';

    
	for(i=1;i<=42;i++){
		var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
		date = x;
			
		if (x=='&nbsp;'){
			   if ((count == 1) && (i<7)) {  
				          t+='<td class="weekends_colors_top_left">'+x+'</td>';  
				     } else if ((count == 1) && (i>35)) { 
				         t+='<td class="weekends_colors_bottom_left">'+x+'</td>';      
				     } else if ((count == 7) && (i<14)) {  
				          t+='<td class="weekends_colors_top_right">'+x+'</td>';  
				     } else if ((count == 7) && (i>35)) {  
				          t+='<td class="weekends_colors_bottom_right">'+x+'</td>';  
				     } else {  
				          t+='<td class="'+cD+' days_colors">'+x+'</td>';  
				    }
		}
		else {
			if (x == scanfortoday) {
				if ((selectedDay != scanfortoday) && parseInt(selected_month) == thismonth){
					x='<span class="'+cD+' future_days_colors">'+x+'</span>';
				} else {
					x='<span class="today today_colors">'+x+'</span>';
				}
			}
			//console.info("selectedDay = " + selectedDay + " selected_month = " + selected_month + " thismonth = " + thismonth);
			if(x == selectedDay && parseInt(selected_month) == tempArray[0]){
				if ((count == 1) || (count == 7)) {
					x ='<span class="today today_colors">'+x+'</span>';
				} else {
					x ='<span class="today today_colors">'+x+'</span>';
				}
			}			
			if (x < scanfortoday) {
				
				   if ((count == 1) && (i<7)) {  
				          t+='<td class="weekends_colors_top_left">'+x+'</td>';  
				     } else if ((count == 1) && (i>35)) { 
				         t+='<td class="weekends_colors_bottom_left">'+x+'</td>';      
				     } else if ((count == 7) && (i<14)) {  
				          t+='<td class="weekends_colors_top_right">'+x+'</td>';  
				     } else if ((count == 7) && (i>35)) {  
				          t+='<td class="weekends_colors_bottom_right">'+x+'</td>';  
				     } else {  
				          t+='<td class="'+cD+' days_colors">'+x+'</td>';  
				    }
						
			} else {
			
	  				 if ((count == 1) && (i<7)) {  
				          t+='<td class="weekends future_weekends_colors_top_left"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y+'">'+x+'</a></td>';  
				     } else if ((count == 1) && (i>35)) { 
				         t+='<td class="weekends future_weekends_colors_bottom_left"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y+'">'+x+'</a></td>';      
				     } else if ((count == 7) && (i<14)) {  
				          t+='<td class="weekends future_weekends_colors_top_right"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y+'">'+x+'</a></td>';  
				     } else if ((count == 7) && (i>35)) {  
				          t+='<td class="weekends future_weekends_colors_bottom_right"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y+'">'+x+'</a></td>';  
				     } else {  
				          t+='<td class="'+cD+' future_days_colors"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y+'">'+x+'</a></td>';  
				    }
			
				//if ((count == 1) || (count == 7)) {
				//	t+='<td class="weekends future_weekends_colors"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
				//} else {
				//	t+='<td class="'+cD+' future_days_colors"><a href="/sp?&skin='+skin+'&aff=' + eventAff + '&startDate='+m+'/'+date+'/'+y+'">'+x+'</a></td>';
				//}
			}
		}
		
		count++;
		if(((i)%7==0)&&(i<36)){
			t+='</tr><tr align="center">';
			count=1;
		}
	}
	
	return t+='</tr></table></div>';
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}


function eventsGet(eventAff,urlParams,m,date,y){
    var myKeyword = document.eventForm.keywords.value;
    
    if (myKeyword == 'Keyword or Business Name') {
    	myKeyword = replace(myKeyword,'Keyword or Business Name','');
    } else  if (myKeyword == 'Keyword (Optional)') {
    	myKeyword = replace(myKeyword,'Keyword (Optional)','');
    }
	urlParams = urlParams + "&keywords=" + myKeyword;
   	var myUrl = '/sp?&skin=<%=skin%>&aff=' + eventAff + '&startDate='+m+'%2F'+date+'%2F'+y;
	window.location=myUrl;
}

function updatecalendar(theselection, eventAff, urlParams){
	var themonth=parseInt(theselection[theselection.selectedIndex].value)+1
	var calendarstr=buildCal(themonth, curyear, "main", "month", "daysofweek", "days", 0, eventAff, urlParams)
	if (document.getElementById)
	document.getElementById("calendar").innerHTML=calendarstr
}

function skip(Direction, eventAff, urlParams) {
   if (Direction == '+') {
      if (selected_month == 12) {
         selected_month = 1;
         selected_year++;
      }
      else {
         selected_month++;
      }
   }
   else {
      if (selected_month == 1) {
         selected_month = 12;
         selected_year--;
      }
      else {
         selected_month--;
      }
   }
   
   	var calendarstr=buildCal(selected_month, selected_year, "main", "month", "daysofweek", "days", 0, eventAff, urlParams)
	if (document.getElementById)
		document.getElementById("calendar").innerHTML=calendarstr
}

