$(function(){
    
});
function addListeners(parentObj){
    parentObj.find('table.defaultList tr').hover(function(){$(this).addClass('hover')}, function(){$(this).removeClass('hover');});
    parentObj.find('table.defaultList td span.checkBox').click(function(){if($(this).hasClass('checkBoxChecked'))$(this).removeClass('checkBoxChecked'); else $(this).addClass('checkBoxChecked');});
    parentObj.find('table.defaultList th span.checkBox').click(function(){if($(this).hasClass('checkBoxChecked')){$('.checkBox').removeClass('checkBoxChecked');} else $('.checkBox').addClass('checkBoxChecked');});
    editExistingRecord(parentObj);
    deleteExistingRecords(parentObj);


    parentObj.find('table.defaultList').find('a.ajaxContent').click(function(){
            if(this.href.length){
                var currentObject = this;
                var trParinte = $(currentObject).parents('tr');
                if(trParinte.hasClass('trParent')){
                    trParinte.next('tr').remove();
                    trParinte.removeClass('trParent');
                    if(trParinte.attr('rel').length && trParinte.attr('rel')==currentObject.href)
                        return false;
                }
                $.get(currentObject.href , function(content){
                    var nr = trParinte.find('td').length;
                    var htmlString = '<tr class="child"><td class="hasChildren" colspan="'+nr+'">'+content+'</td></tr>';
                    trParinte.addClass('trParent').attr('rel', currentObject.href).after(htmlString);
                    addListeners(trParinte.next('tr'));
                });
            }
            return false;
    });
}

function getCurrentBaseAddress(obj){
    var address = obj.attr('href');
    return HTTP_ADDRESS+'/'+address.replace(HTTP_ADDRESS,'').split('/')[1];
}

function editExistingRecord(parentObj){
    parentObj.find('a.editRecord').click(function(){
        var objs = $('td.checkBoxWrapper span.checkBoxChecked');
        if(!objs.length){
            displayMessage("No records selected.", true);
            return false;
        }
        if(objs.length==1){
            var url = getCurrentBaseAddress($(this))+'/edit/primary/'+objs.get(0).id;
            document.location = url;
        }else{
            var url = '';
            for(i=0;i<objs.get().length;i++){
                url = getCurrentBaseAddress($(this))+'/edit/primary/'+objs.get(i).id;
                window.open(url);
            }
        }
        return false;
    });
}
function deleteExistingRecords(parentObj){
    parentObj.find('a.removeRecords').click(function(){
        var objs = $('td.checkBoxWrapper span.checkBoxChecked');
        if(!objs.length){
            displayMessage("No records selected.", true);
            return false;
        }
        if(objs.length==1){
            confirmSubmit("Are you sure you want to delete this record?", url);
        }else{
            var url = getCurrentBaseAddress($(this))+'/delete/primary/';
            var ids = '';
            for(i=0;i<objs.get().length;i++){
                ids += ','+objs.get(i).id;
            }
            confirmSubmit("Are you sure you want to delete this records?", url+ids.substring(1));
        }
        return false;
    });
}

function requestEmailContent(url){
    var htmlString = '<div><form action="'+url+'" method="post">';
    htmlString += '<input type="hidden" name="do_action" value="yes" />';
    htmlString += 'Email subject:<br /><input style="width:500px;height:20px; border:1px solid #EAEAEA;" type="text" name="emailSubject" value="" /><br />';
    htmlString += 'Your message:<br /><textarea style="width:500px;height:200px; border:1px solid #EAEAEA;" name="emailContent"></textarea>';
    htmlString += '<span><input type="submit" name="Send email" /></span>';
    htmlString += '</form></div>';
    messageBox(htmlString, 'Send message', '530x350');
}
