Click on button not always working in Selenium WebDriver 2.53.1 against Firefox 45.1

74 views
Skip to first unread message

ingmar thompson

unread,
Nov 22, 2017, 11:09:18 PM11/22/17
to Selenium Users
Hello,
If anyone knows what is going on here, I would really appreciate it.  I have spent hours trying to understand why an update button on a password change page sometimes gets activated and other times not.  The scenario where the update button gets clicked to make the password change happens when the test executes quickly enough.  If I run the same test on a slower machine, then the test will fail to click the update button periodically.  There are no errors thrown by Selenium, I see the update button being clicked by the test, but the actual update to the password doesn't happen and then my test fails.  I am clicking on this button in the below code...

<input type="button" name="Execute" value="Update" onclick="javascript:setTheState(this);" class="menuButton" data-hasqtip="8" oldtitle="Update" title="" aria-describedby="qtip-8">

I have tried all of these suggestions to get the Update button clicked consistently, even if the test runs more slowly on a slower system.  All of my attempts result in the same problem.  On the slower system, I see the Upadte button being clicked, no errors but the password is not reset and then my test fails.

1)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.
// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
updateBtn.click();

2)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
String clickButton = 
"if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('click',true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject){ arguments[0].fireEvent('onclick');}";
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(clickButton, updateBtn);

3)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
confirmNewPasswordField.sendKeys(Keys.TAB);
updateBtn.sendKeys(Keys.ENTER);
updateBtn.click();

4)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
Actions build = new Actions(driver);
build.moveToElement(updateBtn, 3, 1).click().build().perform();

5)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
new Actions(driver).moveToElement(updateBtn).click().perform();

6)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
new Actions(driver).clickAndHold(updateBtn).perform();
sleepTheThread(2000);
new Actions(driver).release(updateBtn).perform();

7)  Without the wrapper to sleep in Selenium, the button always gets clicked on a fast system, and intermittently fails on a slower system.  If I add a 
10 second sleep before the click, I can get the test to always fail on the faster system.

// waits are wrappers to wait until
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", updateBtn);
This is the code for the page object class for the password change page in question...

package com.extraview.pageObject;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.How;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.FindBy;
// For logging information to the testNG HTML output and console. 
import org.testng.Reporter;

import com.extraview.pageObject.ExtraViewLoginPage;

import com.extraview.utility.UtilityMethods;


/**
 * Class implements the Reset your Password page using the Page Object Model.  Contains methods needed to access
 * a subset of the services available on the Reset your Password page.  
 * 
 * @author Ingmar Thompson
 *
 */

