/*-------------------------------------------------------------------------------------------------------------------
 Script Name: shopping_cart.js
 Author: Tony Wei (魏志國)  tonywei@ccioo.com  tonywei123@gmail.com
 Description: 購物車 AJAX 程式庫
 Revision History:
   1.0: original version 2007/1/5

-------------------------------------------------------------------------------------------------------------------*/

// 清空 JavaScript 暫存購物車, 以 Server Side Session 為主體
var ccioo_cart = new Array();


/*-------------------------------------------------------------------------------------------------------------------
 Function: call_cart()
 Description: 存取購物車 shopping_cart.php 的 Web Services
 Input: 動作, 購物車內容
 Output: N/A
 Example: 
	call_cart( "add", "1:1~2:2~3:3" );
	call_cart( "remove", "1:1~2:500" );
	call_cart( "clear" );
 Revision History:
   1.0: original version 2007/1/5
-------------------------------------------------------------------------------------------------------------------*/
function call_cart( func, cart_string )
{
	var url = "/ccioo/Ajax/shopping_cart.php?func=" + func + "&item=" + cart_string;
	ccioo_ajax_xmlHttp = ccioo_ajax_createHttp();
	ccioo_ajax_xmlHttp.open( "HEAD", url, true ); // 送出動作之後就不處理了
    ccioo_ajax_xmlHttp.send( null );
	return;
}


/*-------------------------------------------------------------------------------------------------------------------
 Function: get_cart()
 Description: 存取購物車 shopping_cart.php 的 Web Services
 Input: N/A
 Output: 購物車內容
 Example: 
	get_cart();
	for ( var key in ccioo_cart ) {
		alert( "[" + key + "] => " + ccioo_cart[ key ] );
	}
 Revision History:
   1.0: original version 2007/1/5
-------------------------------------------------------------------------------------------------------------------*/
function get_cart()
{
	var url = "/ccioo/Ajax/shopping_cart.php?func=list";
	ccioo_ajax_xmlHttp = ccioo_ajax_createHttp();
	ccioo_ajax_xmlHttp.open( "GET", url, false ); // 不使用非同步, 直接等待取回
    ccioo_ajax_xmlHttp.send( null );
	var objTag = ccioo_ajax_xmlHttp.responseXML.getElementsByTagName("item");
	if ( objTag.length == 1 ) {
		var cart_string = objTag[0].firstChild.nodeValue.split( '~' );
		ccioo_cart = new Array();
		for ( var key in cart_string ) {
			var item_array = cart_string[ key ].split( ":" );
			var k = parseInt( item_array[0] );
			var v = parseInt( item_array[1] );
			ccioo_cart[ k ] = v;
		}
	}
	return;
}
