(function($) {

	$.fn.formValidate = function(options) {
		var defaults = {
			errorStart: 'A valid ',
			errorEnd: ' is required.'
		},
		opts = $.extend(defaults, options);
		return this.each(function() {
			var form = $(this);
			$('.submit', form).click(function() {				
				var _errors = '';
				//Removes validation errors from previous submit
				$('.validation-error', form).removeError(form);	
				
				$('.required', form).each(function() {
					var valid = true;
					
					if($(this).is(':input')) {
						var o = $.trim($(this).val());
						
						if($(this).hasClass('email')) {
							// if it's an email address make sure the email is valid using both regular expressions
							valid = /^[a-z0-9_+.-]+\@(?:[a-z0-9-]+\.)+[a-z0-9]{2,4}$/i.test(o);
							if($(this).hasClass('confirm-email')&&valid) {
								var prev = $.trim($(this).parents('.field').prev().children('.email').val());
								if(o!=prev)
									valid=!valid;
							}
						} else if (o.replace(/(?:^\s+)|(?:\s+$)/g,'').length < 1) {
							// if not an email address take out funky characters and see if its still blank
							valid = !valid;
						}
					} else if($(this).is('ul')) {
						valid = false;
						
						$(':radio, :checkbox', this).each(function() {
							if($(this).is(':checked'))
								valid = true;
						});
					}
					
					if(!valid) {
						if(form.hasClass('inline')) {
							$(this).parents('.field').children('label').addClass('validation-error');
						} else {
							var warn = $('<img />').attr('src', '/images/icon-warning.gif').addClass('validation-error');
							
							if( $(this).is('ul') )
								$('li:first', this).append(warn);
							else 
								$(this).parent().append(warn);
						}
													
						if(_errors == '')
							_errors = $(this).attr("id");
					}
				});
				if(_errors.length) {
					var lbl = $('#'+_errors).parents('.field').children('label');
					var lblhtml = lbl.html().replace(/(<([^>]+)>)/gi, '');
					lblhtml = lblhtml.replace('*','')
					
					if(lbl[0].title.length)
						alert(lbl[0].title);
					else 
						alert( opts.errorStart + lblhtml + opts.errorEnd );
					$('#'+_errors, form).focus();
					return false;			
				}
				
				if ( $(form).hasClass('glasgow-form') ) {

					var arrivedate = $(form).find('#arrive').val();
					var numnights = parseInt($(form).find('#num-nights').val());
					
					
					var newdate=arrivedate.split("/"); //split the date by '/'
					newdate=new Date(newdate[2],(newdate[1]-1) , (newdate[0]) ); //create a new date object
					newdate.setDate(newdate.getDate()+numnights); //increase by 10 days
					var depmonth = String(newdate.getMonth()+1 );
					var depday = String(newdate.getDate());
					if(depmonth.length==1) depmonth = "0"+depmonth;
					if(depday.length==1) depday = "0"+depday;
					var departdate = depday+'/'+depmonth+'/'+newdate.getFullYear(); 
					$(form).find('#depart').val(departdate);			
					//return false;
				}
				
			});
		});
	};
	
	$.fn.expand = function(options) {
		var defaults = {
			openText: 'View Details',
			closeText: 'Hide Details',
			longClass: '.package-long'
		},
		opts = $.extend(defaults, options);
		return this.each(function() {
			var obj = $(this);
			var tog = $('<div />').addClass('toggle');
			var control = $('<a />').attr('href', '#')
							.addClass('toggler')
							.html(opts.openText)
							.appendTo(tog)
							.toggle(function() { $(opts.longClass, obj).slideDown('slow'); $(this).html(opts.closeText).addClass('open'); },
									function() { $(opts.longClass, obj).slideUp('slow'); $(this).html(opts.openText).removeClass('open'); });
			
			$(opts.longClass, obj).after(tog).hide();
		});
	};
	
	$.fn.removeError = function(form) {
		return this.each(function() {
			if(form.hasClass('inline'))
				$(this).removeClass('validation-error');
			else
				$(this).remove();
		});
	};
	
	$.fn.ajaxCalendar = function(options) {
		var overlay = $('<div />').attr('id','overlay').css({width:$('#calendar-wrapper').width(),height:$('#calendar-wrapper').height(),opacity:0.5});
		overlay.prependTo('#calendar-wrapper');
		$(this).eventPreview();
		$(this).initializeSharing();
		return this.each(function() {
			$('#calendar-wrapper a').live('click',function(event) {
				event.preventDefault();
				overlay.fadeIn('fast');
				url = this.href.split('?');
				$.get('/direct/events-calendar-ajax.php?' + url[1], { op: 'cal' },function(data) { 
					$('#calendar-wrapper').html(data).prepend(overlay);
					overlay.css({height:$('#calendar-wrapper').height()});
				});
				$.get('/direct/events-calendar-ajax.php?' + url[1], { op: 'list' },function(data) { 
					$('#events-wrapper').html(data);
					overlay.fadeOut('fast');
				});
			});
		});
	};

	$.fn.eventPreview = function(options) {
		var defaults = {
			hideDetails : 'Hide Details',
			viewDetails : 'View Details'
		},
		opts = $.extend(defaults, options);
		return this.each(function() {
			$('.view-details').live('click',function(event) {
				event.preventDefault();
				$('.share-panel').hide();
				if ($(this).parent().hasClass('active')) {
					$(this).html(opts.viewDetails).parent().removeClass('active').parent().children('.event-description').slideUp('slow', function() { 
						$(this).html(''); 
					});
				}
				else {
					var el = $(this);
					var temp = this.rel.split(':');
					$.get('/direct/events-calendar-ajax.php', { permalink: temp[0], rssfeed: temp[1], lang: LANG, op: 'details' },function(data) { 
						el.html(opts.hideDetails).parent().addClass('active').parent().children('.event-description').hide().html(data).slideDown('slow');});
				}
			});
		});
	};

	$.fn.postPreview = function(options) {
		var defaults = {
			hideDetails : 'Hide Full Post',
			viewDetails : 'View Full Post'
		},
		opts = $.extend(defaults, options);
		return this.each(function( counter, context ) {

			$('.post-icon', this).click(function(e) {
			    e.preventDefault();
			    $('.post-details a', context).trigger('click')
			});

			$('.post-details a', this).toggle(function(event) {
				event.preventDefault();
				$('.share-panel').hide();
				var el = $(this);
				$.get('/direct/scrapbook-details.php', { event_id: this.id.substr(3), channel: this.rel, lang: LANG },function(data) { 
					el.html(opts.hideDetails).parent().addClass('active').parent().children('.post-description').hide().html(data).slideDown('slow');
				});
			},function(event) { 
				event.preventDefault();
				$('.share-panel').hide();
				$(this).html(opts.viewDetails).parent().removeClass('active').parent().children('.post-description').slideUp('slow', function() { 
					$(this).html(''); 
				});
			});
		});
	};

	$.fn.initializeSharing = function() {
		return this.each(function() {
			$('.share-link').live('click',function(event) {
				event.preventDefault();
				$('.share-panel').hide();
				$(this).parents('.rss-item').find('.share-panel').css('display','inline');
			});
			$('.share-close').live('click',function(event){
				event.preventDefault();
				$(this).parents('.rss-item').find('.share-panel').slideUp('fast');
			});
		});
	};

	$.fn.initializeFollowing = function() {
		return this.each(function() {
			$('.follow-link').click(function(event) {
				event.preventDefault();
				$('.follow-panel').hide();
				$(this).siblings('.follow-panel').css('display','inline');
			});
			$('.follow-close').click(function(event){
				event.preventDefault();
				$(this).parent('.follow-panel').slideUp('fast');
			});
		});
	};

})(jQuery);

