$(document).ready(function() {
	
	if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
		window.location.href = '/mobile/';
	}
	
	// get & populate alternate content
	doAltContent();
	// show baseBar
	showSignup();
	
	var cName = "mlist";
	var cSection = "";
	var storyDataUrl = "/data/about.xml";
	var retailersDataUrl = "/data/retailers.xml";
	var eventsDataUrl = "/data/events.xml";
	var flavorsDataUrl = "/data/flavors.xml";
	
	// flash swfobject
	var flashvars = {};
	var params = {
		menu: "false", 
		play: "true", 
		loop: "true", 
		wmode: "opaque", 
		quality: "high", 
		bgcolor: "#000000", 
		scale: "noscale", 
		salign: "tl", 
		devicefont: "false", 
		allowscriptaccess: "sameDomain", 
		allowfullscreen: "false"
	};
	var attributes = {};
	
	swfobject.embedSWF("/index.swf", "flash-content", "990", "600", "9.0.0","/ScriptLibrary/swfobject/expressInstall.swf", flashvars, params, attributes);
	
	// flash swffit
	var minWid = 990;
	var minHei = 644;
	var maxWid = 990;
	var maxHei = 600;
	var hCenter = true;
	var vCenter = true;
	
	swffit.fit("flash-content", minWid, minHei, maxWid, maxHei, hCenter, vCenter);
	
	// check for cookie value, if none show mailing list sign up, otherwise just enable link
	/*if ($.cookie(cName) != "true") {
		if ((!navigator.userAgent.match(/iPhone/i)) && (!navigator.userAgent.match(/iPod/i)) && (!navigator.userAgent.match(/iPad/i))) {
			doMailinglistSignup();
		}
	} else {
		showSignup();
	}*/
	
	// init buttons
	$("#btn-submit, #btn-cancel").button();
	
	$("#retailer-submit").button();
	
	$("#retailer-cancel").button();
	
	// mailinglist submit button click handler
	$("#btn-submit").live("click", function(evt) {
		evt.preventDefault();
	
		var name = $("#frmSignUp #ml-name").val();
		var email = $("#frmSignUp #ml-email").val();
		
		// make sure name is not empty
		if (!name) {
			$("#frmSignUp #ml-name").focus();
			return false;
		}
		
		// make sure email is valid
		if (!isValidEmail(email)) {
			$("#frmSignUp #ml-email").focus();
			return false;
		}
		
		
		var dataString = "MM_register=frmSignUp&name="+name+"&email="+email;
		
		$.ajax({
			type: "POST", 
			url: "/mail.php", 
			data: dataString, 
			dataType: "xml", 
			success: function(xml) {
				var error = $(xml).find("error");
				var status = $(xml).find("status");
				
				//console.log(status);
				
				$("#mailing-list .sign-up").fadeOut(250, function() {
					$("#mailing-list .thank-you").fadeIn(250, function() {
						var t = setTimeout(function() {
							$.unblockUI({
								onUnblock: function() {
									showSignup();
								}
							});
						}, 3000)
					});
				});
				
			}
		});
		
	});
	
	// mailinglist cancel button click handler
	$("#btn-cancel").live("click", function(evt) {
		evt.preventDefault();
		
		$.unblockUI({
			onUnblock: function() {
				showSignup();
			}
		});
	});
	
	// mailing list signup button click event handler
	$("#mlist-link").live("click", function(evt) {
		doMailinglistSignup();
	});
	
	
	
	// retailer submit button click handler
	$("#retailer-submit").live("click", function(evt) {
		evt.preventDefault();
		
		var business = $("#frmRetailerInquiry #retailer-business").val();
		var contact = $("#frmRetailerInquiry #retailer-contact").val();
		var email = $("#frmRetailerInquiry #retailer-email").val();
		var address = $("#frmRetailerInquiry #retailer-address").val();
		var city = $("#frmRetailerInquiry #retailer-city").val();
		var state = $("#frmRetailerInquiry #retailer-state").val();
		var zip = $("#frmRetailerInquiry #retailer-zip").val();
		var phone = $("#frmRetailerInquiry #retailer-phone").val();
		var fax = $("#frmRetailerInquiry #retailer-fax").val();
		var website = $("#frmRetailerInquiry #retailer-website").val();
		
		
		if (!contact) {
			$("label[for=retailer-contact]").addClass("required");
			$("#frmRetailerInquiry #retailer-contact").addClass("required-field").focus();
			return false;
		} else {
			$("#frmRetailerInquiry #retailer-contact").removeClass("required-field");
			$("label[for=retailer-contact]").removeClass("required");
		}
		
		if (!phone) {
			$("label[for=retailer-phone]").addClass("required");
			$("#frmRetailerInquiry #retailer-phone").addClass("required-field").focus();
			return false;
		} else {
			$("#frmRetailerInquiry #retailer-phone").removeClass("required-field");
			$("label[for=retailer-phone]").removeClass("required");
		}
		
		if (!email) {
			$("label[for=retailer-email]").addClass("required");
			$("#frmRetailerInquiry #retailer-email").addClass("required-field").focus();
			return false;
		} else {
			$("#frmRetailerInquiry #retailer-email").removeClass("required-field");
			$("label[for=retailer-email]").removeClass("required");
		}
		
		
		
		var dataString = "MM_apply=frmRetailerInquiry&business="+business+"&contact="+contact+"&email="+email+"&address="+address+"&city="+city+"&state="+state+"&zip="+zip+"&phone="+phone+"&fax="+fax+"&website="+website;
		
		$.ajax({
			type: "POST", 
			url: "/retail.php", 
			data: dataString, 
			dataType: "xml", 
			success: function(xml) {
				var error = $(xml).find("error");
				var status = $(xml).find("status");
				
				//console.log(status);
				
				$("#frmRetailerInquiry").fadeOut(250, function() {
					$(".retailer-thanks").fadeIn(250, function() {});
				});
				
			}
		});
		
	});
	
	$("#retailer-close").live("click", function(evt) {
		document.getElementById("frmRetailerInquiry").reset();
		
		$.unblockUI({
			onUnblock: function() {
				showSignup();
			}
		});
	});
	
	// retailer app cancel button click handler
	$("#retailer-cancel, .close-inquiry").live("click", function(evt) {
		evt.preventDefault();
		
		document.getElementById("frmRetailerInquiry").reset();
		
		$("label").removeClass("required");
		$("#frmRetailerInquiry #retailer-contact, #frmRetailerInquiry #retailer-phone, #frmRetailerInquiry #retailer-email").removeClass("required-field");
		
		$.unblockUI({
			onUnblock: function() {
				showSignup();
			}
		});
	});
	
	// retailer app button click event handler
	$("#retailer-link").live("click", function(evt) {
		doRetailerApply();
	});
	
	// bigcartel click event handler
	/*$("#store-link").live("click", function(evt) {
		var linkUrl = $(this).find("a").attr("href");
		var linkTarget = $(this).find("a").attr("target");
		
		var windowFeatures = "height=768, width=1024, toolbar=yes, scrollbars=yes, location=yes, status=yes";
		
		//openNewWindow(linkUrl, "bigcartel", windowFeatures)
		
		window.location.href = linkUrl;
	});*/
	
	// facebook click event handler
	$("#facebook-link").live("click", function(evt) {
		var linkUrl = $(this).find("a").attr("href");
		var linkTarget = $(this).find("a").attr("target");
		
		var windowFeatures = "height=768, width=1024, toolbar=yes, scrollbars=yes, location=yes, status=yes";
		
		openNewWindow(linkUrl, "facebook", windowFeatures)
	});
	
	// twitter click event handler
	$("#twitter-link").live("click", function(evt) {
		var linkUrl = $(this).find("a").attr("href");
		var linkTarget = $(this).find("a").attr("target");
		
		var windowFeatures = "height=768, width=1024, toolbar=yes, scrollbars=yes, location=yes, status=yes";
		
		openNewWindow(linkUrl, "twitter", windowFeatures)
	});
	
	// unblock ui on overlay click
	$(".blockOverlay").attr("title","Click to unblock").live("click", function() {
		$.unblockUI({
			onUnblock: function() {
				showSignup();
			}
		});
	});
	

	
	
	
	function doAltContent() {
		
		//console.log("doAlt");
		// get story content
		$.ajax({
			type: "GET", 
			url: "/data/about.xml", 
			dataType: "xml", 
			error: function(xhr, status, err) {
				//console.log(status+"\n"+err);
				//console.log("xhr.status: "+xhr.status);
			}, 
			complete: function(xhr, status) {
				//console.log("Complete Status: "+status);
				//console.log("xhr.status: "+xhr.status);
			}, 
			success: function(xml) {
				//console.log("STORY DATA LOADED!\n"+xml+"\n\n");
				
				// story
				var story = "";
				
				story += "<div class=\"faqs\">\n";
				
				$(xml).find("faq").each(function(index) {
					story += "\t<h3 class=\"question\">"+$(this).find("question").text()+"</h3>\n";
					story += "\t<div class=\"answer\">"+$(this).find("answer").text()+"</div>\n";
				});
				
				story += "</div>\n";
				
				story += "<div class=\"disclaimer\">"+$(this).find("disclaimer").text()+"</div>\n";
				
				$("#non-flash .story-copy").append(story);
				
				// footer
				var footer = "";
				
				var businessName = $(xml).find("name").text();
				var businessPhone = $(xml).find("phone").text();
				var businessEmail = $(xml).find("email").text();
				
				var websiteUrl = $(xml).find("websiteUrl").text();
				var twitterUrl = $(xml).find("twitterUrl").text();
				var facebookUrl = $(xml).find("facebookUrl").text();
				var storeUrl = $(xml).find("storeUrl").text();
				
				footer += "\t<div><strong>"+businessName+"</strong></div>\n";
				footer += "\t<div>"+businessPhone+" | <a href=\"mailto:"+businessEmail+"\">"+businessEmail+"</a></div>\n";
				if (twitterUrl || facebookUrl) {
					footer += "\t<div>\n";
					if (twitterUrl) { footer += "<a href=\""+twitterUrl+"\">Follow Us On Twitter</a> | "; }
					if (facebookUrl) { footer += "<a href=\""+facebookUrl+"\">Join Us On Facebook</a>"; }
					footer += "\t</div>\n";
				}
				
				footer += "\t<div><a href=\""+storeUrl+"\" target=\"_blank\">Buy Online</a> | <a href=\"mailto:info@famouskirgys.com?Subject=Add%20Me%20To%20Your%20Mailing%20List%20(famouskirbys.com)&Body=Email:%0D%0AName:\">Join Our Mailing List</a> | <a href=\"mailto:info@famouskirbys.com?Subject=Famous%20Kirby's%20Retailer%20Inquiry&Body=Business Name:%0D%0AContact Name:%0D%0AEmail:%0D%0APhone:%0D%0AFax:%0D%0AStreet%20Address:%0D%0ACity:%0D%0AState:%0D%0AZip:%0D%0AWebsite:\">Become A Retailer</a></div>\n";
				footer += "\t<div>&copy; 2010 Famous Kirby's. All Rights Reserved.</div>\n";
				
				// populate footer content
				$("#non-flash .footer-copy").append(footer);
				
				
				// populate phone number
				$("#base-bar #contact-info .phone").attr("href", "tel:"+businessPhone).text("Tel: "+businessPhone);
				// populate email
				$("#base-bar #contact-info .email").attr("href", "mailto:"+businessEmail).text(businessEmail);
				// populate twitter link
				$("#base-bar #twitter-link .twitter").attr("href", twitterUrl);
				// populate facebook link
				$("#base-bar #facebook-link .facebook").attr("href", facebookUrl);
			}
		});
		
		// get retailer content
		$.ajax({
			type: "GET", 
			url: "/data/retailers.xml", 
			dataType: "xml", 
			error: function(xhr, status, err) {
				//console.log("Error Status: "+status+"\nError: "+err);
				//console.log("xhr.status: "+xhr.status);
			}, 
			complete: function(xhr, status) {
				//console.log("Complete Status: "+status);
				//console.log("xhr.status: "+xhr.status);
			}, 
			success: function(xml) {
				//console.log("RETAILER DATA LOADED!\n"+xml+"\n\n");
				
				// retailers
				var retailers = "";
				
				$(xml).find("region").each(function(index) {
					
					retailers += "<h3 class=\"region\" title=\""+$(this).attr("name")+"\">"+$(this).attr("name")+"</h3>";
					
					$(this).find("retailer").each(function(index) {
						var name = $(this).find("name").text();
						var str1 = $(this).find("street1").text();
						var str2 = $(this).find("street2").text();
						var city = $(this).find("city").text();
						var stat = $(this).find("state").text();
						var zipc = $(this).find("zip").text();
						var phon = $(this).find("phone").text();
						var webs = $(this).find("website").text();
						
						retailers += "<div class=\"retailer\">\n";
						retailers += "\t<h4 class=\"business\">"+name+"</h4>\n";
						if (str1 != "") {
							retailers += "\t<div>"+str1+"</div>\n";
						}
						if (str2 != "") {
							retailers += "\t<div>"+str2+"</div>\n";
						}
						if (city != "") {
							retailers += "\t<div>"+city+", "+stat+" "+zipc+"</div>\n";
						}
						if (phon != "") {
							retailers += "\t<div>"+phon+"</div>\n";
						}
						if (webs != "") {
							retailers += "\t<div><a href=\""+webs+"\" target=\"_blank\">Visit Website</a></div>\n";
						}
						retailers += "</div>\n";
						
					});
					
				});
				
				// populate retailer copy
				$("#non-flash .retailers-copy").append(retailers);
			}
		});
		
		// get events content
		$.ajax({
			type: "GET", 
			url: "/data/events.xml", 
			dataType: "xml", 
			error: function(xhr, status, err) {
				//console.log(status+"\n"+err);
				//console.log("xhr.status: "+xhr.status);
			}, 
			complete: function(xhr, status) {
				//console.log("Complete Status: "+status);
				//console.log("xhr.status: "+xhr.status);
			}, 
			success: function(xml) {
				//console.log("EVENT DATA LOADED!\n"+xml+"\n\n");
				
				// events
				var events = "";
				
				$(xml).find("event").each(function(index) {
					
					var date = $(this).find("date").text();
					var desc = $(this).find("description").text();
					var busi = $(this).find("business").text();
					var str1 = $(this).find("street1").text();
					var str2 = $(this).find("street2").text();
					var city = $(this).find("city").text();
					var stat = $(this).find("state").text();
					var zipc = $(this).find("zip").text();
					var phon = $(this).find("phone").text();
					var webs = $(this).find("website").text();
					var note = $(this).find("note").text();
					
					events += "<div class=\"event\">\n";
					events += "\t<div class=\"date\">"+date+"</div>\n";
					if (desc != "") {
						events += "\t<div class=\"description\">"+desc+"</div>\n";
					}
					events += "\t<div class=\"location\">\n";
					if (busi != "") {
						events += "\t\t<div class=\"business\">"+busi+"</div>\n";
					}
					if (str1 != "") {
						events += "\t\t<div class=\"street1\">"+str1+"</div>\n";
					}
					if (str2 != "") {
						events += "\t\t<div class=\"street2\">"+str2+"</div>\n";
					}
					if (city != "") {
						events += "\t\t<div class=\"citystate\">"+city+", "+stat+" "+zipc+"</div>\n";
					}
					events += "\t</div>\n";
					if (phon != "") {
						events += "\t<div class=\"phone\">Tel: "+phon+"</div>\n";
					}
					if (webs != "") {
						events += "\t<div class=\"website\"><a href=\""+webs+"\" target=\"_blank\">visit website</a></div>\n";
					}
					if (note != "") {
						events += "\t<div class=\"note\">"+note+"</div>\n";
					}
					events += "</div>\n";
				
				});
				
				// populate events content
				$("#non-flash .events-copy").append(events);
				
			}
		});
		
		// get flavors content
		$.ajax({
			type: "GET", 
			url: "/data/flavors.xml", 
			dataType: "xml", 
			error: function(xhr, status, err) {
				//console.log(status+"\n"+err);
				//console.log("xhr.status: "+xhr.status);
			}, 
			complete: function(xhr, status) {
				//console.log("Complete Status: "+status);
				//console.log("xhr.status: "+xhr.status);
			}, 
			success: function(xml) {
				//console.log("FLAVOR DATA LOADED!\n"+xml+"\n\n");
				
				// flavors
				var flavors = "";
				
				$(xml).find("flavor").each(function(index) {
					flavors += "<div class=\"flavor\"><img src=\""+$(this).find("image").text()+"\" title=\""+$(this).find("name").text()+" &mdash; "+$(this).find("tagline").text()+"\" alt=\""+$(this).find("name").text()+"\n"+$(this).find("tagline").text()+"\" border=\"0\" /></div>";
				});
				
				// populate flavors content
				$("#non-flash .flavors-copy").append(flavors);
			}
		});
		
		if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
			$("#base-bar").remove();
			$("#non-flash .footer-copy").css("line-height", "16px");
		} else {
			
		}
		
	}
	
	
	
	
	// non flash header link click handler
	$("#non-flash h1").live("click", function(evt) {
		
		//console.log("CLICKY CLICKY!");
		
		var el = $(this).attr("class");
		
		if (cSection == "") { cSection = "story"; }
		
		if (cSection == el) {
			if ($("."+cSection+"-copy").css("display") == "block") {
				$("."+cSection+"-copy").slideUp(125, function(evt) {});
			} else {
				$("."+cSection+"-copy").slideDown(125, function(evt) {
					
				});
			}
		} else {
			$("."+cSection+"-copy").slideUp(125, function(evt) {
				$("."+el+"-copy").slideDown(250, function() {
					
				});
				cSection = el;
			});
		}
		
	}).filter(":eq(0)").click();
	
	
	
	
	function doMailinglistSignup() {
		hideSignup();
		
		// block ui onload and display mailinglist sign up form
		$.blockUI({
			message: $("#mailing-list"), 
			fadeIn: 450, 
			fadeOut: 500,
			css: {
				backgroundColor: "#FFF"
			}, 
			overlayCSS: {
				backgroundColor: "#000000", 
				opacity: 0.8
			}
		});
		
		// set cookie, has been displayed
		var options = {path: "/", expires: 1};
		$.cookie(cName, "true", options);
	}
	
	function doRetailerApply() {
		hideSignup();
		
		// block ui onload and display mailinglist sign up form
		$.blockUI({
			message: $("#retailer-inquiry"), 
			fadeIn: 450, 
			fadeOut: 500,
			css: {
				backgroundColor: "#FFF"
			}, 
			overlayCSS: {
				backgroundColor: "#000000", 
				opacity: 0.8
			}
		});
		
	}
	
	function resetSignup() {
		$("#frmSignUp #name, #frmSignUp #email").val("");
		$("#mailing-list .thank-you").css("display", "none");
		$("#mailing-list .sign-up").css("display", "block");
	}
	
	function showSignup() {
		$("#base-bar").slideDown(150);
		
	}
	
	function hideSignup() {
		$("#base-bar").slideUp(250);
		resetSignup();
	}
	
	
});


/* openNewWindow() */
function openNewWindow(URLtoOpen, windowName, windowFeatures) { 
	newWindow = window.open(URLtoOpen, windowName, windowFeatures);
}


function isValidEmail(str) {
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}



