Ok.. solved it. Not the way I wanted to, but it works :)
In the getHostedProfilePageRequest XML, I removed the two settings for hostedProfileReturnUrl and hostedProfileReturnUrlText.
This had the effect of making no button at all show up inside the IFrame.
I then changed the Manage.css file. Specifically I altered a couple lines within it to look like this:
.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose { position:absolute; right:165px; top:7px; }
.AuthorizeNetPopupGrayFrameTheme .AuthorizeNetPopupClose a {
background-repeat: no-repeat;
height: 16px;
width: 16px;
display: inline-block;
}
In that bit of code, I have changed the position to right:165px; (explained in a moment). I also removed ALL references to the closebutton.png file
Within the actual page that calls the IFrame, I made a change to one line.
In the line that stores the a href tag, I changed it to read this:
<a href="javascript:;" onclick="AuthorizeNetPopup.closePopup();" title="Close">Click Here When Finished [<b>X</b>]</a>
The reason the manage.css file was changed to say right:165px; (described earlier) is so that the text from the above change would fit in the window properly.
Additionally, on the page that calls the IFrame, I added this to the script code on the page:
AuthorizeNetPopup.options.onPopupClosed = function redirect()
{
location.replace("http://www.mydomain.com/my_file.cfm?variable_1=#value_1#&variable_2=#value_2#&CIMdone=1");
}
That code causes the page listed in the location.replace string to load up on the users screen when the "Click Here When Finished" text is clicked on the IFrame.
On that resulting page, I run whatever API calls I need to get the most recent data from the CIM system.
IFrame closes with 1 click = Yes :)
Button within the IFrame displays = No :)
Customer is redirected to the correct page when the IFrame closes = Yes :)
Customer is confused as to why there are two different buttons to push = No :)
Customer pushes the wrong button = No :)
Solved :) :)
WHeis