﻿/// <reference path="jquery-1.4.1-vsdoc.js"/>


function createCookie(name, value, days) {
    //value = encodeURI(value);
    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;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function ifOnCartPage() {

var path = window.location.pathname;
var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1];    

    if (filename.toLowerCase() == 'cart'){
        window.location.reload(true);
    }

}

    


//cart array
var arrCart = [];
var arrWishList = [];
var log = ""

// load array
function loadarray(cartName) {
    if (readCookie(cartName)) {
        log += 'cookie found ' + cartName + '<br / >'

        arrCart = stringToArray(readCookie(cartName));

    }
    else {
        log += 'NO cookie found ' + cartName + '<br / >'
        arrCart = [];


    }
}


// add to cart
function addToWishList(prodId, prodCode, prodName, link, qty, cartName) {
    
   //prodName = encodeURI(prodName);
    //alert(prodId);
    //prodName = prodName.replace(/,/g, '');

    loadarray(cartName);
    log  += 'laod array '+cartName+'<br / >'

    var bolFound = false;
    //read array, if product id not in the add
    for (var i = 0; i < arrCart.length; i++) {
        if (arrCart[i][0] == prodId) {
            bolFound = true;
        }
    }
    if (bolFound == false) {
        arrCart[arrCart.length] = [prodId, prodCode, 'temp', qty, link];
        //add array
        createCookie(cartName, arrayToString(arrCart), 10);
    }
    else {

        setQty(prodId, qty, cartName);
        createCookie(cartName, arrayToString(arrCart), 10);


    }

    //alert(arrayToString(arrCart));

    // bindCart(cartName)

  //  alert(log);

    laodAjaxCart(cartName);



    //show hide basket
    if (cartName == 'cart') {
        

        $('#basketexpand').slideDown('fast', function () { });
        var timDelay = setTimeout(function () {
            $('#basketexpand').slideUp('fast', function () { });

        }, 2000);


    }
    else {


        $('#wishexpand').slideDown('fast', function () { });
        var timDelay = setTimeout(function () {
            $('#wishexpand').slideUp('fast', function () { });

        }, 2000);



    }

        ifOnCartPage(); 
}



function arrayToString(myArray) {
    var str = ''
    // loop through outer array. Items in cart
    for (var i = 0; i < myArray.length; i++) {
        innerArray = myArray[i]
        // loop through inner array.  0: ProdID, 1:code, 2: name 3: qty
        for (var i2 = 0; i2 < innerArray.length; i2++) {

            str += innerArray[i2] + '^';
        }
        str = str.substring(0, str.length - 1)
        str += '~'
    }
    str = str.substring(0, str.length - 1)
    return str;
}


function stringToArray(str) {

    log += 'cookie string ' + str + '<br / >'

    var arr = str.split('~');

    for (var i = 0; i < arr.length; i++) {

        arr[i] = arr[i].split('^');
    }
    return arr;
}


//remove from cart
function removeFromCart(prodID, cartName) {
    loadarray(cartName);
    for (var i = 0; i < arrCart.length; i++) {
        if (arrCart[i][0] == prodID) {
            arrCart.splice(i, 1);
            createCookie(cartName, arrayToString(arrCart), 10);
        }
    }

 //  bindCart(cartName)
    laodAjaxCart(cartName)
        ifOnCartPage();
}


function setQty(prodId, qty, cartName) {

  //  loadarray(cartName);
    for (var i = 0; i < arrCart.length; i++) {
        if (arrCart[i][0] == prodId) {
            var qty = parseInt(arrCart[i][3]) + parseInt(qty);
           
            if (qty > 0) {

                arrCart[i][3] = qty;
//                createCookie(cartName, arrayToString(arrCart), 10);
//                // bindCart(cartName);
//                laodAjaxCart(cartName)
           }
            else {
                removeFromCart(prodId, cartName);
            }
        }
    }
}

//
function changeQty(prodId, direction, cartName) {



    loadarray(cartName);
    for (var i = 0; i < arrCart.length; i++) {
        if (arrCart[i][0] == prodId) {
            var qty = arrCart[i][3];
            if (direction == 'up') {
                qty = parseInt(qty) + 1;
            }
            else {
                qty = parseInt(qty) - 1;
            }
            if (qty > 0) {

                arrCart[i][3] = qty;
                createCookie(cartName, arrayToString(arrCart), 10);
               // bindCart(cartName);
                laodAjaxCart(cartName)
            }
            else {
                removeFromCart(prodId, cartName);
            }
        }
    }

        ifOnCartPage();
}


//binmd cart
function bindCart(cartName) {
    loadarray(cartName);
    var wishlist = ""
    var total = 0
    for (var i = 0; i < arrCart.length; i++) {
        wishlist += '<div class="item"><a  href="javascript:removeFromCart(\'' + arrCart[i][0] + '\',\'' + cartName + '\')" class="remove" >x</a>';
        wishlist += arrCart[i][2] + ' - £' + parseFloat((arrCart[i][1] * arrCart[i][3])).toFixed(2);
        wishlist += '<br /><b>QTY:</b> ' + arrCart[i][3];
        wishlist += ' <a href="javascript:changeQty(\'' + arrCart[i][0] + '\',\'up\',\'' + cartName + '\')">+</a>  <a href="javascript:changeQty(\'' + arrCart[i][0] + '\',\'down\',\'' + cartName + '\')">-</a>';
        wishlist += '</div>';
        total += Math.round((arrCart[i][1] * arrCart[i][3]) * 100) / 100
    }
    document.getElementById(cartName+'items').innerHTML = wishlist;
    //document.getElementById(cartName+'wishtotal').innerHTML = total.toFixed(2);
}

function laodAjaxCart(cartName) {



//    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
//        xmlhttp = new XMLHttpRequest();
//    }
//    else {// code for IE6, IE5
//        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
//    }



       var date = new Date();

       $.get('/ajax/minicart.aspx?cartname=' + cartName + '&date=' + date.getTime(), function (data) {



        var cartlist = '#' + cartName + 'items'
       // alert(cartlist);
        $(cartlist).html(data);

    });



//    xmlhttp.open("GET", "/ajax/minicart.aspx?cartname=" + cartName, false);
//    xmlhttp.send();
//    document.getElementById("/ajax/minicart.aspx?cartname=" + cartName + 'items').innerHTML = xmlhttp.responseText;



}


