function SetCookie( name, value ) {

	var argv    = SetCookie.arguments;
	var argc    = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path    = (argc > 3) ? argv[3] : '/';
	var domain  = (argc > 4) ? argv[4] : null;
	var secure  = (argc > 5) ? argv[5] : false;
	document.cookie =
	name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function save_user() {

	var expdate = new Date ();
	
    expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000));
		
	var field = new Array("user_name", "user_email", "user_phone", "user_address", "user_zipcode",
	"user_time", "user_card_number",  "user_card_type", "user_comment", "user_org_name", "user_org_inn",
	"user_org_kpp", "user_jur_addr", "user_city_id", "user_other_city", "user_send"); 
	
	var line_array = Array();	
	i=0;
	for( key in field ) {
		name = field[key];
		value = eval("document.cart_form." + name + ".value");

		if( name == 'user_send' )
		{
			var user_send = 1;
			if( document.cart_form.user_send.checked == false ) user_send = 0;
			//alert( document.cart_form.user_send.checked );
			
			line_array[i] = name + "=" + user_send;
			i++; 
			//alert( user_send );
		}
		
		if( name == 'user_card_type' )	
		{
			var t=0;
			var user_card_type = 0;
		    while((t<document.cart_form.user_card_type.length)&&(document.cart_form.user_card_type[t].checked!=1)) {t++;}
		   	if (t!=document.cart_form.user_card_type.length) user_card_type = document.cart_form.user_card_type[t].value;
			line_array[i] = name + "=" + user_card_type;
			i++; 
		}
	
		if( name != '' && name != 'user_card_type' && name != 'user_send' ) {
			line_array[i] = name + "=" + value;
			i++; 
		}
	}

	if( line_array.length > 0 )
	{
		SetCookie("user_data", line_array.join("&"), expdate); 
		//alert(line_array.join("&"));
	}
	
	return true;
}

function save_user_form() {

	var expdate = new Date ();
	
    expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000));
		
	var field = new Array("user_name", "user_email", "user_phone", "user_comment"); 
	
	var line_array = Array();	
	i=0;
	for( key in field ) {
		name = field[key];
		value = eval("document.cart_form." + name + ".value");

		if( name != '' ) {
			line_array[i] = name + "=" + value;
			i++; 
		}
	}

	if( line_array.length > 0 )
		SetCookie("user_data", line_array.join("&"), expdate);
	
	return true;
}

function save() {

	var expdate = new Date (); 
    expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000));

	var i=0;
	var delivery = 0;
    while((i<document.cart_form.delivery.length)&&(document.cart_form.delivery[i].checked!=1)) {i++;}
   	if (i!=document.cart_form.delivery.length) delivery = document.cart_form.delivery[i].value;
	
	SetCookie("delivery", delivery, expdate);
	
	i=0;
	var payment = 0;
    while((i<document.cart_form.payment.length)&&(document.cart_form.payment[i].checked!=1)) {i++;}
   	if (i!=document.cart_form.payment.length) payment = document.cart_form.payment[i].value; 
	
	if( delivery == 4 ) payment = 3;
	//if( delivery == 5 ) payment = 1;
	//if( delivery == 6 ) payment = 1;
	
	SetCookie("payment", payment, expdate);
	
	return true;
}