public class ExtraViewResetPasswordPage extends UtilityMethods {
// Initialize the Elements we will manipulate.
@FindBy(how=How.ID, using = "addEditTitle")
private WebElement evChangePassword;
@FindBy(name = "p_user_id")
private WebElement currentUserIdField;
@FindBy(name = "p_password")
private WebElement currentPasswordField;
@FindBy(name = "p_new_password")
private WebElement newPasswordField;
@FindBy(name = "p_confirm_new_password")
private WebElement confirmNewPasswordField;
@FindBy(xpath = "//*[@id='_buttonFooter']/tbody/tr/td[2]/table/tbody/tr/td/nobr/input[1]")
private WebElement updateBtn;
/**
* Constructor for ExtraViewResetPasswordPage.
* Switch to the correct frame, initialize the WebElements of interest, verify WebElement on page. 
* 
* @param driver
*/

public ExtraViewResetPasswordPage(WebDriver driver) {
// Switch to the iframe with the name main.  Must go back to default otherwise cannot find main frame.
driver.switchTo().defaultContent();
driver.switchTo().frame("main");
Reporter.log("Switched to the frame containing password change fields on the Reset Password Page. | ", true);
// Use the PageFactory to initialize all the WebElements.
PageFactory.initElements(driver, this);
Reporter.log("Elements on Reset Password Page have been initialized but not found. | ", true);
}

/**
* Verify we are on the Reset Password Page.  
*  
*/
public void verifyResetPasswordPage() {
// String to hold the title of the Reset Password Page.
String resetPasswordPageTitle;
// Expected Title of Reset Password Page
String expectedResetPasswordPageTitle = getValueFromProperties("expectedResetPasswordPageTitle");
// Wait for the Change Password title to be available.
waitForElementToBeLocated(evChangePassword);
resetPasswordPageTitle = evChangePassword.getText();
// Let the Tester know we have verified we are on the Reset Password Page.
if (resetPasswordPageTitle.equals(expectedResetPasswordPageTitle)) {
Reporter.log("Verified we are on the Reset Password Page: " + resetPasswordPageTitle + " | ",true);
} else {
Reporter.log("Couldn't verify we are on the Reset Password Page.  It should be"
+ " determined why you get this logging message: " + resetPasswordPageTitle + " | ",true);
}
}
public ExtraViewLoginPage resetPassword(String userId, String password, String alternatePassword) {
// Wait for the User Id field to be available.
waitForElementToBeLocated(currentUserIdField);
// Clear values for four fields on Reset Password page and enter values into fields.
fillInTextField(currentUserIdField, userId, "User ID");
fillInTextField(currentPasswordField, password, "Current password");
fillInTextField(newPasswordField, alternatePassword, "New password");
fillInTextField(confirmNewPasswordField, alternatePassword, "Confirm new Password");
// This is the code which works the best, unless there is too long of a delay clicking update.
waitForElementToBeLocated(updateBtn);
waitForElementToBeVisible(updateBtn);
waitForElementToBeClickable(updateBtn);
sleepTheThread(10000);
updateBtn.click();
//sleepTheThread(10000);
//String clickButton = 
// "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('click',true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject){ arguments[0].fireEvent('onclick');}";
// JavascriptExecutor js = (JavascriptExecutor) driver;
// js.executeScript(clickButton, updateBtn);
/* I am moving on.  I have spent hours trying to get the click update to work reliably if there is a slow
   down in clicking the update button.  If the update button is clicked fast enough, the test works fine.
   If clicking the update button takes too long, then it is not correctly clicked by Selenium and the 
   password update fails. 
*/
// The below are all the experiments I have been trying to get the code to work if delay to click update.
// Click the update button on the Reset Password page.
// NOTE: This click seems to be sometimes failing on the windows side to update the password.
// It is very strange, because I am see the update button being clicked and the navigation
// move on correctly.
//sleepTheThread(10000);
//found = retryingElement(By.xpath("//*[@id='_buttonFooter']/tbody/tr/td[2]/table/tbody/tr/td/nobr/input[1]"));
//if (found) { 
// Click the edit button
//updateBtn.click();
//}
//confirmNewPasswordField.sendKeys(Keys.TAB);
//updateBtn.sendKeys(Keys.ENTER);
//updateBtn.click();
//Actions build = new Actions(driver);
//build.moveToElement(updateBtn, 3, 1).click().build().perform();
//driver.navigate().refresh();
//build.moveToElement(updateBtn, 3, 1).click().build().perform();
//new Actions(driver).moveToElement(updateBtn).click().perform();
//new Actions(driver).clickAndHold(updateBtn).perform();
//sleepTheThread(2000);
//new Actions(driver).release(updateBtn).perform();
//Actions builder = new Actions(driver);
//builder.moveToElement(updateBtn).click().build().perform();
//JavascriptExecutor executor = (JavascriptExecutor)driver;
//executor.executeScript("arguments[0].click();", updateBtn);
//if (updateBtn.isEnabled() && updateBtn.isDisplayed()) {
//Reporter.log("Clicking on element with using java script click" + " | ",true);

//((JavascriptExecutor) driver).executeScript("arguments[0].click();", updateBtn);
//} else {
//Reporter.log("Unable to click on element" + " | ",true);
//System.out.println("Unable to click on element");
//}
//waitForElementToBeClickable(updateBtn);
//new Actions(driver).moveToElement(updateBtn).click().perform();
Reporter.log("Clicking the Update button on Reset Password Page." + " | ",true);
return new ExtraViewLoginPage(driver);
}
} 


This is the code of the page I am periodically not successful in clicking the Update button...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- tHeader.html: header for pages with title and user options. Used for Home Page, Search / Reports, Admin screens tHeader.html -->
<html lang="en" dir="ltr">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex,nofollow" />
<TITLE>ExtraView</TITLE>
<!-- Javascript & CSS utility files -->
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/utils/zapatec.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/utils/transport.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/zpwin/src/window.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/user_javascript/UserJavaScript.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/jquery/jquery.js"></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/jquery/jquery-migrate.js"></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/jquery/jquery-ui-custom.min.js"></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/qtip2/jquery.qtip.js"></script>
<link href="/auto1-a/javascript/qtip2/jquery.qtip.css" rel="stylesheet" type="text/css">

<script type="text/javascript" language="javascript" src="/auto1-a/javascript/utils/zpdate.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/zpcal/src/calendar.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/zpcal/src/calendar-date-core.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/zpcal/lang/calendar-en.js" ></script>
<link href="/auto1-a/javascript/zpcal/themes/layouts/big.css" rel="stylesheet">





