





;(function(){
	
var $$;

/**
 * 
 * @desc Replace matching elements with a flash movie.
 * @author Luke Lutman
 * @version 1.0.1
 *
 * @name flash
 * @param Hash htmlOptions Options for the embed/object tag.
 * @param Hash pluginOptions Options for detecting/updating the Flash plugin (optional).
 * @param Function replace Custom block called for each matched element if flash is installed (optional).
 * @param Function update Custom block called for each matched if flash isn't installed (optional).
 * @type jQuery
 *
 * @cat plugins/flash
 * 
 * @example $('#hello').flash({ src: 'hello.swf' });
 * @desc Embed a Flash movie.
 *
 * @example $('#hello').flash({ src: 'hello.swf' }, { version: 8 });
 * @desc Embed a Flash 8 movie.
 *
 * @example $('#hello').flash({ src: 'hello.swf' }, { expressInstall: true });
 * @desc Embed a Flash movie using Express Install if flash isn't installed.
 *
 * @example $('#hello').flash({ src: 'hello.swf' }, { update: false });
 * @desc Embed a Flash movie, don't show an update message if Flash isn't installed.
 *
**/
$$ = jQuery.fn.flash = function(htmlOptions, pluginOptions, replace, update) {
	
	// Set the default block.
	var block = replace || $$.replace;
	
	// Merge the default and passed plugin options.
	pluginOptions = $$.copy($$.pluginOptions, pluginOptions);
	
	// Detect Flash.
	if(!$$.hasFlash(pluginOptions.version)) {
		// Use Express Install (if specified and Flash plugin 6,0,65 or higher is installed).
		if(pluginOptions.expressInstall && $$.hasFlash(6,0,65)) {
			// Add the necessary flashvars (merged later).
			var expressInstallOptions = {
				flashvars: {  	
					MMredirectURL: location,
					MMplayerType: 'PlugIn',
					MMdoctitle: jQuery('title').text() 
				}					
			};
		// Ask the user to update (if specified).
		} else if (pluginOptions.update) {
			// Change the block to insert the update message instead of the flash movie.
			block = update || $$.update;
		// Fail
		} else {
			// The required version of flash isn't installed.
			// Express Install is turned off, or flash 6,0,65 isn't installed.
			// Update is turned off.
			// Return without doing anything.
			return this;
		}
	}
	
	// Merge the default, express install and passed html options.
	htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions);
	
	// Invoke $block (with a copy of the merged html options) for each element.
	return this.each(function(){
		block.call(this, $$.copy(htmlOptions));
	});
	
};
/**
 *
 * @name flash.copy
 * @desc Copy an arbitrary number of objects into a new object.
 * @type Object
 * 
 * @example $$.copy({ foo: 1 }, { bar: 2 });
 * @result { foo: 1, bar: 2 };
 *
**/
$$.copy = function() {
	var options = {}, flashvars = {};
	for(var i = 0; i < arguments.length; i++) {
		var arg = arguments[i];
		if(arg == undefined) continue;
		jQuery.extend(options, arg);
		// don't clobber one flash vars object with another
		// merge them instead
		if(arg.flashvars == undefined) continue;
		jQuery.extend(flashvars, arg.flashvars);
	}
	options.flashvars = flashvars;
	return options;
};
/*
 * @name flash.hasFlash
 * @desc Check if a specific version of the Flash plugin is installed
 * @type Boolean
 *
**/
$$.hasFlash = function() {
	// look for a flag in the query string to bypass flash detection
	if(/hasFlash\=true/.test(location)) return true;
	if(/hasFlash\=false/.test(location)) return false;
	var pv = $$.hasFlash.playerVersion().match(/\d+/g);
	var rv = String([arguments[0], arguments[1], arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g);
	for(var i = 0; i < 3; i++) {
		pv[i] = parseInt(pv[i] || 0);
		rv[i] = parseInt(rv[i] || 0);
		// player is less than required
		if(pv[i] < rv[i]) return false;
		// player is greater than required
		if(pv[i] > rv[i]) return true;
	}
	// major version, minor version and revision match exactly
	return true;
};
/**
 *
 * @name flash.hasFlash.playerVersion
 * @desc Get the version of the installed Flash plugin.
 * @type String
 *
**/
$$.hasFlash.playerVersion = function() {
	// ie
	try {
		try {
			// avoid fp6 minor version lookup issues
			// see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
			var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
			try { axo.AllowScriptAccess = 'always';	} 
			catch(e) { return '6,0,0'; }				
		} catch(e) {}
		return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
	// other browsers
	} catch(e) {
		try {
			if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
				return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
			}
		} catch(e) {}		
	}
	return '0,0,0';
};
/**
 *
 * @name flash.htmlOptions
 * @desc The default set of options for the object or embed tag.
 *
**/
$$.htmlOptions = {
	height: 240,
	flashvars: {},
	pluginspage: 'http://www.adobe.com/go/getflashplayer',
	src: '#',
	type: 'application/x-shockwave-flash',
	width: 320		
};
/**
 *
 * @name flash.pluginOptions
 * @desc The default set of options for checking/updating the flash Plugin.
 *
**/
$$.pluginOptions = {
	expressInstall: false,
	update: true,
	version: '6.0.65'
};
/**
 *
 * @name flash.replace
 * @desc The default method for replacing an element with a Flash movie.
 *
**/
$$.replace = function(htmlOptions) {
	this.innerHTML = '<div class="alt">'+this.innerHTML+'</div>';
	jQuery(this)
		.addClass('flash-replaced')
		.prepend($$.transform(htmlOptions));
};
/**
 *
 * @name flash.update
 * @desc The default method for replacing an element with an update message.
 *
**/
$$.update = function(htmlOptions) {
	var url = String(location).split('?');
	url.splice(1,0,'?hasFlash=true&');
	url = url.join('');
	var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="'+url+'">Click here.</a></p>';
	this.innerHTML = '<span class="alt">'+this.innerHTML+'</span>';
	jQuery(this)
		.addClass('flash-update')
		.prepend(msg);
};
/**
 *
 * @desc Convert a hash of html options to a string of attributes, using Function.apply(). 
 * @example toAttributeString.apply(htmlOptions)
 * @result foo="bar" foo="bar"
 *
**/
function toAttributeString() {
	var s = '';
	for(var key in this)
		if(typeof this[key] != 'function')
			s += key+'="'+this[key]+'" ';
	return s;		
};
/**
 *
 * @desc Convert a hash of flashvars to a url-encoded string, using Function.apply(). 
 * @example toFlashvarsString.apply(flashvarsObject)
 * @result foo=bar&foo=bar
 *
**/
function toFlashvarsString() {
	var s = '';
	for(var key in this)
		if(typeof this[key] != 'function')
			s += key+'='+encodeURIComponent(this[key])+'&';
	return s.replace(/&$/, '');		
};
/**
 *
 * @name flash.transform
 * @desc Transform a set of html options into an embed tag.
 * @type String 
 *
 * @example $$.transform(htmlOptions)
 * @result <embed src="foo.swf" ... />
 *
 * Note: The embed tag is NOT standards-compliant, but it 
 * works in all current browsers. flash.transform can be
 * overwritten with a custom function to generate more 
 * standards-compliant markup.
 *
**/
$$.transform = function(htmlOptions) {
	htmlOptions.toString = toAttributeString;
	if(htmlOptions.flashvars) htmlOptions.flashvars.toString = toFlashvarsString;
	return '<embed ' + String(htmlOptions) + '/>';		
};

/**
 *
 * Flash Player 9 Fix (http://blog.deconcept.com/2006/07/28/swfobject-143-released/)
 *
**/
if (window.attachEvent) {
	window.attachEvent("onbeforeunload", function(){
		__flash_unloadHandler = function() {};
		__flash_savedUnloadHandler = function() {};
	});
}
	
})();

