/* base64encoding for long names with spaces */
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf(" chrome/") >= 0 || ua.indexOf(" firefox/") >= 0 || ua.indexOf(' gecko/') >= 0) {
    var StringMaker = function () {
        this.str = "";
        this.length = 0;
        this.append = function (s) {
            this.str += s;
            this.length += s.length;
        }
        this.prepend = function (s) {
            this.str = s + this.str;
            this.length += s.length;
        }
        this.toString = function () {
            return this.str;
        }
    }
} else {
    var StringMaker = function () {
        this.parts = [];
        this.length = 0;
        this.append = function (s) {
            this.parts.push(s);
            this.length += s.length;
        }
        this.prepend = function (s) {
            this.parts.unshift(s);
            this.length += s.length;
        }
        this.toString = function () {
            return this.parts.join('');
        }
    }
}

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
    var output = new StringMaker();
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;

    if (input == 'undefine') {
        return false;
    }

    while (i < input.length) {
        chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);

        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;

        if (isNaN(chr2)) {
            enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
            enc4 = 64;
        }

        output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
   }
   return output.toString();
}
/* base64encoding for long names with spaces end*/

function setlogo()
{
  var logourl = $("#requestevent_logourl").val();
  var groupid = $("#requestevent_groupid").val();

    $.get( "/group/setlogo",
        {"logourl":(logourl),
          "groupid":(groupid)},
    function(response) {
      response = eval('(' + response + ')');
      if(response.status == 'success'){
        $("#bandsuccess").html(response.message);
        $("#banderror").html('');
        $("#venuelogo").html('<img src="' + response.src + '">');
      }
	  else if(response.status == 'fail')
	  {
        $("#banderror").html(response.message);
		$("#bandsuccess").html('');
      }
    }
  );
}

jQuery(document).ready(function($) 
{
  $("#checkGroup").click(function() 
  {
	if($("#example").val() != "")
	{
      $("#groupname").val($("#example").val());
	  $.ajax({
        type: "POST",
        url: "/group/requestevent",
        data: ({
                group_name : $("#example").val()
              }),
        dataType : "json",
        async: false,
        success: function (data, textStatus){
		  if(data['success'])
		  {
            $('#setGroup').hide();
            $('#selestedUser1').html(data['success']);
            $('#setUser').show();
          }
          else if (data['nousers'])
		  {
            $('#setGroup').hide();
            $('#selestedUser1').html(data['nousers']);
            /* change button to add user */
              $('#checkUser').hide();
              $('#addNewUserSpan').show();
            /* change button to add user */
            $('#setUser').show();
          }
          else if(data['error'])
		  {
            jQuery.facebox({ajax: '/group/registerband?groupname='+data['groupname']});
          }
        }
      });
    }
    else
	{
	  $("#error1").show().fadeOut(10000);
    }
  })

    $("#checkUser").click(function() {
        if($("#user_pass").val() != "" && $("#group_users").val() != "" )
        {
            $.ajax({
                type: "POST",
                url: "/group/requestevent",
                data: ({
                    group_user : $("#group_users").val(),
                    password   : $("#user_pass").val()
                }),
                dataType : "json",
                async: false,
                success: function (data, textStatus)
                {
                    if(data['success'] == true)
                    {   $('#groupInfo').hide();
                        //$('#groupInfo').load('/group/loadgroupinfo?group_name='+encode64($("#groupname").val())).show();
                        $.get("/group/loadgroupinfo?bandrequest=true&group_name="+encode64($("#groupname").val()), function(data){
                           $('#groupInfo').html(data).show();
                        });
                        $('#registered').val(1);
                        $('#groupUsers').load('/group/showusers?bandrequest=true&group_name='+encode64($("#groupname").val())).show();
                        $('#bandbaseInfo').load('/group/bandbase?bandrequest=true&group_name='+encode64($("#groupname").val()));
                        $('#setGroup').remove();
                        $('#setUser').remove();
                    }
                    else {
                        $("#error").text(data['error']).show().fadeOut(10000);
                    }
                }
            });
        }
        else
        {
            $("#error1").show().fadeOut(10000);
        }
    });

  $("#cancelUser").click(function() 
  {
    $('#checkUser').show();
    $('#addNewUserSpan').hide();
    $('#selestedUser1').html("");
    $('#setUser').hide();
    $('#setGroup').show();
  })

  /* remindPassword */
  $("#remindPassword").click(function() 
  {
    if($("#group_users").val() != "" )
	{
      $('#remindButton').hide();
      $('#load').show();
	  $.ajax({
        type: "POST",
        url: "/group/requestevent",
		data: ({
                group_user_remind : $("#group_users").val()
              }),
        dataType : "json",
        async: false,
		success: function (data, textStatus) {
		  if(data['success']) {
			$("#success").text(data['success']).show().fadeOut(10000);
          }
          else if(data['error']) {
            $("#error").text(data['error']).show().fadeOut(10000);
          }
        }
      });
      $('#remindButton').show();
      $('#load').hide();
    }
    else {
      $("#error1").show().fadeOut(10000);
    }
  });

  /* add new user */
  $("#addNewUser").click(function() {
    jQuery.facebox({ajax: '/user/addfromrequestevent?groupname='+$("#groupname").val()});
  });
  /* add new user */
})
