var upload_method = null;
var upload_running = false;
var upload_success = false;
var expanded_area =
'
'+
'

'+
'
'
;
var upload_form =
''
;
var message_error =
'Es ist ein unbekannter Fehler aufgetreten,'+
'
bitte versuche es später erneut.'
;
var message_locked =
'Dieser Tägliche Erfolg kann heute'+
'
leider nicht abgeschlossen werden.'
;
var message_reqlogin =
'Du musst angemeldet sein um einen
'+
'Erfolg abschließen zu können.
'+
'Am besten gleich '+
''+
'registrieren'+
' '+
'und sofort durchstarten.'
;
$(document).ready(function() {
flashplayer = swfobject.getFlashPlayerVersion();
if(flashplayer.major < flashplayer_req && $('#session_id').size() == 1) {
$('#wrapper').prepend('Du musst mindestens Version 9 von Flash installiert haben um Erfolge hochladen zu können
');
}
jQuery('
').attr('src', 'http://www.sirlol.com/ext/img/status_done.png');
jQuery('
').attr('src', 'http://www.sirlol.com/ext/img/status_undone.png');
jQuery('
').attr('src', 'http://www.sirlol.com/ext/img/status_pending.png');
jQuery('
').attr('src', 'http://www.sirlol.com/ext/img/status_undone_thb.png');
jQuery('
').attr('src', 'http://www.sirlol.com/ext/img/loading.gif');
$('.achievement').mouseover(function() {
var status = $(this).find('.status');
if(!status.hasClass('done') && !status.hasClass('pending') && upload_running == false) {
status.addClass('undone');
}
}).mouseout(function() {
var status = $(this).find('.status');
if(!status.hasClass('done') && !status.hasClass('pending') && !$(this).hasClass('expand') && upload_running == false) {
status.removeClass('undone');
}
});
$('.status.undone').live('click' , function() {
if(upload_running == false) {
upload_success = false;
if($(this).parent().parent().hasClass('expand')) {
$('#expanded_area').remove();
$('.achievement.expand').removeClass('expand');
} else {
$('#expanded_area').remove();
$('.achievement.expand').removeClass('expand');
$('.status.undone').removeClass('undone');
$(this).addClass('undone');
$(this).parent().parent().append(expanded_area);
$(this).parent().parent().addClass('expand');
if($('#session_id').size() == 1 && $(this).parent().parent().find('.locked').length > 0) {
$('#expanded_area').addClass('error');
$('#expanded_area').html(message_locked);
} else if($('#session_id').size() == 1) {
$('#expanded_area').append('');
} else {
$('#expanded_area').addClass('error');
$('#expanded_area').html(message_reqlogin);
}
$('#flashfile').uploadify({
'uploader': 'http://www.sirlol.com//ext/flash/uploadify.swf',
'sizeLimit': 10485760,
'queueSizeLimit': 1,
'fileExt': '*.png;*.jpg;*.jpeg',
'wmode': 'transparent',
'hideButton': true,
'folder': 'undefined',
'fileDesc': 'Images',
'script': 'http://www.sirlol.com/?page=upload_achievement',
'width': 226,
'height': 24,
'cancelImg': 'http://www.sirlol.com/ext/img/transparent.png',
'method': 'POST',
'scriptData': {
'achievement_id':$('.achievement.expand .achievement_id').attr('title'),
'session_id':$('#session_id').attr('title'),
'ua_type':'image',
},
'multi': false,
'auto': false,
'onError': uploadify_onError,
'onInit': uploadify_onInit,
'onSelect': uploadify_onSelect,
'onProgress': uploadify_onProgress,
'onComplete': uploadify_onComplete
});
}
}
$('.noSelect').disableTextSelect();
});
$('#ua_submit').live('click' , function() {
if(upload_method == 'image' || upload_method == 'youtube') {
if($.trim($('input[name=ua_proof]').attr('value')).length > 0) {
disable_form();
$('#loading').fadeIn(fade_time);
$('input[name=ua_submit]').hide();
add_status_message('Wir übertragen derzeit deine Daten. Einen Augenblick geduld bitte.' , 'normal');
if(upload_method == 'youtube') {
upload_youtube_start();
} else if(upload_method == 'image') {
$('#flashfile').uploadifySettings('scriptData' , {
'ua_comment':$('textarea[name=ua_comment]').attr('value')
});
$('#flashfile').uploadifyUpload();
} else {
unknown_error();
}
} else {
unknown_error();
}
} else {
unknown_error();
}
return false;
});
$('#upload_achievement_youtube').live('click' , function() {
if(upload_running == false && upload_success == false) {
$(this).addClass('active');
$('#upload_achievement_image').removeClass('active');
reset_form('youtube');
}
});
$('#upload_achievement_image').live('click' , function() {
if(upload_running == false && upload_success == false) {
$(this).addClass('active');
$('#upload_achievement_youtube').removeClass('active');
reset_form('image');
}
});
$('input[name=ua_proof]').live('change', function() {field_check();});
$('input[name=ua_proof]').live('keyup', function() {field_check();});
function uploadify_onError(event, queueID, fileObj, errorObj) {
if(errorObj.type == 'File Size') {
add_status_message('Deine Datei überschreitet die maximale Größe von 10MB.', 'error');
$('#loading').fadeOut(fade_time);
enable_form();
} else {
unknown_error();
}
}
function uploadify_onInit() {
if(flashplayer.major < flashplayer_req) {
unknown_error();
} else {
$('#expanded_area').append(upload_form);
$('#loading').fadeOut(fade_time);
$('#upload_achievement_image').trigger('click');
field_check();
}
}
function uploadify_onSelect(event, queueID, fileObj) {
$('input[name=ua_proof]').attr('value' , fileObj.name);
$('input[name=ua_proof]').removeClass('ua_proof_infotext');
field_check();
}
function uploadify_onProgress(event, queueID, fileObj, data) {
if(data.percentage >= 100 || data.percentage <= 1) {
add_status_message('Wir übertragen derzeit deine Daten. Einen Augenblick geduld bitte.' , 'normal');
} else {
add_status_message('Upload zu '+data.percentage+'% abgeschlossen.' , 'normal');
}
}
function uploadify_onComplete(event, queueID, fileObj, response, data) {
$('#loading').fadeOut(fade_time);
handle_server_response(response);
}
function upload_youtube_start() {
$.ajax({
cache: false,
complete: upload_youtube_complete,
url: 'http://www.sirlol.com/?page=upload_achievement',
data: {
'achievement_id':$('.achievement.expand .achievement_id').attr('title'),
'session_id':$('#session_id').attr('title'),
'ua_type':'youtube',
'ua_comment':$('textarea[name=ua_comment]').attr('value'),
'ua_proof':$('input[name=ua_proof]').attr('value'),
},
dataType: 'text',
error: upload_youtube_error,
success: upload_youtube_success,
timeout: 30000,
type: 'POST'
});
}
function upload_youtube_complete(XMLHttpRequest, textStatus) {
$('#loading').fadeOut(fade_time);
}
function upload_youtube_error(XMLHttpRequest, textStatus, errorThrown) {
unknown_error();
}
function upload_youtube_success(data, textStatus, XMLHttpRequest) {
handle_server_response(data);
}
function handle_server_response(response) {
if(response == 'ok') {
add_status_message('Wir haben deine Anfrage erhalten. Dein Erfolg wird in kürze bearbeitet.' , 'success');
upload_running = false;
upload_success = true;
var status = $('#expanded_area').parent().find('.status');
status.fadeOut(fade_time , function() {
status.removeClass('undone');
status.addClass('pending');
status.fadeIn(fade_time);
});
} else if(response == 'dimensions_min') {
add_status_message(
'Dein Bild ist uns leider zu klein. Es sollte mindestens '+
'250x250px '+
'groß sein.' , 'error');
enable_form();
} else if(response.substr(0,14) == 'dimensions_max') {
add_status_message(
'Dein Bild ist uns leider zu groß. Eine Größe von '+
response.substr(14)+'px '+
'wäre z.B. optimal für uns.' , 'error');
enable_form();
} else if(response == 'invalid_youtube_link') {
add_status_message('Bitte gib einen gültigen YouTube-Link an.' , 'error');
enable_form();
} else if(response == 'max_pending') {
add_status_message('Bitte warte bis einige deiner anderen Erfolge bearbeitet wurden.' , 'error');
enable_form();
} else {
unknown_error();
}
}
function reset_form(type) {
upload_method = type;
$('input[name=ua_proof]').attr('value' , '');
$('input[name=ua_proof]').removeClass('ua_proof_infotext');
$('#flashfileQueue').html('');
if(type == 'image') {
$('#flashfileUploader').css('z-index' , 200);
$('input[name=ua_proof]').addClass('ua_proof_infotext');
$('input[name=ua_proof]').attr('value' , 'Bild auswählen...');
} else {
$('#flashfileUploader').css('z-index' , 0);
}
field_check();
}
function unknown_error() {
upload_running = false;
$('#expanded_area').addClass('error');
$('#expanded_area').html(message_error);
}
function field_check() {
if($.trim($('input[name=ua_proof]').val()).length > 0 && $('input[name=ua_proof]').hasClass('ua_proof_infotext') == false) {
$('input[name=ua_submit]').show();
$('#status_message').remove();
} else {
$('input[name=ua_submit]').hide();
}
}
function disable_form() {
upload_running = true;
$('#flashfileUploader').css('z-index' , 0);
$('input[name=ua_proof]').attr('disabled', true);
$('textarea[name=ua_comment]').attr('disabled', true);
}
function enable_form() {
upload_running = false;
$('input[name=ua_proof]').removeAttr('disabled');
$('textarea[name=ua_comment]').removeAttr('disabled');
reset_form(upload_method);
}
function add_status_message(message, type) {
if(!type) { type = 'normal'; }
if(!message) { message = ''; }
$('#status_message').remove();
$('#expanded_area').append(''+message+'
');
$('#status_message').addClass(type);
}
});