var globCropLBox = null;
var globImgSrc = null;

function createUploadLightbox(url, options, parameters) {
	var lbIdent, lbAction, create;

	if (url == undefined) {
		create = false;
	} else {
		create = true;
	}

	if (create) {
		globCropLBox = new lightbox(url, options, parameters);
	}

	lbIdent = 'lightboxClose';
	lbAction = 'delete 	globCropperObj; globCropperObj = null;';

	if (!Dosia.CheckAction(lbIdent, lbAction)) {
		Dosia.AddAction2Run(lbIdent, lbAction);
	}
}

function displayUpload(url, options) {
	createUploadLightbox(url, options);
}

function cropperLoading(display, alt) {
	var b1, b2;
	b1 = $('cropButton');
	b2 = $('cropInfo');

	if (display) {
		b1.innerHTML = '';
		b1.appendChild(new Element('img', {'src' : urlStatic + 'image/loader.gif', 'alt' : alt}));
		b2.innerHTML = alt;
	} else {
		b1.innerHTML = '';
		b2.innerHTML = '';
	}
}

function cropperDisplayError(error) {
	var ci, cb;
	cropperLoading(false);
	
	ci = $('cropError');
	cb = $('cropButton');

	ci.innerHTML = error;
}

function startUpload(iframeName, obj) {
	var iframeObj;

	cropperLoading(true, 'Trwa wczytywanie zdjęcia');

	if (obj.elements[0].value == '' || !obj.elements[0].value) {
		cropperDisplayError('Musisz wybrać plik na avatara.');
	}

	iframeObj = $(iframeName);

	iframeObj.src = obj.action;

	if (globCropperObj) {
		globCropperObj.reset();
	}
	
	return true;
}

function finishUpload(url, parameters) {

	var cb;
	var cropArea;
	var ci;
	
	ci = $('cropError');
	ci.innerHTML = '';

	if (!globCropLBox) {
		params = {'photoWidth' : parameters.photoWidth, 'photoHeight' : parameters.photoHeight, 'photoFile' : parameters.photoPath};
		createUploadLightbox(url, null, params);
	}

	cropArea = $(parameters.prefix + 'CropArea');

	if (!globImgSrc) {
		globImgSrc = cropArea.src;
	}

	cropArea.src = urlStatic + parameters.photoPath;

	initCropper(null, parameters.photoWidth, parameters.photoHeight);

	$(parameters.prefix + 'ImageFileName').value = parameters.photoPath;

	cb = $('cropButton');
	cropperLoading(false);
	cb.appendChild(new Element('input', {'type' : 'submit', 'value' : '', 'name' : 'zapisz', 'class' : 'button buttonZapisz'}));
}

function failedUpload(fieldName, parameters) {
	var cropArea = $(globCropperParam.prefix + 'CropArea');

	if (parameters) {
		cropperDisplayError(parameters.error);
	}

	if (globImgSrc && cropArea) {
		cropArea.src = globImgSrc;
	}

	if (globCropperObj) {
		globCropperObj.setSize(300, 300);
	}
	
	destructCropper(true);
}

function refreshUserAvatar(className, photoPath) {
	var avatars, data;

	avatars = document.getElementsByClassName(className);

	if (avatars && avatars.length > 0) {
		data = new Date();
		for ( i = 0 ; i < avatars.length ; i++) {
			avatars[i].src = urlStatic + '/images/' + photoPath + '?' + data.getSeconds() + data.getMilliseconds();
		}
	}
}

function doCropPhoto(form) {

	prefix = form.name;

	var url = form.action;
	form.action="#";

	cropperLoading(true, 'Trwa zapisywanie zdjęcia');

	if($(prefix + 'PhotoUploadForm') != null && $(prefix + 'PhotoUploadForm')!= undefined)$(prefix + 'PhotoUploadForm').remove();

	var myAjax = new Ajax.Request(
        url,
		{
			method: 'post',
			parameters: {
				'prefix': prefix,
				'x' : $(prefix + 'ImageCropX1').value,
				'y' : $(prefix + 'ImageCropY1').value,
				'w' : $(prefix + 'ImageCropWidth').value,
				'h' : $(prefix + 'ImageCropHeight').value,
				'photoFileName' : $(prefix + 'ImageFileName').value,
				'description' : $(prefix + 'Description').value,
				'colSize' : $(prefix + 'ColSize').value
			},

			onSuccess: function(transport) {
				var data;
				var dir;
				destructCropper();
				data=transport.responseText.evalJSON();
				document.href = document.href + "#EtykietaZdj";
				setTimeout(deactivateLBox(data), 10000);
			}
		}
	);

	return false;
}

function deactivateLBox(data) {
	
	

		if (data['user']) {
			refreshUserAvatar('userAvatarBig', 'user/' + data['userId'] + '/' + data['photoPath'] + '120.jpg');
			refreshUserAvatar('userAvatarNormal', 'user/' + data['userId'] + '/' + data['photoPath'] + '70.jpg');
			refreshUserAvatar('userAvatarSmall', 'user/' + data['userId'] + '/' + data['photoPath'] + '50.jpg');
		} else if (data['group']) {
			if (data['groupId'] != false) {
				refreshUserAvatar('groupAvatarBig', 'groups/' + data['groupId'] + '/' + data['photoPath'] + '120.jpg');
				refreshUserAvatar('groupAvatarNormal', 'groups/' + data['groupId'] + '/' + data['photoPath'] + '70.jpg');
				refreshUserAvatar('groupAvatarSmall', 'groups/' + data['groupId'] + '/' + data['photoPath'] + '50.jpg');
			} else {
				refreshUserAvatar('groupAvatarBig', 'temp/groups/' + data['photoPath'] + '/' + data['photoPath'] + '120.jpg');
				refreshUserAvatar('groupAvatarNormal',  'temp/groups/' + data['photoPath'] + '/' + data['photoPath'] + '70.jpg');
				refreshUserAvatar('groupAvatarSmall',  'temp/groups/' + data['photoPath'] + '/' + data['photoPath'] + '50.jpg');
			}
		} else if(data['article']) {
			if(data['size']) {
				refreshUserAvatar('articleAvatarBig', 'upload/Article/' + data['photoPath'] + '_' + data['size'] + '.jpg');
			} else {
				refreshUserAvatar('articleAvatarBig', 'upload/Article/' + data['photoPath'] + '_120.jpg');
			}
		} else if(data['company']) {
			if(data['size']) {
				refreshUserAvatar('articleAvatarBig', 'upload/Company/' + data['photoPath'] + '_' + data['size'] + '.jpg');
			} else {
				refreshUserAvatar('articleAvatarBig', 'upload/Company/' + data['photoPath'] + '_120.jpg');
			}
		} else if(data['feed']) {
			refreshUserAvatar('feedAvatarBig', 'upload/Feed/' + data['photoPath'] + '_120.jpg');
		} else if(data['event']) {
			refreshUserAvatar('eventAvatarBig', 'events/' + data['photoPath'] + '120.jpg');
		} else if(data['notice']) {
			refreshUserAvatar('noticeAvatarBig', 'notices/' + data['photoPath'] + '120.jpg');
		}
	
		globCropLBox.deactivate();
		
		if(data['redirect']) {
			if(data['redirect'] == 'self') {
				location.reload();
			} else {
				location = data['redirect'];
			}
		}
	
}

Dosia.AddAction2Run('lightboxOpen', 'createUploadLightbox();');

