var pageChanged = false;

var AJAX_LINKS_SELECTOR='a.bt-accept, a.bt-refuse, #gig-info-bt-split, a.request-to-split, a.bt-remove-guest';

var _handleRefreshCounters = function(obj){

    var updateMe=obj.parents('tr').find('.td-requests div');
    if (updateMe.length==1) {
        updateMe.text(1+parseInt(updateMe.text()));
    }

    updateMe=obj.siblings('p:first').children('span:first');
    if (updateMe.length==1) {
        updateMe.text(1+parseInt(updateMe.text()));
    }
}

var _handleRefreshDashboardBoxes = function(){
	$('#stats_box_container').load(ajaxUrls['stats_box']);
	$('#notifications_box_container').load(ajaxUrls['notifications_box']);
}

$(document).ready(function(){
    $(AJAX_LINKS_SELECTOR).click(function(){
        var wrapped=$(this);
        var acceptOrRemove=wrapped.hasClass('bt-accept') || wrapped.hasClass('bt-refuse') || wrapped.hasClass('bt-remove-guest');
        
        var urlToCall=wrapped.attr("href").substring(1);
        var wrappedParent=wrapped.parent();
        wrappedParent.html("<span class='spinner' />");
        jQuery.get(urlToCall, function(data, status){
            if (status=='success'){
                wrappedParent.html(data);
                _handleRefreshCounters(wrappedParent);
                
                if(acceptOrRemove){
                	_handleRefreshDashboardBoxes();
                }
            }
        });
    });
});


var AJAX_REMOVE_ELEMENT_SELECTOR='.delete-link';

$(document).ready(function(){
    $(AJAX_REMOVE_ELEMENT_SELECTOR).click(function(){
        var wrapped=$(this).parent().remove();
        pageChanged = true;
    });
});


$(document).ready(function(){
    $('#add-link').click(function(){
        var cloned=$('#add-link-form-row span').clone(true);

        var randomInt= Math.floor(Math.random()*1000000);

        cloned.children('select, input').each(function(){
            var wrapped=$(this);
            var id=wrapped.attr("id");
            wrapped.attr("id", id.replace("fake_id", randomInt));
            var name=wrapped.attr("name");
            wrapped.attr("name", name.replace("fake_id", randomInt));
        });

        var parent=$('#form-edit-links fieldset');
        parent.append(cloned);
        pageChanged = true;
    });
});


var CHANGE_AWARE_ELEMENT_SELECTOR='#form-edit-links select, #form-edit-links input';

$(document).ready(function(){
    $(CHANGE_AWARE_ELEMENT_SELECTOR).change(function(){
    	pageChanged = true;
    });
});

$(document).ready(function(){
    $('#form-edit-links button').click(function(){
    	pageChanged = false;
    });
});

window.onbeforeunload = function () {
   if(pageChanged){
      return i18n.unsaved_links;
   }
}


/* map radius select if any */
$(document).ready(function(){
    $('#search_radius').change(function(){
        $('#q_r').val($(this).val());
        $('#q_r').parents('form').submit();
    });
});

