var webshopOperator = "/cmsfiles/operators/request.php?file=components/webshop/action.php";
var responseDiv		= "webshop_response_div";

function webshop_ajax(parameters, successAction)
{
	if(typeof jQuery != 'function'){
		var succes_actions = function(transport)
		{
			successAction(transport.responseText);
		}
		
		new Ajax.Request(webshopOperator,{
			method:			'post',
			parameters:		parameters,
			onSuccess:		succes_actions
		});
	} else {
		var succes_actions = function(html)
		{
			successAction(html);
		}
		
		jQuery.ajax({
			url		: webshopOperator,
			type	: "post",
			data	: parameters,
			success	: succes_actions
		});
	}
}

function webshop_add_to_card(productId, properties)
{
	responseDiv = "webshop_response_div";
	
	var parameters = {
		product_id	: productId,
		action		: 'add_product'
	};
	
	//var propertyValues = [];

	for(var i in properties)
	{
		if(properties[i] != 0){
			parameters["properties["+i+"]"] = properties[i];
		}
	}
	

	var succes_actions = function(responseText)
	{		
		if(document.getElementById(responseDiv) == undefined){
			webshop_create_responsediv(responseDiv);
		}
		
		webshop_notify_order(responseDiv, responseText);
		webshop_update_cart_amount();
		
		if(document.getElementById("webshop_cart_total") != undefined) {
			webshop_update_cart_total();
		}			
	}
	
	webshop_ajax(parameters, succes_actions);
}

function webshop_update_cart_amount()
{
	var responseDiv = "webshop_cart_amount";

	var parameters = {
		action		: 'get_amount'
	};

	var succes_actions = function(responseText)
	{	
		document.getElementById(responseDiv).innerHTML = responseText;
	}
	
	webshop_ajax(parameters, succes_actions);
}

function webshop_update_cart_total() 
{
	var responseDiv = "webshop_cart_total";
	
	var parameters = {
		action		: 'get_total_price'
	};

	var succes_actions = function(responseText)
	{		
		document.getElementById(responseDiv).innerHTML	= responseText;
	}
	
	webshop_ajax(parameters, succes_actions);
}

function webshop_create_responsediv(div)
{
	var responseDiv			= document.createElement('div');
	var thisObject			= this;
	
	responseDiv.className	= div;
	responseDiv.id			= div;
	
	document.body.appendChild(responseDiv);
}

function webshop_notify_order(responseDiv, responseText)
{
	var scrollTop	= document.documentElement.scrollTop == undefined 
		? window.pageYOffset 
		: document.documentElement.scrollTop
	
	document.getElementById(responseDiv).style.marginTop	= "0px";
	document.getElementById(responseDiv).innerHTML		= responseText;
	document.getElementById(responseDiv).style.display	= "block";
	document.getElementById(responseDiv).style.opacity	= "1.0";
	document.getElementById(responseDiv).style.cursor		= "pointer";
	
	document.onclick = function()
	{
		document.getElementById(responseDiv).style.display = 'none';
		document.onclick = null;
	};
}

function print_order_history(divContent)
{
	var tempContent = window.open('','','width=500,height=300');
	tempContent.document.open("text/html");
	tempContent.document.open("<html><head>");
	tempContent.document.write('<link rel="stylesheet" type="text/css" href="/styles/webshop.css" />');
	tempContent.document.open("</head><body onComplete='this.document.close();'>");
	tempContent.document.write(document.getElementById(divContent).innerHTML);
	tempContent.document.open("</body></html>");	
	tempContent.print();
	tempContent.document.close();
}
