$.getScript('/js/form-image-upload.js');

function lgInitUI() {
	$("button, input:submit, a.buttonise").button();
}

//Global

$(function() {
	lgInitUI();
});

//Blog Post Page

$(function() {
	$(".post-action-button").hover( 
			function() { 
				$('#' + $(this).attr('id')).addClass('post-action-button-hover');
				
			}, 
			
	
			function () { 
				$('#' + $(this).attr('id')).removeClass('post-action-button-hover');
		
	});
});

//Directory Listings Page

$(function() {
	
	
	$('#email-the-listing').click( function() {
				$('.directory-email-form').slideToggle('slow');
	
	});
	
	function toggleShowreel(toggle, hide) {
		
		$('#showreel').slideToggle(toggle, function() {
			
			if ( $('.link-showreel-text').html() == "View") {
				$('.link-showreel-text').html("Close");
			} else {
				$('.link-showreel-text').html("View");
			}
			
			if(hide == 1) { 
				toggleSlideshow('slow', 0);
			}
 		});
	}
	
	function toggleSlideshow(toggle, hide) {
		
		$('#slideshow').slideToggle(toggle, function() {
			
			if ( $('.link-slideshow-text').html() == "View") {
				$('.link-slideshow-text').html("Close");
			} else {
				$('.link-slideshow-text').html("View");
			}
			
			if(hide == 1) { 
				toggleShowreel('slow', 0);
			}
		});
	}

	$('.link-showreel').click( function() {
		
		//alert($('#slideshow').css('display'));
		
		if ($('#slideshow').css('display') == 'block') {
			toggleSlideshow('slow', 1);
 		} else { 
 			toggleShowreel('slow');
 		}
	});
	
	$('.link-slideshow').click( function() { 
		
		//alert($('#showreel').css('display'));
			
		if ($('#showreel').css('display') == 'block') {
			toggleShowreel('slow', 1);
 		} else { 
 			toggleSlideshow('slow');
 		}
	});
	
	$('#recommend-the-listing').click( function() {
		$('.directory-recommend-form').slideToggle('slow');
		return false;
	});
	
	// Recommendation post
	$('#recommendation_submit').click(function () {
		$.ajax({
			dataType: "html", 
			type: "POST",
			data: 'recommendation='+ $("textarea#recommendation_text").val() + '&contact_listing_id=' + $("#contact_company_id").val(), 
			url: "/recommendations/submit/" + $(this).attr('listing_id'), 
			username: 'summer', 
			password: 'sun', 
			success: function (data) {
				$("#recommendation_content").html(data);
			}
		});
		return false;
	});
	
	// Email listing
	$('#email_submit').click(function () {
		$.ajax({
			dataType: "html", 
			type: "POST",
			data: 'email='+ $("textarea#message").val()+'&emailaddress='+$("#email").val(), 
			url: "/directory/send_email/" + $(this).attr('listing_id'), 
			success: function (data) {
				$("#email_content").html(data);
			}
		});
		return false;
	});
	/*
	$('#show-error').click( function () { 
		$('.form-error').fadeIn('slow');
		$('.form-error').delay('3000').fadeOut('slow');
		
		return false;
	});
	*/
});


// Directory Search Page

$(function() {
	$('.search-icon').hover( function() {
		var fade = "." + $(this).attr('id');
		$(this).addClass('search-icon-hover')
		$(fade).fadeIn('fast');
	} ,

	function() { 
		var fade = "." + $(this).attr('id');
		$(this).removeClass('search-icon-hover');
		$(fade).fadeOut('fast');
		}
	
		);
});

// Delete confirmation
$(function() {
    $('a.delete').live('click', function() {
            if (! confirm('Are you sure you wish to delete?')) {
                return false;
            }
        });
});

// Send contact login info confirmation
$(function() {
    $('a.contact_login_confirm').live('click', function() {
        if (! confirm('Send contact login details?')) {
            return false;
        }
    });
});

// State drop down selector
$(function() {
	$('select.country-select').change(function () {
		var stateSelector = $(this).closest('.cs-container').find('select.state-select');
		var stateContainer = stateSelector.closest('.state-container');
		stateSelector.find('option').remove().end();
		if (states[$(this).val()]) {
			stateContainer.fadeIn('fast');
			stateSelector.append($("<option></option>").attr("value","").text("Please select"));
			$.each(states[$(this).val()], function(key, value)
			{   
				stateSelector.append($("<option></option>").attr("value", key).text(value));
			});
		} else {
			stateContainer.fadeOut('fast');
		}
	});
});

$(function() {
	// Move admin area menus to left rail
	$('#menus').append( $('#move-block>div') );
	
	// Back button event handler
	$('.history_back').click(function () {
		window.history.back();
		return false;
	});
});

// Benefits compare checkbox
$(function() {
	$('.benefits-compare-checkbox').click(function () {
		if ($(this).attr('checked')) {
			var comptype = "add/";
		} else {
			var comptype = "remove/";
		}
		
		$.ajax({
			dataType: "html", 
			success: function (data, textStatus) {
				$("#benefits-compare-list").html(data);
				if ($('#benefits-compare').is(":hidden")) {
					$('#benefits-compare').show('slow');
				}
			}, 
			url: "/benefits/compare/" + comptype + $(this).attr('id').substring(7)
		});
	});
});

