	function swap ( name1, name2 )
	{
		obj1 = document.getElementById ( name1 );
		obj2 = document.getElementById ( name2 );
		swap_obj ( obj1, obj2 );
	}

	function swap_obj ( obj1, obj2 )
	{
		if ( obj1.style.display == '' )
		{
			hide_obj ( obj1 );
			show_obj ( obj2 );
		}
		else
		{
			show_obj ( obj1 );
			hide_obj ( obj2 );
		}
	}

	function toggle_obj ( obj )
	{
		if ( obj.style.display == '' ) hide_obj ( obj );
		else show_obj ( obj );
	}

	function show_obj ( obj )
	{
		obj.style.visibility = "visible";
		obj.style.display = '';
	}

	function hide_obj ( obj )
	{
		obj.style.visibility = "hidden";
		obj.style.display = "none";
	}

	function show ( name )
	{
		obj = document.getElementById ( name );
		show_obj ( obj );
	}

	function hide ( name )
	{
		obj = document.getElementById ( name );
		hide_obj ( obj );
	}


	
	var weekday, day, month, yy, year;



	date 		= new Date ();

	weekday  	= date.getDay ();

	day  		= date.getDate ();

	month 		= date.getMonth ();

	yy 			= date.getYear ();

	function pinta_data () 
	{
		var fecha = new Date();
		var diames = fecha.getDate();
		var diasemana = fecha.getDay();
		var mes = fecha.getMonth() +1 ;
		var ano = fecha.getFullYear();
		
		document.write(weekdayslong[diasemana] + ", " + diames + "/" + months[mes] + "/" + ano);
	}
	
	function set_select ( name, value )
	{
		var object = document.getElementById(name);
		for ( i = 0; i < object.options.length; i++ )
		{
			if ( object.options[i].value == value )
			{
				object.options[i].selected = true;
			}
		}
	}
	
	

	function show_calendar ( container_name, position )
	{
		var div = document.getElementById ( container_name );
		if ( div.style.visibility == "visible" ) 
			return hide_calendar ( container_name );
		update_calendar ( container_name, position );
	}

	function update_calendar ( container_name, position )
	{
		month = month + position;

		if ( month > 11 ) {
			month = month - 12;
			yy = yy + 1;
		} else if ( month < 0 )	{
			month = month + 12;
			yy = yy - 1;
		}

		year = (yy < 1000) ? yy + 1900 : yy;

		date.setMonth( month );
		
		date.setYear( year );

		var daysinmonth = new makeArray ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

		if (( (year % 4 == 0) && (year % 100 != 0) ) || (year % 400 == 0) ) daysinmonth[2] = 29;

		var startDay = date.getDay () - 2;
		
		if ( startDay < 0 ) startDay = startDay + 7;

		var nDays = daysinmonth[month + 1];
		
		var buffer = "<div>";

		buffer = buffer + "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";

		buffer = buffer + "<tr>";
		
			buffer = buffer + "<td colspan=\"7\">";
		
				buffer = buffer + "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"head\">";
		
					buffer = buffer + "<tr>";

						buffer = buffer + "<td align=\"left\">&nbsp;<a href=\"javascript:update_calendar ( '" + container_name + "', " + ( -1 ) + " )\">&lt;&lt;</a></td>";

						buffer = buffer + "<td align=\"center\">" + months[month + 1] + " " + year + "</td>";

						buffer = buffer + "<td align=\"right\"><a href=\"javascript:update_calendar ( '" + container_name + "', " + ( 1 ) + " )\">&gt;&gt;</a>&nbsp;</td>";
	
					buffer = buffer + "</tr>";
				
				buffer = buffer + "</table>";	
		
			buffer = buffer + "</td>";
		
		buffer = buffer + "</tr>";

		buffer = buffer + "<tr>";

			for ( i = 1; i <= 7; i++ ) buffer = buffer + "<td class=\"bg subtle\">&nbsp;&nbsp;" + weekdays[i] + "</td>";

		buffer = buffer + "</tr>";
		
		buffer = buffer + "<tr>";

		column = 0;

		for ( i = 0; i < startDay; i++ )
		{
			buffer = buffer + "<td>&nbsp;</td>";

			column++;
		}

		for ( i = 1; i <= nDays; i++ )
		{
			if ( container_name == "ini_date" )

				buffer = buffer + "<td class=\"subtle\" onMouseOver=\"this.style.cursor='pointer'; this.style.backgroundColor='#9FCEF9'; this.style.fontColor='#eCa420'\" onMouseOut=\"this.style.cursor='default'; this.style.backgroundColor=''; this.style.fontColor=''\" onClick=\"javascript:set_select ( 'ini_day', " + i + " ); set_select ( 'ini_month', " + (month + 1) + " ); set_select ( 'ini_year', " + year + " ); hide_calendar ( '" + container_name + "' )\">&nbsp;&nbsp;" + i + "</td>";

			if ( container_name == "end_date" )

				buffer = buffer + "<td class=\"subtle\" onMouseOver=\"this.style.cursor='pointer'; this.style.backgroundColor='#9FCEF9'; this.style.fontColor='#eCa420'\" onMouseOut=\"this.style.cursor='default'; this.style.backgroundColor=''; this.style.fontColor=''\" onClick=\"javascript:set_select ( 'end_day', " + i + " ); set_select ( 'end_month', " + (month + 1) + " ); set_select ( 'end_year', " + year + " ); hide_calendar ( '" + container_name + "' )\">&nbsp;&nbsp;" + i + "</td>";

			if ( container_name == "date" )

				buffer = buffer + "<td class=\"subtle\" onMouseOver=\"this.style.cursor='pointer'; this.style.backgroundColor='#9FCEF9'; this.style.fontColor='#eCa420'\" onMouseOut=\"this.style.cursor='default'; this.style.backgroundColor=''; this.style.fontColor=''\" align=\"center\" onClick=\"javascript:set_select ( 'day', " + i + " ); set_select ( 'month', " + (month + 1) + " ); set_select ( 'year', " + year + " ); hide_calendar ( '" + container_name + "' )\">&nbsp;&nbsp;" + i + "</td>";

			column++;

			if ( column == 7 )
			{
				buffer = buffer + "</tr><tr>"; 

				column = 0;
			}
		}

		while ( i < 7 - column )
		{
			buffer = buffer + "<td>&nbsp;</td>";

			i++;
		}

		buffer = buffer + "</tr></table></div>";

		var div = document.getElementById ( container_name );

		div.innerHTML = buffer;

		div.style.visibility = "visible";

		div.style.display = "";
	}

	function hide_calendar ( container_name )
	{
		var div = document.getElementById ( container_name );
		div.innerHTML = "";
		div.style.visibility = "hidden";
		div.style.display = "none";
	}

	function set_tab ( name, number )
	{
		var active_number = document.getElementById ( 'active_tab_' + name ).value;

		if ( active_number == number ) 
			return;

		hide ( 'tab_body_' + name + '_' + active_number );

		var active_link = document.getElementById ( 'tab_' + name + '_' + active_number );
		active_link.setAttribute ( 'class', '' );
		show ( 'tab_body_' + name + '_' + number );

		var this_link = document.getElementById ( 'tab_' + name + '_' + number );
		this_link.setAttribute ( 'class', 'tabs-selected' );

		document.getElementById ( 'active_tab_' + name ).value = number;
	}