function Dialog(d,w,h){
	
	$.ajax({
		url: "ajax.php?function=add-post",
		 data: $('#itemform').serialize(), 
		 success: function(response){$("#message").html(response);}, 
		 dataType: "html"}); getcart();getcart();
	
	
	
	$( d ).dialog({
			weight: w,
			height: h,
			modal: true,
			buttons: {
				"Checkout": function() {
					$( this ).dialog( "close" );
					window.location = "index.php?act=checkout"
					
				},
				"Continue shopping": function() {
					$( this ).dialog( "close" );
				//location.reload(true);
				
				}
			}
		});
	
	 return false;
}

function toggle(a){
	
	 $(a).slideToggle("fast");

}
function show(div){
	$('.error').hide()
	$(div).show();	
	
}
function hide(div){
	$('.error').hide()
	$(div).hide();	
	
}

function showhide(divin,divout){
		$('.error').hide()
	$(divout).fadeOut();	
	$(divin).slideDown();
}


function postToAjax(formname,messagecontainer,posturl){
			
			   
    	$.ajax({
			 
		  type: "POST",
		  url:  posturl,
		 
		  data:  $('#' + formname).serialize(),
		  success: function(msg){
   								$('#' + messagecontainer).empty();
								$('#' + messagecontainer).append( msg);
								
							  }
 		});
		
	
	
}




function loadToppings(id,price,toppings_price,pizza_size){
	
	$('#pizza_price').empty();
	$('#price_input').empty();
	$('#toppings_price').empty();
	$('#pizza_size').empty();		   
    	$.ajax({
			 
		  type: "POST",
		  url:  'ajax.php?function=toppings&id=' + id +'&t='  + new Date().getTime(),
		 
		  data:  'id=' + id,
		  success: function(msg){
   							
								$('#toppings').html( msg);
								
							  }
 		});
	
	$('#pizza_price').text(price);
	$('#price_input').val(price);
	$('#pizza_size').val(pizza_size);
	$('#toppings_price').val(toppings_price);
	$('#pizza_footer').show();
	$('#pizza_header').html('Now its time to choose some toppings on your <b>' + pizza_size+ '</b>');
	 $('#pizza_header').highlightFade('#7bff58');
	   $('#pizza_price').highlightFade('#7bff58');
	   
	   
	   
	   
}



