(function(jq) {
	jq.transform = function(ops) {
		ops = ops || {};
		$(ops.form).find('br').each(function(){			$(this).remove();
		});
  		$(ops.form).find('input[type=text]').each(function(){  			var lableText=$(this).prev().text()	;
  			$(this).prev().remove();
  			$(this).wrap('<div class="input_block"></div>');
  			$(this).before('<div class="input_lable">'+lableText+'</div>');
  			$(this).wrap('<div class="input_text"></div>');
  		});
  		$(ops.form).find('textarea').each(function(){
  			var lableText=$(this).prev().text()	;
  			$(this).prev().remove();
  			$(this).wrap('<div class="input_block"></div>');
  			$(this).before('<div class="input_lable">'+lableText+'</div>');
  			$(this).wrap('<div class="input_text"></div>');
  		});
  		$(ops.form).find('select').each(function(){  			var lableText=$(this).prev().text()	;
  			$(this).prev().remove();
  			$(this).wrap('<div class="select_block" id="select" style="z-index:1000;"></div>');
  			$(this).before('<div class="select_input"><div class="select_label" id="1">'+lableText+'</div><div class="select_button"></div><div class="select_text"></div><input type="hidden" name="'+$(this).attr('name')+'" value="" /></div>');
  			option='';
  			$(this).find('option').each(function(){
  				if($(this).is('option:selected'))
  				{  					option=option+'<li value="'+$(this).val()+'" class="option_select">'+$(this).text()+'</li>';
  					$(this).parents(".select_block").find("input[type=hidden]").val($(this).val());
  					$(this).parents(".select_block").find(".select_text").text($(this).text());
  				}
  				else
  				{  					option=option+'<li value="'+$(this).val()+'">'+$(this).text()+'</li>';  				}  			});
  			$(this).before('<ul class="select_option">'+option+'</ul>');
  			$(this).remove();
  		});
  		$(ops.form).find('img').each(function(){
  			var lableText=$(this).prev().text()	;
  			$(this).wrap('<div class="input_block"></div>');
  		});
  		$(ops.form).find('input[type=submit]').each(function(){
  			var lableText=$(this).prev().text()	;
  			$(this).wrap('<div class="input_submit"></div>');
  		});
  		/*Частный случай - выравнивание формы к левому краю*/
  		$(".transform").css("text-align", "left");
  		/*Конец*/
  		initSelect();
  		initInput();


	};
})(jQuery);

function initInput() {	$('.input_text input[type=text], .input_text textarea').focus(focusInput);
	$('.input_text input[type=text], .input_text textarea').blur(blurInput);
	$('.input_lable').click(clickLable);

	$('.input_text input[type=text], .input_text textarea').each(function(){		var lable=$(this).parents('.input_block').children('.input_lable');
		var left=(lable.width()+10)*(-1);
		if(($(this).val()&&$(this).is('input[type=text]'))||($(this).val()&&$(this).is('textarea')))
		{
			lable.css("left", left);
		}
		else
		{			lable.css("left", "4px");		}	});

	function focusInput(){		$(this).addClass('trans-focus');
		var lable=$(this).parents('.input_block').children('.input_lable');
		var left=(lable.width()+10)*(-1);
		lable.animate({"left": left}, "fast");	};
	function blurInput(){
		$(this).removeClass('trans-focus');
		var lable=$(this).parents('.input_block').children('.input_lable');
		if((!$(this).val()&&$(this).is('input[type=text]'))||(!$(this).val()&&$(this).is('textarea')))
		{			lable.animate({"left": "4px"}, "fast");		}
		return false;
	};
	function clickLable(){		var inputText='';
		var textArea='';		inputText=$(this).parents('.input_block').find('input[type=text]');
		textArea=$(this).parents('.input_block').find('textarea');

		if((inputText&&$(this).css("left")=="4px")||(textArea&&$(this).css("left")=="4px"))
		{
			(inputText ? inputText.focus() : '');
			(textArea ? textArea.focus() : '');		}
		return false;
	};};

