Learn how to use jQuery at the Blog

Flax matters « visit

  • Added 9 months ago
  • 338 Lines of Code shown
  • 4 Links of Interest
http://flaxmatters.com
This is my Source Code and I don't want to show it here
View Source Code only (as overlay)
// That code snippet belongs to Flax matters - http://flaxmatters.com

/*
flaxmatters.js
created on 04/02/08
programmer: wes
*/
jQuery.preloadImages = function(){
  for(var i = 0; i<arguments.length; i++){
    jQuery("<img>").attr("src", arguments[i]);
  }
}
$(document).ready(function(){
		$.preloadImages("img/nav/home_active.gif", "img/nav/home_default.gif","img/nav/home_rollover.gif",
						"img/nav/buyflax_active.gif","img/nav/buyflax_default.gif","img/nav/home_rollover.gif",
						"img/nav/findyourflax_active.gif","img/nav/findyourflax_default.gif","img/nav/findyourflax_rollover.gif",
						"img/nav/flaxfacts_active.gif","img/nav/flaxfacts_default.gif","img/nav/flaxfacts_rollover.gif",
						"img/nav/flaxrecipes_active.gif","img/nav/flaxrecipes_default.gif","img/nav/flaxrecipes_rollover.gif",
						"img/nav/meadowpure_active.gif","img/nav/meadowpure_default.gif","img/nav/meadowpure_rollover.gif",
						"img/nav/loginDialogBkgrd.gif","img/utils/tabbed_bkgrd.gif");
		
		//main nav rollover
		$('#nav li:not(.activeNav) a img').hover(function(){
			if($(this).attr("src").indexOf("active") == -1) {
				var newSrc = $(this).attr("src").replace("default.gif","rollover.gif");
				$(this).attr("src",newSrc);
			}
		}, function(){
			if($(this).attr("src").indexOf("rollover.gif") != -1) {
				var oldSrc = $(this).attr("src").replace("rollover.gif","default.gif");
				$(this).attr("src",oldSrc);
			}
		}
		);
		
		//homepage, popular product rollover
		/*
		$('#homeBody .popularProduct').hover(function() {
			//alert("test"+this);
			$(this).contents('img.prod50').css({ border:"#ffffff solid 5px" });
			$(this).css({background:'#fdfcee'});
		}, function() {
			$(this).contents('img.prod50').css({ border:"#d1d3c8 solid 5px" });
			$(this).css({background:'none'});
		});
		*/
		$("#products").corner("10px");
		$(".flaxseedType").corner("10px");
		$("#customerServiceForm").corner("10px");
		$("h3.searchResultsGroupTitle").corner("10px");
		$(".recipeItemRow .recipeItem").corner("10px");
		$(".flaxRecipeDetailed").corner("10px");
		$(".flaxRecipeSection").corner("8px");
		$(".straightfromthechef").corner("10px");
		$(".centeredPagination").corner("10px");
		$(".categorySelect").corner("10px");
		$(".formError").corner("10px");
		$(".formSuccess").corner("10px");
		$(".formInformation").corner("10px");
		$(".accountSectionTitle").corner("10px");
		$(".customerComment.odd").corner("10px");
		$(".simpleRecipe.odd").corner("10px");
		$(".accountNavigation .active a").corner("15px");
		$(".prefferedShippingMethod h3 ").corner("10px");
		$(".rightSidebar .tabContent").corner("tr bl br 10px");
		$(".frontendMain").corner("10px");
		$(".tempCurves").corner("10px");
		$('.popularProduct').corner("tr bl br 10px");
		$(".hoverable").hover(function(){
		  $(this).addClass("hover");
		},function(){
		  $(this).removeClass("hover");
		});
		if($.browser.mozilla) {
			$('.rightSidebar .tabs #popularButton').css('marginLeft','3px');
		}
		if($.browser.safari) {
			$('#utilNav #utilLinks .link').css('float','right');
			
		}
		$('ul.ratingRadioBtns input').bind("click", function(e){
      		
			var val = this.value;
			updateRadioStars(val);
    	});
    	if($('#newsletter_form').length > 0) {
			$('#newsletter_form').ajaxForm({
				dataType: 'json',
				success: function(data) {
					$('#newsletter_form').slideUp();
					$('#newsletterStatus').html('You are now signed up to the mailing list.');
					
				}
			});
    	}				
		
});

function updateRadioStars(val) {
	$('ul.ratingRadioBtns li').css( "background","url(img/utils/star_off.gif) no-repeat right center" );
	for(var i=1; i<=5;i++) {
		if(i <= val) {
			$('ul.ratingRadioBtns li.'+i).css( "background","url(img/utils/star_on.gif) no-repeat right center" );
		}
	}
}

