var by_fool = 0;

//
//
function valid(form) {
	if (validate(form)) {
		document.confirm.submit();
	}
}

function CardNumberSmall() {
	var card_number = new String(window.document.getElementById('card_number').value);

	var card_system = window.document.getElementById('card_system').value;
	var number;
	var system;
	
	switch(card_system) {
	
		case 'AMEX':
			number = 15;
    		system = 'American Express';
    		break;
    		
    	case 'VISA':
    		number = 16;
    		system = 'VISA';
    		break;
    	
    	case 'MC':
    		number = 16;
    		system = 'EuroCard/MasterCard';
    		break;
    	
    	case 'DISC':
    		number = 16;
    		system = 'Discover';
    		break;
	}
	//alert('card_number = ' + card_number + ', number = ' + number + '\n');
	
	if (card_number.length < number) {
		alert('Недостаточно цифр в номере карты ' + system + '\n');
	}
	
//	if (card_number.length > number) {
//		alert('Слишком много цифр в номере карты ' + system + '\n');
//	}
}

function CardNumber() {
	var card_number = new String(window.document.getElementById('card_number').value);

	var card_system = window.document.getElementById('card_system').value;
	var number;
	var system;
	var string;
    
     
	switch(card_system) {
	
		case 'AMEX':
			number = 15;
    		system = 'American Express';
    		break;
    		
    	case 'VISA':
    		number = 16;
    		system = 'VISA';
    		//window.document.getElementById('card_number').maxlength = 16;
    		break;
    	
    	case 'MC':
    		number = 16;
    		system = 'EuroCard/MasterCard';
    		break;
    	
    	case 'DISC':
    		number = 16;
    		system = 'Discover';
    		break;
	}
	    

	num_card = /^\d*$/;
	if (! num_card.test(card_number)) {
		alert('Можно вводить только цифры');
		string = card_number.substring(0, card_number.length-1);
		window.document.getElementById('card_number').value = string;
		return false;
	}
		
	if (card_number.length > number) {
	//	card_number.pop();
		alert('Вы уже ввели ' + number + ' цифр, необходимые для номера карты ' + system + '\n');
		string = card_number.substring(0, number);
		window.document.getElementById('card_number').value = string;
		return false;
	}
	
	
		
	
}


