var system = {
	init : function () {
		
	},
	bodyOnLoad : function () {
		return;
	}	
};

var iface = {

	getMouseX : function () {
		return this.X;
	},
	getMouseY : function () {
		return this.Y;
	},
	posLoadImg : function (x,y){
		x = x - 40;
		y = y - 60;
		$('loadingimg').setStyle("top:" + y +"px; left: " + x + "px;");
		$('loadingimg').show();
	},
	hideLoadImg : function () {
		$('loadingimg').hide();
		$('loadingimg').setStyle("top: 0px; left: 0px;");
	},
	autopositionLoadingImg : function () {
		iface.posLoadImg(iface.X, iface.Y-10);
	},
	calendar: function(filed, trigger){
		Calendar.setup({
       		inputField     :    filed,     // id of the input field
        	ifFormat       :    "%Y-%m-%d",      // format of the input field
        	button         :    trigger,  // trigger for the calendar (button ID)
        	singleClick    :    true,
			firstDay	   :	1
    	});
	}
};
Event.observe(window, 'mousemove', function(e){
	iface.X = Event.pointerX(e);
	iface.Y = Event.pointerY(e);
});

var cart =  {
	addToCart : function (pid) {
		iface.posLoadImg(iface.X, iface.Y-10);
		
		new Ajax.Request('/',
		{
			method:'post',
			parameters: {id: pid, noheaderandfooter:1,action: 'product-addtovirtualbasket'},
		    onSuccess: function(transport){
				
		      var response = transport.responseText || 'no text';
			  		response = response.strip();	
					//alert(response);		  		
				  	if(response=='done'){
				  		if($('adderror')) $('adderror').update(response);
						cart.reloadVCart();
				  	} else {				  	
				  		if($('adderror')) $('adderror').update(response);
				  	}
					iface.hideLoadImg();
					return false;
		      },
		    onFailure: function(){
				$('adderror').update('Error: Unknown error');
			}
		  });
		  return false;
		
		
	},
	reloadVCart : function () {
		
		new Ajax.Request('/',
		{
			method:'post',
			parameters: {action: 'user-vcart',noheaderandfooter:1},
			onSuccess: function(transport){
				var response = transport.responseText || 'no text';
				//alert(response);
				$('vcart').update(response);
			}
		});
	},
	removeItem: function (itemid) {
		new Ajax.Updater('mainContent', '/index.php',{
			method:'post',
			parameters: {action: 'user-shoppingcart',noheaderandfooter:1, whattodo: 'removeitem', id: itemid},
			onComplete: function () {
				new Ajax.Updater('mainContent', '/?action=user-shoppingcart&noheaderandfooter=1');
			}
		});
		
	},
	updateQuantities : function () {
		iface.autopositionLoadingImg();
		var qinputs = $$('input.quantity');
		var params = $H();
		params.set('noheaderandfooter', 1);
		params.set('action', 'product-updatecartquantities');
		
		qinputs.each(function(s){
			params.set(s.id, s.value);
		});
	
		
		new Ajax.Request('/index.php',
		{
			method:'post',
			parameters: params,
		    onSuccess: function(transport){
		      	var text = transport.responseText;
			  	//alert(text);	
				
				//$('errordiv').update(text);
				new Ajax.Updater('mainContent', '/?action=user-shoppingcart&noheaderandfooter=1');
		      	iface.hideLoadImg();  		
			  },
		    onFailure: function(){
				$('errordiv').update('Error: Unknown error');
			}
		  });
	},
	procedeToOrder : function () {
		this.updateQuantities();
		location.assign("/?action=user-makeorder");
	}

};
var admin = {
	addProductsToNew : function () {
		var chckboxes = $$('input.productids');
		var values = $A();
		for (var i=0; i<chckboxes.length; i++){
			if(chckboxes[i].checked){
				values.push(chckboxes[i].value);
			}
		}
		var ids = values.join(",");
		new Ajax.Request('/index.php',
		{
			method:'post',
			parameters: {action: 'product-makenew',ids:ids,noheaderandfooter:1},
		    onSuccess: function(transport){
		      	var text = transport.responseText;
		      	alert(text);
			  	if(text == 1){
					window.location.assign('/?action=document-list-product&isnew=1');
				}	
			  },
		    onFailure: function(){
				$('errordiv').update('Error: Unknown error');
			}
		  });
	},
	removeProductsFromNew : function () {
		var chckboxes = $$('input.productids');
		var values = $A();
		for (var i=0; i<chckboxes.length; i++){
			if(chckboxes[i].checked){
				values.push(chckboxes[i].value);
			}
		}
		var ids = values.join(",");
		new Ajax.Request('/index.php',
		{
			method:'post',
			parameters: {action: 'product-removeFromNew',ids:ids,noheaderandfooter:1},
		    onSuccess: function(transport){
		      	var text = transport.responseText;
		      	alert(text);
			  	if(text == 1){
					window.location.reload();
				}	
			  },
		    onFailure: function(){
				$('errordiv').update('Error: Unknown error');
			}
		  });
	},
	addProductsInFolder : function (folderid) {
		var chckboxes = $$('input.productids');
		var values = $A();
		for (var i=0; i<chckboxes.length; i++){
			if(chckboxes[i].checked){
				values.push(chckboxes[i].value);
			}
		}
		var ids = values.join(",");
		new Ajax.Request('/index.php',
		{
			method:'post',
			parameters: {action: 'folder-addproducts', id:folderid,ids:ids,noheaderandfooter:1},
		    onSuccess: function(transport){
		      	var text = transport.responseText;
				//alert(text);
			  	if(text == 1){
					window.location.reload();
				}	
			  },
		    onFailure: function(){
				$('errordiv').update('Error: Unknown error');
			}
		  });
	}

}

var CustomForm = {
	check_form : function (){
	var f = document.addeditform;
	for(var i=0; i<f.elements.length; i++){
		el = f.elements[i];
		if(el.type == 'hidden'){
			continue;
		}
		if(el.required){
			var el_no_space = el.value.replace(/\s+/g, '');
			if(!el_no_space){
				alert('<?=tools::lang("Please, fill in the required fields");?>');
				el.focus();
				el.style.backgroundColor = '#ffc6c6';
				return;
			}
		} 
		
		if(el.validationmsg && el.value){
			var regex = new RegExp(el.validationmsg);
			if(!el.value.match(regex)){
				alert('<?=tools::lang("Please, fill in correct value");?>');
				el.focus();
				el.style.backgroundColor = '#ffc6c6';
				return;
			}

		}
		
		}
		f.submit();
	
	}

}