	jQuery(document).ready(function() {

//	$('#form_anketa_experience').selectbox(); 

totalErrors = new Object();

/*forms modefied*/
			$('.f-mask_phone').parent().parent().addClass('modefied modefied-phone').end().hide().after('<dd class="first">( </dd> ' +
									'<dd class="value phone1"><input id="phone1" type="text" value=""/></dd><dd> )</dd>\
									<dd class="value phone2"> \
										<input id="phone2" type="text" value=""/> \
									</dd>');

			$('.f-mask_email').parent().parent().addClass('modefied_mail modefied').end().hide().after('<dd class="value mail1"> \
										<input id="mail1" type="text" value=""/></dd><dd> @</dd>\
									<dd class="value mail2"> \
										<input id="mail2" type="text" value=""/> \
									</dd>');

//forms add filds
		var singleFile = '<dl class="line filed">\
									<dd class="value"> \
										<input class="file_up" type="text" value=""/> \
										<input class="file_hidd" type="file" value=""/> \
									</dd>\
								</dl>'
		var addFile = '<dd class="sub_file"><a href="?act=add_files">прикрепить еще</a></dd>'
		var delFile = '<dd class="sub_file_add"><a class="add" href="?act=add_file">обзор</a><a class="del hidden" href="?act=del_file">удалить</a></dd>'
		
	$('.form input[type = file]').parent().parent().addClass('modefied_file')
											.after(singleFile).next()
											.find('input[type="file"]').attr('name','file[1]')
											.bind("change", function() {
							                fileLoader(this)
							            }).prev()
											.parent().after(delFile).next().after(addFile)
											.next().find('a').bind('click',function(){
													fAddFile(this);
													return false;
											}).parents('.line').prev().find('dd').remove()


	//		getVal($('#form_anketa_email').val(),toObjectTo1 = {target:'.mail1 input',split:'( '},toObjectTo1 = {target:'.mail2 input',split:' )'})

			keyCHecker('.phone1 input','[0-9]{0,4}');
			keyCHecker('.phone2 input','[0-9,-]{0,15}');
			keyCHecker('.mail1 input','[0-9a-z_.\-]{0,30}',opt = {next:'.mail2 input',
																	nextVal:'@'
																	});

			keyCHecker('.mail2 input','[0-9a-z_.\-]{0,20}');
			keyCHecker('.age input','[0-9]{0,2}');
			keyCHecker('.fname input,.name input,.sname input','[А-ЯA-Zа-яa-z _.,\-]{0,30}');
	
			if($('.f-mask_salary').val() == ''){
				$('.f-mask_salary').val('от ')
			}
			keyCHecker('.f-mask_salary','[0-9]{0,8}',opt = {nach:'от '});
		//	keyCHecker('.work input','[0-9А-ЯA-Z\b_\'\",а-яa-z,\-]{0,30}');


	$('.mail2 input').bind('blur',function(){
		tthis = this;
		vall = $(tthis).val();
		
		mail1 = $('.mail1 input');
		
		totalErrors.mail = chek(vall,mail1,this)
		totalErrors.total = false;
			if(!totalErrors.mail){
				setVal($(this).parents('.line').find('.f-mask_email'),[mail1.val(),'@',vall])
			}
			
			mail1.unbind('blur').bind('blur',function(){
				totalErrors.mail = chek(vall,mail1,tthis)
				totalErrors.total = false;
			if(!totalErrors.mail){
					setVal($(this).parents('.line').find('.f-mask_email'),[mail1.val(),'@',vall])
			}
			});
			

	function chek(vall,mail1,obj){
		re = /[0-9a-z_^.]+.[a-z]{2,4}/i;
		regExp = re.test(vall);

	var m1Err =  mail1.val() == '';
	var m2Err =  vall.length > vall.lastIndexOf('.') + 5 || !regExp;

/*console.log(vall,regExp,mail1,$(obj).val())
console.log( m1Err)
console.log( m2Err )
console.log( !(!m1Err && !m2Err) )
*/
			errors =  !(!m1Err && !m2Err) ? true : false;
			if(errors){
				$(obj).parents('.line').find('.required').addClass("error");
		//		console.log('errors')
			}else{
				$(obj).parents('.line').find('.required').removeClass("error");
		//		console.log('noerrors')

			}
			return errors;	
	}
	
	});


	$('.phone2 input').bind('blur',function(){
		tthis = this;
		vall = $(tthis).val();
		
		subVal = $('.phone1 input');

		setVal($(this).parents('.line').find('.f-mask_phone'),['( ',subVal.val(),' ) ',vall]);
			});

		$('.required').parents('.line:not(.email)').find('input').bind('blur',function(){
				vall = $(this).val();
				
				if(vall == ''){
					$(this).parents('.line').find('.required').addClass('error')
				}else{
					$(this).parents('.line').find('.required').removeClass('error')
					totalErrors.total = false;
				}
				
		});

		$('form').bind('submit',function(){
			$('.required').parents('.line').find('input:first').each(function(){
				required = $(this).val();
				if(required == ''){
					totalErrors.total = true;
					$(this).parents('.line').find('.required').addClass('error');
				}else if(!$(this).hasClass('f-mask_email')){
					$(this).parents('.line').find('.required').removeClass('error')
					
				}
				
			});
			$('.line').find('input:first').each(function(){
				//console.log($(this),$(this).val())
			})
			if(!(!totalErrors.total && !totalErrors.mail)){
				return false;
			}
		//	return false;
		})
if($('form div.submit input').val()){
$('form div.submit input').hide().after('<a href="?act=semd" class="submit" title=""></a>')
			.next().text($('form div.submit input').val())
			.bind('click',function(){
				$(this).parents('form').submit();
				return false
			})
}

function fAddFile(tthis){
//	console.log(tthis)
	var ttthis = $(tthis).parents('.line');
	var inpName = ttthis.find('input[type="file"]').attr('name') + '';
	
	var first = inpName.lastIndexOf('[')*1;
	var second = inpName.lastIndexOf(']')*1;
	var inpVal = inpName.slice(first + 1,second)*1 + 1;


	ttthis.after(singleFile).next().find('input[type="file"]').attr('name','file[' + inpVal + ']')
				.bind("change", function() {
                fileLoader(this)
            }).prev()
				.parent().after(delFile).next().after(addFile)
				.next().find('a').bind('click',function(){
						fAddFile(this);
						return false
				}).parents('.line').prev().find('.sub_file').remove()

}

function fileLoader(tthis){
	var line = $(tthis).prev().val($(tthis).val()).parent('.line').addClass('loaded');
	 fileChecker(line)
};

function fileChecker(tthis){
/*	console.log(
	
		tthis.find('a')
	
	)
	
*/	
}

	});