function check_delivery() 
{
	var i=0;
	var delivery = 0;
    while((i<document.cart_form.delivery.length)&&(document.cart_form.delivery[i].checked!=1)) {i++;}
   	if (i!=document.cart_form.delivery.length) delivery = document.cart_form.delivery[i].value;
		
	var i2=0;
	var payment = 0;
    while((i2<document.cart_form.payment.length)&&(document.cart_form.payment[i2].checked!=1)) {i2++;}
   	if (i2!=document.cart_form.payment.length) payment = document.cart_form.payment[i2].value;
	
	if( delivery == 1 ) {
		document.cart_form.payment[0].checked = true;
		document.cart_form.payment[0].disabled = false;
		document.cart_form.payment[1].disabled = false;
		document.cart_form.payment[2].disabled = false;
	} 
		
	if( delivery == 2 ) {
		document.cart_form.payment[0].disabled = false;
		document.cart_form.payment[1].disabled = true;
		document.cart_form.payment[2].disabled = false;
		document.cart_form.payment[0].checked = true;
		if( payment == 2 ) { document.cart_form.payment[0].checked = true; payment = 1; }
	} 
	
	if( delivery == 3 ) {
		document.cart_form.payment[0].disabled = false;
		document.cart_form.payment[1].disabled = true;
		document.cart_form.payment[2].disabled = false;
		document.cart_form.payment[0].checked = true;
		if( payment == 2 ) { document.cart_form.payment[0].checked = true; payment = 1; }
	} 
	
	if( delivery == 4 ) {
		document.cart_form.payment[0].disabled = true;
		document.cart_form.payment[1].disabled = true;
		document.cart_form.payment[2].checked = true;
	}
	
	if( delivery == 5 ) {
		document.cart_form.payment[0].checked = true;
		document.cart_form.payment[0].disabled = false;
		document.cart_form.payment[1].disabled = false;
		document.cart_form.payment[2].disabled = false;
	} 
	
	if( delivery == 6 ) {
		document.cart_form.payment[0].checked = true;
		document.cart_form.payment[0].disabled = false;
		document.cart_form.payment[1].disabled = false;
		document.cart_form.payment[2].disabled = false;
	} 
}

function check_payment() 
{
	var i2=0;
	var payment = 0;
    while((i2<document.cart_form.payment.length)&&(document.cart_form.payment[i2].checked!=1)) {i2++;}
   	if (i2!=document.cart_form.payment.length) payment = document.cart_form.payment[i2].value;
	
	var i=0;
	var delivery = 0;
    while((i<document.cart_form.delivery.length)&&(document.cart_form.delivery[i].checked!=1)) {i++;}
   	if (i!=document.cart_form.delivery.length) delivery = document.cart_form.delivery[i].value;
	
	if( payment == 2 && ( delivery!=0 && delivery!=6 && delivery!=5 ) ) {
		document.cart_form.delivery[0].checked = true;
	}
}

function check_email(str) {
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}

	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		
	//var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r1 = new RegExp("(@.*@)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
} 

function trim( str ) {
	str = str.replace(/^\s+/g,""); 
	str = str.replace(/\s+$/g,""); 
	return str; 
} 

function check_user() {

	var error = '';
	var payment = document.cart_form.payment.value;
	var delivery = document.cart_form.delivery.value;

	var user_name = document.cart_form.user_name.value;
	if( user_name == "" && payment == 1 ) error += "Поле 'Фамилия Имя Отчество' не может быть пустым\n";
	
	var user_city_id = document.cart_form.user_city_id.value;
	
	var user_email = document.cart_form.user_email.value;
	if( user_email == "" ) { error += "Поле 'Email' не может быть пустым\n"; }
	else {
		if( check_email( user_email ) == false ) error += "'Email' не верен!\n";
	}
	
	var user_phone = document.cart_form.user_phone.value;
	if( user_phone == "" ) error += "Поле 'Телефон' не может быть пустым\n";
		
	var user_address = document.cart_form.user_address.value;
	if( user_address == "" ) error += "Поле 'Адрес' не может быть пустым\n";
	
	var user_other_city = trim( document.cart_form.user_other_city.value );
	
	if( delivery > 2 && user_city_id <= 0 && user_other_city == "" ) error += "Выберите город или впишите новый\n";
	
	var user_time = document.cart_form.user_time.value;
	var user_card_number = document.cart_form.user_card_number.value;
	var user_comment = document.cart_form.user_comment.value;
	
	var user_org_name = document.cart_form.user_org_name.value;
	var user_org_inn = document.cart_form.user_org_inn.value;
	var user_org_kpp = document.cart_form.user_org_kpp.value;
	var user_jur_addr = document.cart_form.user_jur_addr.value;
	
	/*
	if( payment == 2 && delivery !=3 ) {
		if( user_org_name == "" ) error += "Поле 'Название организации' не может быть пустым\n";
		if( user_org_inn == "" ) error += "Поле 'ИНН' не может быть пустым\n";
		if( user_org_kpp == "" ) error += "Поле 'КПП' не может быть пустым\n";
		if( user_jur_addr == "" ) error += "Поле 'Юридический адрес' не может быть пустым\n";
	}
	*/
	
	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error ); 
	} 
	else { 
		window.location = "/cart.php?type=order";
	}
}

