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

'+ 'Bild'+ ' oder '+ 'YouTube-Link'+ '
'+ '

'+ '

'+ 'Kommentar für das sirlol-Team'+ '
'+ '

'+ ''+ '
' ; 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); } });