function keyCHecker(id,reg,opt){
//opt = {next:'.phone2',num:3,nextVal:'@'}
		$(id).bind('focus',function(){
				$(this).bind('keyup',function(){
			if(opt){
					if(opt.next,opt.nextVal){
								var isNext = $(this).val().indexOf(opt.nextVal);
								if(isNext != -1){
										$(opt.next).focus();
								}
							}
			}
					if(reg){
						checker(this,reg, opt ? opt.nach || false : false);
					//	console.log(this);
					}
			if(opt){
					if(opt.next,opt.num){
						var length = $(this).val().length;
						if(length == opt.num){
								$(opt.next).focus();
						}
					}
				}
		});
		
		}).bind('blur',function(){
			$(this).unbind('keyup');
		});
}
		function checker(tthis,regexpr,selfVal){
					
				vall = $(tthis).val();
					
					if(selfVal){
								var sSelfVal = selfVal ? (vall).substr((opt.nach).length,vall.length) : vall;
		
								
							//	console.log((vall).substr((opt.nach).length,vall.length),opt.nach)					
						regExp = sSelfVal.match(regexpr);
						$(tthis).val(selfVal + regExp);	
					
								

					}else{
						regExp = vall.match(regexpr);
						$(tthis).val(regExp);					
		
					}
		};		

	function setVal(toObject,vals){
		toObject.val(vals.join(''))
	}
/*
	function getVal(toObject,toObjectTo1,toObjectTo2){
	console.log(toObject)
	
	//	toObject.val(vals.join(''))
	}
*/


