function success(message) {
  $("#loading").hide();
  $("#error").hide();
  var ok = $("#ok");
  ok.empty();
  ok.append("<b>"+message+"</b>");
  ok.hide();
  ok.slideDown("slow");
  setTimeout("$('#ok').hide('slow');",3000);
}

function error(request) {
  $("#loading").hide();
  var error = $("#error");
  var responseText = request.responseText;
  $("#ok").hide();
  error.hide();
  error.empty();
  error.append('<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">'
                        + '<p><b><a href="#" onclick="$(\'#error\').hide(\'slow\');return false;">Clear.</a></b></p>'
                        + '<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>'
                        + '<strong>'
                        + request.statusText
                        + ' ('
                        + request.status
                        + '). </strong>'
                        + responseText + '</p></div>');
  error.slideDown("slow");
}

function saveMenu(arg) {
  var menu = $('#menu_textarea').val();
  $.ajax({
    url: "/menu/save",
    data: menu,
    type: "POST",
    contentType: "text/xml",
    processData: false,
    success: function(data) {
      success('Menu is saved.');
    },
    error : function(request) {
      error(request);
    }
  });
}

function displayErrors(errors) {
  errors.each(function(i, v){
    var id = $(v).attr("id");
    var code = $(v).attr("code");
    var msg = $(v).attr("msg");
    if(code == "mandatory") {
	  $("#"+id+"-error").append("Pflichtfelder.");
    } else {
	  $("#"+id+"-error").append(msg);
    }
  });
}

function registerForm(id, obj) {
 $('#'+id).live('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
            if(obj != null && typeof obj.failure == "function"){
              obj.failure();
            }
          } else {
	        var form = $('#'+id);
            form.parent().append($(response).text());
	        form.remove();
            if(obj != null) {
              obj.success();
            }
          }
        },
        error: function(response) {
          alert("An internal error happened.");
        }
      });
 });	
 /* $(document).ready(function(){
    $('#'+id).live('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
          } else {
	        var form = $('#'+id);
            form.parent().append($(response).text());
	        form.remove();
            if(obj != null) {
              obj.success();
            }
          }
        },
        error: function(response) {
          alert("An internal error happened.");
        }
      });
 //   });	
  });*/
}

function registerAJAXForm(id) {
  $(document).ready(function(){
    $('#'+id).bind('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
          } else {
            success($(response).text());
            $("#"+id+"-dialog").dialog('close');
          }
        },
        error: function(response) {
          error(response);
        }
      });
    });	
  });
}

function registerEditInvoiceForm(id) {
  $(document).ready(function(){
    $('#'+id).bind('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
            $('#loader').hide();
          } else {
            success($(response).text());
            $('#loader').hide();
          }
        },
        error: function(response) {
          error(response);
        }
      });
    });	
  });
}

function registerDashboardForm(id, obj) {
    $('#'+id).live('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
          } else {
	        //var form = $('#'+id);
            //form.parent().append($(response).text());
	        //form.remove();
            if(obj != null) {
              obj.success();
            }
          }
        },
        error: function(response) {
          alert("An internal error happened.");
        }
      });
    });	
}

function registerCheckoutForm(id, obj) {
 // $(document).ready(function(){
  $('#'+id).die();  
  $('#'+id).live('submit', function(e){
      $("#error").hide();
      $(".field-error").empty();
      e.preventDefault();
      $(this).ajaxSubmit({
        success: function(response) {
          var errors = $(response).find("error");
          if(errors.length != 0) {
            displayErrors(errors);
          } else {
	        nextStep();
	        //var form = $('#'+id);
            //form.parent().append($(response).text());
	        //form.remove();
            if(obj != null) {
              obj.success();
            }
          }
        },
        error: function(response) {
          alert("An internal error happened.");
        }
      });
    });	
  //});
}

function newPage() {
  var id = window.prompt("Please enter a page URL (starts with /):");
  if (id!=null && id!="") {
    $.ajax({
      url: "/pages/create?id=" + id,
      type: "POST",
       success: function(data) {
         success(id+' has been created.');
         $("#select-pages")
           .append("<option onclick='javascript:loadPage($(this).text());'>"+id+"</option>");
       },
       error : function(request) {
         error(request);
       }      
    });
  }
}

function deletePage() {
  var id = $($('select option:selected')[0]).text();
  if (confirm("Are you sure you want to delete "+id+"?")) {
   $.ajax({
     url: "/pages/delete?id="+id,
     type: "POST",
     success: function(data) {
       success(id+' has been deleted.');
       $("#select-pages option").each(function(i, v){
         if($(v).text() == id){
           $(v).remove();
         }
       });
       $('#page-editor').val($('<div />').text());
     },
     error : function(request) {
       error(request);
     }     
   });
  } else alert('You selected Cancel');
}

function loadPage(id) {
  $.get('/pages/get?page='+id, function(data) {
    $('#page-editor').val(data);
  });
}
        
        function savePage() {
          var id = $($('select option:selected')[0]).text();
          var content = $('#page-editor').val();	
          $.ajax({
            url: "/pages/save?id=" + id,
            data: content,
         type: "POST",
         contentType: "text/html",
        processData: false,
            success: function(data) {
              success(id+' is saved.');
            },
            error : function(request) {
              error(request);
            }
          });
        }
        
function loadTab(tab) {
  $.get('/'+tab+'/admin', function(data) {
    $('#tab-content').empty();
    $('#tab-content').append(data);
  });
}

