// See: http://www.irt.org/articles/js054/index.htm
function makeArray() {
    for (i = 0; i<makeArray.arguments.length; i++)
        this[i] = makeArray.arguments[i];
}
// See: http://www.irt.org/articles/js054/index.htm

// See: http://www.irt.org/script/1688.htm
var _daysofmonth   = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var _daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var daysofmonth  = _daysofmonth;

 
function LeapYear(year) {
    if ((year/4)   != Math.floor(year/4))   return false;
    if ((year/100) != Math.floor(year/100)) return true;
    if ((year/400) != Math.floor(year/400)) return false;
    return true;
}
function y2k(number)    { return (number < 1000) ? number + 1900 : number; }
var now = new Date();
var year = y2k(now.getYear());
if( LeapYear(year) ){
	daysofmonth = _daysofmonthLY;
}
// See: http://www.irt.org/script/1688.htm

$( function() {
	build_reservation_form();
	
	$.FontSizer.Init( $( '#content' ) );

	var z = document.createElement( "div" );
 	var cb = document.createElement( "div" );
 	$( cb ).attr( "style", "clear: both" );
 	
 	$( z ).addClass( "zoom buttons" );
 	
 	z.appendChild( createButton( 'do_text_larger', '/asset/img/text_larger.gif', ZOOM_IN ) );
 	z.appendChild( createButton( 'do_text_smaller', '/asset/img/text_smaller.gif', ZOOM_OUT ) );
 	z.appendChild( createButton( 'do_text_reset', '/asset/img/text_reset.gif', ZOOM_RESET ) );
 	
 	z.appendChild( createButton( 'do_print', '/asset/img/print.gif', LINK_PRINT ) );
 	//z.appendChild( createButton( 'do_tell_friend', '/asset/css/img/send_to_friend.gif', LINK_SEND_TO_FRIEND ) );
 	
	$("#panel-search").prepend($(z));

 	$( "#do_print" ).unbind();  $( "#do_print" ).click( function() { window.print(); } );
 	$( "#do_text_larger" ).unbind();  $( "#do_text_larger" ).click( function() { $.FontSizer.IncreaseSize(); } );
 	$( "#do_text_smaller" ).unbind();  $( "#do_text_smaller" ).click( function() { $.FontSizer.DecreaseSize(); } );
 	$( "#do_text_reset" ).unbind();  $( "#do_text_reset" ).click( function() { $.FontSizer.Reset(); } );

	$( ".button" ).fadeIn( 5000 );
	
	$( ".jtree" ).treeview();
	
	$('#room-list').show();
	$('#room-carousel').jcarousel(
		{
        	visible: 3
    	}
    );
    
    $('#room-carousel').jcarousel(
		{
        	visible: 3
    	}
    );
    
    	
	
});


function dumpEmail( label, start, end ) 
{
	document.write( "<strong>" + label + ":<\/strong> " );
	document.write( start );
	document.write( "<img src='/asset/css/img/at.gif' alt='' /> " );
	document.write( end );
}

function createButton( id, src, title ) 
{
 	var d = document.createElement( "div" );
 	$( d ).addClass( "button" );
 	$( d ).css( "float", "right" );
	$( d ).css( "margin-right", "2px" );
 	var i = document.createElement( "img" );
 	$( i ).attr( "id", id );
 	$( i ).attr( "src", src );
 	$( i ).attr( "title", title );
 	$( i ).attr( "alt", title );
 	$( d ).css( "display", "none" );
 	
 	d.appendChild( i );
 	return d;

}

function build_reservation_form() {
	var frm = $( "#reservation-form" );
	var dl = document.createElement( "dl" );
	
	reservation_add_year_field( dl, now.getFullYear() );
	reservation_add_month_field( dl, now.getMonth() );
	reservation_add_day_field( dl, now.getDate() );
	reservation_add_submit( dl );
	
	frm.append( dl );
	
}

function reservation_add_submit( dl_control ) {
	var dt = document.createElement( "dt" );
	$( dl_control ).append( dt );
	
	var dd = document.createElement( "dd" );
	var sel = document.createElement( "input" );
	$( sel ).attr( "type", "submit" );
	$( sel ).attr( "class", "submit" );
	$( sel ).val( TX_SUBMIT );
	
	$( dd ).append( sel );
	$( dl_control ).append( dd );
	
}

