var itemcount,itemposition = 0;

function opencart(){
	if($('cart').offsetTop == 125) {
		new Effect.Move ($('cart'),{ x: 100, y: 15, mode: 'absolute'});
		$('header-yourbag').addClassName('link-rolover-on');
	}
	return;
}

function closecart(){
	if($('cart').offsetTop == 15) {
		new Effect.Move ($('cart'),{ x: 100, y: 125, mode: 'absolute'});
		$('header-yourbag').removeClassName('link-rolover-on');
	}
	return;
}

function togglecart(){
	if($('cart').offsetTop == 15) {
		closecart();
	}
	else {
		opencart();
	}
	return false;
}

function setupitem(itemArray,itemid){
	
	var i, j = 0;
	
	itemArray.sort(sortSize);
	
	for (i = 0; i < itemArray.length; i++) {
		if(itemArray[i].stock != 0){
			$('size'+itemid).options[j] = new Option(itemArray[i].size,itemArray[i].id,false);
			j++;
		}
	}
	if(j == 0){
		$('range-single-item-out'+itemid).style.display = "";
	}
	else {
		$('size'+itemid).options[0].selected = true;
		$('range-single-item-add'+itemid).style.display = "";
	}
}

function sortSize(a, b) {
    var x = a.size.toLowerCase();
    var y = b.size.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function additem(itemid){
	
	quty = $('quantity'+itemid).options[$('quantity'+itemid).selectedIndex].value;
	itemid = $('size'+itemid).options[$('size'+itemid).selectedIndex].value;

	new Ajax.Request('/modules/shop/add.php', {
	  method: 'get',
	  parameters: {dataid: itemid, orderquantity: quty},
	  onSuccess: cartchanged
	  });
	
}

function removeitem(basketid){
	
	new Ajax.Request('/modules/shop/remove.php', {
	  method: 'get',
	  parameters: {basketid: basketid },
	  onSuccess: cartchanged
	  });
	
}

function cartchanged(transport){
	$('cartnote').innerHTML = transport.responseText;
	$('cartnote').style.display = "";
	loadcart();
	window.setTimeout("new Effect.Fade ($('cartnote'))",4000);
}

function cartdrop(element){
	var str = element.id;
	additem(str.replace(/range-single-dropitem_/,""));
}

function loadcart(){
	var date = new Date();
	var timestamp = date.getTime();
	
	new Ajax.Request('/modules/shop/basket.php?basketstyle=sugaplumbasket&amptime='+timestamp, {
	  method: 'get',
	  onSuccess: displaycart
	  });
}

function displaycart(transport){
	
	
	$('cartbasket').replace(transport.responseText);
}

function cartcontrols(){
	
	if(itemcount > 4) {
		$('scrollright').style.display = "";
	}
	if(itemcount != 0) {
		$('scrollcheckout').style.display = "";
	}
}

function scrollleft(){
	itemposition--;

	if((itemcount - itemposition) <= 4){
		$('scrollright').style.display = "none";
	}
	else {
		$('scrollright').style.display = "";
	}
	
	if(itemposition == 0){
		$('scrollleft').style.display = "none";
	}
	else {
		$('scrollleft').style.display = "";
	}

	newx = itemposition * -104;
	new Effect.Move ($('scrollbox'),{ x: newx, y: 0, mode: 'absolute'});
}

function scrollright(){
	
	itemposition++;
	
	if((itemcount - itemposition) <= 4){
		$('scrollright').style.display = "none";
	}
	else {
		$('scrollright').style.display = "";
	}
	
	if(itemposition == 0){
		$('scrollleft').style.display = "none";
	}
	else {
		$('scrollleft').style.display = "";
	}

	newx = itemposition * -104;
	new Effect.Move ($('scrollbox'),{ x: newx, y: 0, mode: 'absolute'});
}
var keepout;
function rangein(id,scopename) {
	if(keepout != id){
		id.style.left = -100;
	}
}
function rangeout(id,scopename) {
	if(keepout != id){
		id.style.left = -34;
	}
}
function rangekeepout(rangeno){
	keepout = $('range'+rangeno);
	keepout.style.left = -34;
}



/***********************************************
* Dynamic Countdown script- © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function cdtime(container, targetdate){
	if (!document.getElementById || !document.getElementById(container)) return
	this.container=document.getElementById(container)
	this.currentTime=new Date()
	this.targetdate=new Date(targetdate)
	this.timesup=false
	this.updateTime()
}

cdtime.prototype.updateTime=function(){
	var thisobj=this
	this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
	setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
	this.baseunit=baseunit
	this.formatresults=functionref
	this.showresults()
}

cdtime.prototype.showresults=function(){
	var thisobj=this
	var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
	if (timediff<0){ //if time is up
		this.timesup=true
		this.container.innerHTML=this.formatresults()
		return
	}

	var oneMinute=60 //minute unit in seconds
	var oneHour=60*60 //hour unit in seconds
	var oneDay=60*60*24 //day unit in seconds
	var dayfield=Math.floor(timediff/oneDay)
	var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
	var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
	var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
	if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
		hourfield=dayfield*24+hourfield
		dayfield="n/a"
	}
	else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
		minutefield=dayfield*24*60+hourfield*60+minutefield
		dayfield=hourfield="n/a"
	}

	else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
		var secondfield=timediff
		dayfield=hourfield=minutefield="n/a"
	}

	this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
	setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

//Create your own custom format function to pass into cdtime.displaycountdown()

//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc

function formatresults(){
	if (this.timesup==false){//if target date/time not yet met
		var displaystring=arguments[0]+" days "+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]
	}
	else{ //else if target date/time met
		var displaystring="Future date is here!"
	}
	return displaystring
}