$(function() {

	$('.ajax-calendar').ajaxCalendar();

	//Global variables
	for(var i in $.browser) {
		if ($.browser[i])
			BROWSER = i + (($.browser.msie)?$.browser.version.charAt(0):'');
	}

	if ( DOMAIN_TRACKING ) {
		var trackDomains = DOMAIN_TRACKING.split(',');
		for (var i=trackDomains.length-1;i>=0;i--) {
			$('a[href*="'+trackDomains[i]+'"], form[action*="'+trackDomains[i]+'"]').addClass('track-crossdomain');
		}
	}
	
	$('.track, .track-crossdomain').each(function() {
		var tag = '';
		if ( this.name ) {
			tag = '/'+this.name.replace(/:/g,'/');
		}
		if($(this).is('form')) {
			var a = $(this).attr('action');
			$(this).submit(function() {
				if (tag) { pageTracker._trackEvent('form', 'submit', tag); }
				if ( $(this).hasClass('track-crossdomain') ) {
					$(this).attr({action:a+'?'+$(this).serialize(), method:'post'});
					pageTracker._linkByPost(this);
				}
			});
		} else {
			$(this).click(function(e) {
				if (tag) { pageTracker._trackEvent('link','click', tag); }
				if ( $(this).hasClass('track-crossdomain') ) {
					e.preventDefault();
					var l = pageTracker._getLinkerUrl(this.href);
					$(this).attr('target')=='_blank'?window.open(l,''):window.location=l;
				}
			});
		}
	});

	
// Remove javascript warning
	$("div#js-warning").hide();
	$("div#js-warning-spacer").hide();

// Finds a form on the page, instantiates a Calendar Popup and hides "other" fields if necessary
	$(this).find("form").each(function() {
		if ( window.CalendarPopup ) {
			// instantiate CalendarPopup and set some params
			
			// Sets starting date by yesterdays date
			var yesterday = new Date();
			yesterday.setDate( yesterday.getDate() - 1 );
			
			// new instance of Calendar popup
			cal = new CalendarPopup( "cp" );
			cal.offsetX = 0;
			cal.offsetY = -158;
			cal.addDisabledDates( null, formatDate( yesterday, "MM/dd/yyyy" ) );
			
			// create the <div> for calendar popup
			$("body").append("<div id=\"cp\"></div>");
		}
		//set focus background color for IE
		if (document.all) {
			$(".textfield").focus(function() {
				$(this).css({background: "fdfcfa"});
			});
			$(".textfield").blur(function() {
				$(this).css({background: "ffffff"});
			});
		}
		// hide all "other" fields
		$("ul.checkboxgroup input.other").filter(".textfield").hide();
		$("ul.checkboxgroup input").click(function() {
			// if the input has a class of other, show it's "other" field
			if ($(this).is(".other")){
				$(this).siblings(".other").show().addClass("required");
				// if it's a checkbox, remove the "other" field when it is unchecked
				if (!this.checked) {
					$.removeWarning($(this));
					$(this).siblings(".other").filter(".textfield").hide().removeClass("required");
				}
			}
			// if it's a radio button group, hide "other" fields if not needed
			else if ($(this).is(".radio")) {
				$.removeWarning($(this));
				$(this).parent().parent().find(".other").filter(".textfield").hide().removeClass("required");
			}
		});
		// hide all "select-other" divs
		$("div.select-other").hide();
		// if "Other" is selected, then show it's "other" field
		$("select.select-other").change( function () {
			if($(this).val() === "--") {
				$(this).parent().next().show();
				if($(this).is(".required")) {
					$(this).parent().next().find("label").addClass("required");
					$(this).parent().next().find("input").addClass("required");
				}
			} else {
				$(this).parent().next().hide().find("input").val("");
			}
		});
	});


// Input Elements that need a calendar popup, but no calendar Icon, need a class of "makeitpopup"
	$(".makeitpopup").click(function() {
		cal.select( this, this.id, "MM/dd/yyyy" );
		return false;
	});


// Finds all elements with a class of "form-cal" and replaces them with a calendar icon, link, and onclick handler
	$(this).find(".form-cal").each(function(i) {
		var icon = '<a href="#" class="icon-cal" id="form-cal-' + i + '" name="form-cal-' + i + '" title="Click to select a date"><img src="/images/icon-cal.gif" /></a>';
		$(icon).appendTo($(this).parent()).click(function(){
			//hide all dropdowns for IE6 and lower
			if (document.all && window.ActiveXObject && !window.opera) { $(this).parents("form").find("select").css("visibility","hidden"); }

			var o = this.previousSibling;
			while (o.nodeType != 1) { o = o.previousSibling; }
			
			// check to see if it is an arrival/departure pair
			if($(o).is(".date-end")) {
				var arrive_string = $(o).parent().prev(".field").children(".date-begin").attr("value");
				var arrive_label = $(o).parent().prev(".field").children("label").html().replace(":","");
				//check to see if begin date has been set already and adjust disabled/current dates
				if (arrive_string != "mm/dd/yyyy" && arrive_string) {
					var arrive_array = arrive_string.split('/');
					var arrive_date = new Date(arrive_array[0]+'/'+arrive_array[1]+'/'+arrive_array[2]);
					var arrive_date = formatDate(arrive_date, "MM/dd/yyyy" );
					cal.clearDisabledDates();
					cal.addDisabledDates( null, arrive_date );
					cal.select(o,$(this).attr("id"),"MM/dd/yyyy", arrive_date);
					return false;
				}
				// begin date not set first, so pull label text and alert
				else {
					alert("Please select \"" + arrive_label + "\" first");
					if (document.all && window.ActiveXObject && !window.opera) { $(this).parents("form").find("select").css("visibility","visible"); }
					return false;
				}
			}
			// it's just a plain calendar popup
			else {
				cal.clearDisabledDates();
				var yesterday = new Date();
				yesterday.setDate( yesterday.getDate() - 1 );
				cal.addDisabledDates( null, formatDate( yesterday, "MM/dd/yyyy" ) );
				cal.select( o,$(this).attr("id"), "MM/dd/yyyy", yesterday );
				return false;
			}
		});
		$(this).remove();
	});


// Validates the form, adding warning icons where needed and alerting user upon completion
	$(".validate").submit(function() {
		var counter = 0;
		var first_error = "";
		
		// find all elements with class name of "required" within all divs with a class of field
		$(this).find("div.field .required").each(function() { 
			// remove any previous warnings and validate based on element type
			$.removeWarning($(this));
			if ( ($(this).is("input")) || ($(this).is("select")) || ($(this).is("textarea")) ) {
				var valid = true;
				var o = $(this).val().replace(/^\s+|\s+$/g, '');

				if ($(this).is(".email")) {
					// if it's an email address make sure the email is valid using both regular expressions
					var regExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
					var regExp2 = /(\s+)|(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
					if ( ( o.search( regExp ) ) == -1 || o.search( regExp2 ) != -1 ) {
						valid = false;
					}
				} 
				else if ($(this).is(".select-other") && $(this).val() == "--" && $(this).parent().next().find("input").val().replace( /(^\s+)|(\s+$)/g, '' ).length < 1 ) {
					$.addWarning($(this).parent().next().find("input"));
				} 
				else if ( ($(this).next().is(".icon-cal")) && (o.replace( /(^\s+)|(\s+$)/g, '' ).length < 1 || o == "mm/dd/yyyy") ) {
					// if it's a date field
					valid = false;
				} 
				else if (o.replace( /(^\s+)|(\s+$)/g, '' ).length < 1) {
					// if not an email address take out funky characters and see if its still blank
					valid = false;
				}
				// if the data is not valid show warning icon
				if (!valid) {
					$.addWarning($(this));
					counter++;
					if ( first_error == "" ) {
						first_error = $(this).attr("id");
					}		
				}
				
			}
			else if ( $(this).is("ul") ) {
				// This is for checkboxes
				$(this).each(function() { 
					// find all elements w/required class name
					var valid = false;
					$(this).find("li").each(function() {
						// checkboxes in the list
						var testdis = $(this).children("input");
						//if not an "other" pair
						if ( testdis.length == 1 ) {
							if ( $(testdis).attr("checked") == true ) {
								valid = true;
							}
						}
						//it is an "other"
						else {
							if ( $(testdis[0]).attr("checked") && $(testdis[1]).val().replace( /(^\s+)|(\s+$)/g, '' ).length > 0 ) {
								valid = true;
							}
						}
					});
					if(!valid) { 
						$.addWarning($(this));
						counter++;
						if ( first_error == "" ) {
							first_error = $(this).attr("id");
						}
					}
				});			
			}
		});
		if ( counter > 0 ) {
			alert( "A valid " + $('#'+first_error).parent().children('label').html().replace(":","").replace("*","").replace('<span class="required">',"").replace("</span>","") + " is required." );
			$('#'+first_error).focus();
			return false;
		}		
	});

// Removes the Warning Icon
	jQuery.removeWarning = function(el) {
		// find img elements, if it's present, remove it
		$(el).parents(".field").find("img.validation-error").remove();
	};
	
// Adds the Warning Icon
	jQuery.addWarning = function(el) {
		var img = "<img />";
		// adds the source and class attributes
		img = $(img).attr("src", "images/icon-warning.gif").addClass("validation-error");	
		// Add the image after the input field
		// if el is part of checkbox group put it after the first list item
		if( $(el).is("ul") ) {
			$(el).find("li:first").append(img);
		}
		// if not throw it at the end
		else {
			$(el).parent().append(img);
		}
	};



// For Each Package Wrapper add a Toggle Function if Neccessary
	$("div.package-wrapper").each(function() {
	// Div for the Toggler to be Held
	$(this).children('div.package-content').append("<span class=\"package-toggle\" >");

		// If this is a package that is going to be expanded
		// add a control for it
		if( $(this).is(".package-expandable") ) {
			// Since this is expandable hide the details
			$(this).find("div.package-long").hide();
			// Add the Control
			$(this).find(".package-toggle").append("<a href=\"#\">(read more...)</a>");
		}
	});


// Once the Package Toggler Control is clicked
// Toggle the details and chance the text
	$("span.package-toggle a").toggle(function() {
		$(this).parents("div.package-wrapper").find("div.package-long").animate({
			height: 'show',
			opacity: 'show'
		}, 'slow');
		// Changes the Text of the Control
		$(this).html("(read less...)");
	}, function() {
		$(this).parents("div.package-wrapper").find("div.package-long").animate({
			height: 'hide',
			opacity: 'hide'
		}, 'slow');
		// Changes the Text of the Control
		$(this).html("(read more...)");
	});
});

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

// Gets the Difference Between 2 Dates
function daysElapsed(date1,date2) {
    var difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0);
    return difference/1000/60/60/24;
}