function reservation_add_year_field( dl_control, year ) {
	var dt = document.createElement( "dt" );
	$( dt ).html( TX_YEAR );
	$( dl_control ).append( dt );
	
	var dd = document.createElement( "dd" );
	var sel = document.createElement( "select" );
	$( sel ).attr( "name", "year" );
	$( sel ).attr( "id", "year" );
	$( sel ).attr( "class", "criteria" );
	
	$( sel ).bind( "change", reservation_set_year );
	
	for( i = 0; i < 5; i++ ) {
		var opt = document.createElement( "option" );
		$( opt ).html( year + i );
		$( opt ).val ( year + i );
		
		$( sel ).append( opt );
		
	}
	
	$( dd ).append( sel );
	
	$( dl_control ).append( dd );

}

function reservation_add_month_field( dl_control, month ) {
	var dt = document.createElement( "dt" );
	$( dt ).html( TX_MONTH );
	$( dl_control ).append( dt );
	
	var dd = document.createElement( "dd" );
	var sel = document.createElement( "select" );
	$( sel ).attr( "name", "month" );
	$( sel ).attr( "id", "month" );
	$( sel ).attr( "class", "criteria" );
	
	for( i = 1; i < 13; i++ ) {
		var opt = document.createElement( "option" );
		var month_name = months_wide[ i - 1 ];
		$( opt ).html( month_name );
		$( opt ).val ( i );
		
		$( sel ).append( opt );
		
		if( i == month ) {
			$( opt ).attr( "selected", "selected" );
		}
		
		
		
	}
	
	$( sel ).bind( "change", reservation_set_days );
	
	$( dd ).append( sel );
	
	$( dl_control ).append( dd );
}

function reservation_add_day_field( dl_control, day ) {
	var dt = document.createElement( "dt" );
	var current_month = now.getMonth();
	
	$( dt ).html( TX_DAY );
	$( dl_control ).append( dt );
	
	var dd = document.createElement( "dd" );
	var sel = document.createElement( "select" );
	$( sel ).attr( "name", "day" );
	$( sel ).attr( "id", "day" );
	$( sel ).attr( "class", "criteria" );
	
	var days = daysofmonth[ current_month ];
	for( i = 1; i <= days; i++ ) {
		var opt = document.createElement( "option" );
		$( opt ).html( i );
		$( opt ).val ( i );
		
		$( sel ).append( opt );
		
		if( i == day ) {
			$( opt ).attr( "selected", "selected" );
		}
		
	}
	
	$( dd ).append( sel );
	
	$( dl_control ).append( dd );

}


function reservation_set_year() {
	var current_year = this.options[ this.selectedIndex ].value;
	if( LeapYear(current_year) ){
		daysofmonth = _daysofmonthLY;
	}
	else {
		daysofmonth = _daysofmonth;
	}
	
	reservation_set_days( $( "#month" ) );
	
}


function reservation_set_days( ctrl ) {
	$( "#day option" ).remove();
	var sel = $( "#day" );
	
	if( this.selectedIndex == undefined ) {
		var current_month = ctrl.get(0).selectedIndex;
	}
	else {
		var current_month = this.selectedIndex;
	}
	
	var days = daysofmonth[ current_month ];
	for( i = 1; i <= days; i++ ) {
		var opt = document.createElement( "option" );
		$( opt ).html( i );
		$( opt ).val ( i );
		$( sel ).append( opt );
	}

}


function reservation_preset_item( name, value ) {
	var ctl = $( name ).get(0);
	var idx = 0;
	for( i=0; i < ctl.options.length;i++ ) {
		option = ctl.options[ i ];
		if( option.value == value ) {
			ctl.selectedIndex = idx;
			return; 
		}
		
		idx++;
	}

}

function reservation_preset_year( year ) {
	reservation_preset_item( "#year", year );
}

function reservation_preset_month( month ) {
	reservation_preset_item( "#month", month );
}

function reservation_preset_day( day ) {
	reservation_preset_item( "#day", day );
}

var rotationIndex = 0;
function rotate_big_dude( i ) {
	var currentImage = rotatedImages[ rotationIndex ];
	
	rotationIndex++;
	if( rotationIndex > rotatedImages.length ) rotationIndex = 0;
	
	$( this ).hide();
	$( this ).css( "backgroundImage", "url(" + currentImage + ")" );
	$( this ).fadeIn();
	
}