/**
 * Displays hidden review form on Product and Recipe detail pages
 */
function displayReviewForm(){
	$('.reviewForm').slideDown(400);
	$('p.beFirst').slideUp(400);
}

/**
 * Used for ajax form on customer reviews
 * @param {Object} data
 */
function processJson(data) { 

   if(data.isValid == "true") {
   	   $('#writeReviewBtn').animate({opacity: 0.4},1000);
	   $('#submitReview').slideUp("slow",function() {
	   		var rand = Math.round(Math.random() * 10000);
	   		
	   		var html = '<div class="customerReview review'+rand+' hidden"><div class="details"><span class="stars">';
	   		for(var i=1; i<=5; i++) {
	   			if(i <= data.rating) {
	   				html += '<img src="img/utils/star_on.gif" alt="*" />';
	   			} else {
	   				html += '<img src="img/utils/star_off.gif" alt="*" />';
	   			}
	   		}
	   		html += '</span><b>'+data.title+'</b><span class="date">('+data.date+')</span></div>';
	   		html += '<div class="author"><em>by</em> <a href="customer.profile.php?id='+data.userId+'">';
	   		html += data.name+'</a> ('+data.location+')</div><div class="content">'+data.message+'</div></div>';
			$('.customerReviews').prepend(html);
			$('.review'+rand).slideDown();
		});
   } else {
   	  if($('#reviewError').length == 0) {
   	  	$('#reviewBox').before("<div id='reviewError' class=\"formError\">"+data.message+"</div><br />");
   	  	$(".formError").corner("10px");
   	  } else {
   	  	$('#reviewError').html(data.messgae);
   	  }
   }
}
function loginDialog() {
	var display = $("#loginDialog").css("display");
	if(display == 'none') {
		var pos = $("#loginLink").position();
		var xPos = pos.left;
		var yPos = 30;
		$("#loginDialog").css("left",xPos).css("top",yPos).css("display","block");
		$("#loginLink a").css('color','#f5f5eb');
		$("#utilLinks").css("background","#ffffff url(img/utils/tabbed_bkgrd.gif) top left no-repeat");
		
		
	
	} else {
		closeLoginDialog();
	}		
	return false;
}
function closeLoginDialog() {
	$("#loginDialog").css("display","none");
	$("#loginLink a").css('color','#6b4544');
	$("#utilLinks").css("background","#ffffff url(img/utils/bkgrd.gif) top left no-repeat");
}
function displaySeasonalRecipe() {
	$('#recipes .tabs .active').removeClass('active');
	$('#recipes .tabs #seasonal').addClass('active');
	$('#featuredRecipe').hide();
	$('#seasonalRecipe').show();
}
function displayFeaturedRecipe() {
	$('#recipes .tabs .active').removeClass('active');
	$('#recipes .tabs #featured').addClass('active');
	$('#seasonalRecipe').hide();
	$('#featuredRecipe').show();
}
function displayFreshRecipes() {
	$('#freshButton').addClass('active');
	$('#freshRecipes').show();
	$('#popularButton').removeClass('active');
	$('#popularRecipes').hide();
	$('.rightSidebar .tabContent .jquery-corner').remove();
	$(".rightSidebar .tabContent").corner("tr br bl 10px");
	
	
}
function displayPopularRecipes() {
	$('#freshButton').removeClass('active');
	$('#freshRecipes').hide();
	$('#popularButton').addClass('active');
	$('#popularRecipes').show();
	$('.rightSidebar .tabContent .jquery-corner').remove();
	$(".rightSidebar .tabContent").corner("tl br bl 10px");
	
	
}
function displayPopularProducts() {
	$('#popularBtn').addClass('active');
	$('#popularContent').show();
	$('#freeShippingBtn').removeClass('active');
	$('#freeShippingContent').hide();
	$('.rightSidebar .tabContent .jquery-corner').remove();
	$(".rightSidebar .tabContent").corner("tl br bl 10px");
	
	
}
function displayFreeShipping() {
	$('#popularBtn').removeClass('active');
	$('#popularContent').hide();
	$('#freeShippingBtn').addClass('active');
	$('#freeShippingContent').show();
	$('.rightSidebar .tabContent .jquery-corner').remove();
	$(".rightSidebar .tabContent").corner("tr br bl 10px");
	
	
}
function showProductImage(path,thumbNum) {
	$('#productImageDiv').html('<a href="#" onclick=\'window.open("largeProductImage.php?name='+path+'","LargeProductImage","menubar=no,width=550,height=550,toolbar=no");\'>'
				+'<img id="productImage" src="img/products/med/'+path+'" alt="product" width="210" height="210" /></a>');
	$('#thumb0, #thumb1, #thumb2').css('opacity','1');
	$('#thumb'+thumbNum).css('opacity','0.4');
	$('#thumbLink'+thumbNum).blur();
}



