/* global var reportFileId */
var reportFileId = false;

// dom ready - init feedback button
$$(function(){
    $$('#feedbackButton').css({
        "top":"102px",
        "left":($$(window).width()-1018)/2-19+"px",
        "display":"block"
    });
});

// window event handler (move button y, move button x on window resize)
$$(window).scroll(function() {
    $$('#feedbackButton').stop();
    if($$(window).scrollTop()>102) {
        $$('#feedbackButton').animate({
            "top":$$(window).scrollTop()+"px"
        },500);
    }
    else {
        $$('#feedbackButton').animate({
            "top":"102px"
        },500);
    }
});

$$(window).resize(function(){
    $$('#feedbackButton').css("left",($$(window).width()-1018)/2-19+"px");
});

// called in web page - controller
function getDeleteGEntries(aForm){
    var deleteFiles = new Array();
    $$('.deleteGEntries').each(function() {
        if($$(this).attr("checked")) {
            deleteFiles.push($$(this).val());
        }
    });
    if(deleteFiles.length>0) {
        $$('#deleteGEntries').val(deleteFiles);
        openConfirmDialog("L&ouml;schen best&auml;tigen","Bitte best&auml;tige, dass du die ausgew&auml;hlten Eintr&auml;ge l&ouml;schen m&ouml;chtest!",
            function(success){
                if(success) aForm.submit();
            });
    }
    return false;
}

function reportToEd(gEntryId) {
    openResponseDialog("Eintrag melden","Bitte kommentiere kurz deine Meldung. Vielen Dank!",
        function(success,value){
            value = escape(value);
            if(success) {
                var prefix = "tx_ddaudiyouguestbook_pi1";
                var query = prefix+"[gEntryId]="+gEntryId+"&"+prefix+"[responseText]="+value+"&"+prefix+"[ajaxCommand]=ajax_reportToEd";
                doResponseQuery(query,$$('#responseDialog'));
            }
        },$$('#responseDialog'));
    return false;
}

function feedback() {
    var fText = "Audiyou.de lebt von dir, deinen Inhalten und Ideen. Deshalb freuen wir uns &uuml;ber Anregungen, Kritik und Verbesserungsvorschl&auml;ge. Vielen Dank f&uuml;r deine Unterst&uuml;tzung!";
    openFeedbackDialog("Wir freuen uns auf dein Feedback",fText,
        function(success,value,email,captchaResponse){
            value = escape(value);
            captchaResponse = escape(captchaResponse);
            if(success) {
                var prefix = "tx_ddaudiyouguestbook_pi1";
                var query = prefix+"[captchaResponse]="+captchaResponse+"&"+prefix+"[responseText]="+value+"&"+prefix+"[email]="+email+"&"+prefix+"[ajaxCommand]=ajax_feedback";
                doResponseQuery(query,$$('#feedbackDialog'));
            }
        },$$('#feedbackDialog'));
    return false;
}

function feedbackToni() {
    var fText = "Hallo! Hast du Fragen oder Vorschl&auml;ge? M&ouml;chtest du Lob oder Kritik loswerden? Dann schreib mir doch einfach! Ich freue mich! Flatterhafte Gr&uuml;&szlig;e,  Toni U.<br/><img src='fileadmin/templates/karaoke/images/toniFeedback.jpg' />";
    openFeedbackDialog("Wir freuen uns auf dein Feedback",fText,
        function(success,value,email,captchaResponse){
            value = escape(value);
            captchaResponse = escape(captchaResponse);
            if(success) {
                var prefix = "tx_ddaudiyouguestbook_pi1";
                var query = prefix+"[captchaResponse]="+captchaResponse+"&"+prefix+"[responseText]="+value+"&"+prefix+"[email]="+email+"&"+prefix+"[ajaxCommand]=ajax_feedback";
                doResponseQuery(query,$$('#feedbackDialog'));
            }
        },$$('#feedbackDialog'));
    return false;
}

function reportFileToEd(fileId) {
    var player = document.getElementById('sherriffSound');
    reportFileId = fileId;
    player.addModelListener("STATE",'sherriffSoundReady');
    player.sendEvent("STOP");
    player.sendEvent("PLAY");
    return false;
}

function sherriffSoundReady(state) {
    if(state.newstate=="PLAYING") {
        openResponseDialog("Urheberrechtsverletzung melden","Bitte kommentiere kurz deine Meldung. Vielen Dank!",
            function(success,value){
                value = escape(value);
                if(success) {
                    var prefix = "tx_ddaudiyouguestbook_pi1";
                    var query = prefix+"[fileId]="+reportFileId+"&"+prefix+"[responseText]="+value+"&"+prefix+"[ajaxCommand]=ajax_reportFileToEd";
                    doResponseQuery(query,$$('#responseDialog'));
                }
            },$$('#responseDialog'));
    }
}

function blockUser(blockId,mode,link) {
    $$(link).html("").addClass("ajax-loader-small");
    var prefix = "tx_ddaudiyouguestbook_pi1";
    var query = prefix+"[mode]="+mode+"&"+prefix+"[blockId]="+blockId+"&"+prefix+"[ajaxCommand]=ajax_blockUser";
    $$.get(location.href,query,function(res){
        if(res!=-1) {
            $$(link).removeClass("ajax-loader-small");
            $$('a.pm_block_link_'+blockId).replaceWith(res);
            // add strike through or normal username
            if(mode==0) {
                $$('span.pm_username_'+blockId).css("text-decoration","");
            }
            else {
                $$('span.pm_username_'+blockId).css("text-decoration","line-through");
            }
        }
        //user is not logged in
        else {
            alert("Du bist nicht mehr angemeldet!");
            window.location.href = window.location.href;
        }

    });
    return false;
}