<script type="text/javascript" language="javascript" src="/auto1-a/javascript/AddEdit.js" ></script>

<script type="text/javascript" language="javascript" src="/auto1-a/javascript/EVCommon.js" ></script>
<script type="text/javascript" language="javascript" src="/auto1-a/javascript/EVJava.js" ></script>
<script type="text/javascript" language="javascript">
// global to populate theme for popup windows
var windowTheme = "silverxp";
var _popupWindowTheme = "silverxp";
var clickTimeoutTimer = null;
var ajaxTimeoutTimer = null;
var clickLockDown = true;
var clickLockDownMS = 15000;
var ajaxWarningMS = 10000;
var clickLockDownAjax = true; // #75954
var myRuntimeWin = null;
function openSaveDialog(target, height, width) {

var mySaveFrame;
if ($('#saveDialog').length > 0) {
mySaveFrame = $('#saveDialog');
} else {
mySaveFrame = $("<div id='saveDialog'><iframe id='iFrame_" + target + "' name='" + target + "' width='100%' height='100%' title='IFRAME' marginWidth='0' marginHeight='0' frameBorder='0' noresize='no' scrolling='yes'></iframe></div>")
.dialog({
height: height,
width: width,
draggable: true,
resizeable: true,
title : " ",
closeOnEscape: true,
open : function(ev, ui) {
var $myDialog =$(this).parents('.ui-dialog');
$myDialog.css('z-index', 999);
$myDialog.find(".ui-icon-closethick").css("top", "0").css('left', '0').css('margin', '0');
},
close: function(ev, ui) {
if (isUnderWorkspace()) {
getWorkspaceWindow().wsPanelControl.restorePanel(window.name);
}
$('#saveDialog').remove();
},
modal: true});

$('#saveDialog').dialog("widget").find(".ui-dialog-titlebar-close").hide();
}

if (isUnderWorkspace()) {
getWorkspaceWindow().wsPanelControl.maximizePanel(window.name);
}
}

function modifyFilterWindow(title, iFrameId) {
//debugger;
var closeFun = function() { /*do nothing*/ }
if (isUnderWorkspace()) {
getWorkspaceWindow().wsPanelControl.maximizePanel(window.name);
shouldReduceSizeOnUnload = true;

closeFun = function() {
getWorkspaceWindow().wsPanelControl.restorePanel(window.name);
shouldReduceSizeOnUnload = false;
}
}
var rIFrameId = "";
if(typeof(iFrameId) != "undefined"){
rIFrameId = iFrameId;
}
var winStart = "?p_option=search.RuntimeFilters&p_action=doDisplayInner&iFrameId=" + rIFrameId;
myRuntimeWin = openPopupWinCommonWithCloseFun(980, 550, winStart, "EDIT", 20, 50, closeFun, null, null, title);
}
</script>

<!-- CSS files -->
<link href="/auto1-a/javascript/zptree/themes/windows.css" rel="stylesheet">
<link href="/auto1-a/javascript/zptree/themes/help.css" rel="stylesheet">
<link href="/auto1-a/locales/en_US/images/images_flat_blue/stylesheets/ms-word.css" rel="stylesheet" type="text/css">

<link href="/auto1-a/locales/en_US/images/images_flat_blue/stylesheets/medium.css" rel="stylesheet">
<link href="/auto1-a/locales/en_US/images/images_flat_blue/stylesheets/jquery/jquery-ui-custom.css" rel="stylesheet">




</HEAD>
<BODY topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginheight="0" marginwidth="0" link="#000000" alink="#FF0000" vlink="#000000" bgcolor="#FFFFFF" onLoad="try{setFocus(eval('document.editForm.p_user_id'))}catch(err){}">


<div style="position:fixed;top:0px;z-index:100;width:100%" id='_buttonHeader'>
<table border="0" style="border-bottom:1px solid #888888" cellpadding="0" cellspacing="0" width="100%">
<tr class="buttonBar">
<td width="1">&nbsp;&nbsp;</td>
<td>
<table width="100%" height="25" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="left"><nobr><input type="button" name="Execute" VALUE="Update" title="Update" onClick="javascript:setTheState(this);" class="menuButton"><input type="button" name="Cancel" value="Cancel" title="Cancel" onClick="setTheState(this)" class="menuButton"><input name="printButton" type="button" title="Print the current page" class="menuButton" value="Print Page" onclick="printWindow();"></nobr></td></tr>
</table>
</td>
<td style="text-align:right;white-space:nowrap">
<span id="addEditTitle" class="title_text" style="position:relative;top:3px">Change Password&nbsp;</span>
<input class="menuButton" type="button" onclick="window.open('http://docs.extraview.com/extraview-111/end-user-guide/user-sign-screen')" value=" ? " title="Click to read documentation" name="docButton" target="docPage">&nbsp;&nbsp;&nbsp;
</td>
</tr>
</table>
</div>
<div id='_buttonHeaderExtraSpace'><table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td colspan=3>
<span style="line-height:26px">&nbsp;</span>
</td>
</tr>
</table></div>
<script type="text/javascript">
if (typeof(window.parent) != 'undefined' && typeof(window.parent.isWorkspace) != 'undefined' && typeof(_drawPanelHeaderCalled) != 'undefined') {
$('#_buttonHeader').hide();
$('#_buttonHeaderExtraSpace').hide();
}
</script>




