﻿var serviceProxy;

// Initializes global and proxy default variables.
function pageLoad() {
    // Instantiate the service proxy.
    // helloWorldProxy = new Samples.Aspnet.HelloWorld();
    serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices(); 

    // Set the default call back functions.
    serviceProxy.set_defaultSucceededCallback(SucceededCallback);
    serviceProxy.set_defaultFailedCallback(FailedCallback);
}


// Processes the button click and calls
// the service Greetings method.  
function OnClickGreetings() {
    var greetings = helloWorldProxy.Greetings();
}

function OnAddCart(no, qty) {
    // just in case we need overrides!
    /* serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices();
    serviceProxy.set_defaultSucceededCallback(CartAddSuccess);
    serviceProxy.set_defaultFailedCallback(FailedCallback);
    var cart_add = serviceProxy.AddToCart(no, qty);*/
alert('redirecting....');
jqAdd( no, qty);
}

//OnAddCart(no, qty, price, description) 

function OnAddCartFull(no, qty, price, description) {
/*   serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices();
    serviceProxy.set_defaultSucceededCallback(CartAddSuccess);
    serviceProxy.set_defaultFailedCallback(FailedCallback);
    var cart_add = serviceProxy.AddToCartFull(no, qty, price, description);*/
jqAdd(no, qty);
}

function OnReturnCart() {
  /*  serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices();
    serviceProxy.set_defaultSucceededCallback(CartReturnSuccess);
    serviceProxy.set_defaultFailedCallback(FailedCartCallback);
    var cart_add = serviceProxy.RenderCart();
*/
}

function OnRemoveCart(no) {
/*    serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices();
    serviceProxy.set_defaultSucceededCallback(CartRemoveSuccess);
    serviceProxy.set_defaultFailedCallback(FailedCallback);
    var cart_add = serviceProxy.RemoveFromCart(no);
*/
jqRemove(no);
}

function OnRemoveCartJquery(no, callback) {
    serviceProxy = new Gears.MarketPlace.WebServices.MarketPlaceServices();
    serviceProxy.set_defaultSucceededCallback(callback);
    serviceProxy.set_defaultFailedCallback(FailedCallback);
    var cart_add = serviceProxy.RemoveFromCart(no);
}

function CartRemoveSuccessJQ(results) {
    alert('done!');
}

function CartRemoveSuccess(results) {
    var RsltElem = document.getElementById("Results");
    RsltElem.style.display = 'block';
    RsltElem.innerHTML = results;
    setTimeout("clearDiv('Results')", 2000);
    // Re-render cart.
    OnReturnCart();
    try{
       renderCart();
    }
    catch(ez) { }
}

function CartReturnSuccess(result) {
    var RsltElem = document.getElementById("shoppingCartDiv");
    RsltElem.style.display = 'block';
    RsltElem.innerHTML = result;

    // parse out total and apply
    var total = result;
    total = total.substr(total.indexOf('Total:'));
    var pos = total.indexOf('</div>');
    total = total.substring(6, pos);
    fixAmount(total);
    // hide big shoppingcart after 2 sec.
    
    setTimeout("hideShoppingCart()", 2000);
}
function hideShoppingCart() {
    var RsltElem = document.getElementById("shoppingCartDiv");
    RsltElem.style.display = 'block';
}

function CartAddSuccess(result) {
    var RsltElem = document.getElementById("Results");
    RsltElem.innerHTML = result;
    setTimeout("clearDiv('Results')", 2000);
}
function clearDiv(divId) {
    var elm = document.getElementById(divId);
    elm.innerHTML = '';
}
// Callback function that
// processes the service return value.
function SucceededCallback(result) {
    var RsltElem = document.getElementById("Results");
    RsltElem.innerHTML = result;
}

// Callback function invoked when a call to 
// the  service methods fails.
function FailedCallback(error, userContext, methodName) {
    if (error !== null) {
        var RsltElem = document.getElementById("Results");

        RsltElem.innerHTML = "An error occurred: " +
            error.get_message();
    }
}

function FailedCartCallback(error, userContext, methodName) {
    if (error !== null) {
        var RsltElem = document.getElementById("Results");

        RsltElem.innerHTML = "Cart render failed: " +
            error.get_message();
    }
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
