function performCallBack(ids) {
    var returnId = document.getElementById('link_id');
    var openerElement = opener.document.getElementById(returnId.value);

    openerElement.selectFileCallback(ids);
    self.close();
    return false;
}

function submitMultiSelect() {
    var ids = document.getElementById('selected_files').value;
    performCallBack(ids);
}

function pageLinksCallback(newUrl, pageNumber) {
    var qsKey = '&selectedFiles=';
    var selectedFilesField = document.getElementById('selected_files');

    if (newUrl.indexOf(qsKey) != -1 ) {
        //contains the key, now we gotta cut up the query string, some ugly stuff goin on here
        var url = newUrl.split(qsKey);
        url[1] = url[1].substring(url[1].indexOf('&'));
        newUrl = url[0] + url[1];
    }

    if (selectedFilesField == null) {
        window.location = newUrl;
    } else{
        window.location = newUrl + '&selectedFiles=' + selectedFilesField.value;
    }
}