$(document).ready(function() {
	
	// Hide elements
	$(".hidden").hide();
	$("#vendor").hide();
	$("#edit_pic").css('opacity', '0');
	$('form.msg_reply').css('opacity', '0');
	$('span.venue_label').hide();
	$('span.user_label_rev').hide();
	$('#venue_benefits').hide();
	$('#venue_contact_info').toggle();
	
	// Register page
	$('.register_other').click(function(){
		$('#user').toggle();
		$('#vendor').toggle();
		$('span.venue_label').toggle();
		$('span.user_label').toggle();
		$('span.venue_label_rev').toggle();
		$('span.user_label_rev').toggle();
		$('#member_benefits').toggle();
		$('#venue_benefits').toggle();
		
		return false;
	});
		
	// Remember form fields when focus is lost
	$('#form_wrapper').ps_formify();
//	$('#frm_add_special').ps_formify();
	$('#frm_search_page').ps_formify();
	$('#frm_home_search').ps_formify();
	
	// Style select box
	$('#choose_city').sSelect();
	$('.home_select').sSelect();
	$('#gender').sSelect();
	$('#p_package').sSelect();
//	$('#m_id').sSelect();
	$('#cc_month').sSelect();
	$('#cc_year').sSelect();
	$('#cc_state').sSelect();	
	$('#register_sel').sSelect();
	$('#front ul.newList li:first, .specials ul.newList li:first, .search ul.newList li:first').hide();
	
	// Datepicker
$('#date_start').datepicker({ showAnim: 'fadeIn', showOn: 'both', buttonImageOnly: true, buttonImage: 'images/icon_calendar.png' });
$('#date_end').datepicker({ showAnim: 'fadeIn', showOn: 'both', buttonImageOnly: true, buttonImage: 'images/icon_calendar.png' });
	
	// Venue image fade
	$('#edit_pic_wrapper').hover(function(){
		
			$(this).find('img').fadeTo('normal', .40);
			$('#edit_pic').fadeTo('normal', .85);
	
		}, function(){
			
			$(this).find('img').fadeTo('normal', 1);
			$('#edit_pic').fadeTo('normal', 0);			
		
	});	
	
	//*******REMOVE THIS CODE IF WE LIKE THE SECOND OPTION BETTER*******************//
	// Register header drop-down
//	$('#register_sel').change(function(){
//		var val = $(this).val();
//		if(val == 'user'){
//			window.location = 'register.php';
//		}else if(val == 'venue'){
//			window.location = 'register.php?registration_type=venue';
//		}
//	});
	
	$('#register_sel2').hide();
	
	$('#register_a').hover(function(){
		$('#register_sel2').fadeIn(200);								
	}, function(){
		$('#register_sel2').fadeOut(200);
	});


	

	// File upload inputs

	// This is to make multifile play nice with filestyle
	// tbd: In IE, after the first file, the button needs to be double-clicked. 
	//$('#room_pic').MultiFile({
//		afterFileAppend: function(element, value, master_element){
//			$('.MultiFile').css("opacity",0);
//		}
//	});
	
	//$("input[type=file]").filestyle({ 
//	     image: "images/btn_browse_files.png",
//		imageheight : 29,
//		imagewidth : 95,
//		 width: 265
//	 }); 

// I commented this out because it's throwing a NS_ERROR_DOM_SECURITY_ERR in Firefox
//	$('.room_file').val('choose a file');
	
	// Venue name rollover 
	$('.venue_desc').css('opacity', 0);
	
	// Venue name edit rollover 
	$('.venue #content h1 a.edit').hide();
	$('.venue #content h1').hover(function(){
		
			$(this).find('a.edit').fadeIn('slow');
					
		}, function(){
			
			$(this).find('a.edit').fadeOut('slow');
			
	});		
	
	var contact_data = '';
	$('#frm_contact').ajaxForm({
		beforeSubmit: function(){
			$('.loading').show();
		},
		success: function(contact_data){
			if(contact_data == 'success'){
				$('#frm_contact').fadeOut(function(){
					$('.success').html('<h2>Thank you!</h2><p>Your message has been sent.</p>').hide().fadeIn();
				});			
			}else{
				$('.loading').hide();
				$('.error').html(contact_data).show();
			}
		}
	});
	
});

