var upload_maxsize = 1000; // MB

var upload_browse_text = "Tallózás";
var upload_stop_text = "Megállítás";
var upload_stopped_text = "Megállítva";
var upload_bigfile_text = "Túl nagy fájl!";
var upload_del_text = "Törlés";

var upload_flash_url = "/assets/flash/new_uploader/upload.swf";

$(document).ready(function() {
		$('#mukk').click();
		//replaceUploads();
		//alert($.getCookie('PHPSESSID'));	
});

// Flex callback handler
function uploadCallHandler(o)
{
	switch (o.method)
	{
		case "start":
			uploadStart(o);
			break;		

		case "end":
			uploadEnd(o);
			break;			

		case "cancel":
			uploadCancel(o);
			break;		

		case "progress":
			uploadSetProgressBar(o);
			break;
	}
}

function replaceUploads() {
	$('input[type=file]').each(function(e) {
		if(typeof($(this).attr('maxfile')) == 'undefined') {
			$(this).attr('maxfile', 999999999999);
		}

		var upload_div = $('<div id="upload||'+$(this).attr('name')+'" class="upload_div"></div>').attr("maxfile", $(this).attr('maxfile'));	

		//gomb letrehozasa
		var so_id = "up_btn||"+$(this).attr('name')+"||flash";
		var upload_btn = $('<div class="upload_btn" id="up_btn||'+$(this).attr('name')+'"></div>').appendTo(upload_div);
		var upload_btn_btn = $('<div class="upload_btn_btn"><span>'+upload_browse_text+'</span></div>').appendTo(upload_btn);
		var upload_btn_flash = $('<div class="upload_btn_flash" id="'+so_id+'"></div>').appendTo(upload_btn);
		var upload_btn_fakeflash = $('<div class="upload_btn_flash upload_btn_fakeflash" id="'+so_id+'"></div>').hide().appendTo(upload_btn);		

		upload_btn_flash.hover(function(e) {
			$(this).prev().addClass('upload_btn_btn_hover');
		},function () {
			$(this).prev().removeClass('upload_btn_btn_hover');
		});		

		upload_btn_fakeflash.hover(function(e) {
			$(this).prev().prev().addClass('upload_btn_btn_hover');
		},function () {
			$(this).prev().prev().removeClass('upload_btn_btn_hover');
		});		

		$(this).after(upload_div);
		upload_btn_fakeflash.css('width', upload_btn_btn.width()+'px').css('height', upload_btn_btn.height()+'px').click(function(e) {
			$(this).parent().parent().find('.upload_progressbar').addClass('upload_progressbar_error');
			$(this).parent().parent().find('.upload_progress').addClass('upload_progress_error');
			$(this).parent().parent().find('.upload_progress_txt').addClass('upload_progress_txt_error');
			$(this).parent().parent().find('.upload_progress_txt').html('Maximum feltölthető fájl: '+$(this).parent().parent().attr('maxfile'));
			$(this).parent().parent().find('.upload_progressbar').css('visibility', 'visible');
			if(typeof( uploadtime1 ) != 'undefined') {
				clearTimeout(uploadtime1);
			}
			uploadtime1 = setTimeout("$('div[id="+$(this).parent().parent().attr('id')+"] .upload_progressbar').css('visibility', 'hidden');", 3000);
		});
		var so = new SWFObject(upload_flash_url, "upload_swf", upload_btn_btn.width(), upload_btn_btn.height(), "8", "#336699");
		so.addParam("quality", "high");
		so.addParam("wmode", "transparent");
		so.addVariable("url", $(this).attr('url'));
		so.addVariable("extra_param", $(this).attr('extra_param'));
		so.addVariable("id", 'upload||'+$(this).attr('name'));
		so.addVariable("maxsize", upload_maxsize);
		so.addVariable("session", $.getCookie('PHPSESSID'));
		so.write(so_id);		

		// progressbar letrehozasa
		var upload_pb = $('<div class="upload_progressbar"><div class="upload_progress"></div><div class="upload_progress_txt"></div></div>').appendTo(upload_div);

		var upload_files = $('<div class="upload_files" id="upload||'+$(this).attr('name')+'||files"></div>').appendTo(upload_div);
		
		$(this).remove();

		

		var fid = 'upload||'+$(this).attr('name');

		

		upload_div.next().find('input').each(function(e) {
			var jujj = Object();
			jujj.id = fid;
			jujj.rid = $(this).attr('id');
			jujj.name = $(this).attr('value');			
			if(typeof($(this).attr('delurl')) != "undefined")
				jujj.delurl = $(this).attr('delurl');
			else
				jujj.delurl = "";
				
			if(typeof($(this).attr('picurl')) != "undefined")
				jujj.picurl = $(this).attr('picurl');
			else
				jujj.picurl = "";
			jujj.status = "OK";
			jujj.message = "";
			uploadEnd(jujj);
		});
		upload_div.next().remove();
	});

}



