// JScript File containing catalogue search functions
function drawDetailsTabScrolls() {
    $(function() { $('#Details1').jScrollPane({ showArrows: true }); });
    $(function() { $('#Details2').jScrollPane({ showArrows: true }); });
    $(function() { $('#Details3').jScrollPane({ showArrows: true }); });
}
//once the search results are returned in the left hand pane
//we call this function which runs the AttachContextMenu in loop
//to attach context menu with all of the elements in divresultscontainer
////////////////////////////////////////////////////////////////////////
function AttachMenuToAllItems(ContainerDiv, type) {
    var objContainer = document.getElementById(ContainerDiv);
    for (var i = 0; i < objContainer.childNodes.length; i++) {
        AttachContextMenu(objContainer.childNodes[i].id, type);
    }
}

//to attach a custom context menu to a div element
//the menu should be on the page itself using <ul><li>Menu A</li></ul> structure & style="display:none"
function AttachContextMenu(divID, type) {
    $('#' + divID).contextMenu('myMenu1', {
        menuStyle: { border: '1px solid #C3C3C3', width: '100px', listStyle: 'none', padding: '1px', margin: '1px' },
        itemStyle: { display: 'block', fontFamily: 'verdana', backgroundColor: '#fff', color: 'black', border: 'none', padding: '1px' },
        itemHoverStyle: { color: '#fff', backgroundColor: '#D4D4FF', border: 'none', cursor: 'pointer' }
    });
    $('#' + divID).contextMenu('myMenu1', {
        bindings: { 'mplay': function(t) {
            getPlayData(t.id.slice(3, t.id.length));
        },
            'mdetails': function(t) { loadDetails(t.id.slice(3, t.id.length)); }
}
        });
    }
    //this function is in the wrong file!!!
    function showrenewalMessage(renewalDate, expiryType) {
        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=renewmsg' + '&expiryType=' + expiryType,
            success: function(response) { $(response).modal({}); }
        });
    }
    //this function is in the wrong file!!!
    function showReqListMessage(renewalDate, expiryType) {
        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=reqlistMsg',
            success: function(response) { $(response).modal({}); }
        });
    }
    //this function is repeadtly called when a user select or
    //removes a filter, to keep the menu in sync with the filters selected
    function generatesearchMenu(pageType) {
        var filters = document.getElementById('divSearchFilters');
        var keystage = '';
        var subject = '';
        var suitableage = '';
        var genre = '';

        for (var i = 0; i < filters.childNodes.length; i++) {
            var itemTextMain = getInnerText2(filters.childNodes[i]);
            itemText = itemTextMain.slice(0, itemTextMain.indexOf(":"));

            if (itemText == "Subject") {
                subject = "&sb=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Subject') { subject = '&sb=0'; }
            }
            else if (itemText == "KS") {
                keystage = "&ks=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Key stage') { keystage = '&ks=0'; }
            }
            else if (itemText == "Age") {
                suitableage = "&sa=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Age') { suitableage = '&sa=0'; }
            }
            else if (itemText == "Genre") {
                genre = "&genre=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
            }
        }
        //check if the watermark text is in the keyword textbox then ignore it
        var keyword = '';
        keyword = document.getElementById('txtKeyword').value;
        if (keyword == 'Title, Author, Synopsis') {
            keyword = '';
        }

        //isCD and isStream filters checkbox's values
        if (document.getElementById('cd') !== null)
            var isCD = document.getElementById('cd').checked;
        if (document.getElementById('so') !== null)
            var isStream = document.getElementById('so').checked;
        if (document.getElementById('to') !== null)
            var isTape = document.getElementById('to').checked;
        if (document.getElementById('nw') !== null)
            var isNew = document.getElementById('nw').checked;
        if (document.getElementById('do') !== null)
            var isDl = document.getElementById('do').checked;            

        
        if (keyword == undefined) { keyword = ''; }
        if (isCD == undefined) { isCD = 'false'; }
        if (isStream == undefined) { isStream = 'false'; }
        if (isTape == undefined) { isTape = 'false'; }

        //fill up the fields variable with filters data
        var fields = "&kw=" + keyword + subject + keystage + suitableage + genre + '&cd=' + isCD + '&so=' + isStream + '&to=' + isTape + '&nw=' + isNew+'&do='+ isDl;

        //once the filters are selected, send an Ajax request to getrecords.aspx
        //providing filters data to be applied on Re-Generation of Search Menus using where clause
        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=generateMenu' + fields + '&PageType=' + pageType + '&avoidcache=' + myTimestamp(),
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else {
                    var menuHolder = document.getElementById('searchmenuHolder');
                    DeleteChildNodes(menuHolder);
                    menuHolder.innerHTML += response;
                }
            }
        });
    }
    //main function that runs the search in the search pane, using selected filters
    //if available
    function getData(pageType, bookNumber, start, end, pageNumber) {

        

       //final check to see if there is any -gative value carried over
        if (start < 0 || end < 0) { start = 0; end = 10; pageNumber = 1; }

        //get the page limit filter value
        var psSelect = document.getElementById('pageSize');
        end = psSelect[psSelect.selectedIndex].value * 10;

        document.getElementById('pagerNumber').value = pageNumber;
        var filters = document.getElementById('divSearchFilters');

        var keystage = ''; var subject = '';
        var suitableage = ''; var genre = ''; var Duration = '';

        for (var i = 0; i < filters.childNodes.length; i++) {
            var itemTextMain = getInnerText2(filters.childNodes[i])
            itemText = itemTextMain.slice(0, itemTextMain.indexOf(":"));

            if (itemText == "Subject") {
                subject = "&sb=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Subject') { subject = '&sb=0'; }
            }
            else if (itemText == "KS") {
                keystage = "&ks=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Key stage') { keystage = '&ks=0'; }
            }
            else if (itemText == "Age") {
                suitableage = "&sa=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                if (itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length) == 'No Age') { suitableage = '&sa=0'; }
            }
            else if (itemText == "Genre") {
                genre = "&genre=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
            }
            else if (itemText == "Duration") {
                Duration = "&db=" + itemTextMain.slice(itemTextMain.indexOf(":") + 2, itemTextMain.length).replace('&', '%26');
                Duration = Duration.replace('+', '%2B');
            }
        }

        //check if the watermark text is in the keyword textbox then ignore it
        var keyword = document.getElementById('txtKeyword').value;
        if (keyword == 'Title, Author, Reader, Synopsis')
            keyword = '';

        //isCD, isStream, isTape & isNew filters checkbox's values
        if (document.getElementById('cd') != null)
            var isCD = document.getElementById('cd').checked;
        if (document.getElementById('so') != null)
            var isStream = document.getElementById('so').checked;
        if (document.getElementById('to') != null)
            var isTape = document.getElementById('to').checked;
        if (document.getElementById('do') != null)
            var isDownload = document.getElementById('do').checked;            
        if (document.getElementById('nw') != null)
            var isNew = document.getElementById('nw').checked;

        if (keyword == undefined) { keyword = ''; }
        if (isCD == undefined) { isCD = 'false'; }
        if (isStream == undefined) { isStream = 'false'; }
        if (isDownload == undefined) { isDownload = 'false'; }
        if (isTape == undefined) { isTape = 'false'; }

        //fill up the fields variable with filters data
        var fields = "&kw=" + keyword + subject + keystage + suitableage + genre + Duration + '&cd=' + isCD + '&so=' + isStream + '&to=' + isTape + '&do=' + isDownload + '&nw=' + isNew;
        fields = fields + '&startrow=' + start + '&endrow=' + end;

        //set the loader icon on screen
        setLoadingicon('divResultsContainer');

        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=Search' + fields + '&PageType=' + pageType + '&avoidcache=' + myTimestamp(),
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else {
                    DeleteChildNodes(document.getElementById('divResultsContainer'));
                    var container = document.getElementById('divResultsContainer');
                    container.innerHTML = response;

                    //display the total results message
                    var txt = 'Total: ' + getInnerText2(document.getElementById('total')).match(/[\d\.]+/g)[0] + ' audiobooks';

                    setInnerText(document.getElementById('srchCountLabel'), txt);

                    var recordNumber = getInnerText2(document.getElementById('total'));
                    recordNumber = parseFloat(recordNumber / end) + '';
                    var chk = recordNumber.indexOf('.');

                    //fix the float result rounding up to the next number
                    if (chk != -1) {
                        recordNumber = recordNumber.slice(0, recordNumber.indexOf('.'));
                        recordNumber = (parseFloat(recordNumber) + 1) + '';
                    }
                    setInnerText(document.getElementById('totalPagenum'), recordNumber);

                    drawScrollBar();

                    //attach context menu to the result items depending on the number of tabs
                    var tabChk = document.getElementById('fragment-1');
                    if (tabChk != null)
                        AttachMenuToAllItems('divResultsContainer', '1');
                    else
                        AttachMenuToAllItems('divResultsContainer', '2');
                }
            }
        });

        //set global page number to 1 after a new search
        globalPageNumber = '1';

        //create the menu again to get the new filter applied in where clause
        generatesearchMenu(pageType);

        //if the value in end is 0 then is an unlimited page filter
        //so we need to hide pager functionalities
        if (end == 0) { document.getElementById('pagerContents').style.display = 'none'; }
        else { document.getElementById('pagerContents').style.display = 'inline-block'; }
    }

    //clear all the search fields
    function resetSearch(pageType) {
        DeleteChildNodesByID('divSearchFilters');
        $('#txtKeyword').value = '';
        //If the checkbox exists remove the checked attribute - i.e. uncheck it
        if ( $("#cd").length > 0 ) { $("#cd").removeAttr("checked");}
        if ( $("#so").length > 0 ) { $("#so").removeAttr("checked");}
        if ( $("#to").length > 0 ) { $("#to").removeAttr("checked");}
        if ( $("#do").length > 0 ) { $("#do").removeAttr("checked");}
        if ( $("#nw").length > 0 ) { $("#nw").removeAttr("checked");}
        setWatermark('txtKeyword', 'Title, Author, Synopsis', 'reset');
        generatesearchMenu(pageType);
        getData(pageType, '', '0', '10', '1');
    }

    function addsearchFilter(itemText, pageType) {

        var filterContainer = document.getElementById('divSearchFilters');
        //return if the maximum number of filters [4] are being applied
        if (filterContainer.childNodes.length > 3) { return; }
        //otherwise create the filter div using search menu li item text
        var divID = itemText.slice(0, itemText.indexOf(":"));

        //return if the selected filter is already there
        for (var i = 0; i < filterContainer.childNodes.length; i++) {
            if (filterContainer.childNodes[i].id == divID) { return; }
        }
        var divFilter = document.createElement('div');

        //set the filter div class
        setClass(divFilter, 'divfilter');

        var title = document.createTextNode(itemText);

        //create the close button for the filter div removal
        var divRemove = document.createElement('div');
        setClass(divRemove, 'FilterClose');
        var func = new Function(" $('#" + divID + "').fadeOut('slow'); DeleteMe('" + divID + "'); getData('" + pageType + "', '', '0', '10', '1');");
        AddEvent(divRemove, 'click', func);

        divFilter.appendChild(title);
        divFilter.appendChild(divRemove);
        divFilter.setAttribute("id", divID);
        document.getElementById('divSearchFilters').appendChild(divFilter);
        $("#" + divID).fadeIn("slow");

        //re-run the search again using newly applied filter
        getData(pageType, '', '0', '10', '1');
    }

    //paging of the search results depending on the updateType 
    //i.e: first, previous, next, last page
    //////////////////////////////////////////////////////////
    var globalPageNumber = '1';
    function pageUpdate(updateType, pageType) {

        var start = '0', pageNumber = '1';
        var psSelect = document.getElementById('pageSize');
        var currPage = document.getElementById('pagerNumber').value;
        var totalPage = parseInt(getInnerText2(document.getElementById('totalPagenum')));
        var isValid = false;

        //if page number less then 1 is requested go to first page
        if (currPage < 1) { getData(pageType, '', '0', '10', '1'); return; }
        if (currPage > totalPage) { getData(pageType, '', '0', '10', '1'); return; }

        if (updateType == 'First') { start = '0'; pageNumber = '1'; globalPageNumber = '1'; }
        if (updateType == 'Previous' && currPage != '1' && parseInt(document.getElementById('pagerNumber').value) > 1) {
            start = (document.getElementById('pagerNumber').value * (10 * psSelect[psSelect.selectedIndex].value)) - (20 * psSelect[psSelect.selectedIndex].value);
            pageNumber = (parseInt(document.getElementById('pagerNumber').value) - 1) + '';
            globalPageNumber = pageNumber;
        }

        if (updateType == 'Next' && currPage != totalPage) {
            start = (((parseInt(document.getElementById('pagerNumber').value) + 1) * psSelect[psSelect.selectedIndex].value) - psSelect[psSelect.selectedIndex].value) * 10;
            globalPageNumber = parseInt(document.getElementById('pagerNumber').value) + 1 + '';
            pageNumber = (parseInt(document.getElementById('pagerNumber').value) + 1) + '';
            globalPageNumber = pageNumber;
        }
        if (updateType == 'Last') {
            start = ((totalPage * psSelect[psSelect.selectedIndex].value) - psSelect[psSelect.selectedIndex].value) * 10;
            pageNumber = totalPage;
            globalPageNumber = totalPage;
        }

        getData(pageType, '', start, 10, pageNumber);
    }

    //this function is being called from paging textbox if an enter key is pressed on the button
    function gotocustomPage(event, pageType) {
        if (event.keyCode != 13) return;
        var psSelect = document.getElementById('pageSize');
        var pageNum = document.getElementById('pagerNumber').value;
        var totalNum = getInnerText2(document.getElementById('totalPagenum'));
        //check if user entered value is a number
        if (isNaN(pageNum)) {
            document.getElementById('pagerNumber').value = globalPageNumber;
            return;
        }
        //make sure if request page number is not less than 1 and greater then Max page number
        if (parseInt(pageNum) > parseInt(totalNum) || parseInt(pageNum) < 1) { return; }
        var custStart = ((parseInt(pageNum) * psSelect[psSelect.selectedIndex].value) - psSelect[psSelect.selectedIndex].value) * 10;
        getData(pageType, '', custStart, 10, pageNum);
    }

    //load book details in the details tab using ajax call
    function loadDetails(bookNumber, pageType) {

        //set loading icon
        setLoadingicon('divDetails');

        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=bd' + '&bn=' + bookNumber + '&PageType=' + pageType + '&avoidcache=' + myTimestamp(),
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else {
                    DeleteChildNodes(document.getElementById('divDetails'));
                    var rlist = document.getElementById('divDetails');
                    document.getElementById('divDetails').innerHTML += response;
                    $(document).ready(function() { imageTooltip(); });
                    $('#container-1 > ul').tabs("select", detailsTabNum);
                    drawDetailsTabScrolls();
                }
            }
        });
    }
    //Shows the review data in a modal window
    function getModalReviewData(id) {
        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=viewreview' + '&rid=' + id,
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else
                    $('<div style="background: #ECECEC; height: 410px; width: 460px; position: relative; padding:2px;"><div style="position:absolute; right:5px; bottom:2px;" ><input value="Close" class="simplemodal-close" type="button" /></div>' + response + '</div>').modal({});
                
            }
        });
    }
    
    //this function show the book details in a modal popup
    //could be used anywhere in different parts of the application
    function showbookdetail(booknumber) {
        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=bd' + '&bn=' + booknumber + '&modalshow=0',
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else {
                    $('<div style="background: #ECECEC; height: 410px; width: 460px; position: relative; padding:2px;"><div style="position:absolute; right:5px; bottom:2px;" ><input value="Close" class="simplemodal-close" type="button" /></div>' + response + '</div>').modal({});
                    drawDetailsTabScrolls();
                }
            }
        });
    }
    //Supporting functions for modal dialog functionality
    /////////////////////////////////////////////////////
    function modalClose(dialog) {
        dialog.data.fadeOut('slow', function() {
            dialog.container.hide('slow', function() {
                dialog.overlay.slideUp('slow', function() {
                    $.modal.close();
                });
            });
        });
    }

    function modalSave(dialog) {
        //validate for data of review before submitting
        if (document.getElementById('ratingTitle').value === '' || document.getElementById('freetext').value === '') {
            if (document.getElementById('ratingTitle').value === '') { document.getElementById('lblerrReviewTitle').style.display = "block"; }
            else { document.getElementById('lblerrReviewTitle').style.display = "none"; }
            if (document.getElementById('freetext').value === '') { document.getElementById('lblerrFreetext').style.display = "block"; }
            else { document.getElementById('lblerrFreetext').style.display = "none"; }
            return;
        }

        dialog.data.animate({ height: 50 }, function() {
            //dialog.container.slideUp('slow', function() {
            document.getElementById('wrapperDiv').style.display = "none";
            document.getElementById('thanksmsg').style.display = "block";
            dialog.overlay.hide('slow', function() {
                var rate = document.getElementById('rate').value;
                var bNumber = document.getElementById('BookNumber').value;
                var reviewTitle = document.getElementById('ratingTitle').value;
                var freetext = document.getElementById('freetext').value;
                $.ajax({
                    url: 'getrecords.aspx?type=submitreview&bn=' + bNumber + '&t=' + reviewTitle + '&ft=' + freetext + '&r=' + rate,
                    data: $('#reviewDiv form').serialize() + '&action=send',
                    type: 'post',
                    cache: false,
                    dataType: 'html',
                    complete: function(xhr) { }
                });
                setTimeout("$.modal.close();", 1000);
                //});
            });
        });
    }
    function modalShow(dialog) {
        dialog.data.find('input.animate').one('click', function() {
            dialog.data.slideUp('slow', function() { dialog.data.slideDown('slow'); });
        });
    }
    function modalOpen(dialog) {
        dialog.overlay.fadeIn('slow', function() {
            dialog.container.fadeIn('slow', function() { dialog.data.slideDown('slow'); });
        });
    }

    var modal2 = {
        show: function(dialog) {
            $('#reviewDiv .reviewSubmit').click(function(e) {
                modalSave(dialog);
            });
        }
    };


    //request list functions
    function sendRequestlist() {

        if (document.getElementById('requestList').childNodes.length == 0) {
            var msg = '<div id="divNoItemsMessage">';
            msg += 'There are no titles in your request list.  Please click on the ';
            msg += 'icons to the right of the audio book you wish to order and they will appear in ';
            msg += 'a list here.  When you are happy with your request list, click \'send\' and the ';
            msg += 'requests will be sent straight to our library team. </div>';
            document.getElementById('requestList').innerHTML = msg;
            return;
        }
        else if (document.getElementById('requestList').childNodes[0].id == 'divNoItemsMessage')
            return;

        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=sendreqlist',
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else if (response.indexOf('Error') == -1) {
                    DeleteChildNodes(document.getElementById('requestList'));
                    document.getElementById('requestList').innerHTML = '<label style=\"font-size:16px; color:Green;\">Your requests have been sent to the library team.</label>';
                    setTimeout("$('#requestlistStatus').fadeOut('slow');", 5000);
                }
                else {
                    document.getElementById('requestlistStatus').innerHTML = response;
                    document.getElementById('reqBooksCount').innerHTML = ' ' + '0';
                }
            }
        });
    }

    //add media to request list
    function RequestMedia(booknumber, type) {

        $('#container-1 > ul').tabs("select", requestTabNum);
        //verify if the item already added
        var requestlist = document.getElementById('requestList');
        for (var i = 0; i < requestlist.childNodes.length; i++) {
            var item = getInnerText2(requestlist.childNodes[i]);
            var currType = requestlist.childNodes[i].id.slice(4, requestlist.childNodes[i].id.length);

            item = item.slice(0, 4);
            if (booknumber == item && currType == type) {
                return;
            }
        }

        $.ajax({
            type: "GET",
            url: 'Getrecords.aspx',
            data: 'type=requestlist' + '&bn=' + booknumber + '&mtype=' + type,
            success: function(response) {
                if (response == 'NOSESSION')
                    redirectToLogin();
                else {
                    var rlist = document.getElementById('requestList');
                    rlist.innerHTML += response;
                    //get the count of the items to show as a total number of items in request list
                    document.getElementById('reqBooksCount').innerHTML = ' ' + rlist.childNodes.length + ' ';
                    //activate the request list tab for user to see the selected item in request list

                    //this call to jScrollPane will make sure if the scrollbar is required
                    loadRequestlist();
                    $(function() { $('#DivRequestList').jScrollPane({ showArrows: true }); });
                }
            }
        });
    }

