﻿/// <reference path="jquery-1.5.1-vsdoc.js" />

//setup viewmodel
var ViewModel = {
    lines: ko.observableArray([]),
    cartCount: ko.observable(0)
}
ko.applyBindings(ViewModel);

//fetch cart
var cookieData = JSON.parse(readCookie("_highlandCart"));
if (cookieData != null) {
    //put data into viewmodel
        ViewModel.lines(cookieData);
        ViewModel.cartCount(cookieData.length);
}

function AddToCart(item) {
    var cookieData = JSON.parse(readCookie("_highlandCart"));
    var itemExists = false;

    if (cookieData != null) {
        for (var i = 0; i < cookieData.length; i++) {
            if (item.itemnumber == cookieData[i].itemnumber) {
                cookieData[i].qty = item.qty; //update qty as item already exists
                itemExists = true;
            }
        }
        if (!itemExists) {
            cookieData.push(item); //add new item to cart
        }
        createCookie("_highlandCart", ko.toJSON(cookieData), 30); //write the cookie
        //apply new lineitems to cart
        ViewModel.lines(cookieData);
        ViewModel.cartCount(cookieData.length);
        //alert(ViewModel.lines()[0].itemnumber);
    }
    else {
        var items = [item];
        createCookie("_highlandCart", ko.toJSON(items), 30); //write the cookie
        //apply new lineitems to cart
        ViewModel.lines(items);
        ViewModel.cartCount(1);
    }
}



function removeItem(item) {
    ViewModel.lines.remove(item)
    createCookie("_highlandCart", ko.toJSON(ViewModel.lines()), 30);
}

function updateQuantity() {    
    createCookie("_highlandCart", ko.toJSON(ViewModel.lines()), 30);
}

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) {
            return c.substring(nameEQ.length, c.length);
        }
    }
    return null;
}