function uploadStart(o) {
	if(typeof( uploadtime1 ) != 'undefined') {
		clearTimeout(uploadtime1);
		clearTimeout(uploadtime2);
		clearTimeout(uploadtime3);
	}
	$('div[id='+o.id+'] .upload_progressbar').removeClass('upload_progressbar_error');
	$('div[id='+o.id+'] .upload_progress').removeClass('upload_progress_error');
	$('div[id='+o.id+'] .upload_progress_txt').removeClass('upload_progress_txt_error');	

	$('div[id='+o.id+'] .upload_btn_btn').addClass('upload_btn_cancel').html('<span>'+upload_stop_text+'</span>');
	$('div[id='+o.id+'] .upload_progress').css('width', '0px');
	$('div[id='+o.id+'] .upload_progressbar').css('visibility', 'visible');
}

function uploadSetProgressBar(o) {
	var width = $('div[id='+o.id+'] .upload_progressbar').width();
	$('div[id='+o.id+'] .upload_progress_txt').html(o.name+' ('+o.percent+'% - '+o.remaining+')');
	//$('.upload_progress').css('width', width*o.percent2+'px');
	$('div[id='+o.id+'] .upload_progress').stop();
	$('div[id='+o.id+'] .upload_progress').animate( { width:width*o.percent2+'px' }, { queue:false, duration:200 } );
}

var upload_rand = 0;

function uploadEnd(o) {

	//console.log(o);

	//albinak
	var old_filename = o.name;
	var temp_filename = o.rname;
	var fileid = o.rid;
	
	if(typeof(o.delurl) != "undefined")
		var delurl = o.delurl;
	else
		var delurl = "";
		
	if(typeof(o.picurl) != "undefined")
		var picurl = o.picurl;
	else
		var picurl = "";
	

	

	$('div[id='+o.id+'] .upload_btn_btn').removeClass('upload_btn_cancel').html('<span>'+upload_browse_text+'</span>');

	upload_rand++;

	$('div[id='+o.id+'] .upload_progress_txt').html(o.message);

	if(o.status != "OK") {
		$('div[id='+o.id+'] .upload_progressbar').addClass('upload_progressbar_error');
		$('div[id='+o.id+'] .upload_progress').addClass('upload_progress_error');
		$('div[id='+o.id+'] .upload_progress_txt').addClass('upload_progress_txt_error');
	}
	else {		
		if(picurl != "")
			var itemimg = "<img class='upload_file_img' src='"+picurl+"' border='0' alt='' />";
		else 
			var itemimg = "";
			
		var upload_file = $('<div class="upload_file">'+itemimg+'<div class="upload_file_txt">'+o.name+'</div> <a href="javascript:;" class="upload_file_del" onclick="popupAlert(\'confirm\', \'Biztos eltávolítja ezt a feltöltött fájlt?\', \'uploadDelFile('+upload_rand+', \\\''+delurl+'\\\')\');">'+upload_del_text+'</a><div class="clear"></div></div>').css('display', 'none').appendTo($("div[id="+o.id+"||files]"));

		var upload_file_input = $('<input type="hidden" id="uploadinput_'+upload_rand+'" value="'+o.rid+'" />').appendTo(upload_file);

		if(delurl == "")
			upload_file_input.attr('name', o.id.split('||')[1]+'[]');
		else
			upload_file_input.attr('name', 'varazsceruza[]');

		upload_file.fadeIn(500);
		
		if(upload_file.parent().parent().parent().hasClass("editorpics"))
			imagelist.push(new Array(o.name, o.rid, picurl, true));

	}

	var maxfile = $('div[id='+o.id+']').attr('maxfile');
	var currenfile = $('div[id='+o.id+'] .upload_file').length;

	if(maxfile != "" && currenfile >= maxfile) {
		$('div[id='+o.id+'] .upload_btn_flash').hide();
		$('div[id='+o.id+'] .upload_btn_fakeflash').show();
	}
	uploadtime1 = setTimeout("$('div[id="+o.id+"] .upload_progress').css('width', '0px');", 3000);
	uploadtime2 = setTimeout("$('div[id="+o.id+"] .upload_progressbar').css('visibility', 'hidden');", 3000);
	uploadtime3 = setTimeout("$('div[id="+o.id+"] .upload_progress_txt').html('');", 3000);
}