function getDateDiff(start,end){
	if(document.getElementById(start).value != 'mm/dd/yyyy' && document.getElementById(start).value != '' && document.getElementById(end).value != 'mm/dd/yyyy' && document.getElementById(end).value != ''){
		// Get the Start and End Date and split the dates based on the slash and put in dashes
		start_date = document.getElementById(start).value;
		start_array = start_date.split('/');
		new_start_date = start_array[2]+'-'+start_array[0]+'-'+start_array[1];
		end_date = document.getElementById(end).value;
		end_array = end_date.split('/');
		new_end_date = end_array[2]+'-'+end_array[0]+'-'+end_array[1];
		
		// Call daysElapsed function to get difference between 2 dates
		var dayDiff = daysElapsed(new Date(end_array[2],(end_array[0]-1),end_array[1]),new Date(start_array[2],(start_array[0]-1),start_array[1]));
		return dayDiff;
	}
	else {
		return;
	}
}

//set day name abbreviations to use
var daynames = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');

function createBlock(date, days, form) {
	$("#block-details", form).remove();
	var tbody = $('<tbody />').attr('id', 'block-details');
	
	for(var i=0; i<=days; i++) {
		var newDate = $.datepicker.formatDate('D, m/d', new Date(date.getFullYear(), date.getMonth(), date.getDate()+i) );
		
		tbody.append('<tr>\n\
					<th scope="row">' + newDate + '</th>\n\
					<td><input type="text" class="textfield single" maxlength="5" value="0" id="single_rooms_day_' + (i+1) + '" name="room_block[day_' + (i+1) + '][single]" /></td>\n\
					<td><input type="text" class="textfield dbl" maxlength="5" value="0" id="dbl_rooms_day_' + (i+1) + '" name="room_block[day_' + (i+1) + '][dbl]" /></td>\n\
					<td><input type="text" class="textfield suite" maxlength="5" value="0" id="suite_rooms_day_' + (i+1) + '" name="room_block[day_' + (i+1) + '][suite]" /></td>\n\
					<td><input type="text" class="textfield readonly day-total" readonly="readonly" value="0" id="day_' + (i+1) + '_total" name="room_block[day_' + (i+1) + '][total]" /></td>\n\
					</tr>');
	}
	//Add the totals row
	tbody.append('<tr><th scope="row">Room Total</th>\n\
		<td><input type="text" class="textfield readonly" readonly="readonly" value="0" id="single_rooms_total" name="room_block[single][total]" /></td>\n\
		<td><input type="text" class="textfield readonly" readonly="readonly" value="0" id="dbl_rooms_total" name="room_block[dbl][total]" /></td>\n\
		<td><input type="text" class="textfield readonly" readonly="readonly" value="0" id="suite_rooms_total" name="room_block[suite][total]" /></td>\n\
		<td><input type="text" class="textfield readonly" readonly="readonly" value="0" id="total_rooms" name="total_rooms" /></td>\n\
		</tr>');

	//add tbody to existing table
	$("#block-requirements", form).append(tbody);
	$('td input:not(.readonly)', tbody)
	    .focus(function() { 
		if ( $(this).val().length ) {
		    $(this).data('num', $(this).val() )
		}
		$(this).val('');
	    })
	    .blur(function() { 
		var num = $(this).data('num')
		if( $(this).val()=='') {
		    if ( !num ) {
			$(this).val(0);
		    } else {
			$(this).val( num )
		    }
		}
	    })
	    .change(function() { calcTotal(this); });
}

