// catch if console doesn't exist (IE)
function log(value) {
	if(typeof(console) != "undefined") {
		console.log(value);
	}
}

$(document).ready(function() {
	documentReady();
});



/* stuff to run when the document has fully loaded */
function documentReady() {

	// attach popup window functions
	$('.popup').click(function() {
		popUrl($(this).attr('href')+'?popup');
		return false;
	})

	// register button submit
	$('#registerFormSubmit').click(function() {
		$('#registerFormSubmitButton').click();
		return false;
	});

	// login button submit
	$('#loginFormSubmit').click(function() {
		$('#loginFormSubmitButton').click();
		return false;
	});
	
	// register skill level change
	$('#custom_level').change(function() {
	    var input = $(this);
	    if (input.find('option:selected').val() == 'Other') {
		$('#custom_level_other').parents('.form-wrapper').show();
	    }
	    else {
		$('#custom_level_other').parents('.form-wrapper').hide();
	    }
	});

	// upload button submit
	$('#uploadButton a').click(function() {
		$('#uploadForm').submit();
		return false;
	});

	// product page tabs
	$("#header-text #photo").click(function() {
		$("#productHighlightsTab").hide();
		$("#productVideoTab").hide();
		$("#productImageTab").fadeIn(400);

		$("#photo").addClass('selected');
		$("#product").removeClass('selected');
		$("#video").removeClass('selected');

		return false;
	});
	$("#header-text #product").click(function() {
		$("#productImageTab").hide();
		$("#productVideoTab").hide();
		$("#productHighlightsTab").fadeIn(400);

		$("#photo").removeClass('selected');
		$("#product").addClass('selected');
		$("#video").removeClass('selected');

		return false;
	});
	$("#header-text #video").click(function() {
		$("#productImageTab").hide();
		$("#productHighlightsTab").hide();
		$("#productVideoTab").fadeIn(400);

		$("#photo").removeClass('selected');
		$("#product").removeClass('selected');
		$("#video").addClass('selected');

		return false;
	});

	// START NEWS ARCHIVE JS
	$('#newsPage .archive .yearHeader').click(function() {
		var yearClicked = $(this).parent().get(0).id;
		if($('#'+yearClicked).hasClass('yearOpen')) {
			$('#'+yearClicked+' .yearList').slideUp('fast');
			$('#'+yearClicked).toggleClass('yearOpen');
		}
		else {
			$('#'+yearClicked+' .yearList').slideDown('fast');
			$('#'+yearClicked).toggleClass('yearOpen');
		}

		return false;
	});

	$('#newsPage .archive .monthHeader').click(function() {
		var monthClicked = $(this).parent().get(0).id;
		if($('#'+monthClicked).hasClass('monthOpen')) {
			$('#'+monthClicked+' ul').slideUp('fast');
			$('#'+monthClicked).toggleClass('monthOpen');
		}
		else {
			$('#'+monthClicked+' ul').slideDown('fast');
			$('#'+monthClicked).toggleClass('monthOpen');
		}

		return false;
	});

	$('#newsPage .archive .month ul').hide();
	$('#newsPage .archive .yearList').hide();

	$('#newsPage .archive .yearList .monthOpen ul').show();
	$('#newsPage .archive .yearOpen .yearList').show();

	// obscure fix for ie 6 - change them to absolute then back to relative
	$('#newsPage #rightcolumn .content ul.archive li.month ul').css('position', 'absolute');
	$('#newsPage #rightcolumn .content ul.archive li.month ul').css('position', 'relative');
	// END NEWS ARCHIVE JS


	

	$('#stockistsPage area.stockistRegion').mouseover(function (ev){
		var regionId = $(this).attr("region");
		var data = {'regionId':regionId};
		$('#stockistImage').attr('src','/images/stockist_map_'+regionId+'.gif');
	});
	
	$('#stockistsPage area.stockistRegion').mouseout(function() {
		$('#stockistImage').attr('src','/images/map.gif');
	});
	
	$('#stockistsPage area.stockistRegion').click (function (ev){
		var regionId = $(this).attr("region");
		var data = {'regionId':regionId};
		$('#stockists-results').show();
		$('#results-content').load ('/stockistsregion', data).scrollTop();
		return false;
	});

	$('#stockistsPage a.stockist').click (function (ev){
		var regionId = $(this).attr("region");
		var data = {'regionId':regionId};
		$('#stockists-results').show();
		$('#results-content').load ('/stockistsregion', data).scrollTop();
		return false;
	});

	$('#stockistsPage #submitStockistLocation').click (function (ev){
		var data = {'location':$('#stockistLocation').val()};
		$('#stockists-results').show();
		$('#results-content').text('Loading ...');
		$('#results-content').load ('/stockistssearch', data, function(){
		    $('#results-content').scrollTop();
		});
		return false;
	});

	$('#stockistForm').submit(function() {
		$('#stockistsPage #submitStockistLocation').click();
		return false;
	});


	// disabled for now
	// $('#newsPage .view .newsItem').slideShow();

	// lighbox on view styles page
	$(".lightbox").lightbox({fitToScreen: true});


	// check if we're on the style awards page
	if($('#styleawardsPage').length > 0) {

		// fliter toggle button
		$('#styleawardsPage #galleryFilterButton').click(function() {
			$('#filterbox').slideToggle('fast');

			$('#galleryFilterButton').toggleClass('filteroptionsdown');
			$('#galleryFilterButton').toggleClass('filteroptions_up');

			return false;
		});

		// star hover overs
		$('.starwrapper div').hover(function() {
			if($(this).parent('.starwrapper').hasClass('starwrapper')) {
				if($(this).hasClass('star2')) {
					$(this).siblings('.star1').addClass('hover');
				}
				if($(this).hasClass('star3')) {
					$(this).siblings('.star1').addClass('hover');
					$(this).siblings('.star2').addClass('hover');
				}
				if($(this).hasClass('star4')) {
					$(this).siblings('.star1').addClass('hover');
					$(this).siblings('.star2').addClass('hover');
					$(this).siblings('.star3').addClass('hover');
				}
				if($(this).hasClass('star5')) {
					$(this).siblings('.star1').addClass('hover');
					$(this).siblings('.star2').addClass('hover');
					$(this).siblings('.star3').addClass('hover');
					$(this).siblings('.star4').addClass('hover');
				}
			}
		}, function() {
			if($(this).parent('.starwrapper').hasClass('starwrapper')) {
				$(this).siblings('div').removeClass('hover');
			}
		});

		// star clicking
		$('.starwrapper div').click(function() {
			if($(this).parent('.starwrapper').hasClass('starwrapper')) {
				var vote = ($(this).attr('className').substr(4, 1));
				var image = ($(this).parent('.starwrapper').attr('id').substr(9));
				var thisDiv = this;

				$.get('/gallery/vote?image='+image+'&vote='+vote, function(response){
				 	if(response == "true") {
						for(i=1; i<=vote; i++) {
							$(thisDiv).siblings('.star'+i).addClass('hover');
						}
						$(thisDiv).addClass('hover');
						$(thisDiv).parent('.starwrapper').removeClass('starwrapper').addClass('starwrapperVoted');
						$('#imageRating_'+image).text(parseInt($('#imageRating_'+image).text())+parseInt(vote));
					}
					else if(response == "NotLoggedIn") {
						var loginRegister = confirm("You must be logged in to vote on uploaded styles.\n\nClick OK to go to the Login and Register page.");
						if(loginRegister == true) {
							window.location = "/register";
						}
						return false;
					}
					else {
						alert(response);
					}
				});
			}
			else {
				alert('You have already voted on this image this month. You can only vote on each image once per month.');
			}
			return false;
		});

		// voting twice on an image
		$('.starwrapperVoted div').click(function() {
			alert('You have already voted on this image this month. You can only vote on each image once per month.');
			return false;
		});

		// filter form submit
		$('#filterSubmit').click(function() {
			$('#filterForm').submit();
			return false;
		});
	}


	$('#newsletterSignup').submit(function() {
		$('#inputsubscribe').click();
		return false;
	});

	// attach the newsletter signup button
	var newsletterOpen = false;
	$('#mainNavNewsletter a').click(function() {
		if(newsletterOpen == false) {
			$('#mainNavNewsletter').addClass('selected');
			$('#headerNewsletterSignup').slideDown('fast', function() {
				$('#headerNewsletterSignup #inputemail').focus();
			});
			newsletterOpen = true;
		}
		else {
			$('#headerNewsletterSignup').slideUp('fast', function() {
				$('#mainNavNewsletter').removeClass('selected');
				newsletterOpen = false;
			});
		}
		return false;
	});

	$('#newsletterSignupClose').click(function() {
		$('#headerNewsletterSignup').slideUp('fast', function() {
			$('#mainNavNewsletter').removeClass('selected');
			newsletterOpen = false;
		});
	});

	// attach the newsletter signup form actions
	$('#inputsubscribe').click(function() {
		
		$.post('/index/newsletterSignup',{
		 	email: $('#inputemail').val()
		},
		 function(data){
			if(data == 'ok') {

				$('#headerNewsletterSignup').slideUp('fast', function() {
					$('#headerNewsletterSignup').css('height', '70px');
					$('#newsletterSignup').hide();
					$('#newsletterMessage').show();

					$('#headerNewsletterSignup').slideDown('fast', function() {
						$('#headerNewsletterSignup').css('backgroundPosition', 'bottom left');
						window.setTimeout(function() {
							$('#headerNewsletterSignup').css('backgroundPosition', 'top left');
							$('#headerNewsletterSignup').slideUp('fast', function() {
								$('#mainNavNewsletter').removeClass('selected');
								newsletterOpen = false;
							});
						}, 3000);
					});
				});
			}
			else {
				$('#newsletterError').html(data);
				$('#newsletterError').fadeIn(300, function() {
					window.setTimeout(function() {
						$('#newsletterError').fadeOut(700);
					}, 1000);
				});
			}
		});
		return false;
	});

	// product detail pdf hover
	$('#downloadPdf_hairdressing').hover(function() {
		$(this).find('img').attr('src', '/images/products_hairdressing_pdf_roll.gif');
	}, function() {
		$(this).find('img').attr('src', '/images/products_hairdressing_pdf.gif');
	});
	$('#downloadPdf_grooming').hover(function() {
		$(this).find('img').attr('src', '/images/products_grooming_pdf_roll.gif');
	}, function() {
		$(this).find('img').attr('src', '/images/products_grooming_pdf.gif');
	});
	$('#downloadPdf_beauty').hover(function() {
		$(this).find('img').attr('src', '/images/products_beauty_pdf_roll.gif');
	}, function() {
		$(this).find('img').attr('src', '/images/products_beauty_pdf.gif');
	});

}

function removeStyle(style) {
	var sure = confirm('Are you sure you want to remove your style from the website?');
	if(sure) {
		$.get('/gallery/removestyle?id='+style, function(val){
		 	if(val == "true") {
				$('#mystyle_'+style).fadeOut();
			}
			else {
				alert(val);
			}
		});
	}
}

function popUrl(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=600');");
}

function doSifr() {
	if(typeof sIFR == "function") {

		sIFR.replaceElement("#titleText", named({
			sFlashSrc: "/flash/fonts/hvn.swf",
			sColor: "#ffffff",
			sWmode: "transparent"
		}));

	};
}

(function($) { // hide the namespace

// Hack for Prototype bind function
$.extend(Function.prototype, {
	scope: function() {
		var _func = this;
		var _obj = arguments[0];
		var _args = $.grep(arguments, function(v, i) {
		        return i > 1;
		});

		return function() {
		        return _func.apply(_obj, arguments);
		};
	}
})

})(jQuery);