//***** This function takes care of the messaging functionality (open/close, reply fade) ****//

function message_reply(){
	
	var msg = 'closed';
	
	$('#new_content .subject,#new_content .from,#new_content .date').click(function(){
		
		if(msg == 'closed'){
			$(this).parent().addClass("on");
			$(this).parent().find('.msg_body').slideDown();
			msg = 'open';
		}else if (msg == 'open'){
			$(this).parent().removeClass("on");
			$(this).parent().find('.msg_body').slideUp();
			msg = 'closed';
		}		
		
		if($(this).parent().find('.msg_body form').css('opacity') == 1){
			$(this).parent().find('.msg_body form').fadeTo('fast', 0);
			$(this).parent().find('.msg_wrapper').fadeIn('slow');
		}
									
		return false;
		
	});
	
	
	$('a.close').click(function(){
		
		if($(this).parent().find('form').css('opacity') == 1){
			$(this).parent().find('form').fadeTo('fast', 0);
			$(this).parent().find('.msg_wrapper').fadeIn('slow');
		}
							
		$(this).parent().slideUp();
		$(this).parent().parent().removeClass('on');
		
		msg = 'closed';
					
		return false;
	});	
	
	
	$('a.reply').click(function(){			

		$(this).parent().animate({height:'270px'}, 400);
		
		$('.msg_wrapper').fadeOut('normal');
		
		$('form.msg_reply').fadeTo('slow', 1);

		return false;

	});
	
	$('.msg_reply textarea').focus(function(){
		
		if($(this).val() == 'Type reply here'){
			$(this).val('');
		}
		
	});
	
}

function alertMsg(msg){
	if(msg!=undefined && msg!='')
		$('#alert_inner').html(msg);
	$('#alert').show();
	setTimeout (function(){$('#alert').fadeOut().slideUp();},3000);
}

// Pagination
$.globalVars = {};
$.globalVars.items_per_page = 5;

function pageselectCallback(page_index, pagination_container){
	var original = $(pagination_container).siblings('.page_original');
	var subset = $(pagination_container).siblings('.page_new_content');
	var count_display = $(pagination_container).siblings('.page_count_display');
	var num_items_per_page = $.globalVars.items_per_page;
	
	if (!isNaN($(pagination_container).parent().attr("items_per_page"))) {
		num_items_per_page = parseInt($(pagination_container).parent().attr("items_per_page"));
	}
	
	var start_splice = num_items_per_page * page_index;
	var end_splice = start_splice+num_items_per_page;
	
	if (end_splice >  original.children(".page_item").length)
		end_splice = original.children(".page_item").length;
	
	var new_content = original.children('.page_item').slice(start_splice,end_splice).clone();
			
	subset.empty().append(new_content);
	count_display.empty().append('<strong>'+(start_splice + 1)+' - '+end_splice+'</strong> of <strong>'+original.children(".page_item").length+'</strong>');
	
//	init_ui(subset);

	$('.page_navigation a').click(function () {
		$.scrollTo('.page_new_content', 800);
		return false;
	});
	
	if ($("#map_canvas").length > 0 && set_map_pins)
		set_map_pins();
	
	return false;
	
}

function setupPagination(page_element) {
	var thisPage = page_element.children(".page_navigation").children(".current:not(.next):not(.prev)").text();
	var num_entries = 0; 
	var num_items_per_page = $.globalVars.items_per_page;
	
	if (!isNaN(page_element.attr("items_per_page"))) {
		num_items_per_page = parseInt(page_element.attr("items_per_page"));
	}
	
	num_entries = page_element.children(".page_original").children(".page_item").length;
	
	// Create pagination element
	page_element.children(".page_navigation").pagination(num_entries, {
		num_edge_entries: 5,
		num_display_entries: 1,
		callback: pageselectCallback,
		items_per_page:num_items_per_page
	});
	
	page_element.children(".page_original").hide();
	
	if (thisPage != '' && thisPage != null) {
		page_element.children(".page_navigation a").each(function () {
			if ($(this).text() == thisPage)
				$(this).click();
		});
	}
	
	if (num_entries <= num_items_per_page) {
		page_element.children(".page_navigation").hide();
		page_element.children(".page_count_display").hide();
	}
	else {
		page_element.children(".page_navigation").show();
		page_element.children(".page_count_display").show();
	}
}