function createMeeting(date, days, form) {
	$("#meeting-details", form).remove();
	var tbody = $('<tbody />').attr('id', 'meeting-details');
	
	// For Each Number of Days that need information a row is created for each
	for(var i=0; i<=days; i++) {
		var newDate = $.datepicker.formatDate('D, m/d', new Date(date.getFullYear(), date.getMonth(), date.getDate()+i) );
		
		// Create a row with a cell for the day, room type and breakout room info
		tbody.append('<tr>\n\
			<th scope="row">' + newDate + '</th>\n\
			<td><select name="meeting_requirements[day_' + (i+1) + '][room_setup]">\n\
				<option value="Classroom" name="meeting_requirements[day_' + (i+1) + '][room_setup]">Classroom</option>\n\
				<option value="Boardroom" name="meeting_requirements[day_' + (i+1) + '][room_setup]">Boardroom</option>\n\
				<option value="Theater" name="meeting_requirements[day_' + (i+1) + '][room_setup]">Theater</option>\n\
				<option value="U-Shaped" name="meeting_requirements[day_' + (i+1) + '][room_setup]">U-Shaped</option>\n\
				<option value="Hollow Sq." name="meeting_requirements[day_' + (i+1) + '][room_setup]">Hollow Sq.</option>\n\
				<option value="Rounds" name="meeting_requirements[day_' + (i+1) + '][room_setup]">Rounds</option>\n\
				<option value="Reception" name="meeting_requirements[day_' + (i+1) + '][room_setup]">Reception</option>\n\
				</select></td>\n\
			<td><input type="text" class="textfield" maxlength="5" id="breakout_rooms_day_' + (i+1) + '" name="meeting_requirements[day_'+(i+1)+'][breakout_rooms]" /></td>\n\
			<td><input type="text" class="textfield" maxlength="5" id="breakout_people_day_' + (i+1) + '" name="meeting_requirements[day_'+(i+1)+'][breakout_people]" /></td>\n\
			<td><select name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">\n\
				<option value="Classroom" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Classroom</option>\n\
				<option value="Boardroom" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Boardroom</option>\n\
				<option value="Theater" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Theater</option>\n\
				<option value="U-Shaped" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">U-Shaped</option>\n\
				<option value="Hollow Sq." name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Hollow Sq.</option>\n\
				<option value="Rounds" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Rounds</option>\n\
				<option value="Reception" name="meeting_requirements[day_' + (i+1) + '][breakout_setup]">Reception</option>\n\
				</select></td>\n\
			</tr>');
	}
	//add tbody to existing table
	$("#meeting-requirements", form).append(tbody);
}