//
//
//
function validate(form) {
    var alertstr = '';
    var invalid  = 0;

	var card_number = form.elements['card_number'].value;
    if (card_number == null || card_number === "") {
        alertstr += '- Не заполнено поле "Номер карты"\n';
        invalid++;
    }
    
    var card_system = form.elements['card_system'].value;
    var number_card;
    if (card_system == 'AMEX') {
    	number_card = /^\d{15}$/;
    	if (! number_card.test(card_number)) {
    		alertstr += '- Поле "Номер карты" должно содержать 15 цифр\n';
        	invalid++;
    	}
    }
    else {
    	number_card = /^\d{16}$/;
    	if (! number_card.test(card_number)) {
    		alertstr += '- Поле "Номер карты" должно содержать 16 цифр\n';
        	invalid++;
    	}
    }
    	
    
//    var cvv = form.elements['cvv'].value;
//    if (cvv == null || cvv === "") {
//        alertstr += '- Не заполнено поле "CVV2(CVC2)"\n';
//        invalid++;
//    }

//	var number_cvv = /^\d{3,4}$/;
//   if (! number_cvv.test(cvv)) {
//    	alertstr += '- Поле "CVV2(CVC2)" может содержать 3 или 4 цифры\n';
//        invalid++;
//    }
	
	var card_owner = form.elements['card_owner'].value;
	var space_owner = /^\s+$/;
    if (card_owner == null || card_owner === "" || space_owner.test(card_owner)) {
        alertstr += '- Не заполнено поле "Держатель карты"\n';
        invalid++;
    }
	
	var year_valid = form.elements['year_valid'].value;
	var month_valid = form.elements['month_valid'].value;
	
	var today = new Date();
	var month = today.getMonth() + 1;
	var year  = today.getYear();// + 1900;
	
	// 
	if (year < 200) {
		year = year + 1900;
	}
	
	//alert ('month = ' + month + ', year = ' + year);
	if ((year_valid < year) || (year_valid == year && month_valid < month)) {
		alertstr += '- Срок действия карты истёк\n';
        invalid++;
    }
	//alert ('month = ' + month + ', year = ' + year);
	
    // city: standard text, hidden, password, or textarea box
    var city = form.elements['city'].value;
    var space_city = /^\s+$/;
    if (city == null || city === "" || space_city.test(city)) {
        alertstr += '- Не заполнено поле "Ваш город" (в Billing address)\n';
        invalid++;
    }
    // name: standard text, hidden, password, or textarea box
/*    var name = form.elements['name'].value;
    if (name == null || name === "") {
        alertstr += '- Не заполнено поле "Ваше имя" (в Billing address)\n';
        invalid++;
    }
*/
    // address: standard text, hidden, password, or textarea box
    var address = form.elements['address'].value;
    var space_adr = /^\s+$/;
    if (address == null || address === "" || space_adr.test(address)) {
        alertstr += '- Не заполнено поле "Ваш адрес" (в Billing address)\n';
        invalid++;
    }
    
    // 
 	var postcode = form.elements['postcode'].value;
    var number_pc;
    var country = form.elements['country_'].value;
    
	if (country == 'CA') {
    	number_pc = /^[A-z]\d[A-z]\s\d[A-z]\d$/;
    }
	 else {
    	number_pc = /^\d{5}$/;
    }

    if (postcode == null || postcode === "") {
        alertstr += '- Не заполнено поле "Индекс" (в Billing address)\n';
        invalid++;
    }
    else if (! number_pc.test(postcode)) {
    	alertstr += '- Неверно введён "Индекс" (в Billing address)\n';
        invalid++;
    }

    // tel: standard text, hidden, password, or textarea box
    var tel = form.elements['tel'].value;
    if (tel == null || tel === "") {
        alertstr += '- Не заполнено поле "Телефон"\n';
        invalid++;
    }
    
    
    var number_tel = /^\d{10}$/;
    if (! number_tel.test(tel)) {
    	alertstr += '- Поле "Телефон" может содержать только 10 цифр\n';
        invalid++;
    }

	
    // email: standard text, hidden, password, or textarea box
    var email = form.elements['email'].value;
	var pattern = /^[a-zA-Z0-9\-\._]+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/;

    if (email == null || email === "" || !pattern.test(email)) {
        alertstr += '- Не заполнено, либо неверный формат поля "E-mail"\n';
        invalid++;
    }
    
    
    
    ///////////////////////// Если shipping_address ////////////////////////
    
    if (window.document.getElementById('shipping_adr').checked) {
    
    	// address: standard text, hidden, password, or textarea box
    	var address = form.elements['address_s'].value;
    	var space_adr = /^\s+$/;
    	if (address == null || address === "" || space_adr.test(address)) {
        	alertstr += '- Не заполнено поле "Ваш адрес" (в Shipping address)\n';
        	invalid++;
    	}
    
    	// city: standard text, hidden, password, or textarea box
    	var city = form.elements['city_s'].value;
    	var space_city = /^\s+$/;
    	if (city == null || city === "" || space_city.test(city)) {
       		alertstr += '- Не заполнено поле "Ваш город" (в Shipping address)\n';
        	invalid++;
    	}
    	
    	// postcode: standard text, hidden, password, or textarea box
    	var postcode = form.elements['postcode_s'].value;
    	var number_pc;
    	var country_s = form.elements['country_s'].value;
    	
    	if (country_s == 'CA_S') {
    		number_pc = /^[A-z]\d[A-z]\s\d[A-z]\d$/;
    	}
    	else {
    		number_pc = /^\d{5}$/;
    	}
    	
	// name: 
	var name = form.elements['name_s'].value;
	var space_name = /^\s+$/;
	if (name == null || name === "" || space_name.test(name)) {
	    alertstr += '- Не заполнено поле "Ваше имя" (в Shipping address)\n';
	    invalid++;
	}
	
    	if (postcode == null || postcode === "") {
       		alertstr += '- Не заполнено поле "Индекс" (в Shipping address)\n';
        	invalid++;
    	}
    	else if (! number_pc.test(postcode)) {
    		alertstr += '- Неверно введён "Индекс" (в Shipping address)\n';
        	invalid++;
    	}
    }

    
    	////////////////////////////////////////////////////////////////////////////////////////////
    
    
    
    
    if (invalid > 0 || alertstr != '') {
        if (! invalid) invalid = 'The following';   // catch for programmer error
        alert(''+invalid+' error(s) were encountered with your submission:'+'\n\n'
                +alertstr+'\n'+'Please correct these fields and try again.');
        // reset counters
        alertstr = '';
        invalid  = 0;
        return false;
    }
    return true;  // all checked ok
};
//
//

function get_width_4_banners() {
	var width = document.body.clientWidth;

	if (width > 1200) {
		window.document.getElementById('right_banners').style.display = 'block';
	}

//	alert(width);
}


function shipp_adr() { 
	
	if (window.document.getElementById('shipping_adr').checked) {
		window.document.getElementById('adr_1').style.display = 'block';
	}
	else {
		window.document.getElementById('adr_1').style.display = 'none';
	}

}
	
function shipping2_adr() {
	alert('2222');
}


//
//

function newCountry_old(index) {
//	
	switch(index)
	{
		case 0:
			top.location.href = "/cart/confirm?country=US";
			break;
		case 1:
			top.location.href = "/cart/confirm?country=CA";
			break;
	}
	
}

function toMain(bay,url) {
	//alert(bay);
	if (bay) {
		var t = setTimeout('top.location.href = "'+url+'"', 3000);
	}
}


function newCountry() {
//	
	if (window.document.getElementById('country_').value == 'CA') {
		window.document.getElementById('state').style.display = 'none';
		window.document.getElementById('province').style.display = 'block';
	}
	else { 
		window.document.getElementById('state').style.display = 'block';
		window.document.getElementById('province').style.display = 'none';
	}

}


function newCountry_s() {
//	
	if (window.document.getElementById('country_s').value == 'CA_S') {
		window.document.getElementById('state_s').style.display = 'none';
		window.document.getElementById('province_s').style.display = 'block';
	}
	else { 
		window.document.getElementById('state_s').style.display = 'block';
		window.document.getElementById('province_s').style.display = 'none';
	}

}

function itemCount() {
	
	var count = window.document.getElementById('count').value;
	var etalon = /^\d+$/;
    if (! etalon.test(count)) {
    	alert('В поле "Количество" могут быть только цифры');
    	return false;
    }
}

function choice_recount() {
	var cart = document.forms.cart;
	
	cart.action = '/cart/recount2';
}

function cartCheck(summa,url) {
	
	if (summa == '0.00') {
		top.location.href = url + '/';
		return false;
	}
	else {
		window.document.order.submit();
	}
}