function uploadCancel(o) {
	if(o.cancel == "user")
		$('div[id='+o.id+'] .upload_progress_txt').html(upload_stopped_text);
	if(o.cancel == "maxsize") {
		uploadStart(o);
		$('div[id='+o.id+'] .upload_progress_txt').html(upload_bigfile_text);
		$('div[id='+o.id+'] .upload_progressbar').addClass('upload_progressbar_error');
		$('div[id='+o.id+'] .upload_progress').addClass('upload_progress_error');
		$('div[id='+o.id+'] .upload_progress_txt').addClass('upload_progress_txt_error');
	}
	$('div[id='+o.id+'] .upload_btn_btn').removeClass('upload_btn_cancel').html('<span>'+upload_browse_text+'</span>');	

	uploadtime1 = setTimeout("$('div[id="+o.id+"] .upload_progress').css('width', '0px');", 3000);
	uploadtime2 = setTimeout("$('div[id="+o.id+"] .upload_progressbar').css('visibility', 'hidden');", 3000);
	uploadtime3 = setTimeout("$('div[id="+o.id+"] .upload_progress_txt').html('');", 3000);
}

function uploadDelFile(id, delurl) {
	if(typeof(delurl) != "undefined")
		var del_link = delurl;
	else
		var del_link = "/cms/upload/";
		
	if(del_link == "")
		var del_link = "/cms/upload/";		

	$('input[id=uploadinput_'+id+']').parent().hide(300);	

	var maxfile = $('input[id=uploadinput_'+id+']').parent().parent().parent().attr('maxfile');
	var currenfile = $('input[id=uploadinput_'+id+']').parent().parent().parent().find('.upload_file').length;	

	if(maxfile == "" || currenfile <= maxfile) {
		$('input[id=uploadinput_'+id+']').parent().parent().parent().find('.upload_btn_flash').show();
		$('input[id=uploadinput_'+id+']').parent().parent().parent().find('.upload_btn_fakeflash').hide();
	}

	$.post(del_link, { del: $('input[id=uploadinput_'+id+']').val() } );
	
	// Az editor képeit tartalmazó tömbből kivesszük a cuccot.	
	if(imagelist.length > 0)
	{
		var realId = Number($('input[id=uploadinput_'+id+']').val());
		
		for(i = 0; i < imagelist.length; i++)
		{
			if(imagelist[i][1] == realId)
			{
				imagelist[i][3] = false;
				$("img[src='"+imagelist[i][2]+"']").attr("src", "nincs.jpg").attr("alt", "nincs");
				break;
			}
		}
	}

	$('input[id=uploadinput_'+id+']').parent().remove();
}



jQuery.getCookie = function(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
};