function calcTotal(field) {

	var row = $(field).parents('tr'),
	    tbody = $(field).parents('tbody'),
	    rTotal=sTotal=dTotal=suite=total=0;
	
	$('input:not(.readonly)', row).each(function() {
		rTotal += parseInt($(this).val(), 10);										 
	});
	$('.day-total', row).val(rTotal);
	
	if($(field).hasClass('single')) {
		$('input.single', tbody).each(function() {
			sTotal += parseInt($(this).val(), 10);										 
		});
		$('#single_rooms_total',tbody).val(sTotal);
	}
	if($(field).hasClass('dbl')) {
		$('input.dbl', tbody).each(function() {
			dTotal += parseInt($(this).val(), 10);										 
		});
		$('#dbl_rooms_total',tbody).val(dTotal);
	}
	if($(field).hasClass('suite')) {
		$('input.suite', tbody).each(function() {
			dTotal += parseInt($(this).val(), 10);										 
		});
		$('#suite_rooms_total',tbody).val(dTotal);
	}
	
	$('.day-total', tbody).each(function() {
		total += parseInt($(this).val(), 10);								 
	});
	$('#total_rooms', tbody).val(total);
}

function openPreview(urlrequest) {
	window.open(urlrequest, 'myWindow', 'width=750,height=520,left=100,top=100,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');
	document.getElementById('flashCallBox').value = urlrequest;
}

