$(document).ready(function() {
	// BeautyTips config
	jQuery.bt.options.closeWhenOthersOpen = true;

	// Megamenu toggle stuff
	$(".toggle-menu").click(function(){
		$(this).parent().toggleClass("show-menu");
	});
	$("#sc-manage").click(function(){
		$("#sc-overlay").show();
		$("ul#top-links li.show-menu").removeClass("show-menu floatie");
	});
	$("ul#top-links a.close").click(function(){
		$("ul#top-links li.show-menu").removeClass("show-menu floatie");
		return false;
	});
	
	var cartDropdown = $("#cart-dropdown");
//	var distanceFromTop = parseInt( cartDropdown.css("top") );
	var distanceFromTop = 32;
	console.log("Distance from top: "+distanceFromTop);

	var floating = false;
	$(window).scroll(function(){
		if( (floating == false) && ( $(window).scrollTop() > distanceFromTop ) ){
			floating = true;
			cartDropdown.addClass("floatie");
		}

		if( (floating == true) ) {
			if( $(window).scrollTop() < ( distanceFromTop+30 ) ){
				cartDropdown.css("top",distanceFromTop).removeClass("floatie");
				floating = false;
			} else {
				cartDropdown.css("top",$(window).scrollTop());
			}
		}
	});

	$("#show-cart-dropdown,#cart-dropdown a.close").click(function(){
		cartDropdown.toggle();
		return false;
	});

/*
	// Currency/numeric fields
	$("input.currency,input.numeric,input.zipcode").blur(
	function(){
		var input = $(this);

		// parseFloat - returns false for non-numeric entries
		if( num = parseFloat( input.val() ) ) {
			if( input.hasClass("currency") ) {
				num = num.toFixed(2);
			} else if( input.hasClass("zipcode") ) {
				num = num.parseInteger;
			}
			input.val( num );
		} else {
			input.val("");
		}
	})
	*/

	$("input").each(function(){
		$(this).addClass($(this).attr("type")+"-field");
	});


	$("select").change(function(){
		if( $(this).val() != "" ) {
			$(this).addClass("filled-in");
		} else {
			$(this).removeClass("filled-in");
		}
	});

	var state_input = $("#state_select input");
	var state_select = $("<select name='state_select' class='required'><option value='' disabled>Select a State</option></select>");
	state_select
		.css({"width":state_input.width()+15})
		.append('<option value="AL">Alabama</option><option value="AK">Alaska</option><option value="AZ">Arizona</option><option value="AR">Arkansas</option><option value="CA">California</option><option value="CO">Colorado</option><option value="CT">Connecticut</option><option value="DE">Delaware</option><option value="FL">Florida</option><option value="GA">Georgia</option><option value="HI">Hawaii</option><option value="ID">Idaho</option><option value="IL">Illinois</option><option value="IN">Indiana</option><option value="IA">Iowa</option><option value="KS">Kansas</option><option value="KY">Kentucky</option><option value="LA">Louisiana</option><option value="ME">Maine</option><option value="MD">Maryland</option><option value="MA">Massachusetts</option><option value="MI">Michigan</option><option value="MN">Minnesota</option><option value="MS">Mississippi</option><option value="MO">Missouri</option><option value="MT">Montana</option><option value="NE">Nebraska</option><option value="NV">Nevada</option><option value="NH">New Hampshire</option><option value="NJ">New Jersey</option><option value="NM">New Mexico</option><option value="NY">New York</option><option value="NC">North Carolina</option><option value="ND">North Dakota</option><option value="OH">Ohio</option><option value="OK">Oklahoma</option><option value="OR">Oregon</option><option value="PA">Pennsylvania</option><option value="RI">Rhode Island</option><option value="SC">South Carolina</option><option value="SD">South Dakota</option><option value="TN">Tennessee</option><option value="TX">Texas</option><option value="UT">Utah</option><option value="VT">Vermont</option><option value="VA">Virginia</option><option value="WA">Washington</option><option value="WV">West Virginia</option><option value="WI">Wisconsin</option><option value="WY">Wyoming</option>')
		.change(function(){
			if( $(this).val() != "" ) {
				$(this).addClass("filled-in");
			} else {
				$(this).removeClass("filled-in");
			}
		});

	$("select#country_select").change(function(){
		if( $(this).val() == "usa" ){
			// Move the element up the DOM
			$("body").append(state_input);
			state_input.hide();
			$("#state_select").append(state_select);
			$("#zip_postal_code").attr("title","ZIP Code").val("ZIP Code").addClass("zipcode");
		} else {
			// Can't touch this
			$("#state_select").html(state_input);
			state_input.show();
			$("#zip_postal_code").attr("title","Postal Code").val("Postal Code").removeClass("zipcode");
		}
	});

	// ...plus BeautyTips // Todo: custom-write this so we don't have to load excanvas.
	$('.show-help-text').bt({
		fill: '#F7F7F7',
		trigger: 'click',
		strokeStyle: '#B7B7B7',
		contentSelector: "$(this).next()",
		spikeLength: 7,
		spikeGirth: 10, 
		padding: 8, 
		cornerRadius: 2,
		shadow: true,
		overlap: 2,
		shadowBlur: 4,
		shadowOffsetX: 0,
		shadowOffsetY: 1,
		shadowColor: 'rgba(0,0,0,.5)',
		cssStyles: {
			fontFamily: '"lucida grande",tahoma,verdana,arial,sans-serif', 
			fontSize: '11px'
		}
	}).click(function(){
		return false;
	});
});