// COOKIE HANDLER FUNCTIONS //



var cookieName = "galleryOrder"

var expiryDate

var cartItems



initCookie()



function initCookie() {

	if (getCookie(cookieName) == null) {

		expiryDate = new Date()

		expiryDate.setTime(expiryDate.getTime() + (12 * 60 * 60 * 1000))

		setCookie(cookieName,'',expiryDate,"/")

		if (!document.cookie.length) {

			alert("You have to enable cookies in your browser settings.")

		}

		cartItems = new Array()

	} else {

		cartItems = getCookie(cookieName).split(",")

		for (i=0;i<cartItems.length;i++) {

			cartItems[i] = cartItems[i].split(":")

		}

	}

}



function getCookie(name) {

	if (!document.cookie.length) { // no cookies defined

		return null

	} else if (document.cookie.indexOf(name+"=") == -1) { // there are cookies but not ours

		return null

	} else {

		cookieVal = unescape(document.cookie.split(name+"=")[1].split(";")[0])

		if (cookieVal.length) { // our cookie has value

			return cookieVal

		} else { // our cookie is empty

			return null

		}

	}

}



function setCookie(name,value) {

	var argv = setCookie.arguments

	var argc = setCookie.arguments.length



	var expires = (argc > 2) ? argv[2] : null

	var path = (argc > 3) ? argv[3] : null

	var domain = (argc > 4) ? argv[4] : null

	var secure = (argc > 5) ? argv[5] : false



	document.cookie = name + "=" + escape(value) +

		((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

		((path == null) ? "" : ("; path=" + path)) +

		((domain == null) ? "" : ("; domain=" + domain)) +

		((secure == true) ? "; secure" : "")

}









// COOKIE MODIFIER FUNCTIONS //



function addCart(imagePath) {

	initCookie()

	addItem = true

	for (i=0;i<cartItems.length;i++) {

		if (cartItems[i][0] == imagePath) {

			addItem = false

			removeItem = i

		}

	}

	

	if (addItem) {

		cartItems[cartItems.length] = new Array(imagePath,0)

	} else {

//		cartItems.splice(removeItem,1)

		for (j=removeItem;j<cartItems.length-1;j++) {

			cartItems[j] = cartItems[j+1]

		}

		cartItems.length = cartItems.length-1

	}

	

	cartList = new Array()

	for (i=0;i<cartItems.length;i++) {

		cartList[i] = cartItems[i].join(":")

	}

	setCookie(cookieName,cartList.join(),expiryDate,"/")



	document.location.href = 'cart.html'

}



function emptyCart() {

	cartItems.length = 0

	setCookie(cookieName,'',expiryDate,"/")

	document.location.reload()

}



function setPrice(obj,itemIndex) {

	cartItems[itemIndex][1] = obj.selectedIndex

	cartList = new Array()

	for (i=0;i<cartItems.length;i++) {

		cartList[i] = cartItems[i].join(":")

	}

	setCookie(cookieName,cartList.join(),expiryDate,"/")

	displayPrice()

}









// CART FUNCTIONS //



function displayCart() {

	if (cartItems.length > 0) {

		document.write('<FORM NAME="cartForm">')

		document.write('<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=1>')

		document.write('<TR>')

		document.write('<TH><small>Item</small></TH>')

		document.write('<TH><small>Size</small></TH>')

		document.write('<th></th>')

		for (i=0;i<cartItems.length;i++) {

			document.write('<TR ALIGN=CENTER>')

//			document.write('<TD ALIGN=RIGHT><small>'+cartItems[i][0]+'</small></TD>')
			document.write('<TD ALIGN=RIGHT><img src="albums/'+cartItems[i][0]+'.thumb.jpg" border="0"></a></TD>')

			document.write('<TD><SELECT NAME="cartItem'+i+'" onChange="setPrice(this,'+i+')"><OPTION>Great (2560 x 1920 px) - $'+price[0]+'</OPTION><OPTION>Medium (1600 x 1200 px) - $'+price[1]+'</OPTION><OPTION>Small (1280 x 960 px) - $'+price[2]+'</OPTION></SELECT>')

			document.write('</TD>')

			document.write('<td><input type=button value="Remove" onclick=addCart("'+cartItems[i][0]+'")></td>')

			eval("document.cartForm.cartItem"+i).selectedIndex = cartItems[i][1]

		}

		document.write('<TR>')

		document.write('<td colspan=2 align=right><small><span id="totalPrice"></span></small></td>')

		document.write('<td></td>')

		document.write('<TR>')

		document.write('<td colspan=3 align=right>')

		document.write('</TD>')

		document.write('</TABLE>')

		document.write('</FORM>')

		displayPrice()

	} else {

		document.write('<br><small>Your cart is empty.</small><br><br>')

	}

}



function displayPrice() {

	total = 0

	point = ''

	for (i=0;i<cartItems.length;i++) {

		total += Number(price[cartItems[i][1]])

		point += i + '. ' + cartItems[i][0] + ' - $' + Number(price[cartItems[i][1]]) + '\n'

	}

	point += 'Sum: $' + total

	document.getElementById('totalPrice').innerHTML = fixStr('$'+total)

//	document.getElementById('pricePoint').innerHTML = point

	document.myform.AMOUNT.value = point

	document.myform.TOTAL.value = total

}



function fixStr(str) {

	if (str.indexOf(".") != -1) {

		if ((str.length - str.indexOf(".")) == 2) { str += "0" }

	} else {

		str += ".00"

	}

	return str

}
