// jqUploader (http://www.pixeline.be/experiments/jqUploader/)
var jqUploaderData=Array();
jQuery.fn.jqUploader = function(opts) {
		var $this = jQuery(this);
		var $thisForm = $this.parents("form");
		var $thisInput = $("input[@type='file']",$this);
		var containerId = $this.attr("id");
		var container = $this.parent();


		// get form action attribute value as upload script, appending to it a variable telling the script that this is an upload only functionality
		actionURL = $thisForm.attr("action");
		if(actionURL==undefined) actionURL='';
		prepender = (actionURL.lastIndexOf("?")!=-1) ? "&":"?";
		actionURL = actionURL+prepender+'jqUploader=1';


		var opts = jQuery.extend({
			width:				400,
			height:				20,
			version: 			8,
			background: 		'', //background color of flash file
			src:    				'jqUploader.swf',
			uploadScript:     'jqUploader_handler.php?SID='+SID+'&action=upload&fieldname='+containerId, //actionURL,
			afterScript:      '', //if this is empty, jqUploader will replace the upload swf by a hidden input element
			varName:	        	$thisInput.attr("name"), //this holds the variable name of the file input field in your html form
			allowedExt:	      '*.jpg; *.jpeg; *.png',
			allowedExtDescr:  'Images (*.jpg; *.jpeg; *.png)',
			params:           { menu:false },
			flashvars:        {},
			hideSubmit:       false,
			barColor:		   'CCCCCC',
			maxFileSize:      8*1024*1024,
			startMessage:     '',
			errorSizeMessage: '',
			validFileMessage: '',
			progressMessage: 	'Trwa wysyłanie...',
			endMessage:    	''
		}, opts || {});

		opts.src=opts.path+opts.src;
		opts.containerContent=$this.parent().html();
		if(opts.hideSubmit==true) $("*[@type='submit']",this.form).hide();
		jqUploaderData[containerId]=opts;




		TerminateJQUploader = function(containerId, filename) {
			varname=containerId.replace('_cont','');
			$('#'+containerId).text('').append('<input style="width:267px" class="input" type="text" name="'+varname+'" id="'+varname+'" value="Sprawdzanie..." READONLY /><span id="'+varname+'_cont_del"></span>');
			get_uploaded_filename(varname);
		}


		SizeErrorJQUploader = function(filename) {
			modal_info('Plik "<b>'+filename+'</b>" nie może być wysłany.<br />Rozmiar pliku jest za duży - <b>maksymalny to '+(jqUploaderData[containerId].maxFileSize/(1024*1024))+'MB.</b>');
		}


		JQUploadError = function() {
			modal_info('Plik <b>nie został</b> zapisany...');
		}


		DelFileJQUploader = function(varname,lite) {
			$('#'+varname+'_div').empty().html(jqUploaderData[containerId]);
			put_uploader(varname);
			if(lite!=true) {
				$.ajax({
					url: jqUploaderData[containerId].path+'jqUploader_handler.php?SID='+SID+'&action=del&fieldname='+varname,
					type: 'get',
					dataType: 'script',
					cache: false,
					error: function(request) {}
				});
			}
		}


		DelSavedFileJQUploader = function(varname, filename) {
			$('#'+varname+'_div').empty().html(jqUploaderData[containerId]);
			put_uploader(varname);

			$.ajax({
				url: jqUploaderData[containerId].path+'jqUploader_handler.php?SID='+SID+'&action=saved_del&fieldname='+varname+'&filename='+filename,
				type: 'get',
				dataType: 'script',
				cache: false,
				error: function(request) {}
			});
		}


		PlaceDelButton = function(containerId) {
			$('#'+containerId+'_cont_del').html('&nbsp;&nbsp;&nbsp;&nbsp;<img src="'+jqUploaderData[containerId].path+'usun.gif" alt="" style="vertical-align:middle">&nbsp;<a href="javascript:void(0);" onclick="DelFileJQUploader(\''+containerId+'\'); return false;" style="text-decoration:none; color:#000"><b>usuń plik</b></a>');
		}


		function get_uploaded_filename(containerId) {
			$.ajax({
				url: jqUploaderData[containerId].path+'jqUploader_handler.php?SID='+SID+'&action=get&fieldname='+containerId,
				type: 'get',
				dataType: 'script',
				cache: false,
				error: function(request) {}
			});
		}


		function put_uploader(containerId) {
			scr=jqUploaderData[containerId].uploadScript.replace('&','*').replace('&','*').replace('&','*');
			flashvars='containerId='+containerId+'_cont'+'&uploadScript='+scr+'&afterScript='+jqUploaderData[containerId].afterScript+'&allowedExt='+jqUploaderData[containerId].allowedExt+'&allowedExtDescr='+jqUploaderData[containerId].allowedExtDescr+'&varName='+jqUploaderData[containerId].varName+'&barColor='+jqUploaderData[containerId].barColor+'&maxFileSize='+jqUploaderData[containerId].maxFileSize+'&errorSizeMessage='+jqUploaderData[containerId].errorSizeMessage+'&validFileMessage='+jqUploaderData[containerId].validFileMessage+'&progressMessage='+jqUploaderData[containerId].progressMessage+'&endMessage='+jqUploaderData[containerId].endMessage+'&sess_id='+SID;
			flash_content=AC_FL_GetContent("codebase","http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0", 'movie',jqUploaderData[containerId].src, "width",jqUploaderData[containerId].width, "height",jqUploaderData[containerId].height, "src","top", "quality","best", "wmode","transparent", "menu","false", "pluginspage","http://www.macromedia.com/go/getflashplayer", 'movie',jqUploaderData[containerId].src, 'id', containerId+'-swf', 'movie',jqUploaderData[containerId].src, 'FlashVars', flashvars);
			var el='<div id="'+containerId+'_cont" style="width:'+jqUploaderData[containerId].width+'px"><input type="text" name="'+containerId+'" id="'+containerId+'" style="width:0px; height:0px; padding:0px; margin:0px; border:0px; position:absolute;" />'+flash_content+'</div>';
			$("#"+containerId+"_div").html(el);
		}

		if(jqUploaderData[containerId].notAutoload!=1) put_uploader(containerId);
};
