// Javascript here

function add_to_cart_form(form) {
	
	alert(form);
	
	return false;
	
	
}


function add_to_cart_ajax(varient_id) {

	var dropdown = $("cart_"+varient_id+"_sku");
	var quantity = $("cart_"+varient_id+"_qty");

	var params = new Hash();


	params.set('sku_id', dropdown.options[dropdown.selectedIndex].value);
	params.set('qty', quantity.options[quantity.selectedIndex].value);
	params.set("task", "add");

	var url = "actions/add_to_cart_ajax.php";
	
	new Ajax.Request(url, {method: 'post', parameters: params, onComplete: add_to_cart_complete });
	
	//$("cart_"+varient_id+"_button").innerHTML = "<img src=\"i/ajax-loader-dark.gif\"/>";
	
	if ($('basket_edit_box').visible()) {
		toggle_basket_edit_box();
	}
	
	return false;
	
}


function add_to_cart_complete(trans) {
	
	try {
		var data = trans.responseText.evalJSON();
		
		if (data.statusbox_html != undefined) {
			new_status_message(data.statusbox_html);
		}

		if (data.topbox_html != undefined) {
			new_topbox_html(data.topbox_html);
		}

		if (data.basket_edit_box_html != undefined) {
			new_basket_edit_box_html(data.basket_edit_box_html);
		}

		if (data.basketitem_count <= 0) {
			$('basket_edit_box').hide();
		}
		
	} catch(err) {
		alert(err.description);
		$('ajax_debug').innerHTML = "<pre>"+trans.responseText+"</pre>";
	}
	
	

	
}

function new_status_message(html) {
	
	var queue = Effect.Queues.get('messagebox');
	queue.each(function(effect) {
		effect.cancel(); 
	});
	
	//alert("New status message:"+html);
	$("messagebox_html").hide();
	if (html) {
		$("messagebox_html").innerHTML = html;
	}
	
	var delay = 0;
	if (in_viewport('messagebox_html')==false ) {
		delay = 0.5;
		Effect.ScrollTo('messagebox_html', { duration: delay });
	}
	
	$('messagebox_html').appear({ duration: 0.5, from: 0, to: 1, queue: { position: 'start', scope: 'messagebox', limit: 2 }, delay: 0+delay });
	hide_status_message(delay);
	
}

function hide_status_message(delay) {
	$('messagebox_html').fade({ duration: 3.0, from: 1, to: 0, queue: {  position: 'end', scope: 'messagebox', limit: 2 }, delay: 2+delay });
}

function toggle_basket_edit_box() {

	var queue = Effect.Queues.get('basket_edit_box');
	queue.each(function(effect) { 
		if (effect.state!="running") {
			effect.cancel(); 
		}
	});
	
	if ($('basket_edit_box').visible()) {
		Effect.BlindUp('basket_edit_box', { duration: 0.5, from: 0, to: 1, queue: { position: 'end', scope: 'basket_edit_box', limit: 2 }, delay: 0 });
		
	} else {
		Effect.BlindDown('basket_edit_box', { duration: 0.5, from: 0, to: 1, queue: { position: 'end', scope: 'basket_edit_box', limit: 2 }, delay: 0 });
		
	}
	
}

function in_viewport(dom_id) {
	offset = $(dom_id).viewportOffset();
	dimensions = $(dom_id).getDimensions();
	viewport = document.viewport.getDimensions();
	
	var dom_top = offset.top;
	var dom_bottom = offset.top + dimensions.height;
	
	if ( dom_bottom < 0 || dom_top > viewport.height ) {
		return false;
	} else {
		return true;
	}
}

function new_topbox_html(html) {
	$('topbox').innerHTML = html;
	
}

function new_basket_edit_box_html(html) {
	$('basket_edit_box').innerHTML = html;
}

function basket_edit_update(sku_id) {

	var quantity = $("basket_edit_"+sku_id+"_qty").value;

	var params = new Hash();

	params.set("task", "update");
	params.set("sku_id", sku_id);
	params.set("qty", quantity);
	
	var url = "actions/add_to_cart_ajax.php";
	
	new Ajax.Request(url, {method: 'post', parameters: params, onComplete: add_to_cart_complete });
		
	return false;
	
}

function basket_edit_delete(sku_id) {

	var params = new Hash();
	
	params.set("task", "delete");
	params.set("sku_id", sku_id);

	var url = "actions/add_to_cart_ajax.php";
	
	
	new Ajax.Request(url, {method: 'post', parameters: params, onComplete: add_to_cart_complete });
		
	return false;
	
}