function calculatePizza(){
	
    	$.ajax({
			 
		  type: "POST",
		  url:  'ajax.php?function=calculate-pizza&t='  + new Date().getTime(),
		 
		  data:  $('#pizzaform').serialize(),
		  success: function(msg){
   							
								$('#pizza_price').html(msg);
								
							  }
 		});

   $('#pizza_price').highlightFade('#7bff58')
	
	
}
function explodeArray(item,delimiter) { 
tempArray=new Array(1); 
var Count=0; 
var tempString=new String(item); 

while (tempString.indexOf(delimiter)>0) { 
tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter)); 
tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1); 
Count=Count+1 
} 

tempArray[Count]=tempString; 
return tempArray; 
} 



function calculateItem(){
	
    	$.ajax({
			 
		  type: "POST",
		  url:  'ajax.php?function=calculate-item&t='  + new Date().getTime(),
		 
		  data:  $('#itemform').serialize(),
		  success: function(msg){
   							
							
									var mySplitResult = msg.split("|");
									
									
									$('#item_price').text( mySplitResult[3]);
									$('#final_price').val(mySplitResult[0]);
									$('#final_options').val(mySplitResult[1]);
									$('#final_price_type').val(mySplitResult[2]);
							  }
 		});

   
	
	
}


function finishPizza(){
		$('#pizza_header').hide();
		$('#pizza_footer').hide();
		$('#toppings').html('<p style="margin:10px;font-size:1.5em;padding:50px;color:#060">Your items(s) were added to the cart, you can add another or continue shopping now!.</p>');
		 
}

function transferto(from,to){
	
$(from).effect("transfer", { to: to }, 300);	

$(to).effect("bounce", { easing: "linear", times: 1 }, 300);
	
}

function appendtext(text,div){
	  $("."+div).empty();
$("."+div).append(document.createTextNode(text));	
}
function insertField(div,text){
	 $("."+div).attr("value", text); 

	

}


function calcDelivery(price,delivery_time,pickup_time){
	
	var selectedDel = $("#delivery").val();	
	if(selectedDel == 'Yes'){
	appendtext('What time would you like it Delivered?','changeme'); 
	insertField('changemefield',delivery_time + '');
	$("#deliveryfee").show();
	
	
	var total = parseFloat($("#totalprice").val()) + parseFloat(price);
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
	
	
	}else{
		
	appendtext('What time would you like your order available?','changeme'); 
	insertField('changemefield',pickup_time + '');
	$("#deliveryfee").hide();
	
	var total = parseFloat($("#totalprice").val()) - parseFloat(price);
	
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
		
		
	}
	
}




function calcDeliverySelect(){

	var selectedDel = $("#delivery").val();	
	
	
	
	
	if(selectedDel == 'Yes'){
		
	$('#deliver_select').show();
	
	
	}else{
		$('#deliver_select').hide();	
		$("#deliveryfee").hide();
	 var field = $('#delivery_zone');
 field.val($('option:first', field).val());

	
	
	
		var total = parseFloat($("#totalprice_before").val());
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
		
	}
	
}



function calcDeliveryZone(delivery_time,pickup_time){
	
	var selectedDel = $("#delivery_zone").val();	
	
	var price = selectedDel;
	//alert(selectedDel);
	
	if(selectedDel != ''){
	
	
	
	appendtext('What time would you like it Delivered?','changeme'); 
	insertField('changemefield',delivery_time + '');
	$("#deliveryfee").show();
	$("#deliveryfee").text('Delivery Fee: $' + price);
	
	var total = parseFloat($("#totalprice_before").val()) + parseFloat(price);
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
	
	

	}
	
}



function addDelivery(price){
	appendtext('What time would you like it Delivered?','changeme'); 
	insertField('changemefield','40 Minutes');
	$("#deliveryfee").show();
	
	
	var total = parseFloat($("#totalprice").val()) + parseFloat(price);
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
	
}
function removeDelivery(price){
	
	appendtext('What time would you like your order available?','changeme'); 
	insertField('changemefield','15 Minutes');
	$("#deliveryfee").hide();
	
		var total = parseFloat($("#totalprice").val()) - parseFloat(price);
	
	$("#totalprice").val(total.toFixed(2));		
	$("#changeprice").text('$' + total.toFixed(2));
	
}





   function refreshCart() {
   var url = "ajax.php?function=cart&" + "&ms=" + new Date().getTime();
      
 $("#cart").load(url);

	
	}
 
setInterval(refreshCart,5000);

// custom functions
  function getcart() {
   var url = "ajax.php?function=cart&" + "ms=" + new Date().getTime();
  $("div#cart").load(url);
 $("div#cart").load(url);
  $("div#cart").load(url);
   
	}

// document load
$(document).ready(function(){
  getcart();



});




