var App = (function(){
  var action = true;

  return {

    'ajaxForm': function (form_id, success, error){
      var form = $(form_id);
      this.ajaxPost({
        url: form.attr('action'),
        data: form.serialize(),
        success: success,
        error: error,
        message: 'messages',
        jump: 'messages'
      });
    },

    'ajaxPost': function (data){
      //if(action == true){
        //action = false;
        $.ajax({
          url : data.url,
          type : 'POST',
          data : data.data,
          success : function(result, textStatus, jqXHR){
            if(result != ''){
              if(result.message && data.message)
                $('#'+data.message).html(result.message);
              if(data.jump)
                window.location.hash = data.jump;
            }
            if(data.success) data.success(result, textStatus, jqXHR);
          },
          error : function(jqXHR, status){
            if(data.error) data.error(jqXHR, status);
            if(data.message)
              $('#'+data.message).html(jqXHR.statusText);
          },
          complete : function(){
            action = true;
            $('a').click(function(){
            	$('#messages').html('');
            });
          }
        });
      //}
    },

    'deleteYesNo':function(current){
    	var tag = $(current).parent();
        if($(tag).find('.yes-no').css('display') == 'none'){
            $(tag).find('.delete').hide();
            $(tag).find('.yes-no').show();
        } else {
            $(tag).find('.yes-no').hide();
            $(tag).find('.delete').show();
        }
        return false;
    },

    'NumChangeInputField':function(box){
        if ( box.value.length == 3) {
            if($(box).attr('name')== 'number1_area'){
                $(box).parent().find('#number1_part1').focus().select();
            }
            else if ($(box).attr('name')== 'number1_part1'){
                $(box).parent().find('#number1_part2').focus().select();
            }

            if($(box).attr('name')== 'number2_area'){
                $(box).parent().find('#number2_part1').focus().select();
            }
            else if($(box).attr('name')== 'number2_part1'){
                $(box).parent().find('#number2_part2').focus().select();
            }

            if($(box).attr('name')== 'number3_area'){
                $(box).parent().find('#number3_part1').focus().select();
            }
            else if($(box).attr('name')== 'number3_part1'){
                $(box).parent().find('#number3_part2').focus().select();
            }
        }

        return false;
    },
    
    'deleteYesNoAsk': function(current, question) {
        var tag = $(current).parent();
        if($(tag).find('.yes-no').css('display') == 'none'){            	
            $(tag).find('.delete').hide();
            if (question === undefined || question === null) 
            	question = $(tag).find('.delete').html();
        	$(tag).find('.delete').after('<span>'+question+'?&nbsp;</span>');
            $(tag).find('.yes-no').show();
        } else {
            $(tag).find('.yes-no').hide();
            $(tag).find('span').remove();
            $(tag).find('.delete').show();
        }
        return false;
    },  
    
    'clearYesNoAsk': function(current) {
    	 var tag = $(current).parent();    	
    	 if ($(tag).find('.delete').length) 
    		 $(tag).find('.delete').remove();
    	 if ($(tag).find('.yes-no').length) 
    		 $(tag).find('.yes-no').remove();
    	 if ($(tag).find('span').length) 
    		 $(tag).find('span').remove();
    	 return false;
    },
    
    'clearMe': function(current) {
    	$(current).val('');
    	return false;
    },
    
    'clearMeOnce': function(current) {    	
    	$(current).one("click", function() {
    		$(current).val('');
    	});    	
    	return false;
    },
    
    'msgErr': function(action) {
    	if (action == 'show') {
    		$('#error_home').show();
    	}
    	else {
    		$('#error_home').hide();
    	}    	
    	
    },
    
    'remove_avatar': function(current, typ, avatar, contact_id) {
    	
  	   App.ajaxPost({
  		   url: '/'+typ+'/removeAvatar',     		   
  		   data: {
    		  	type: typ,
     			avatar_to_remove: avatar,
     			contact_id: contact_id
            },               
            success: function(data) {
         	   App.deleteYesNoAsk(current); 
         	   if (data['remove_avatar'] == 'true') {         		   
         		   App.clearYesNoAsk(current);          		   
          		   if (contact_id === undefined) {
          			 var parent = $('.reload').parent();
          			 $('.reload').attr('src','/img/avatars/default_avatar.png');
          			
          		   }
          		   else {
          			 $('.reload').attr('src',data['avatar_to_show']);
          			 $('#'+contact_id).attr('src',data['avatar_to_show']);
          		   }          		  
         	   }
            },
            message: 'messages',
            jump: 'messages'
  	   });
  	   
  	   return false;
      },
      
      'hide_messages': function(message_box){
          $(message_box).find('ul').delay(5000).slideUp(800);
          $(message_box).find('li').delay(5000).slideUp(800);
      },
      'changeColor':function(box){
          if ($(box).attr('color')=='#C0C0C0') {$(box).css('color','#333333');}
          else $(box).attr('color','#C0C0C0');
      },
      'removeVal':function(box){
          $(box).find('.gray').remove();
      },
      
      'send_welcome_email': function(user)
	{
   	   App.ajaxPost({
  		   url: '/admin/users/send_welcome_email',     		   
  		   data: {
   		   	id: user
            },
            message: 'messages',
            jump: 'messages'
  	   });
  	   
  	   return false;
    },
    
    'sidebar_toogle': function(div)
    {
        if(div == '1'){
            if($('#local-numbers').css('display') == 'none'){
                $('#local-numbers').show('blind');
                if($('#touch-controls').css('display') != 'none')$('#touch-controls').hide('blind');
                if($('#video_tutorials').css('display') != 'none')$('#video_tutorials').hide('blind');
            } else{
                $('#local-numbers').hide('blind');
            }
        } else if(div == '2')
        {
            if($('#touch-controls').css('display') == 'none'){
                $('#touch-controls').show('blind');
                if($('#local-numbers').css('display') != 'none')$('#local-numbers').hide('blind');
                if($('#video_tutorials').css('display') != 'none')$('#video_tutorials').hide('blind');
            } else {
                $('#touch-controls').hide('blind');
            }
        }else{
            if($('#video_tutorials').css('display') == 'none'){
                $('#video_tutorials').show('blind');
                if($('#local-numbers').css('display') != 'none')$('#local-numbers').hide('blind');
                if($('#touch-controls').css('display') != 'none')$('#touch-controls').hide('blind'); 
            }else{
                $('#video_tutorials').hide('blind');
            }
        }
        setTimeout('App.content_inner()', 230);
    },

    'content_inner': function(){
         $('#content_inner').css('min-height',$('#sidebar').css('height'));
    }

  };
})();

