function getCookie(name) {
	var prefix = name + "=";
	var cookieStartIndex = document.cookie.indexOf(prefix);
	if (cookieStartIndex == -1) return null;
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function setCookie(name, value, expires) {
	if (expires == 'permanent'){
		expires = 'Fri, 25 Dec 2099 23:59:59 GMT';
	} else {
		((expires) ? "; expires=" + expires.toGMTString() : "");
	}
	var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires : "") + "; path=/";
	document.cookie = curCookie;
}

function delCookie(name) {
	document.cookie = name + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT; path=/";
}

function addItem(id, quantity, price){
	if (CookiesEnabled){
		quantity = parseInt(quantity);
		if (quantity <= 0 || isNaN(quantity) || quantity!=Math.round(quantity)){
			alert('Неправильно задано количество.');
			return;
		} else {
			var basket = getCookie("basket");
			if (basket){
				var basketItems=basket.split(";");
				var flag=false;

				for (var i=0; i<basketItems.length-1; i++){
					if (basketItems[i]){
						var Item=basketItems[i].split("=");
						if (Item[0]==id){
							var count=parseInt(Item[1]);

							basket=basket.replace(id + "=" + count + "=" + price, id + "=" + (count+quantity) + "=" + price);
							flag=true;
							break;
						}
					}
				}

				if (!flag){
					basket+=id+'='+quantity+"="+price+';';
				}

			} else {
				basket=id+'='+quantity+"="+price+';';
			}
			setCookie('basket', basket, '');
			alert('Товар добавлен в корзину.');
			location.reload();
		}
	}
}

function delItem(id){
	if (CookiesEnabled){
    	if (confirm('Вы уверены, что хотите удалить этот товар из корзины?')){
    		var basket = getCookie("basket");
    		if (basket){
    			var basketItems=basket.split(";");

    			for (var i=0; i<basketItems.length-1; i++){
    				if (basketItems[i]){
    					Item=basketItems[i].split("=");
    					if (Item[0]==id){
    						basket=basket.replace(id + "=" + Item[1] + "=" + Item[2] + ";", "");
    						break;
    					}
    				}
    			}
    			setCookie('basket', basket, '');
    		}
    		alert('Товар удален из корзины');
    		location.reload();
    	}
	}
}

function ChangeQuantity(id, quantity, price){
	if (CookiesEnabled){
		quantity = parseInt(quantity);
		if (quantity <= 0 || isNaN(quantity) || quantity!=Math.round(quantity)){
			if (quantity == 0) {
				delItem(id);
			} else {
				alert('Неправильно задано количество.');
				return;
			}
		} else {
			var basket = getCookie("basket");
			if (basket){
				var basketItems=basket.split(";");
				var flag=false;

				for (var i=0; i<basketItems.length-1; i++){
					if (basketItems[i]){
						var Item=basketItems[i].split("=");
						if (Item[0]==id){
							var count=parseInt(Item[1]);

							basket=basket.replace(id + "=" + count + "=" + price, id + "=" + quantity + "=" + price);
							flag=true;
							break;
						}
					}
				}

				if (!flag){
					basket+=id+'='+quantity+"="+price+';';
				}

			} else {
				basket=id+'='+quantity+"="+price+';';
			}
			setCookie('basket', basket, '');
			location.reload();
		}
	}
}

function clearBasket(silent){
	if (CookiesEnabled){
    	if (!silent)
    	{
    		if (confirm('Вы уверены, что хотите очистить корзину?')){
    			delCookie('basket');
				location.reload();		// в silent mode очистка без релоада!
    		}
    	} else {
    		delCookie('basket');
    	}
	}
}

function Order(url){
	if (CookiesEnabled){
    	if ((!getCookie("basket")) || (getCookie("basket")=='')){
    		alert('Вы ничего не выбрали');
    	} else {
    		location.href = url;
    	}
	}
}

function isEmail(strEmail) {
	var letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-";
	var numbers="0123456789";
	var name="";
	var server="";
	var strings=new Array();

	if (strEmail=="") {
		alert("Введите E-mail, пожалуйста");
		return false;
	}

	strings=strEmail.split("@");
	if (strings.length==1) {
		alert("E-Mail должен содержать символ @");
		return false;
	} else if (strings.length==2) {
		name=strings[0];
		server=strings[1];
	} else {
		alert("E-Mail должен содержать только один символ @");
		return false;
	}
	
	if (!isValid(name,letters+numbers+"._-")) {
		alert("Неверный E-Mail адрес");
		return false;
	}
	
	strings=server.split(".");
	if (strings.length<2) {
		alert("Имя домена второго уровня должно присутствовать в E-Mail");
		return false;
	}

	for (i=0;i<strings.length;i++) {
		if (!isValid(strings[i],letters+numbers)) {
			alert("Неверные символы в адресе E-Mail");
			return false;
		}
	}
	
	return true;
}

function isValid(what,chars) {
	if (what=="") {
		return false;
	}
	bool1=false;
	for (count1=0; (count1<what.length)&&(!bool1);count1++) {
		bool2=false;
		for (count2=0; (count2<chars.length)&&(!bool2);count2++) {
			if (what.charCodeAt(count1)==chars.charCodeAt(count2)) {
				bool2=true;
			}
		}
		if (!bool2) {
			bool1=true;
		}
	}
	return !bool1;
}

function CookiesEnabled(){
	if (!document.cookie){
		aleft('Для совершения операций в интернет-магазине необходимо разрешить использование cookie в Вашем браузере.');
		return false;
	} else {
		return true;
	}
}