/**
 * @author gtq
 */

var cart = (function() {
	var self = this;
	
	function cartDelBtnClick(ev) {
		var artno = '';
		var $this = $(this);
		if($this[0].tagName == 'DIV') {
			$this = $this.next("input");
		}
		artno = $this.attr("id").split("chk_")[1];
		
		$.get('cmCart_xhr.lasso?' + session.sessionParam, {
			action: 'cart',
			cmd: 'delete',
			section: 'cart_content',
			artno: artno,
			iesucks:	new Date().getTime()
		}, function(data){
			$("#cartContent").html(data);
			$("#cartSize").html($("#cartContent > .main-box").size());

			$(".triggerdelete").click(cartDelBtnClick);

			cart.fixFormElements();
			
		});
	}
	
	return {
		setupArea1Events: function() {
			$("#gall ul li").draggable({
				helper: function(ev) {
					var $helper = $('<div style="overflow: hidden; width: 75px; height: 75px; background: white; border: 2px solid red;"></div>');
					$helper.append($(this).find('img').clone(true).css("width", 75));
					return $helper;
				},
				appendTo: 'body',
				zIndex: 4
			});
			
			$("#gall ul li").mousedown(function(){
				var artno = $(this).attr("id").split("artno_")[1];
/*
				$("#gall ul li a img").css("border", "1px solid white");
				$("#"+$(this).attr("id")+" > a > img").css("border", "1px solid black");
indicator
*/
				$("#gall ul li > div > a").removeClass("indicator");
				$("#"+$(this).attr("id")+" > div > a").addClass("indicator");
				//load area2
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:		'article',
						cmd:		'getdata',
						section:	'area2',
						artno:		artno,
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#area2").html(data);
					}
				);
		
				//load area3
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:		'article',
						cmd:		'getdata',
						section:	'area3',
						artno:		artno,
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#area3").html(data);
					}
				);
		
				return false;
			});
			
		},
		setupArea2Events: function() {
			$("#articleFeatures-btn").click(function(){
				$(this).addClass("color").removeClass("grey");
				$("#articleSpecs-btn").removeClass("color").addClass("grey");
				$("#articleDownloads-btn").removeClass("dlcolor").addClass("dlgrey");
/* 				$("#articleDownloads-btn").removeClass("color").addClass("grey"); */
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:	 'article',
						cmd:		'getdata',
						section:	'article_features',
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#articleDetail").html(data);
					}
				);
				return false;
			});
		
			$("#articleSpecs-btn").click(function(){
				$("#articleFeatures-btn").removeClass("color").addClass("grey");
				$(this).addClass("color").removeClass("grey");
				$("#articleDownloads-btn").removeClass("dlcolor").addClass("dlgrey");
/* 				$("#articleDownloads-btn").removeClass("color").addClass("grey"); */
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:	 'article',
						cmd:		'getdata',
						section:	'article_specs',
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#articleDetail").html(data);
					}
				);
				return false;		
			});		
	
			$("#articleDownloads-btn").click(function(){
				$("#articleFeatures-btn").removeClass("color").addClass("grey");
				$("#articleSpecs-btn").removeClass("color").addClass("grey");
				$(this).addClass("dlcolor").removeClass("dlgrey");;
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:	 'article',
						cmd:		'getdata',
						section:	'article_downloads',
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#articleDetail").html(data);
					}
				);
				return false;
			});			
		},
		setupArea3Events: function() {
			$(".articleOptions-btn").click(function(){
				$(".articleOptions-btn a").removeClass("color").addClass("grey");
				$(this).find("a").addClass("color").removeClass("grey");
				var artgroupId = $(this).attr("id").split("artgroup_")[1];
				$.get(
					'cmCart_xhr.lasso?' + session.sessionParam,
					{
						action:	 	'article',
						cmd:		'getdata',
						section:	'article_options',
						artgroup:	artgroupId,
						iesucks:	new Date().getTime()
					},
					function(data) {
						$("#articleOptions").html(data);
						$(function() {cart.setupArea3Events()});
					}
				);
				return false;
				
			});
			$(".optionsdrag").draggable({
				helper: function(ev) {
					var $helper = $('<div style="overflow: hidden; width: 75px; height: 75px; background: white; border: 2px solid red;"></div>');
					$helper.append($(this).find('img').clone(true).css("width", 75));
					return $helper;
				},
				appendTo: 'body',
				zIndex: 4
			});
			
			$("div.article-scrollable").scrollable({
				items: "ul",
				easing: "linear",
				speed: 600,
				size: 5
			});
			


		},
		fixFormElements: function() {
			//handle form elements that has been designed
			getElements();
			separateElements();
			replaceSelects();
			replaceRadios();
			replaceCheckboxes();
			
			$(".triggerdelete").click(cartDelBtnClick);
			
		},
		setupCartEvents: function() {
			$("#cartDrop").droppable({
				drop: function(ev, ui){
					var artno = ui.draggable.attr("id").split("artno_")[1];
					if(typeof(ui.draggable.attr("name")) != 'undefined') {
						var parent = ui.draggable.attr("name").split("parentis")[1];
					} else {
						var parent = '';
					}
					$.get('cmCart_xhr.lasso?' + session.sessionParam, {
						action: 'cart',
						cmd: 'add',
						section: 'cart_content',
						artno: artno,
						parentis: parent,
						iesucks:	new Date().getTime()
					}, function(data){
						$("#cartContent").html(data);
						$("#cartSize").html($("#cartContent > .main-box").size());
						$(".triggerdelete").click(cartDelBtnClick);

						cart.fixFormElements();
					});
				}
			});
			
		
			$(".cartAdd-btn").live("click", function(ev){
					var x = $(this).attr('id');
					x = x.substr(8);					
					$.get('cmCart_xhr.lasso?' + session.sessionParam, {
						action: 'cart',
						cmd: 'add',
						section: 'cart_content',
						artno: $(this).val(),
						parentis: x,
						iesucks:	new Date().getTime()
					}, function(data){
						$("#cartContent").html(data);
						$("#cartSize").html($("#cartContent > .main-box").size());
	
						$(".triggerdelete").click(cartDelBtnClick);

						cart.fixFormElements();
					});									
			});
			
		//	$("#cartContent input[type=checkbox]").live("click", cartDelBtnClick);
		
/* 			$("#cartContent div.checkboxArea").live("click", cartDelBtnClick); */
			$(".triggerdelete").click(cartDelBtnClick);
			
		
			//cart email sending
			
			$("form[name=cartForm] input[name=email]").focus(function(){
			  // only select if the text has not changed
				if(this.value == this.defaultValue) {
					this.select();
				}
			});
			
			$("#cartForm").ajaxForm({
				type	: 'post',
				success	: function() {
					$.get('cmCart_xhr.lasso?' + session.sessionParam, {
						action: 'cart',
						cmd: 'submit',
						section: 'cart_content',
						iesucks:	new Date().getTime()
					}, function(data){
						$("#cartContent").html(data);
						$("#cartSize").html($("#cartContent > .main-box").size());

						$(".triggerdelete").click(cartDelBtnClick);
	
						cart.fixFormElements();
					});
					
				}
			});
		
			$("#cartForm .clear-btn").click(function(){
				$.get('cmCart_xhr.lasso?' + session.sessionParam, {
					action: 'cart',
					cmd: 'clear',
					section: 'cart_content',
					iesucks:	new Date().getTime()
				}, function(data){
					$("#cartContent").html(data);
					$("#cartSize").html($("#cartContent > .main-box").size());
					
					$(".triggerdelete").click(cartDelBtnClick);

					cart.fixFormElements();
				});		
			})
		
			$("#cartForm .submit-btn").click(function(){
				$("#cartForm").submit();
			})
			
			$(".searchField").click(function() {
				this.select();
			});			
		},
		setupSearchEvents: function() {
			$("#searchForm").ajaxForm({
				type	: 'post',
				success	: function() {
					$.get('cmCart_xhr.lasso?' + session.sessionParam, {
						action: 'article',
						cmd: 'search',
						section: 'search_results',
						iesucks:	new Date().getTime()
					}, function(data){
						$("#searchResults").html(data).fadeIn();
						$("#main").fadeOut();

						$(".triggerdelete").click(cartDelBtnClick);

						cart.fixFormElements();
					});
					
				}
			});			
		}
	}
})();

	