(function($) {
	$.fn.checkfield = function(type,settings) {
		$.settings = $.fn.copyparams($.fn.settings,settings);
		
		if(type=="name" || type=="names" || type=="phone" || type=="email"){
			$(this).checkfieldvar(type);
			$(this).keyup(function(e){ if(settings['next'].length>0){ if(e.keyCode == 0xA || e.keyCode == 0xD){ $(settings['next']).focus(); } } $(this).checkfieldvar(type); });
			if(settings['comment'].length>0){ $(this).focus(function(){ if($(this).val()==settings['comment'] && $(this).val().length>0){ $(this).attr("value","").css({color:$.settings['normalcolor']}); } }).blur(function(){ if($(this).val()==""){ $(this).css({color:$.settings['commentcolor']}).attr("value",settings['comment']); } }); }
		}
	}
	$.fn.checkfieldvar = function(type){
		var value = $(this).val();
		var pattern = new RegExp($.fn.regular[type]);
		if(value!=0){ if(pattern.test(value)){ $(this).css({'border':('1px SOLID '+$.settings['normalbordercolor']),color:$.settings['normalcolor']}); }else{ $(this).css({'border':('1px SOLID '+$.settings['errorbordercolor']),color:$.settings['errorcolor']}); }
		}else if($.settings['filling']>0){ $(this).css({'border':('1px SOLID '+$.settings['errorbordercolor']),color:$.settings['errorcolor']});
		}else{ $(this).css({'border':('1px SOLID '+$.settings['normalbordercolor']),color:$.settings['normalcolor']}); }
	}
	$.fn.commentfield = function(){
	}
	$.fn.settings = {
		filling: 0,
		next: '',
		type: 'name',
		comment: '',
		errorbordercolor:  '#FF0000',
		normalbordercolor: '#808080',
		commentcolor: '#A0A0A0',
		normalcolor: '#000000',
		errorcolor: '#000000'
	};
	$.fn.regular = {
		name: /^([a-zа-я-]{1,64})$/i,
		names: /^(([a-zа-я-]{1,64})|([a-zа-я-]{1,64}[ ][ 0-9a-zа-я-]*))$/i,
		phone: /^(\([0-9]{3})\) [0-9]{3}\-[0-9]{4}$/i,
		email: /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-а-я]{0,66})\.([a-zа-я]{2,6}(?:\.[a-zа-я]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i
	}
	$.fn.copyparams = function() {
		var options = {};
		for(var i = 0; i < arguments.length; i++) {
			var arg = arguments[i];
			if(arg == undefined) continue;
			jQuery.extend(options, arg);
		}
		return options;
	};
})(jQuery);
$(document).ready(function(){
	$(document).pngFix();
	var tr = $(".liner").find("TR");
	if(tr.length>0){
		for(var i=0; i<tr.length; i++){
			if($(tr[i]).attr("id")!='line') continue;
			if(i%2==0){
				$(tr[i]).find("TD").addClass("lines");
			}
		}
	}
	
	$(".basket_address INPUT[name=address_secondname]").checkfield("name",{"next":".basket_address INPUT[name=address_firstname]","filling":1,"comment":"Только русские буквы и дефис"});
	$(".basket_address INPUT[name=address_firstname]").checkfield("name",{"next":".basket_address INPUT[name=address_thirdname]","filling":1,"comment":"Только русские буквы и дефис"});
	$(".basket_address INPUT[name=address_thirdname]").checkfield("name",{"next":".basket_address INPUT[name=address_phone]","comment":"Только русские буквы и дефис"});
	$(".basket_address INPUT[name=address_phone]").mask("(999) 999-9999").checkfield("phone",{"next":".basket_address INPUT[name=address_email]","filling":1,"comment":"Только цифры"});
	$(".basket_address INPUT[name=address_email]").checkfield("email",{"next":".basket_address TEXTAREA[name=description]","comment":"пример: email@domain.com"});
	
	$(".orders_auth_alert INPUT[name=login]").keyup(function(e){ if(e.keyCode == 0xA || e.keyCode == 0xD) $(".orders_auth_alert INPUT[name=password]").focus(); return false; });
	$(".orders_auth_alert INPUT[name=password]").keyup(function(e){ if(e.keyCode == 0xA || e.keyCode == 0xD) $(".orders_auth_alert FORM").submit(); });
});