//give user a popup to request a stream be uploaded
    function popStreamReq(bookNumber) {
            var content;
            //var bookNumber = $(this).attr("id").replace('StreamReq', '');
            var popupID = 'pop' + bookNumber;
            //open dialog
            $(document).find('body').append("<div id=\"" + popupID + "\"></div>");
            $("#" + popupID).dialog({
                autoOpen: false,
                modal: true,
                width: 550, height: 370,
                zIndex: 19999, resizable: false,
                closeOnEscape: true,
                position: [180, 110],
                buttons: {
                    "Close": function() { $(this).dialog("close"); $(this).remove();},
                    "Submit": function() { 
                        //on submit
                        //validate email address
                        if (! validateEmail($('#email').attr('value'))) {
                            $("p.minority").remove();
                            
                            $("p.email").append("<br/><span style=\"color:red;\">*Invalid email address<br/>*We ask for an email address so that when the title is available to be streamed our technical department can contact you directly.  You will then be able to return to the audiobook and stream at your leisure.</span>");
                            return false;
                        } else {
                        //remove submit button
		                $(this).dialog("option", "buttons", {
                            "Close": function() { 
                                $(this).dialog("close");
                                $(this).remove();
                             }
                        });
                        //then send form via ajax
	                    $.ajax({
			                type: "GET",
			                url: "GetRecords.aspx",
			                data: "type=sendStreamUploadRequest&email=" + $('#email').attr('value') + "&bn="+ bookNumber,
			                success: function(response){
	                            //edit dialog to include success msg
	                            $("p.email").html(response);
				                
    				        }    
    			        });         
                    }}
                }

                });
                //retrieve book info
                $.ajax({
                    type: "GET",
                    url: "GetRecords.aspx",
                    data: "type=popStreamUploadRequest&bn=" + bookNumber,
                    success: function(response){
	                    //re-pop dialog with success msg
	                    $("#" + popupID).html(response);
	                    $("#" + popupID).dialog("open");
		            }    
	            });       
            return false;
    }
    


