$(function(){
	$(".dqfc__subform_group_control_add").click(function(){
		//find our group
		var subform_group=$(this).closest(".dqfc__subform_group").last();

		//find our raw form data
		var default_div=subform_group.find(".dqfc__subform_default").first();

		//create new form
		var newform=$(default_div.text());

		var rel=parseInt($(this).attr('rel'));
		newform.find(".dqfc_formelem").each(function(i,e){
			e=$(e);
			e.attr('id','n'+rel+"_"+e.attr('id'));
			if (typeof $(this).attr('name') !== 'undefined')
				e.attr('name',"n_"+e.attr('name'));
		});
		$(this).attr('rel',rel+1);

		if ($.browser.msie && $.browser.version>=8.0)
			newform.css('display','none');
		newform.insertBefore($(this).parent());
		if ($.browser.msie && $.browser.version>=8.0)
			newform.slideDown('fast',function(){newform.find("textarea").first().focus().blur();});
		else
			newform.find("textarea").first().focus().blur();
	});
	$(".dqfc__subform_control_remove").live('click',function(){
		var subform=$(this).closest(".dqfc__subform").last();
		if ($(this).text()=='Remove'){
			subform.addClass('dqfc__subform_removed');
			if ($(this).attr('rel')=='new'){
				if ($.browser.msie && $.browser.version>=8.0){
					subform.slideUp(function(){subform.remove();});
				}else{
					subform.remove();
					$("input[type=submit]").css("display","none");
					setTimeout(function(){
						$("input[type=submit]").css("display","");
					});
				}
			}else{
				subform.find('textarea,input,select').attr('disabled','disabled');
				subform.find(".dqfc__subform_control_remove").text("Undo");
			}
		}else{
			subform.removeClass('dqfc__subform_removed');
			subform.find('textarea,input,select').removeAttr('disabled');
			subform.find(".dqfc__subform_control_remove").text("Remove");
		}
	});


	//proxy dates...
	$("span.dqfc__date_spanproxy_short").live('click',function(){
		var span=$(this);
		var input=$("#"+span.attr('id').slice(0,-2));
		var label=$("#"+span.attr('id').slice(0,-2)+"-3");
		var style=$('<style type="text/css">.ui-datepicker-calendar{display:none;}#ui-datepicker-div{padding:0.2em;margin-top:-65px;margin-left:-120px;}</style>');
		style.appendTo('head');
		input.datepicker({
			dateFormat:  'yy-mm-dd',
			changeMonth: true,
			changeYear: true,
			onClose:function(){
				var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
				var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
				var d=new Date(year, month, 1);
				$(this).datepicker('setDate', d);
				$(this).datepicker('getDate');
				d=$.datepicker.formatDate('M yy',d);
				span.text(d);
				setTimeout(function(){
					$("#ui-datepicker-div").stop(true,true);
					style.remove();
				},0);
			}
		}).focus();
	});
	$(".dqfc__date_spanproxy_short").each(function(i,elem){
		var span=$(elem);
		var input=$("#"+span.attr('id').slice(0,-2));
		var label=$("#"+span.attr('id').slice(0,-2)+"-3");
		var d=input.val();
		if (''+d!=''){
			d=d.split('-');
			d=$.datepicker.formatDate('M yy',new Date(d[0],d[1]-1,d[2]));
			span.text(d)
		}else{
			span.text(label.text());
		}
	});

	$('input[type!="hidden"],textarea,select').live('keydown',function(e){
		if(e.which==9){
			var all=$('input[type!="hidden"],textarea,select');
			var idx=all.index(this)+1;
			if (idx==all.length)
				idx=0;
			$(this).blur();
			//$("#"+$(all.get(idx)).attr('id')+"-2").mousedown();
			$(all.get(idx)).trigger('focus');
			e.preventDefault();
			return false;
		}
	});
	//spanproxy...
	$("span.dqfc__spanproxy").live('mousedown',function(){
		var span=$(this);
		var input=$("#"+span.attr('id').slice(0,-2));
		setTimeout(function(){input.focus();},1);
	});
	$("input.dqfc__spanproxy").live('focus',function(){
		var input=$(this);
		var span=$("#"+input.attr('id')+"-2");
		span.hide();
		//square brackets here work around a jquery bug
		input.show()[0].focus();
	})
	$("input.dqfc__spanproxy").live('blur',function(){
		var input=$(this);
		var span=$("#"+input.attr('id')+"-2");
		var label=$("#"+input.attr('id')+"-3");
		var val=input.val();
		if (val=='')
			val=label.text();
		span.text(val).show();
		input.hide();
	}).blur();
	$(".file_upload_proxy .file_upload_proxy_button").live("click",function(){
		$(this).parents().find(".file_upload_proxy").first().find("input[type=file]").first().focus().click();
		return false;
	});
	if ($.browser.opera) {
		$(".file_upload_proxy_button_wrap,.file_upload_proxy_text").css('display','none');
		$(".file_upload_proxy input").css("display","block").css("opacity","1.0");
	}
	if ($.browser.mozilla && $.browser.version=="2.0") {
		$(".file_upload_proxy input").css("display","none");
	}
});
function GLOBAL_IE_FILE_PROXY_CHANGE_HACK(elem) {
	var val=$(elem).val();
	val=val.replace(/^.*(\\|\/)/, '');
	$(elem).parents(".file_upload_proxy").first().find(".file_upload_proxy_text").text(val);
}