<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td>
<script language="JavaScript">
<!--
function setTheState(button)
{
if (button.name=="Execute") {
document.editForm.executeFlag.value = 'y';
document.editForm.errorFlag.value = 'y';
var newPassword = document.editForm.p_new_password.value.replace(/^\s+|\s+$/g, '');
var newPasswordConfirm = document.editForm.p_confirm_new_password.value.replace(/^\s+|\s+$/g, '') ;;
if (newPassword != newPasswordConfirm) {
alert('The new password field does not match the confirm new password field.');
return false;
}else if ((newPassword == "")||(newPasswordConfirm == "")||(document.editForm.p_password.value == "")||(document.editForm.p_user_id.value == "")) {
alert('The User ID and password fields cannot be blank.');
return false;
}else if (newPassword == document.editForm.p_password.value) {
alert('New password cannot match old password.');
return false;
}else
document.editForm.errorFlag.value = 'n';
document.editForm.submit();
}
else if (button.name=="Cancel") {
document.editForm.executeFlag.value = 'n';
document.location.href= "/auto1-a/ExtraView/6292?p_action=getMain&p_option=security.LoginDisplay";
}
else{
alert('ExtraView did not understand your request, please try again.');
}
}
//-->
</script>

<FORM NAME=editForm METHOD=post ACTION="/auto1-a/ExtraView/6292?p_option=security.LoginDisplay&p_action=doPasswordEdit" target=_self><input name="class" value="Change Password" type="hidden"><input name="errorFlag" value="n" type="hidden"><input name="executeFlag" value="" type="hidden">
<div style="max-width:600px;margin:30px 0 30px 30px">
<fieldset>
<legend class="legendLarge">Reset your Password</legend>
<br>You must enter your User ID, your current password, then enter the new password and reenter it to verify its correctness. Click the <b>Update</b> button when you have finished. <br /><br /><br><TABLE CELLPADDING=2 CELLSPACING=2 BORDER=0>
<TR><TD align=right><span style="color:#cc0000">User ID</span> &nbsp;<a title="Enter your User ID" style="cursor:help"><img class="img-btn" src="/auto1-a/locales/en_US/images/images_flat_blue/Qmark.png" style="vertical-align:bottom" ></a>&nbsp;</TD><TD NOWRAP><INPUT NAME="p_user_id" SIZE=25 MAXLENGTH=50 TYPE="text" VALUE="">
</TD></TR><TR><TD align=right><span style="color:#cc0000">Current password</span> &nbsp;<a title="Enter your current password" style="cursor:help"><img class="img-btn" src="/auto1-a/locales/en_US/images/images_flat_blue/Qmark.png" style="vertical-align:bottom" ></a>&nbsp;</TD><TD NOWRAP><INPUT NAME="p_password" SIZE=25 MAXLENGTH="127" TYPE="password" VALUE="">
</TD></TR><TR><TD align=right><span style="color:#cc0000">New password</span> &nbsp;<a title="Enter your new password<br><br>Strict password rules are not enforced. Your password may be of any length and any strength." style="cursor:help"><img class="img-btn" src="/auto1-a/locales/en_US/images/images_flat_blue/Qmark.png" style="vertical-align:bottom" ></a>&nbsp;</TD><TD NOWRAP><INPUT NAME="p_new_password" SIZE=25 MAXLENGTH="127" TYPE="password" VALUE="">
</TD></TR><TR><TD align=right><span style="color:#cc0000">Confirm new password</span> &nbsp;<a title="Reenter your new password" style="cursor:help"><img class="img-btn" src="/auto1-a/locales/en_US/images/images_flat_blue/Qmark.png" style="vertical-align:bottom" ></a>&nbsp;</TD><TD NOWRAP><INPUT NAME="p_confirm_new_password" SIZE=25 MAXLENGTH="127" TYPE="password" VALUE="">
</TD></TR></TABLE><br><br>
</fieldset>
</form>
</div>
</td>
</tr>
</table>


