// JavaScript Document
// Requires JQuery
// Must be loaded before the Gmap script

function include(file) {
	$.ajaxSetup({async: false});
	$.getScript(file);
	$.ajaxSetup({async: true});
}

function switchto(whatToDisp) {
	$(whatToDisp).parent().children().hide();
	$(whatToDisp).fadeIn('slow');
}

function JqCalendar(dateStartMonth, idDay, idMonthYear, idMoPrev, idMoNext, opts) {
	// Render a calendar in the ids
	// idDay must have the format of idDay0, idDay1, ..., idDay36
	
	// opts: clsToday
	// opts: metadata: {date: [optClassForThatDate, optTooltip], ... }
	//		 eg: metadata: {'20100418': ['clsHoliday', 'Holiday is coming'], '20100419': ['clsHoliday', '2nd holiday']}
	// opts: metadataClasses: metadata classes that are being used. Must be present if metadata is present
	//		 eg: metadataClasses: 'clsHoliday clsBlabla' 
	
	/* Eg:
	<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0" class="colorRightSide">
			<tr>
				<td align="center"><a href="javascript:void(null);" id="aMoPrev">&lt;</a></td>
				<td colspan="5" align="center" id="tdCalMonth">&nbsp;</td>
				<td align="center"><a href="javascript:void(null);" id="aMoNext">&gt;</a></td>
			</tr>
			<tr>
				<td align="center"><span class="style6">M</span></td>
				<td align="center">S</td>
				<td align="center">S</td>
				<td align="center">R</td>
				<td align="center">K</td>
				<td align="center">J</td>
				<td align="center">S</td>
			</tr>
			<?php
		$calDate = 0;
		for ($i=0; $i<6; $i++) {	
	?>
			<tr>
				<td align="center" class="style6" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
				<td align="center" id="calDate<?=$calDate++;?>">&nbsp;</td>
			</tr>
			<?php
		}		
	?>
		</table>
	<script>
	var cal = new JqCalendar(new Date(), '#calendar #calDate', '#calendar #tdCalMonth', 
				'#calendar #aMoPrev', '#calendar #aMoNext', {clsToday: 'blackalphabg'});
	cal.render();
	</script>
	*/
	
	var MONTHS = 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(',');
	
	this.month1 = new Date(dateStartMonth.getFullYear(), dateStartMonth.getMonth(), 1);
	this.idMonthYear = idMonthYear;
	this.idDay = idDay;
	this.opts = opts;
	
	var ME = this;
	$(idMoPrev).click(function() {
		ME.render(-1);
	 });
	$(idMoNext).click(function() {
		ME.render(1);
	 });
	
	function fmt(number) {
		if (number<10) number = '0' + number;
		return number;
	}

	this.render = function(nRelMonth) {
		nRelMonth = nRelMonth==null ? 0 : nRelMonth;
		this.month1.setMonth(this.month1.getMonth() + nRelMonth);
		month1 = this.month1;

		var dowMonth1 = month1.getDay();
		var offsetMonth1 = dowMonth1 - 1;
		for (var i=0; i<37; i++) {
			var nDate = i - offsetMonth1;
			var dDate = new Date(month1.getFullYear(), month1.getMonth(), nDate);
			var oDay = $(this.idDay + i); 
			
			if (dDate && dDate.getMonth() == month1.getMonth()) {
				oDay.text(nDate);
			
				////// now deal with the options
				
				if (this.opts.clsToday) {
					var today = new Date();
					
					if (today.toDateString() == dDate.toDateString()) 
						oDay.addClass(this.opts.clsToday);
					else 
						oDay.removeClass(this.opts.clsToday);
				}
				
				if (this.opts.metadata) {
					var sdDate = dDate.getFullYear() + '' + fmt(dDate.getMonth()+1) + fmt(dDate.getDate());
					var x;
					if (x = this.opts.metadata[sdDate]) {
						oDay.addClass(x[0]);
						oDay.attr('title', (x[1] ? x[1] : ''));
						//oDay.attr('alt', (x[1] ? x[1] : ''));
					}
					else { 
						oDay.removeClass(this.opts.metadataClasses);
						oDay.attr('title', '');
						//oDay.attr('alt', '');
					}
				}
				
			} else {
				oDay.text('');
			}			
		}
		
		$(this.idMonthYear).html(MONTHS[month1.getMonth()] + ' ' + month1.getFullYear());
	}
}


include('/lib/jquery.dropshadow.js');
include('/lib/jquery.corner.js');

$(document).ready(function() {
	$('.dropshadow').dropShadow(); // all dropshadow class is fixed
	$('.roundcorner').corner(); // all roundcorner class is fixed
});