﻿Webservice = {
    getComparisons: function(callback) {
        // getComparisons(ByVal iSession As String) As ComparissonClass()
		/*
        $.ajaxDotNet('ECCService.asmx/getComparisons', {
            verb: 'POST',
            data: { iSession: sessionID },
            success: function(obj) {
                try { 
                    Comparisons = obj.d
                    callback(Comparisons)
                }
                catch (err) {
                    debug({ obj: obj, err: err });
                }
            },
            other: function(err) {
                
                debug(err);
            }
        });*/
    },

    getComparison: function(pgrID, callback) {
        // getComparison(ByVal iSession As String, ByVal pgrID As Integer) As ComparissonClass
       //  Energy_Cost_Calculator.ECCService.getComparison(sessionID, pgrID, callback)
	   
	   var oComparison
	   switch(pgrID) {
            case 'TV-Geräte':
                oComparison = ecc_tv
                break;
            case 'DVD/Video':
                oComparison = ecc_dvdvideo
                break;
            case 'Receiver/Set-Top-Boxen':
                oComparison = ecc_receiver
                break;
            case 'Audio / Heimkino-Systeme':
            case 'Audio/Heimkino-Systeme':
                oComparison = ecc_homecinema
                break;
            case 'Kühlen/Gefrieren':
                oComparison = ecc_fridge
                break;
            case 'Geschirrspüler': 
                oComparison = ecc_dishwasher
                break;
            case 'Waschen/Trocknen':
                oComparison = ecc_washer
                break;
	   }
	   callback(oComparison)
    },

    setComparison: function(Comparison) {
        // setComparison(ByVal iSession As String, ByVal iComparison As ComparissonClass) As Boolean
        Buffer.Comparison = Comparison
		
		window.clearTimeout(Buffer.ComparisonTimeout)
		//  Buffer.ComparisonTimeout = window.setTimeout("Energy_Cost_Calculator.ECCService.setComparison(sessionID, Buffer.Comparison)",500)
    },

    removeComparison: function(pgrID) {
        // removeComparison(ByVal iSession As String, ByVal pgrID As Integer) As Boolean
        // Energy_Cost_Calculator.ECCService.removeComparison(sessionID, pgrID)
    },

    getComparisonProducts: function(pgrID, callback) {
        // getComparisonProducts(ByVal iSession As String, ByVal pgrID As Integer)
        // Energy_Cost_Calculator.ECCService.getComparisonProducts(sessionID, pgrID, callback)
		callback(false)
    },

    addProduct: function(Product) {
        // addProduct(ByVal iSession As String, ByVal iProduct As ProductClass) As Boolean
		
		newProduct = cloneObject(Product)
        delete newProduct.costs
		newProduct.prgID = newProduct.prgTitle
		newProduct.ID = newProduct.ID.replace(/p*/,'')
       //  Energy_Cost_Calculator.ECCService.addProduct(sessionID, newProduct)
    },

    updateProduct: function(Product) {
        // updateProduct(ByVal iSession As String, ByVal iProduct As ProductClass) As Boolean
		newProduct = cloneObject(Product)
        delete newProduct.costs
		newProduct.prgID = newProduct.prgTitle
		newProduct.ID = newProduct.ID.replace(/p*/,'')
        //  Energy_Cost_Calculator.ECCService.updateProduct(sessionID, newProduct)
    },

    removeProduct: function(productID) {
        // removeProduct(ByVal iSession As String, ByVal iProductID As Integer) As Boolean
        // Energy_Cost_Calculator.ECCService.removeProduct(sessionID, productID)
    },

    setKwh: function(kwh) {
        // setKwh(ByVal iSession As String, ByVal ikwh As Double) As Boolean
        // Energy_Cost_Calculator.ECCService.setKwh(sessionID, kwh)
    },

    getKwh: function(callback) {
        // getKwh(ByVal iSession As String) As Double
        // Energy_Cost_Calculator.ECCService.getKwh(sessionID, callback)
		callback(kwh)
    }
}

Buffer = {
	clear: function() {
		for (property in this) {
		delete this[propety]
		}
	}
}