<table border="0" style="border-bottom:1px solid #888888;border-top:1px solid #888888" cellpadding="0" cellspacing="0" width="100%" id='_buttonFooter'>
<tr class="buttonBar">
<td width="1">&nbsp;&nbsp;</td>
<td><table width="100%" height="30" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="left"><nobr><input type="button" name="Execute" VALUE="Update" title="Update" onClick="javascript:setTheState(this);" class="menuButton"><input type="button" name="Cancel" value="Cancel" title="Cancel" onClick="setTheState(this)" class="menuButton"><input name="printButton" type="button" title="Print the current page" class="menuButton" value="Print Page" onclick="printWindow();"></nobr></td></tr>
</table>
</td>
<td class="recordCounter" align="right">&nbsp;&nbsp;</td>
</tr>
</table>
<!-- template tCopyright.html -->
<!-- footer and copyright -->

<table cellspacing="0" cellpadding="5" width="100%" class="_copyrightInfo">
<tr>
<td>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td valign="middle" style="padding-top:40px"><img alt="ExtraView Logo" src="/auto1-a/images/ExtraViewCopyrightLogo.gif" /></td>
</tr>
<tr>
<td style="padding-top:5px"><span style="font-size:8pt;color:#666666"></span></td>
</tr>
<tr>
<td valign="top" width="100%">
<span style="font-size:8pt;color:#666666">Copyright &copy;
<a href="http://www.extraview.com" style="font-size:8pt;color:#666666;text-decoration:underline" target="_blank">
ExtraView Corporation</a>. 1999 - 2017.&nbsp; All rights reserved.
<br />Licensed to: EXTRAVIEW CORPORATION - EVID: 1000<span color="#CC0000"></span>
<br />ExtraView Enterprise - Version auto1_a - Release 12.0 Build 10 on WS_A
<br /><a onclick='window.open("http://support.extraview.net/");return false' style="font-size:8pt;color:#666666;text-decoration:underline;cursor:pointer">ExtraView Support Site</a>
</span>
<br /><span style="font-size:8pt;color:#CC0000"></span>
</td>
</tr>
</table>
</td>
</tr>
</table>




<script type="text/javascript">
if (typeof(window.parent.isWorkspace) != 'undefined') {
if (window.parent.isWorkspace && typeof(jQuery) != 'undefined') {
$('._copyrightInfo').each(function(event, ui) {$(this).hide();});
$('._buttonFooter').each(function(event, ui) {$(this).hide();});
}
}
</script>




<script>

if ("" == "BADBROWSER") {
trapKeys(CheckEnterKey);
}
// set style for help tips

setToolTips();

</script>

<style type="text/css">
.evembeddeddocument{
display:inline-table;
padding: 2px;
border-radius: 8px;
}
.evembeddeddocument-content, .evembeddeddocument-title, .evembeddeddocument-parameter{
display:table-row;
border-radius: 5px;
}
.evembeddeddocument-title{
padding: 0 2px;
}
.evembeddeddocument-parameter{
display: none;
}
.evembeddeddocument-drilldown{
display: none;
}
.evembeddeddocument-content{
margin: 0 0 8px;
padding: 2px 2px;
}
.evembeddeddocument-img{
}


.evembeddedimage {
display:inline-table;
padding: 2px;
border-radius: 8px;
}
.evembeddedimage-content, .evembeddedimage-title{
display:table-row;
border-radius: 5px;
}
.evembeddedimage-title{
padding: 0 2px;
}
.evembeddedimage-parameter{
display: none;
}
.evembeddedimage-drilldown{
display: none;
}
.evembeddedimage-content{
margin: 0 0 8px;
padding: 2px 2px;
}
.evembeddedimage-img{
border: 1px solid #bbb;
}

.evSubMenu {
border:0px solid black;
width:325px;
-moz-box-shadow: 1px 1px 1px #888888;
-webkit-box-shadow: 1px 1px 1px #888888;
box-shadow: 1px 1px 1px #888888;
*box-shadow: 0px 0px 0px #888888;
}
.evSubMenu > li {
border:1px solid black;
}
.evSubMenu > li > a {
background: #FAFAFA url("/auto1-a/locales/en_US/images/images_flat_blue/ButtonBar.png");
-webkit-border-radius: 0px;
border-radius: 0px;
cursor:pointer;
}
.evSubMenu li > a:hover {
background: #9dc5dc;
font-weight:bold;
}

</style>

<!-- end the table opened in the page header -->





</body>
</html>
password_reset_page.png
Reply all
Reply to author
Forward
0 new messages