function check_user_form() {

	var error = '';
	
	var user_name = document.cart_form.user_name.value;
	if( user_name == "" ) error += "Поле 'Фамилия Имя Отчество' не может быть пустым\n";
	
	var user_email = document.cart_form.user_email.value;
	if( user_email == "" ) { error += "Поле 'Email' не может быть пустым\n"; }
	else {
		if( check_email( user_email ) == false ) error += "'Email' не верен!\n";
	}
	
	var user_phone = document.cart_form.user_phone.value;
	if( user_phone == "" ) error += "Поле 'Телефон' не может быть пустым\n";
			
	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error ); 
	} 
	else
	{
		document.cart_form.submit();
	}
}

function check() {

	var error = '';
	
	var i=0;
    while((i<document.cart_form.delivery.length)&&(document.cart_form.delivery[i].checked!=1)) {i++;}
   	if (i==document.cart_form.delivery.length){
       	error += "Вы не выбрали не один из вариантов доставки!";
	}
    var delivery = document.cart_form.delivery[i].value;

	i=0;
    while((i<document.cart_form.payment.length)&&(document.cart_form.payment[i].checked!=1)) {i++;}
   	if (i==document.cart_form.payment.length){
       	error += "Вы не выбрали не один из вариантов оплаты!";
       	return false;
	}
    var payment = document.cart_form.payment[i].value;
		
	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error ); 
	} 
	else { 
		window.location = "/cart.php?type=user";
	}
}

function to_user_form() {
	save(); 
	check();
	return false;
}

function to_order() {
	save_user(); 
	check_user();
	return false;
}

function check_order_form() {
	save_user_form();
	check_user_form();
	return false;
}

function to_end() 
{
	window.location = "/cart.php?type=end";
	return false;
}

/*  AJAX */
var ajaxAddProductPatch;
var ajaxProductID;

var cart_price = 0;
var cart_count = 0;

function addProductResponse(response, cart_price, cart_count)
{
	if ( response == 1 )
	{
		var cc = document.getElementById('cart_count');
		var cp = document.getElementById('cart_price');
		
		document.getElementById('cart_bold').className = "red";
		cc.className = "red";
		
		cc.innerHTML = cart_count;
		cp.innerHTML = cart_price;
		
		document.body.style.cursor = 'auto';
		
		setTimeout("go_blink2()", 0);
		
		//alert( "Всё отлично!" );
		ajaxAddProductComplete();
	}
	else if ( response == 0 )
	{
		document.body.style.cursor = 'auto';
		alert( "Ошибка при добавлении в корзину!" );
		//ajaxTaskError();
	}
	else
	{
		var url = ajaxAddProductPatch;
		var post = 'id='+ajaxProductID;
		post += '&type=ajax_add';
		
		//myalert( "url", url+post );
		
		loadXMLDoc(url, post);
		document.body.style.cursor = 'wait';

		//ajaxTaskInProgress();
	}
}

function addProduct( e, id, path )
{
	var d = document.getElementById('addProductDiv').style;
	
	//myalert( "e", e );
	
	setPosition(d, e);
	
	ajaxProductID = id;
	ajaxAddProductPatch = path;
	
	//myalert( "setPosition", 1 );
	
	addProductResponse();
	
	//myalert( "addProductResponse", 1 );
}

function ajaxAddProductComplete()
{
	//alert( "Всё отлично!" );

	var ad = document.getElementById('addProductCompleteDiv').style;
	ad.display = "block";
	//ad.visibility = "visible";
}

function print_obj( o )
{
	for (i in o)
	{
		var s = '';
		s += i;
		s += '<br />';
		document.write(s);
	}
}

function setPosition(d, e)
{
	var scrollTop = 0;
		
	if ( document.body.scrollTop )
		scrollTop = document.body.scrollTop;
	else if ( window.scrollY )
		scrollTop = window.scrollY;
	
	var x = 500;
	var y = 500;
	
	x = e.clientX;
	y = e.clientY;

	d.left = (x - 20) + 'px';
	d.top = (scrollTop + y + 0) + 'px';
	
	d.visibility = "visible";
	//d.display = "block";
}

function closeAddProductCompleteDiv()
{
	var d = document.getElementById('addProductCompleteDiv').style;
	d.display = "block";
	var d2 = document.getElementById('addProductDiv').style;
	d2.visibility = "hidden";
}