//Benefits compare link - add
$(function() {
	$('.benefits-compare-link').click(function () {
		var compareSwitch = $(this);
		if ($(this).hasClass('comparing')) {
			$.ajax({
				dataType: "html", 
				success: function (data, textStatus) {
					$("#benefits-compare-list").html(data);
					if ($('#benefits-compare').is(":hidden")) {
						$('#benefits-compare').show('slow');
					}
					compareSwitch.removeClass('comparing');
					compareSwitch.find('span').text('compare');
				}, 
				url: "/benefits/compare/remove/" + $(this).attr('id').substring(7)
			});
		} else {
			$.ajax({
				dataType: "html", 
				success: function (data, textStatus) {
					$("#benefits-compare-list").html(data);
					if ($('#benefits-compare').is(":hidden")) {
						$('#benefits-compare').show('slow');
					}
					compareSwitch.addClass('comparing');
					compareSwitch.find('span').text('remove');
				}, 
				url: "/benefits/compare/add/" + $(this).attr('id').substring(7)
			});
		}
		return false;
	});
});

//Benefits compare link - remove
$(function() {
	benefitsRemoveLink();
});

function benefitsRemoveLink() {
	$('.benefits-compare-remove-link').click(function () {
		var compareId = $(this).attr('id').substring(11);
		$.ajax({
			dataType: "html", 
			success: function (data, textStatus) {
				$("#benefits-compare-list").html(data);
				$("#benefits-compare-list")
				if ($('#compare' + compareId).attr('checked')) {
					$('#compare' + compareId).attr('checked', '');
				}
			}, 
			url: "/benefits/compare/remove/" + compareId
		});
		return false;
	});
}

// Existing contacts
$(function() {
	$('#contact_add_existing_button').click(function () {
		if ($("input[@name=data\\[Site\\]\\[existing_switch\\]]:checked").val() == '0') {
			$.ajax({
				dataType: "html", 
				type: "POST",
				data: 'contact_id='+ $("#ContactExisting").val() + '&view_for_print=' + $('#SiteViewForPrint').val(), 
				url: "/account_contacts/add_details/" + $('#ListingId').val(), 
				success: function (data) {
					$('#contact_add_existing_controls').fadeOut('fast');
					$('#contact_add_email').fadeIn('fast');
					$("#contact_add_details").append(data);
					$('#contact_add_email_controls').fadeOut('fast');
					$('#contact_add_details').fadeIn('fast');
				}
			});
		} else {
			$('#contact_add_existing_controls').fadeOut('fast');
			$('#contact_add_email').fadeIn('fast');
		}
		return false;
	});
	
	$('#contact_add_email_button').click(function () {
		$.ajax({
			dataType: "html", 
			type: "POST",
			data: 'Contact[email]=' + $("#ContactEmail").val() + '&view_for_print=' + $('#SiteViewForPrint').val(), 
			url: "/account_contacts/add_details/" + $('#ListingId').val(), 
			success: function (data) {
				$("#contact_add_details").html(data);
				if (! $('#ContactEmail').hasClass('form-error')) {
					$('#contact_add_email_controls').hide();
				}
				$('#contact_add_details').fadeIn('fast');
			}
		});
		return false;
	});
});


// Show benefits filter
$(function() {
	$('.moreinfo').click(function () {
		var moreInfoContainer = $(this).closest('tr').next();
		if (moreInfoContainer.is(":hidden")) {
			$(this).html('close');
			moreInfoContainer.fadeIn('fast');
		} else {
			$(this).html('more info');
			moreInfoContainer.fadeOut('fast');
		}
	});
});

// Store
$(function() {
	$('#OrderHasBillingAsDelivery').change(function () {
		if ($(this).attr('checked')) {
			$('#delivery_address_container').fadeOut('slow');
		} else{
			$('#delivery_address_container').fadeIn('slow');
		}
	});
	
	$('#OrderCardType').change(function() {
		if ($(this).find('option:selected').val() == 'maestro_solo') {
			$('#card_issue_container').fadeIn('slow');
		} else{
			$('#card_issue_container').fadeOut('slow');
		}
	});
});

// Admin benefits auto checking
$(function() {
	$('#BenefitIsNoFormalIncentive').change(function () {
		if ($(this).attr('checked')) {
			$('#bai-q4-container').find('input[type=checkbox]').attr('checked', 'checked');
		} else {
			$('#bai-q4-container').find('input[type=checkbox]').attr('checked', '');
		}
	});
});

//Admin Details Switch
$(function() {
	$('.details_container_switch').click(function () {
		var uploadContainer = $(this).closest('div').find('div.details_container');
		if (uploadContainer.is(":hidden")) {
			$(this).html('Close &uarr;');
			uploadContainer.fadeIn('fast');
		} else {
			$(this).html('Details &darr;');
			uploadContainer.fadeOut('fast');
		}
	});
});

//Admin Upload Switch
$(function() {
	$('.upload_container_switch').click(function () {
		var uploadContainer = $(this).closest('div').find('div.upload_container');
		if (uploadContainer.is(":hidden")) {
			$(this).html('Close');
			uploadContainer.fadeIn('fast');
		} else {
			$(this).html('Upload');
			uploadContainer.fadeOut('fast');
		}
	});
});

//Lightbox function;
$(function() {
    $('.lightbox').lightBox();
});

(function ($) {
	// VERTICALLY ALIGN FUNCTION
	$.fn.vAlign = function() {
		return this.each(function(i){
		var ah = $(this).height();
		var ph = $(this).parent().height();
		var mh = (ph - ah) / 2;
		$(this).css('margin-top', mh);
		});
	};
	})(jQuery);