function setResponse(writerId,title,contentText){
    openResponseDialog(title,contentText,
        function(success,value){
            value = escape(value);
            if(success) {
                var prefix = "tx_ddaudiyouguestbook_pi1";
                var query = prefix+"[responseWriterId]="+writerId+"&"+prefix+"[responseText]="+value+"&"+prefix+"[ajaxCommand]=ajax_setResponse";
                doResponseQuery(query,$$('#responseDialog'));
            }
        },$$('#responseDialog'));
    return false;
}

/* do ajax query and update dialog view */
function doResponseQuery(query,cD) {
    var dialogId = cD.attr('id');
    var aForm = $$('#'+dialogId+'_responseForm');
    cD.dialog("disable");
    $$.get(aForm.attr("action"),query,function(res){
        cD.dialog(
            "option", "buttons", {
                "Ok": function() {
                    $$(this).dialog("destroy");
                    $$('#'+dialogId+'_responseText').show();
                    $$('#'+dialogId+'_dialogContent').show();
                    $$('#'+dialogId+'_responseForm').show();
                    $$('#'+dialogId+'_responseText').val("");
                    $$('#'+dialogId+'_responseContent').html("");
                }
            }
            );
        /* enable again, remove animation gif */
        cD.dialog("enable");
        /* callback function when result recieved - change buttons to "ok" only */
        $$('#'+dialogId+'_responseWrap').removeClass("ajax-loader-orange");
        $$('#'+dialogId+'_dialogContent').hide();
        $$('#'+dialogId+'_responseContent').html(res);
    });
    /* disable tinyMCE control, hide input field and show loading animation */
    $$('#'+dialogId+'_responseForm textarea').each(function() {
        tinyMCE.execCommand('mceRemoveControl', false, $$(this).attr('id'));
    });
    $$('#'+dialogId+'_responseForm').hide();
    $$('#'+dialogId+'_responseWrap').addClass("ajax-loader-orange");
}

/* dialog views */
function openConfirmDialog(title,content,callback) {
    var cD = $$('#confirmDialog');
    $$('.dialogContent',cD).html(content);
    cD.dialog({
        title : title,
        modal : true,
        buttons: {
            "Ok": function() {
                $$(this).dialog("close");
                callback(true);
            },
            "Abbrechen": function() {
                $$(this).dialog("close");
                callback(false);
            }
        }
    });
}

function openResponseDialog(title,content,callback,cD) {
    $$('.dialogContent',cD).html(content);
    cD.dialog({
        width : 300,
        title : title,
        modal : true,
        buttons: {
            "Absenden": function() {
                var dialogContent = tinyMCE.get(cD.attr('id')+"_responseText").getContent();
                if(dialogContent != '') {
                	$$(this).dialog("disable");
                	callback(true,tinyMCE.get(cD.attr('id')+"_responseText").getContent());
                }
            },
            "Abbrechen": function() {
                $$(this).dialog("close");
                callback(false,"");
            }
        },
        open : function() {
            $$('.responseForm textarea',cD).each(function() {
                tinyMCE.execCommand('mceAddControl', false, $$(this).attr('id'));
            });
        },
        beforeclose: function(event, ui) {
            $$('.responseForm textarea',cD).each(function() {
                tinyMCE.execCommand('mceRemoveControl', false, $$(this).attr('id'));
            });
        },
        close : function () {
            $$('.responseText',cD).val("");
        }
    });
}

function openFeedbackDialog(title,content,callback,cD) {
    $$('.dialogContent',cD).html(content);
    /*var captchaId = $$('.tx-srfreecap-pi2-image',cD).attr("id").substr(31, 5);
    newFreeCap(captchaId, 'Bild-Update nicht möglich!');*/
    cD.dialog({
        width : 300,
        title : title,
        modal : true,
        buttons: {
            "Absenden": function() {
                var dialogContent = tinyMCE.get(cD.attr('id')+"_responseText").getContent();
                if(dialogContent != '') {
                	$$(this).dialog("disable");
                	callback(true,dialogContent,$$('#feedbackDialog_email').val(),$$('#feedbackDialog_captchaResponse').val());
                	$$('#feedbackDialog_email').val("");
                	$$('#feedbackDialog_captchaResponse').val("");	
                }            
            },
            "Abbrechen": function() {
                $$(this).dialog("close");
                callback(false,"");
            }
        },
        open : function() {
            $$('.responseForm textarea',cD).each(function() {
                tinyMCE.execCommand('mceAddControl', false, $$(this).attr('id'));
            });
            var prefix = "tx_ddaudiyouguestbook_pi1";
            var query = prefix+"[ajaxCommand]=ajax_loadCaptcha";
            var url = window.location.href;
            if(window.location.href.indexOf('#')!=-1) {
                url = window.location.href.substr(0,window.location.href.indexOf('#'));
            }
            $$.get(url,query,function(res){
                $$('#feedbackDialog_captchaFrame').html(res);
            });
        },
        beforeclose: function(event, ui) {
            $$('.responseForm textarea',cD).each(function() {
                tinyMCE.execCommand('mceRemoveControl', false, $$(this).attr('id'));
            });
        },
        close : function () {
            $$('.responseText',cD).val("");
        }
    });
}
