﻿var Shop = {
	addCartItem: function(oRef, nProductID){
		if($('adzShopCart')){
			var nOptionID = 0;
			var oRef = $(oRef);
			
			var oBlock = new Element('div').setStyles({
				position: 'absolute',
				left: $(oRef.parentNode).getPosition().x,
				top: $(oRef.parentNode).getPosition().y,
				width: $(oRef.parentNode).getSize().x,
				height: $(oRef.parentNode).getSize().y,
				opacity: '0',
				background: '#CCC',
				border: 'solid 1px #999',
				zIndex: '10'
			}).injectInside(document.body);
			
			var oFx = new Fx.Morph(oRef, {duration: 200, transition: 'expo:out', wait: false, link: 'chain'});
			var oFx2 = new Fx.Morph(oBlock, {duration: 1000, transition: 'expo:out', wait: false, link: 'chain'});
			
			if($('txtOptions' + nProductID)) nOptionID = $('txtOptions' + nProductID).value;
			
			oFx2.start({
				opacity: [1, 0],
				left: [oRef.parentNode.getPosition().x, $('adzShopCart').getPosition().x],
				top: [oRef.parentNode.getPosition().y, $('adzShopCart').getPosition().y + 50],
				width: [oRef.parentNode.getSize().x, $('adzShopCart').getSize().x],
				height: [oRef.parentNode.getSize().y, $('adzShopCart').getSize().y]
			});
			
			oFx.start({opacity: [1, 0]}).chain(function(){
				new Request({
					url: 'Shop.aspx', 
					method: 'post',
					evalScripts: true,
					onComplete: function(){
						oFx.start({opacity: [0, 1]});
						Shop.updateCart();
						oBlock.dispose();
					}
				}).send('txtProductID=' + nProductID + '&txtOptionID=' + nOptionID + '&txtActionID=1');
			});
		}else alert('לקוחות יקרים, הרכישה באתר תתאפשר בקרוב עקב תהליך אישור האבטחה לבטחונכם ונוחותכם. בתודה, דיויו');
	},
	
	removeCartItem: function(nIndexID){
		new Request({
			url: 'Shop.aspx', 
			method: 'post',
			evalScripts: true,
			onComplete: function(){
				Shop.updateCart();
			}
		}).send('txtIndexID=' + nIndexID + '&txtActionID=2');
	},
	
	updateCart: function(nDeliveryTypeID){
		if(nDeliveryTypeID == null) nDeliveryTypeID = 1;
		if($('adzShopCart')){
			$('adzShopCart').load('Shop.aspx?txtActionID=101&txtDeliveryTypeID=' + nDeliveryTypeID + '&rnd=' + $time());
		}
		if($('adzShopCheckout')){
			$('adzShopCheckout').load('Shop.aspx?txtActionID=101&txtDeliveryTypeID=' + nDeliveryTypeID + '&rnd=' + $time());
		}
	},
	
	orderSignup: function(){
		var bValid = true;
		var oForm = $('frmShopSignup');
		var aFields = ['txtEmail', 'txtPassword', 'txtPassword2', 'txtFirstName', 'txtLastName', 'txtPhone'];
		
		for(var nIndex = 0; nIndex < aFields.length; nIndex++){
			if (bValid && (oForm[aFields[nIndex]].value.length < 1)){
				alert('נא הזן/י את כל שדות החובה');
				oForm[aFields[nIndex]].focus();
				bValid = false;
			}
		}
		if (bValid && (oForm['txtEmail'].value.length < 4 || !ARGUS.checkEmail(oForm['txtEmail'].value))){
			alert('נא הזן/י כתובת אי מייל תקינה');
			oForm['txtEmail'].focus();
			bValid = false;
		}
		if(bValid && oForm['txtPassword'].value != oForm['txtPassword2'].value){
			alert('הסיסמאות אינן תואמות');
			oForm['txtPassword'].focus();
			bValid = false;
		}

		if(bValid) new Request({
			url:'Shop.aspx', 
			method: 'post',
			evalScripts: true
		}).send(oForm.toQueryString() + '&txtActionID=4');
	},
	
	orderSignin: function(){
		var bValid = true;
		var oForm = $('frmShopSignin');
		var aFields = ['txtEmail', 'txtPassword'];
		
		for(var nIndex = 0; nIndex < aFields.length; nIndex++){
			if (bValid && (oForm[aFields[nIndex]].value.length < 1)){
				alert('נא הזן/י את כל שדות החובה');
				oForm[aFields[nIndex]].focus();
				bValid = false;
			}
		}
		if (bValid && (oForm['txtEmail'].value.length < 4 || !ARGUS.checkEmail(oForm['txtEmail'].value))){
			alert('נא הזן/י כתובת אי מייל תקינה');
			oForm['txtEmail'].focus();
			bValid = false;
		}

		if(bValid) new Request({
			url: 'Shop.aspx', 
			method: 'post',
			evalScripts: true
		}).send(oForm.toQueryString() + '&txtActionID=3');
	},
	
	orderFinish: function(){
		var bValid = true;
		var oForm = $('frmShopDelivery');
		var aFields = ['txtStreet', 'txtNumber', 'txtCNumber', 'txtCVV', 'txtPassport'];
		
		if(!oForm['radDeliveryTypeID'][0].checked){
			for(var nIndex = 0; nIndex < aFields.length; nIndex++){
				if (bValid && (oForm[aFields[nIndex]].value.length < 1)){
					alert('נא הזן/י את כל שדות החובה');
					oForm[aFields[nIndex]].focus();
					bValid = false;
				}
			}
		}
		
		if (bValid && oForm['txtCVV'].value.length != 3){
			alert('יש להזין 3 ספרות בלבד');
			oForm['txtCVV'].focus();
			bValid = false;
		}

		if(bValid) new Request({
			url: 'Shop.aspx', 
			method: 'post',
			evalScripts: true
		}).send(oForm.toQueryString() + '&txtActionID=5');
		
	},
	
	passwordReminder: function(){
		if(ARGUS.checkEmail($('frmShopSignin')['txtEmail'].value)) new Request({
			url: 'Shop.aspx', 
			method: 'post',
			evalScripts: true
		}).send($('frmShopSignin').toQueryString() + '&txtActionID=7');
	},
	
	deliveryChange: function(nDeliveryTypeID){
		switch(nDeliveryTypeID){
			case 0:
				$('deliveryPickupDetails').setStyle('display', 'block');
				$('deliveryDetails').setStyle('display', 'none');
				break;
			default:
				$('deliveryPickupDetails').setStyle('display', 'none');
				$('deliveryDetails').setStyle('display', 'block');
				break;
		}
		Shop.updateCart(nDeliveryTypeID);
	},
	
	updateQuantity: function(nQuantity, nIndexID){
		if(!isNaN(nQuantity) && nQuantity > 0) new Request({
			url: 'Shop.aspx', 
			method: 'post',
			onComplete: function(){
				this.updateCart();
			}.bind(this),
			evalScripts: true
		}).send('txtQuantity=' + nQuantity + '&txtIndexID=' + nIndexID + '&txtActionID=8');
	}
	
}

window.addEvent('domready', function(){

});