function emptyDialogs() {
  $(".dialog").each(function(k, v){
    $(this).children().remove();
  });
};

function loadHTML(url, container, obj) {
  $.get(url, function(data) {
    container.append(data);
    if(jQuery.isFunction(obj)) obj();
  });
}    

function newsletterSubscription() {
	var anrede   = encodeURIComponent($("select[name='anrede'] option:selected").attr("value"));
	var vorname  = encodeURIComponent($("input[name='vorname']").val());
	var nachname = encodeURIComponent($("input[name='nachname']").val());
	var email    = encodeURIComponent($("input[name='email']").val());
	var agreed   = encodeURIComponent($("input:checked[name='agreed']").val());
    $(".nl-error").each(function (k, v){
      $(this).attr("style", "color:#7a7a7a;");
    });
	if(agreed == "on") {
      $.ajax({
        url: "/newsletter/subscribe?anrede="+anrede+"&vorname="+vorname+"&nachname="+nachname+"&email="+email+"&agreed=1",
        type: "POST",
        success: function(response){
	      var errors = $(response).find("error");
          if(errors.length != 0) {
            displayNewsletterErrors(errors);
          } else {
            $("#abo > .content-bar").replaceWith("<b>Eintragen erfolgreich</b>");
            //success($(response).text());
            //$("#"+id+"-dialog").dialog('close');
          }
	    },
        error: function(){ alert("An Unexpected error happened in the system"); }
	  });
    } else {
	  alert("In order to register to our mailing-list, you must agree to the conditions and terms of agreement.");
    }
}

function displayNewsletterErrors(errors) {
  errors.each(function(i, v){
    var id = $(v).attr("id");
    var code = $(v).attr("code");
    var msg = $(v).attr("msg");
	$("#"+id+"-error").attr("style", "color:red;");
  });
}

function loadEditors() {
        var editors = CKEDITOR.instances;
        $(['content', 'certificate', 'description', 'fee', 'lecturers', 'schedules', 'requirements']).each(function(k, v){
         delete editors[v];
         CKEDITOR.replace( v,
    {
        toolbar :
        [
    ['Source','-','NewPage','Preview','-','Templates'],
    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
    ['BidiLtr', 'BidiRtl'],
    '/',
    ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    ['Link','Unlink','Anchor'],
    ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
    '/',
    ['Styles','Format','Font','FontSize'],
    ['TextColor','BGColor'],
    ['Maximize', 'ShowBlocks','-','About']
        ]
    });
         //$('#'+v).ckeditor();
        });
}

function closeoverlay() {
$("#demolayerback").remove();
$("#demolayer").remove();
$("#player").show();
}

function showDemo() {
$("#player").hide();
var video = '<video class="video-js" width="542" height="326" controls preload autoplay><source src="http://cdn.ubivent.com/sma/smademoekoehler.mp4" type="video/mp4" /><source src="http://cdn.ubivent.com/sma/smademoekoehler.webm" type="video/webm" /><source src="http://cdn.ubivent.com/sma/smademoekoehler.ogg" type="video/ogg" /><object id="flash_fallback_1" class="vjs-flash-fallback" width="542" height="326" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"><param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" /><param name="allowfullscreen" value="true" /><param name="flashvars" value=\'config={"playlist":[{"url": "http://cdn.ubivent.com/sma/smademoekoehler.mp4","autoPlay":true,"autoBuffering":true}]}\' /></object></video>';
	$("body").append('<div id="demolayerback" style="width: 100%; height: 100%; opacity: 0.8; background-color: black;position:absolute;left: 0px; top: 0px;z-index: 20001;"></div><div style="background-color: white;padding:8px;z-index:20001;width:542px;height:360px;margin-left:auto;margin-right:auto;opacity:1;top:100px;position:absolute;margin-bottom:auto;" id="demolayer"><a href="javascript:closeoverlay()" style="align:right">(x)</a><br />'+video+'<br /><br />Zum Starten in der Lernplattform bitte <a href="http://jnlp.ubivent.com/jnlp/email=guest@socialmediaakademie.de/token=-guestsma/startscreen=smaenter.png/eventid=16">hier</a> klicken (<a href="http://www.socialmediaakademie.de/seminar/basis-lehrgang-social-media/technische-voraussetzungen">Systemvoraussetzungen</a>).</div>');
$("#demolayer").css("left",($(document).width()/2-272));
}

if(document.location.pathname=="/sma-im-web") {
  var fileref=document.createElement('script');
  fileref.setAttribute("type","text/javascript");
  fileref.setAttribute("src", "https://d1mhikgixrkm5n.cloudfront.net/sma/web/jquery.jgfeed-min.js");
  document.getElementsByTagName("head")[0].appendChild(fileref);
}

$('#tab1 div div div ul li a img').css("border", "5px solid darkgray");
if(document.location.pathname=="/sma-im-web") {
  $.jGFeed('http://community.socialmediaakademie.de/noeo/modules/rsspage.php?feedtype=rss2%26p=3%26lang=1',
function(feeds){
  // Check for errors
  if(!feeds){
    // there was an error
    return false;
  }
  var str = "";
  // do whatever you want with feeds here
  for(var i=0; i<feeds.entries.length; i++) {
    var entry = feeds.entries[i];
    // Entry title
    str = str + '<a href="'+entry.link+'">'+entry.title+':</a> '+entry.content.substring(0,80)+'<br/><hr /><br/>';
  }
  $('#blog').html('<div style="padding: 5px; width: 300px">'+str+"</div>");
}, 8);
}