function processCart(data) {
	//alert(dumpObj(data,"data",""));
	if(data.status == "needToLogin") {
		document.location = "customer_login.php";
	} else if(data.status == "needQuantity") {
		if(data.cartImgID == undefined) {
			$("#shoppingCartResult").html('<h1>Please specify a quantity of this product.</h1>'); 
		}
	} else if(data.status == 'needProductID'){
		if(data.cartImgID == undefined) {
			$("#shoppingCartResult").html('<h1>Please select a product and try again.</h1>'); 
		}
	} else if(data.status == 'invalidQuantity') {
		if(data.cartImgID == undefined) {
			$("#shoppingCartResult").html('<h1>The quantity you specified is not available for this product.</h1>'); 
		}
	} else if(data.status == 'unavailable') {
		if(data.cartImgID == undefined) {
			$('#shoppingCartResult').html('<h1>That product is currently unavailable.</h1>')
		}	
	}else if(data.status == 'allGood') {
		if(data.cartImgID == undefined) {
			$("#addToCartButton").attr('src','img/btn/checkmark3.gif'); 
			$('#itemAdded').fadeIn();
			$('#checkoutAfterCart').show();
		} else  {
			$("#cartImg"+data.cartImgID).replaceWith("<a href='#' onclick='addToCart("+data.productID+","+data.quantityID+"); return false;'><img src='img/btn/checkmark1.gif' alt='product added to shopping cart' class='checkmark' /></a>")
		}
		var items = data.itemsInCart;
		//$("#utilNavCartItems").);
		//this needs to be rethought out...
		$('#utilNavCartItems').animate({opacity:0},500)
			.html(items + " item" + (items != 1 ? "s" : ''))
			.animate({opacity:1},500);
	}
}
function payWithNewCard() {
	$('#newCreditCard').slideDown();
	$('#usedCardValidation').slideUp();
	
	$('#oldBillingInfo').slideUp();
	$('#newBillingInfo').slideDown();
}
function payWithOldCard() {
	$('#newCreditCard').slideUp();
	$('#usedCardValidation').slideDown();
	$('#oldBillingInfo').slideDown();
	$('#newBillingInfo').slideUp();
}
function addToCart(productID, quantityID,cartImgID) {
	var vars = "productID="+productID+"&quantityID="+quantityID+"&cartImgID="+cartImgID;
	
	$.post("functions/addToCart.php", vars, processCart,'json');
}

function updateTotalCost(costID) {
		var tempCost = costID + totalCost
		var finalCost = Math.round(tempCost*Math.pow(10,2))/Math.pow(10,2);
		$("#finalPrice").html(" $ "+ finalCost.toFixed(2));
	
}
oldDetails = new Array();
		
function toggleShippingAddress(shippingAddress) {
//	alert(dumpObj(shippingAddress,"shippingAddress","\t","\n"));
	if($('#billingIsSame')[0].checked == true) {
		for(var field in shippingAddress) {
			
			oldDetails[field] = $('#ship-'+field).val();
//			alert(oldDetails[field]);
			$('#ship-'+field).val(shippingAddress[field]);
			$('#ship-'+field).attr('disabled','disabled');
		}
	} else {
		for(var field in oldDetails) {
//			alert(oldDetails[field]);
			$('#ship-'+field).val('');
			$('#ship-'+field).removeAttr('disabled');
		}
	}
}
var MAX_DUMP_DEPTH = 10;
function dumpObj(obj, name, indent, depth) {
    if (depth > MAX_DUMP_DEPTH) {
		return indent + name + ": <Maximum Depth Reached>\n";
	}
	if (typeof obj == "object") {
		var child = null;
		var output = indent + name + "\n";
		indent += "\t";
		for (var item in obj) {
			try {	
				child = obj[item];
			} catch (e) {
				child = "<Unable to Evaluate>";
			}
			if (typeof child == "object") {
				output += dumpObj(child, item, indent, depth + 1);
			} else {
				output += indent + item + ": '" + child + "'\n";
			}	
		}
		return output;
	} else {
		return obj;
	}
}