function initSelect() {

	constructSelect();
	curentOption='';
	returnTrue='';
	$('.select_option li').click(selectOption);
	$('div.select_button, div.select_input, div.select_label, div.select_text, ul.select_option li').click(slideSelect);
	$('div.select_button, div.select_input, div.select_label, div.select_text, ul.select_option li').click(hoverLable);
	$('.select_option li').hover(optionOn, optionOut);

	function constructSelect(){		$('ul.select_option').hide();
		if($('ul.select_option').width()<$('.select_input').width()+$('.select_button').width())
		{			$('ul.select_option').width($('.select_input').width()+($('.select_input').css('padding-left').replace('px', '')-0)+($('.select_input').css('padding-right').replace('px', '')-0)+$('.select_button').width()-1);		}
		if(!$('.select_block').find("input[type=hidden]").val())
		{
			$('.select_block').find("input[type=hidden]").val(0);
		}
		$('.select_block').find('.select_text').each(function(){
			if($(this).text())
			{				 showLable($(this).parents('.select_block').find('.select_label'));			}		});	};

	function slideSelect(){		var optionList=$(this).parents('.select_block').children('.select_option');
		(optionList.hasClass('select_down') ? hideSelect(optionList) : showSelect(optionList));
		return false;	};
	function showSelect(optionList){
		//alert("test");		optionList.css('display', 'block');
		optionList.addClass("select_down");
		curentOption=optionList;
		$(".date-nolabel").css("z-index", "2000");
		$("body").prepend("<div id='select-overlay'></div>");
		$("#select-overlay").css("width", "100%").css("height", $(document).height()).css("z-index", "100");
		$('#select-overlay').click(closeSelect);
		return false;	};
	function hideSelect(optionList){		optionList.css('display', 'none');
		optionList.removeClass("select_down");
		$("#select-overlay").remove();
		return false;	};
	function closeSelect(){		$('#select-overlay').remove();		if(curentOption)
		{
			($(this).hasClass('select_button')||$(this).hasClass('select_input')||$(this).hasClass('select_text')||($(this).hasClass('select_label')&&$(this).hasClass('select_label_hover')) ? '' : curentOption.css('display', 'none').removeClass("select_down"));
			var text=curentLable.parents('.select_block').children('.select_input').children('.select_text');
			if(!text.text())
			{
				(($(this).hasClass('select_button')||$(this).hasClass('select_input')||$(this).hasClass('select_text')||($(this).hasClass('select_label')&&$(this).hasClass('select_label_hover'))) ? '' : curentLable.stop().animate({'left': '4px'}, "fast").removeClass("select_label_hover"));
				(($(this).hasClass('select_button')||$(this).hasClass('select_input')||$(this).hasClass('select_text')||($(this).hasClass('select_label')&&$(this).hasClass('select_label_hover'))) ? '' : curentLable.parents('.select_input').removeClass('select_input_active'));

				return false;
			}
		}
	};

	function hoverLable(){		var lable=$(this).parents('.select_block').children('.select_input').children('.select_label');
		(lable.hasClass('select_label_hover') ? hideLable(lable) : showLable(lable));
		return false;	};
	function showLable(lable){
		//lable.css('left', (lable.width()+10)*(-1));
		var left=(lable.width()+10)*(-1);
		lable.addClass("select_label_hover");
		lable.animate({"left": left}, "fast");
		lable.parents('.select_input').addClass('select_input_active');
		curentLable=lable;
		return false;
	};
	function hideLable(lable){		$('.select_label_hover').stop();		var text=lable.parents('.select_block').children('.select_input').children('.select_text');
		//(!text.text() ? lable.css('left', '4px').removeClass("select_label_hover") : '');
		(!text.text() ? lable.stop().animate({'left': '4px'}, "fast").removeClass("select_label_hover") : '');
		(!text.text() ? lable.parents('.select_input').removeClass('select_input_active') : '');
		return false;
	};

	function selectOption(){		$(this).parents('.select_block').children('.select_input').children('.select_text').text($(this).text());
		$(this).parents('.select_block').children('.select_input').children('input').val($(this).attr('value'));
		$(this).parents('.select_option').children('li').each(function(){$(this).removeClass('option_select');});
		$(this).addClass('option_select');
		return false;	};

	function optionOn(){		$(this).addClass('option_hover');
		return false;	};
	function optionOut(){		$(this).removeClass('option_hover');
		return false;	};

  	};

 // $(document).ready(function() {initMenu();});
