How to handle Dynamically changing Objects in QTP?

Answers were Sorted based on User's Feedback



How to handle Dynamically changing Objects in QTP?..

Answer / suneetha

if the object is dynamically changing then we can set the
property of that object with

set to property.propertyname.propertyvalue

Is This Answer Correct ?    1 Yes 0 No

How to handle Dynamically changing Objects in QTP?..

Answer / raj.qtp

By using Descriptive programming...u do that

Is This Answer Correct ?    0 Yes 0 No

How to handle Dynamically changing Objects in QTP?..

Answer / akshar jain

v can use settoproperty

Is This Answer Correct ?    0 Yes 0 No

How to handle Dynamically changing Objects in QTP?..

Answer / arshiv

//**********************************************************
*************************************
//* Version information : 1.0


//*



//* Created Date : 04 Aug 2003



//* Author : Murali.TK


//* Modified on :
//* Modified By :

//*


//* Copyright notice :
//* Copyright (C) 2003 EmPower Works Limited. All rights
reserved.
//THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT
WARRANTY OF ANY KIND,
//EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF
//MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
//**********************************************************
*************************************
//Variables
var varNull = ' ';
var arrNum = new Array
('0','1','2','3','4','5','6','7','8','9')
var varAlpha
= "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ";
var varAlphaNum
= "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ0123456
789";
var arrDays = new Array
('31','28','31','30','31','30','31','31','30','31','30','31'
);
var varBroken=0;
var varNumeric = "1234567890";
var strYearMsg = "is invalid";
var strIsNullMsg = " should not be NULL";
var strIsNumericMsg = " should be Numeric";
var strDateCompareMsg = " should be less than";
var strComboSelMsg = "Kindly select the ";
var strDateMsg = "should be Greater than or Equal to
Current Date";

//Added by Jeyaprakash on 12/09/2003
var strDateCheckMsg = " Less than or Equal to Current Date";

//CP 12 Sep 2003
var strDateValMsg="Timesheet Date should not be greater
than current server date";

var dtCh= "/"; //for isDate validation
var minYear=1900; //for isDate validation
var maxYear=2100; //for isDate validation

var MONTH_NAMES=new Array
('January','February','March','April','May','June','July','A
ugust','September','October','November','December','Jan','Fe
b','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','De
c');
var DAY_NAMES=new Array
('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday'
,'Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');


function getMonthDays(MonthNo)
{
return arrDays[MonthNo];
}




// ------------------------------------------------------
// Added by ANIL to check the Amount Field like "12.12" --
21-08-2003
function AmountValidation(idField)
{
var strTemp = idField.value;
varBroken=0;

re= /^([0-9]*|\d*\.\d{1}?\d*)$/ // This is the
Regular Expression
if (re.test(strTemp)) {
varBroken = 0;
return true;
}
else {
varBroken=1;
alert("Invalid Number");
idField.select();
return false;
}
}
//-----------------------------------------------------
function NumValidation(idField)
{
var strTemp = idField.value;
varBroken=0;
var varCharacter = 0;
// Added by ANIL if no value entered then dont
validate return true
if (strTemp.length<=0)
{
varBroken = 0;
return true;
}
else
{
for(var i=0;i<strTemp.length;i++)
{
if(varBroken==1) break;
for(var j=0;j<varAlpha.length;j++)
{
if(strTemp.charAt(i)
==varAlpha.charAt(j))
{
varCharacter =1;
varBroken = 1;
break;
}
}
}
if(varCharacter==1)
{
varBroken=1;
alert('Invalid Number!');
idField.select();
//idField.focus();
}
return false;
}
}
//------------------------------------------------------
function parseCurrency(x)
{
var strTotalAmount = new String(x);
var DecimalPlaces='';
var nonDecimalPlaces='';
var indexOfDot;
var TempDecimalPlaces='';
indexOfDot = strTotalAmount.indexOf('.')
if(indexOfDot>0)
{
for(var j=0;j<strTotalAmount.length;j++)
{
if(j<indexOfDot)

nonDecimalPlaces=nonDecimalPlaces+strTotalAmount.cha
rAt(j);
if(j>indexOfDot)

DecimalPlaces=DecimalPlaces+strTotalAmount.charAt
(j);
}
for(var j=0;j<DecimalPlaces.length;j++)
{
if(j==2)
{

TempDecimalPlaces=TempDecimalPlaces+".";
}

TempDecimalPlaces=TempDecimalPlaces+DecimalPlaces.ch
arAt(j);
}
return (nonDecimalPlaces+ "." + Math.round
(TempDecimalPlaces));
}
if(indexOfDot=='-1')
{
return (x+".00");
}
}
//----------------------------------------------------------
------------
function CurrFieldOnKeyPress(id)
{
var blnNumber='0'; //if value = 0 then false, value=1 then
true
var typedChar =String.fromCharCode(event.keyCode);
var ArrNum = new Array
('0','1','2','3','4','5','6','7','8','9','.');
for(var i=0;i<ArrNum.length;i++)
{
if(typedChar==ArrNum[i])
{
blnNumber='1';
if(id.value.indexOf('.')!=-1)
{
var DotAt=parseInt(id.value.indexOf
('.'));
if(id.value.charAt(DotAt+2)!
=''&&id.value!='0.00')
{
event.keyCode=0;
}
}
}

}
if(blnNumber=='0') event.keyCode=0;
}
//----------------------------------------------------------
---------------
function HourValidation(id)
{
var blnNumber='0'; //if value = 0 then false,
value=1 then true
var typedChar =String.fromCharCode(event.keyCode);
var ArrNum = new Array
('0','1','2','3','4','5','6','7','8','9');
for(var i=0;i<ArrNum.length;i++)
{
if(typedChar==ArrNum[i])
{
blnNumber='1';
var totHours = id.value+typedChar;
if(parseInt(totHours)>23)
{
event.keyCode=0;
break;
}
}
}
if(blnNumber=='0') event.keyCode=0;
}
//----------------------------------------------------------
-------------
function minValidation(id)
{
var blnNumber='0'; //if value = 0 then false,
value=1 then true
var typedChar =String.fromCharCode(event.keyCode);
var ArrNum = new Array
('0','1','2','3','4','5','6','7','8','9');
for(var i=0;i<ArrNum.length;i++)
{
if(typedChar==ArrNum[i])
{
blnNumber='1';
var totHours = id.value+typedChar;
if(parseInt(totHours)>59)
{
event.keyCode=0;
break;
}
}
}
if(blnNumber=='0') event.keyCode=0;
}
//----------------------------------------------------------
------------
function TimeFieldOnBlur(id)
{
if(id.value.length==1)
{
id.value='0'+id.value;
}
if(id.value.length==0)
{
id.value='00';
}

}
//----------------------------------------------------------
-----------
function CCur(id)
{
if(id.value.indexOf('.')<0)
{
if(id.value=='') id.value=id.value+'0.00';
else
id.value=id.value+'.00';
}
var DotAt=parseInt(id.value.indexOf('.'));
if(id.value.charAt(DotAt+2)=='')
{
id.value=id.value+'0';
}
if(DotAt==0)
id.value='0'+id.value;
}

//-----------------------------------------------------
// Added by ANIL - onkey press which allow numbers and
period(.) -- 22-08-2003
function AmountOnly_onkeypress(p){
if (window.event.keyCode!=46) {
if(window.event.keyCode<48 ||
window.event.keyCode>57){
window.event.keyCode=false
return false
}
}
}
//-----------------------------------------------------
// Added by ANIL - onkey press which allow only numbers --
22-08-2003
function NumberOnly_onkeypress(p){
if(window.event.keyCode<48 ||
window.event.keyCode>57){
window.event.keyCode=false
return false
}
}

//-----------------------------------------------------
// Added by ANIL - onkey press which allow all characters
except special char(periods(.) and slash (/)
// are allowed ) -- 28-08-2003
function URLOnly_onkeypress(p)
{
if(window.event.keyCode<45 ||
window.event.keyCode>58)
{
if(window.event.keyCode<65 ||
window.event.keyCode>90)
{
if(window.event.keyCode<97 ||
window.event.keyCode>122)
{
window.event.keyCode=false
return false
}
}
}
}

//-----------------------------------------------------
// Added by ANIL - onkey press which allow only Alphabets
// are allowed ) -- 28-08-2003

//Changed by Jeyaprakash on 7/4/2003
function AlphabetOnly_onkeypress(p)
{
if (window.event.keyCode != 32)
{
if(window.event.keyCode<65 ||
window.event.keyCode>90)
{
if(window.event.keyCode<97 ||
window.event.keyCode>122)
{
window.event.keyCode=false
return false
}
}
}
}


//-----------------------------------------------------
// Added by ANIL - onkey press which allow only number
and "()" and "-"
// are allowed ) -- 28-08-2003
function PhoneOnly_onkeypress(p)
{
if ( window.event.keyCode != 40)
{
if (window.event.keyCode != 41)
{
if (window.event.keyCode != 45)
{
if (window.event.keyCode != 44)
{
if(window.event.keyCode<48
|| window.event.keyCode>57){

window.event.keyCode=false
return false
}
}
}
}
}
}


//-----------------------------------------------------
// Added by Vijayalakshmi - onkey press it allows all
characters and numbers except special characters like period
(.) and slash (/)
function alphanumericOnly_onkeypress(p)
{
if (window.event.keyCode != 32)
{
if(window.event.keyCode<48 ||
window.event.keyCode>57 )
{
if(window.event.keyCode<65 ||
window.event.keyCode>90)
{
if(window.event.keyCode<97
|| window.event.keyCode>122)
{

window.event.keyCode=false
return false
}
}
}
}
}



//----------------------------------------------------------
---------
function DaysValidation(idDField,idMField,idYField)
{
var strTemp = idDField.value;
if(parseInt(strTemp)>parseInt(arrDays
[idMField.value-1]))
{
if(idMField.value==2 && (parseInt
(idYField.value)%4==0)&& parseInt(strTemp)<parseInt('30'))
{
}
else
{
alert('Invalid Date for the
selected Month!');
varBroken=1;
idDField.select();
}
}
return false;
}

//----------------------------------------------------------
-------------
// Function Added by ANIL - 21/08/2003

//Changed by Jeyaprakash - To check valid year
//--commented by heamraj - The same name has been used
commonlibrary.js
/*


function checkDate(day, month, year)
{
var err=0
if (month<1 || month>12) err = 1
if (day<1 || day>31) err = 1
if (day==31 && (month==4 || month==6 || month==9 ||
month==11)) err=1
if (year.length < 4) err =1

if (month==2)
{
if ((year%4==0) && (year%100!=0 || year%
400==0))
{
if (day>29) err=1
}
else
{
if (day>28) err=1
}
}
//if (day == "" || month == "" || year == "") err=1
//Added to Check Valid Year - Jeyaprakash
if (!(year > 1900 && year <= 2050))
err=1;


if (err==1)
{
return false
}
else
{
return true
}
}

*/

//Checking for year validation
function ValidateYear(mYear,mMsg)
{
var mYearValue = mYear.value;

if(mYearValue =='' || mYearValue =='0000' ||
mYearValue.length <4)
{
alert(mMsg + strYearMsg);
mYear.select();
return false;
}
//Checking for Numeric value for Year
for(var i=0;i<mYearValue.length;i++)
{
if(varNumeric.indexOf(mYearValue.charAt(i))
<0)
{
alert(strYearMsg);
mYear.select();
return false;
}
}
return true;
}

function CheckEmail(mField)
{
varBroken=0;
mVal = mField;
if(mVal.value=="")
{
///*alert("Kindly enter e-mail address.")
//mVal.focus()
varBroken=0
}
else
{
mail=mVal.value
at_pos=mail.indexOf("@")
dot_pos=mail.indexOf(".")
if(at_pos<1 || dot_pos<1)
{
alert("Kindly check position of '@'
and '.' in email address.")
mVal.focus()
varBroken=1
}
else
{
mail=mVal.value
condition="yes"
var at_count=0
var dot_count=0
var temp=0
for(var i=0;i<mail.length;i++)
{
if((mail.charCodeAt(i)>0 &&
mail.charCodeAt(i)<48)||(mail.charCodeAt(i)>57 &&
mail.charCodeAt(i)<65)||(mail.charCodeAt(i)>91 &&
mail.charCodeAt(i)<97)||mail.charCodeAt(i)>122)
{
if(mail.charAt(i)
=="@"||mail.charAt(i)==".")
{
if
(mail.charAt(i)=="@"){at_count++}else{dot_count++} //
counts the no. of times @ and . appears in email
if
(dot_count>=1)
{

dot_pos=i

if((dot_pos>at_pos) && temp==0)

{

pos=dot_pos-at_pos

temp++

}

}
}
else
{

condition="no"

i=mail.length
}
}
}
if(condition=="no")
{
alert("Your email contains
a blank space or special character.")
varBroken.focus()
varBroken=1
}
else
{
if(at_count>1)
{
alert("E-mail
contains extra @ ")
mVal.focus()
varBroken=1
}
else
{
if(pos<2)
{
alert
("Missing domain name between '@' and '.'")
mVal.focus()
varBroken=1

i=mail.length
}
else
{

count=dot_pos+1
domain=""
for
(count;count<mail.length;count++)
{

domain=domain+mail.charAt(count)
}
dom=new
Array
("au","com","net","org","edu","in","mil","gov","arpa","biz",
"aero","name","coop","info","pro","museum")
error="yes"
for(var
k=0;k<dom.length;k++)
{
if
(domain.toLowerCase()==dom[k])
{

k=dom.length

error="no"
}
}
if
((error=="yes" && (domain.length>2)) || (domain.length<2))
{

alert("Domain name must end with well known domains
\n or 2-lettered country name. eg com,edu,in etc.")

mVal.focus()

varBroken=1
}

}
}
}
}
}
//return varBroken
}
//Trim function by Jeyaprakash
function trim(s) {
while (s.substring(0,1) == ' ') {
s = s.substring(1,s.length);
}
while (s.substring(s.length-1,s.length) == ' ') {
s = s.substring(0,s.length-1);
}
return s;
}

// Checking for ISNull
function IsNullValue(mFieldObj, mMsg)
{
var mFieldValue = trim(mFieldObj.value);
if(mFieldValue.length<=0)
{
alert(mMsg + strIsNullMsg);
mFieldObj.select();
return false;
}
return true;
}

function IsNumeric(mFieldObj, mMsg)
{
var mFieldValue = mFieldObj.value;
//Checking for Numeric value
for(var i=0;i<mFieldValue.length;i++)
{
if(varNumeric.indexOf(mFieldValue.charAt(i))
<0)
{
alert(mMsg + strIsNumericMsg);
mFieldObj.select();
return false;
}
}
return true;
}

/*
function isSelectDateGreater(mDate,mMonth,mYear,mMsg)
{
var mMonFound=true;
var mYearFound=true;
var mFound=false;
var mFirstDate=new Date();
var mSecondDate=new Date(mMonth+mDate+", "+mYear);

//alert("Selected Year "+mSecondDate.getFullYear()
+ "---- Current Year" + mFirstDate.getFullYear());

if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
alert('Selected Year is lesser than Current
Year');
mYearFound = false;
}

///alert("Selected Month "+(mSecondDate.getMonth()
+1) + "---- Current Month "+(mFirstDate.getMonth()+1));


if(mSecondDate.getMonth()+1 < mFirstDate.getMonth()
+1)
{
alert('Selected Month is lesser than
Current Month');
mMonFound = false;
}

//alert("Selected Date is "+(mSecondDate.getDate
()) + "---- Current Date is "+(mFirstDate.getDate()) );


if(mSecondDate.getDate() < mFirstDate.getDate() ||
mYearFound ==false || mMonFound ==false)
{
alert('Selected Date is lesser than Current
Date');
mFound = true;
}

if(mFound)
{
alert(mMsg+strDateMsg);
return false;
}
else
return false;
}*/


function CheckComboSelection(comboCtrl,mMsg1)
{
if(comboCtrl.options.selectedIndex<=0)
{
alert(strComboSelMsg + mMsg1);
return false;
}
else
return true;
}


function CompareTwoDates(FromDay, FromMonth, FromYear,
ToDay, ToMonth, ToYear, mMsg)
{

var mFirstDate=new Date
(FromDay+FromMonth+", "+FromYear);
var mSecondDate=new Date(ToDay+ToMonth+", "+ToYear);

var mToCheck=true;
var permanentFalse=true;

if(mSecondDate.getFullYear()==
mFirstDate.getFullYear())
{
mToCheck=false; // check
}
else if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mSecondDate.getFullYear()
==mFirstDate.getFullYear())
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 <
mFirstDate.getMonth()+1)
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
if(mSecondDate.getDate() <
mFirstDate.getDate())
{
permanentFalse=false; // out
}
}
}

if(permanentFalse==false )
{
alert(mMsg);
return false;
}
else
return true;
}



// If the date1 is less than date2 -- Added by murugavel
//Modified for
mDate,mDateFormat,mDateNext,mDateNextFormat - >
date1,dateformat1,date2,dateformat2
//function compareDatesWithFormatsLess
(mDate,mDateFormat,mDateNext,mDateNextFormat)
function compareDatesWithFormatsLess
(date1,dateformat1,date2,dateformat2)
{
var d1=getDateFromFormat(date1,dateformat1);
var d2=getDateFromFormat(date2,dateformat2);

if (d1==0 || d2==0)
{
return -1;
}
else if (d1 < d2)
{
return 2;
}
return 0;
}
// compareDatesWithFormatsLess - end



function CheckFieldCount(mObj, mMaxCount ,mMsg)
{
var mValue = mObj.value;
if(mValue.length > mMaxCount)
{
alert(mMsg+' Cannot Exceed Maximum length
of ' + mMaxCount);
//Changed By Jeyaprakash - To set focus on
the Field
mObj.focus();
//mObj.value = mValue.substr(0, mMaxCount);
return false;
}
else
return true;
}

function isInteger(s){
var i;
for (i = 0; i < s.length; i++){
// Check that current character is number.
var c = s.charAt(i);
if (((c < "0") || (c > "9"))) return false;
}
// All characters are numbers.
return true;
}

function stripCharsInBag(s, bag){
var i;
var returnString = "";
// Search through string's characters one by one.
// If character is not in bag, append to returnString.
for (i = 0; i < s.length; i++){
var c = s.charAt(i);
if (bag.indexOf(c) == -1) returnString += c;
}
return returnString;
}

function daysInFebruary (year){
// February has 29 days in any year evenly
divisible by four,
// EXCEPT for centurial years which are not also
divisible by 400.
return (((year % 4 == 0) && ( (!(year % 100 == 0)) ||
(year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
for (var i = 1; i <= n; i++) {
this[i] = 31
if (i==4 || i==6 || i==9 || i==11) {this[i]
= 30}
if (i==2) {this[i] = 29}
}
return this
}

// Date format should be -- mm/dd/yyyy for this function
function isDate(dtStr, mMsg)
{
var daysInMonth = DaysArray(12)
var pos1=dtStr.indexOf(dtCh)
var pos2=dtStr.indexOf(dtCh,pos1+1)
var strMonth=dtStr.substring(0,pos1)
var strDay=dtStr.substring(pos1+1,pos2)
var strYear=dtStr.substring(pos2+1)
strYr=strYear
if (strDay.charAt(0)=="0" && strDay.length>1)
strDay=strDay.substring(1)
if (strMonth.charAt(0)=="0" && strMonth.length>1)
strMonth=strMonth.substring(1)
for (var i = 1; i <= 3; i++) {
if (strYr.charAt(0)=="0" && strYr.length>1)
strYr=strYr.substring(1)
}
month=parseInt(strMonth)
day=parseInt(strDay)
year=parseInt(strYr)
if (pos1==-1 || pos2==-1){
alert("The date format should be :
mm/dd/yyyy")
return false
}
if (strMonth.length<1 || month<1 || month>12){
alert("Kindly enter a valid month")
return false
}
if (strDay.length<1 || day<1 || day>31 || (month==2
&& day>daysInFebruary(year)) || day > daysInMonth[month]){
alert("Kindly enter a valid day")
return false
}
if (strYear.length != 4 || year==0 || year<minYear
|| year>maxYear){
alert("Kindly enter a valid 4 digit year
between "+minYear+" and "+maxYear)
return false
}
if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger
(stripCharsInBag(dtStr, dtCh))==false){
alert("Kindly enter a valid date for " +
mMsg)
return false
}
return true
}

// ---------------------------------------------------------
----------
// compareDates(date1,date1format,date2,date2format)
// Compare two date strings to see which is greater.
// Returns:
// 1 if date1 is greater than date2
// 0 if date2 is greater than date1 of if they are the
same
// -1 if either of the dates is in an invalid format
// ---------------------------------------------------------
----------
// Field | Full Form | Short Form
// -------------+--------------------+----------------------
-
// Year | yyyy (4 digits) | yy (2 digits), y (2
or 4 digits)
// Month | MMM (name or abbr.)| MM (2 digits), M (1
or 2 digits)
// | NNN (abbr.) |
// Day of Month | dd (2 digits) | d (1 or 2 digits)
// Day of Week | EE (name) | E (abbr)
// Hour (1-12) | hh (2 digits) | h (1 or 2 digits)
// Hour (0-23) | HH (2 digits) | H (1 or 2 digits)
// Hour (0-11) | KK (2 digits) | K (1 or 2 digits)
// Hour (1-24) | kk (2 digits) | k (1 or 2 digits)
// Minute | mm (2 digits) | m (1 or 2 digits)
// Second | ss (2 digits) | s (1 or 2 digits)
// AM/PM | a |

function compareDatesWithFormats
(date1,dateformat1,date2,dateformat2)
{
var d1=getDateFromFormat(date1,dateformat1);
var d2=getDateFromFormat(date2,dateformat2);
if (d1==0 || d2==0)
{
return -1;
}
else if (d1 > d2)
{
return 1;
}
return 0;
}


// ---------------------------------------------------------
---------
// getDateFromFormat( date_string , format_string )
//
// This function takes a date string and a format string.
It matches
// If the date string matches the format string, it returns
the
// getTime() of the date. If it does not match, it returns
0.
// ---------------------------------------------------------
---------
function getDateFromFormat(val,format) {
val=val+"";
format=format+"";
var i_val=0;
var i_format=0;
var c="";
var token="";
var token2="";
var x,y;
var now=new Date();
var year=now.getYear();
var month=now.getMonth()+1;
var date=1;
var hh=now.getHours();
var mm=now.getMinutes();
var ss=now.getSeconds();
var ampm="";

while (i_format < format.length) {
// Get next token from format string
c=format.charAt(i_format);
token="";
while ((format.charAt(i_format)==c) &&
(i_format < format.length)) {
token += format.charAt(i_format++);
}
// Extract contents of value based on
format token
if (token=="yyyy" || token=="yy" ||
token=="y") {
if (token=="yyyy") { x=4;y=4; }
if (token=="yy") { x=2;y=2; }
if (token=="y") { x=2;y=4; }
year=_getInt(val,i_val,x,y);
if (year==null) { return 0; }
i_val += year.length;
if (year.length==2) {
if (year > 70) { year=1900+
(year-0); }
else { year=2000+(year-0); }
}
}
else if (token=="MMM"||token=="NNN"){
month=0;
for (var i=0; i<MONTH_NAMES.length;
i++) {
var month_name=MONTH_NAMES
[i];
if (val.substring
(i_val,i_val+month_name.length).toLowerCase()
==month_name.toLowerCase()) {
if (token=="MMM"||
(token=="NNN"&&i>11)) {
month=i+1;
if
(month>12) { month -= 12; }
i_val +=
month_name.length;
break;
}
}
}
if ((month < 1)||(month>12)){return
0;}
}
else if (token=="EE"||token=="E"){
for (var i=0; i<DAY_NAMES.length;
i++) {
var day_name=DAY_NAMES[i];
if (val.substring
(i_val,i_val+day_name.length).toLowerCase()
==day_name.toLowerCase()) {
i_val +=
day_name.length;
break;
}
}
}
else if (token=="MM"||token=="M") {
month=_getInt
(val,i_val,token.length,2);
if(month==null||(month<1)||
(month>12)){return 0;}
i_val+=month.length;}
else if (token=="dd"||token=="d") {
date=_getInt
(val,i_val,token.length,2);
if(date==null||(date<1)||(date>31))
{return 0;}
i_val+=date.length;}
else if (token=="hh"||token=="h") {
hh=_getInt
(val,i_val,token.length,2);
if(hh==null||(hh<1)||(hh>12))
{return 0;}
i_val+=hh.length;}
else if (token=="HH"||token=="H") {
hh=_getInt
(val,i_val,token.length,2);
if(hh==null||(hh<0)||(hh>23))
{return 0;}
i_val+=hh.length;}
else if (token=="KK"||token=="K") {
hh=_getInt
(val,i_val,token.length,2);
if(hh==null||(hh<0)||(hh>11))
{return 0;}
i_val+=hh.length;}
else if (token=="kk"||token=="k") {
hh=_getInt
(val,i_val,token.length,2);
if(hh==null||(hh<1)||(hh>24))
{return 0;}
i_val+=hh.length;hh--;}
else if (token=="mm"||token=="m") {
mm=_getInt
(val,i_val,token.length,2);
if(mm==null||(mm<0)||(mm>59))
{return 0;}
i_val+=mm.length;}
else if (token=="ss"||token=="s") {
ss=_getInt
(val,i_val,token.length,2);
if(ss==null||(ss<0)||(ss>59))
{return 0;}
i_val+=ss.length;}
else if (token=="a") {
if (val.substring
(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";}
else if (val.substring
(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";}
else {return 0;}
i_val+=2;}
else {
if (val.substring
(i_val,i_val+token.length)!=token) {return 0;}
else {i_val+=token.length;}
}
}
// If there are any trailing characters left in the
value, it doesn't match
if (i_val != val.length) { return 0; }
// Is date valid for month?
if (month==2) {
// Check for leap year
if ( ( (year%4==0)&&(year%100 != 0) ) ||
(year%400==0) ) { // leap year
if (date > 29){ return 0; }
}
else { if (date > 28) { return 0; } }
}
if ((month==4)||(month==6)||(month==9)||
(month==11)) {
if (date > 30) { return 0; }
}
// Correct hours value
if (hh<12 && ampm=="PM") { hh=hh-0+12; }
else if (hh>11 && ampm=="AM") { hh-=12; }
var newdate=new Date(year,month-1,date,hh,mm,ss);
return newdate.getTime();
}

// ---------------------------------------------------------
---------
// Utility functions for parsing in getDateFromFormat()
// ---------------------------------------------------------
---------

//function LZ(x) {return(x&lt;0||x&gt;9?"":"0")+x}
function _isInteger(val) {
var digits="1234567890";
for (var i=0; i < val.length; i++) {
if (digits.indexOf(val.charAt(i))==-1) {
return false; }
}
return true;
}
function _getInt(str,i,minlength,maxlength) {
for (var x=maxlength; x>=minlength; x--) {
var token=str.substring(i,i+x);
if (token.length < minlength) { return
null; }
if (_isInteger(token)) { return token; }
}
return null;
}

// ---------------------------------------------------------
---------
// isDate ( date_string, format_string )
// Returns true if date string matches format of format
string and
// is a valid date. Else returns false.
// It is recommended that you trim whitespace around the
value before
// passing it to this function, as whitespace is NOT
ignored!
// ---------------------------------------------------------
---------
function isDateWithFormat(val,format) {
var date=getDateFromFormat(val,format);
if (date==0) { return false; }
return true;
}
// ---------------------------------------------------------
------------------------




//Added By Jeyaprakash on 12/09/2003
//Alerts if the Given date is Greater than Current Date

function CompareDate(FromDay, FromMonth, FromYear, mMsg)
{

var mFirstDate=new Date();//Current Date
var mSecondDate=new Date
(FromDay+FromMonth+", "+FromYear);
var mToCheck=true;
var permanentFalse=true;

if( mFirstDate.getFullYear()==
mSecondDate.getFullYear())
{
mToCheck=false; // check
}
else if(mFirstDate.getFullYear() <
mSecondDate.getFullYear() )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mFirstDate.getFullYear()
==mSecondDate.getFullYear() )
{
if(mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 <
mSecondDate.getMonth()+1 )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if( mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{

if(mFirstDate.getDate() <
mSecondDate.getDate() )
{
permanentFalse=false; // out
}
}
}
if(permanentFalse==false )
{
alert(mMsg + strDateCheckMsg);
return false;
}
else
return true;
}
/*
Begin 12 Sep 2003 CP
Timesheet date should not be greater than server date
*/

function CompareWithServerDate
(currDay,currMon,currYear,TSDay, TSMon, TSYear)
{
//alert(currDate);
//var mFirstDate=new Date();//Current Date
currDay=parseInt(currDay);
currMon=parseInt(currMon);
currYear=parseInt(currYear);

TSDay=parseInt(TSDay);

TSMon=parseInt(TSMon);

TSYear=parseInt(TSYear);


var mTSDate=new Date(TSDay+TSMon+", "+TSYear);
var mToCheck=true;
var permanentFalse=true;
if(currYear == TSYear)
{
mToCheck=false; // check
}
else if(currYear < TSYear )
{
permanentFalse=false; //out
}
else if(currMon+1 > TSMon+1 )
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(currYear==TSYear )
{
if(currMon+1 == TSMon+1 )
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(currMon+1 < TSMon+1 )
{
permanentFalse=false; //out
}
else if(currMon+1 > TSMon+1 )
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if( currMon+1 == TSMon+1 )
{

if(TSDay > currDay)
{
permanentFalse=false; // out
}
}
}
if(permanentFalse==false )
{
alert(strDateValMsg);
return false;
}
else
return true;
}


//End 12 Sep 2003 CP
//Calendar Dates
function CalendarCompareTwoDates(FirstDate,SecDate)
{

var mFirstDate=new Date(FirstDate.substring(3,6)
+FirstDate.substring(0,2)+", "+FirstDate.substring(7,11));
var mSecondDate=new Date(SecDate.substring(3,6)
+SecDate.substring(0,2)+", "+SecDate.substring(7,11));
//var mFirstDate=new Date
(FromDay+FromMonth+", "+FromYear);
//var mSecondDate=new Date
(ToDay+ToMonth+", "+ToYear);

var mToCheck=true;
var permanentFalse=true;

if(mSecondDate.getFullYear()==
mFirstDate.getFullYear())
{
mToCheck=false; // check
}
else if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mSecondDate.getFullYear()
==mFirstDate.getFullYear())
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 <
mFirstDate.getMonth()+1)
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
if(mSecondDate.getDate() <
mFirstDate.getDate())
{
permanentFalse=false; // out
}
}
}

if(permanentFalse==false )
{
//alert(mMsg);
return false;
}
else
return true;
}


//----------------------------------------------------------
------------
function NullValidation(idField,FieldName)
{
var strTemp=idField.value;
varBroken=0;
var varSpace = 0;
varOk= 0;
for(var i=0;i<strTemp.length;i++)
{
if(varOk==1) break;
for(var j=0;j<varNull.length;j++)
{
if(strTemp.charAt(i)!=varNull.charAt
(j))
{
varOk=1;
}
else
{
varSpace++;
}
}
}
if(varOk==0)
{
varBroken=1;
alert('Kindly enter the ' +FieldName ); // \n
Invalid Entry!');
idField.focus();
}
else
{
varBroken=0;
}

}

//Added By Jeyaprakash
function NullValidationWithOutFocus(idField,FieldName)
{
var strTemp=idField.value;
varBroken=0;
var varSpace = 0;
varOk= 0;
for(var i=0;i<strTemp.length;i++)
{
if(varOk==1) break;
for(var j=0;j<varNull.length;j++)
{
if(strTemp.charAt(i)!=varNull.charAt
(j))
{
varOk=1;
}
else
{
varSpace++;
}
}
}
if(varOk==0)
{
varBroken=1;
alert('Kindly enter the ' +FieldName );
}
else
{
varBroken=0;
}

}



//-----------------------------------------------------
function NumValidation(idField)
{

var strTemp = idField.value;

varBroken=0;
var varCharacter = 0;
// Added by ANIL if no value entered then dont
validate return true
if (strTemp.length<=0)
{
varBroken = 0;
return true;
}
else
{
for(var i=0;i<strTemp.length;i++)
{
if(varBroken==1) break;
for(var j=0;j<varAlpha.length;j++)
{
if(strTemp.charAt(i)
==varAlpha.charAt(j))
{
varCharacter =1;
varBroken = 1;
break;
}
}
}
if(varCharacter==1)
{
varBroken=1;
alert('Kindly enter a Valid
Number');
idField.select();
//idField.focus();
}
return false;
}
}
//Added By Jeyaprakash on 13/09/2003
//Alerts if the Given date is Greater than Current Server
Date

function CompareServerDate
(currDay,currMon,currYear,TSDay,TSMonth,TSYear,mMsg)
{
var mFirstDate=new Date
(currDay+currMon+", "+currYear);//Current Date
var mSecondDate=new Date(TSDay+TSMonth+", "+TSYear);
var mToCheck=true;
var permanentFalse=true;

if( mFirstDate.getFullYear()==
mSecondDate.getFullYear())
{
mToCheck=false; // check
}
else if(mFirstDate.getFullYear() <
mSecondDate.getFullYear() )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mFirstDate.getFullYear()
==mSecondDate.getFullYear() )
{
if(mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 <
mSecondDate.getMonth()+1 )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if( mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{

if(mFirstDate.getDate() <
mSecondDate.getDate() )
{
permanentFalse=false; // out
}
}
}
if(permanentFalse==false )
{
alert("Kindly enter "+mMsg +
strDateCheckMsg);
return false;
}
else
return true;
}


////////////////////////////////////////////////////////////
/////////////////

//Checking for year validation
function ValidateYear(mYear,mMsg)
{
var mYearValue = mYear.value;

if(mYearValue =='' || mYearValue =='0000' ||
mYearValue.length <4)
{
alert(mMsg + strYearMsg);
mYear.select();
return false;
}
//Checking for Numeric value for Year
for(var i=0;i<mYearValue.length;i++)
{
if(varNumeric.indexOf(mYearValue.charAt(i))
<0)
{
alert(strYearMsg);
mYear.select();
return false;
}
}
return true;
}
// Checking for ISNull
function IsNullValue(mFieldObj, mMsg)
{
var mFieldValue = mFieldObj.value;
if(mFieldValue.length<=0)
{
alert(mMsg + strIsNullMsg);
mFieldObj.select();
return false;
}
return true;
}
function IsNumeric(mFieldObj, mMsg)
{
var mFieldValue = mFieldObj.value;
//Checking for Numeric value
for(var i=0;i<mFieldValue.length;i++)
{
if(varNumeric.indexOf(mFieldValue.charAt(i))
<0)
{
alert(mMsg + strIsNumericMsg);
mFieldObj.select();
return false;
}
}
return true;
}

/*
function isSelectDateGreater(mDate,mMonth,mYear,mMsg)
{
var mMonFound=true;
var mYearFound=true;
var mFound=false;
var mFirstDate=new Date();
var mSecondDate=new Date(mMonth+mDate+", "+mYear);

//alert("Selected Year "+mSecondDate.getFullYear()
+ "---- Current Year" + mFirstDate.getFullYear());

if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
alert('Selected Year is lesser than Current
Year');
mYearFound = false;
}

///alert("Selected Month "+(mSecondDate.getMonth()
+1) + "---- Current Month "+(mFirstDate.getMonth()+1));


if(mSecondDate.getMonth()+1 < mFirstDate.getMonth()
+1)
{
alert('Selected Month is lesser than
Current Month');
mMonFound = false;
}

//alert("Selected Date is "+(mSecondDate.getDate
()) + "---- Current Date is "+(mFirstDate.getDate()) );


if(mSecondDate.getDate() < mFirstDate.getDate() ||
mYearFound ==false || mMonFound ==false)
{
alert('Selected Date is lesser than Current
Date');
mFound = true;
}

if(mFound)
{
alert(mMsg+strDateMsg);
return false;
}
else
return false;
}*/

function CompareDates(FromDay, FromMonth, FromYear, ToDay,
ToMonth, ToYear, mMsg)
{


var mFirstDate=new Date
(FromDay+FromMonth+", "+FromYear);
var mSecondDate=new Date(ToDay+ToMonth+", "+ToYear);

var mToCheck=true;
var permanentFalse=true;

if(mSecondDate.getFullYear()==
mFirstDate.getFullYear())
{
mToCheck=false; // check
}
else if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mSecondDate.getFullYear()
==mFirstDate.getFullYear())
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 <
mFirstDate.getMonth()+1)
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
if(mSecondDate.getDate() <
mFirstDate.getDate())
{
permanentFalse=false; // out
}
}
}
if(permanentFalse==false )
{
alert(mMsg);
return false;
}
else
return true;
}


//
function CompareDatesWithCurr(FromDay, FromMonth, FromYear,
mCurrentDate, mMsg)
{
if(FromDay==null || FromDay=="")
{
alert(mMsg+strIsNullMsg);
return false;
}
if(FromYear==null || FromYear=="")
{
alert(mMsg+strIsNullMsg);
return false;
}
var mFirstDate;
if(parseInt(FromDay)<1 || parseInt(FromDay) >31)
{
alert('Date should be between 1 to 31');
return false;
}
mFirstDate=new Date
(FromDay+FromMonth+", "+FromYear);

var mSecondDate=new Date(mCurrentDate);// Server
Current Date
var mToCheck=true;
var permanentFalse=true;

if( mFirstDate.getFullYear()==
mSecondDate.getFullYear())
{
mToCheck=false; // check
}
else if(mFirstDate.getFullYear() <
mSecondDate.getFullYear() )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mFirstDate.getFullYear()
==mSecondDate.getFullYear() )
{
if(mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 <
mSecondDate.getMonth()+1 )
{
permanentFalse=false; //out
}
else if(mFirstDate.getMonth()+1 >
mSecondDate.getMonth()+1 )
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if( mFirstDate.getMonth()+1 ==
mSecondDate.getMonth()+1 )
{

if(mFirstDate.getDate() <
mSecondDate.getDate() )
{
permanentFalse=false; // out
}
}
}
if(permanentFalse==false )
{
alert(mMsg + strDateMsg);
return false;
}
else
return true;
}




// Pass strMonth as in the format of MMM Eg 'Jan', 'Feb'....
// retuns No of days in the month
function getNoOfDaysInMonth(strMonth)
{
var arr=new Array
("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct"
,"Nov","Dec");
var i=0;
var monthIndex=0;
for(i=0;i<12;i++)
{
if(arr[i]==strMonth)
{
monthIndex=i;
}
}
return DaysArray(monthIndex+1)[monthIndex+1];
}


//To Sort
function Compare2Dates(mFirstDate,mSecondDate)
{

// var mFirstDate=new Date
(FromDay+FromMonth+", "+FromYear);
// var mSecondDate=new Date(ToDay+ToMonth+", "+ToYear);
var mFirstDate=new Date(mFirstDate.substring(3,6)
+mFirstDate.substring(0,2)+", "+mFirstDate.substring(7,11));
var mSecondDate=new Date(mSecondDate.substring(3,6)
+mSecondDate.substring(0,2)+", "+mSecondDate.substring
(7,11));


var mToCheck=true;
var permanentFalse=true;

if(mSecondDate.getFullYear()==
mFirstDate.getFullYear())
{
mToCheck=false; // check
}
else if(mSecondDate.getFullYear() <
mFirstDate.getFullYear())
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; // ok
mToCheck==true; // ok
}

if(mToCheck==false)
{

if(mSecondDate.getFullYear()
==mFirstDate.getFullYear())
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
mToCheck=false; //check

//permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 <
mFirstDate.getMonth()+1)
{
permanentFalse=false; //out
}
else if(mSecondDate.getMonth()+1 >
mFirstDate.getMonth()+1)
{
permanentFalse=true; //ok
mToCheck==true; // ok
}
}

}
if(permanentFalse==true && mToCheck==false)
{
if(mSecondDate.getMonth()+1 ==
mFirstDate.getMonth()+1)
{
if(mSecondDate.getDate() <
mFirstDate.getDate())
{
permanentFalse=false; // out
}
}
}

if(permanentFalse==false )
{
// alert(mMsg);
return false;
}
else
return true;
}

// This function returns 0 if the given dates are not
fallen inbetween
function compareDatesInBetween
(mDate,mNextDate,mCompareDate,mDateFormat)
{
try
{
var mDateFt = getDateFromFormat(mDate,
mDateFormat);
var mDateNxtFt = getDateFromFormat
(mNextDate, mDateFormat);
var mDateCprFt = getDateFromFormat
(mCompareDate, mDateFormat);

if (mDateFt==0 || mDateNxtFt==0)
{
return -1;
}

if (mDateFt <= mDateCprFt && mDateNxtFt
>=mDateCprFt)
{
return 1;
}
return 0;
}
catch(mErr)
{
//alert(mErr.message);
}
}
// compareDateInBetween - end


//Added By Deepesh For Validation Fields With Certain
Exceptions in Values and Numbers not allowed.
//Allowing charcters like . ,
function AlphabetsWithExcep_onkeypress(v)
{
if (window.event.keyCode != 32)
{
if(window.event.keyCode<65 ||
window.event.keyCode>90)
{
if(window.event.keyCode<97 ||
window.event.keyCode>122 )
{
if(!((window.event.keyCode
== 46) || (window.event.keyCode== 44)) )
{

window.event.keyCode=false
return false
}
}
}
}
}
//Added By Deepesh For Validation Fields With Certain
Exceptions in Values and Numbers are allowed.
//Allowing charcters like / . , + - ( )
function AlphaNumWithExcep_onkeypress(v)
{
if (window.event.keyCode != 32)
{
if(window.event.keyCode<48 ||
window.event.keyCode>58 )
{
if(window.event.keyCode<65 ||
window.event.keyCode>90)
{
if(window.event.keyCode<97
|| window.event.keyCode>122 )
{
if(!
((window.event.keyCode == 47) ||(window.event.keyCode ==
46) || (window.event.keyCode== 44) || (window.event.keyCode
== 43) || (window.event.keyCode == 45) ||
(window.event.keyCode == 40) || (window.event.keyCode ==
41)) )
{

window.event.keyCode=false
return
false
}
}
}
}
}
}

//allows .
function allowNumbersOnly_onkeypress(p)
{

if (window.event.keyCode != 32)
{

if(window.event.keyCode<48 ||
window.event.keyCode>=58 )
{
if(!(window.event.keyCode == 46))
window.event.keyCode=false
return false
}
}
}

//Added By Jeyaprakash
function AlphaNumWithExcep(mObj)
{
for(var
intLoop=0;intLoop<mObj.value.length;intLoop++)
{
ch=mObj.value.charCodeAt(intLoop);
if (ch != 32)
{
if(ch<48 || ch>58 )
{
if(ch<65 || ch>90)
{
if(ch<97 || ch>122 )
{
if(!((ch ==
47) ||(ch == 46) || (ch== 44) || (ch == 43) || (ch == 45)
|| (ch == 40) || (ch == 41)) )
{

alert("Kindy enter only permitted Spl. Characters");

return false;
}
}
}
}
}
}
return true;
}

//Added By Jeyaprakash
function AlphabetsWithExcep(mObj)
{
for(var
intLoop=0;intLoop<mObj.value.length;intLoop++)
{
ch=mObj.value.charCodeAt(intLoop);
if (ch != 32)
{
if(ch<65 || ch>90)
{
if(ch<97 || ch>122 )
{
// if(!((ch == 47) ||
(ch == 46) || (ch== 44) || (ch == 43) || (ch == 45) || (ch
== 40) || (ch == 41)) )
// {
alert
("Kindy enter only Alphabets");
return
false;
// }
}
}
}
}
return true;
}


//will allow special characters +,-,),(,space
function allowNumbersWithExcep_onkeypress(p)
{

if (window.event.keyCode != 32)
{
if(window.event.keyCode<48 ||
window.event.keyCode>=58 )
{
if(!((window.event.keyCode == 45)
|| (window.event.keyCode == 43) || (window.event.keyCode
== 44) || (window.event.keyCode == 40) ||
(window.event.keyCode == 41)))
{

window.event.keyCode=false
return false
}
}
}
}

//For Dates With Three TextBoxes
function DateBox_onkeypress(p)
{

if (window.event.keyCode != 32)
{

if(window.event.keyCode<48 ||
window.event.keyCode>=58 )
{
window.event.keyCode=false
return false
}
}
}


//Added By Jeyaprakash
function chkemail(str)
{
//regexp=/[^@.]+@+[^@.]+\.+[^@.]/
regexp=/^[a-z][\w\.]*@[\w\.]+\.[a-z]{2,3}/i
return regexp.test(str)
}

//Added By Jeyaprakash
//Function to Set Variable to say page content get modified
function setPageModified(fieldName)
{
document.getElementById(fieldName).value=1;
}

//Added By Jeyaprakash
//Function to throw alert if a page content not changed
function isPageModified(fieldName)
{
if (document.getElementById(fieldName).value == 0)
{
alert("No Modifications Done.Kindly Change
any values and submit Or Click Discard");
return false;
}
else
return true;
}

function ListBoxSelection(comboCtrl,mMsg1)
{
if(comboCtrl.options.selectedIndex<0)
{
alert( strComboSelMsg + mMsg1);
comboCtrl.select;
comboCtrl.focus();
return false;
}
else
return true;
}

function CheckListSelection(comboCtrl,mMsg1)
{
if(comboCtrl.options.selectedIndex<0)
{
alert(strComboSelMsg + mMsg1);
return false;
}
else
return true;
}

function compareDatesWithFormatsCurr1
(date1,dateformat1,date2,dateformat2)
{
var ArrdtFormat1;
var ArrdtFormat2;
if((dateformat1 == "dd-MMM-yyyy") &&
(dateformat2=="dd-MMM-yyyy"))
{
ArrdtFormat1=date1.split("-");
if(ArrdtFormat1[0].length==1)
date1="0"+ArrdtFormat1[0]+"-
"+ArrdtFormat1[1]+"-"+ArrdtFormat1[2];

ArrdtFormat2=date2.split("-");
if(ArrdtFormat2[0].length==1)
date2="0"+ArrdtFormat2[0]+"-
"+ArrdtFormat2[1]+"-"+ArrdtFormat2[2];
}

var d1=getDateFromFormat(date1,dateformat1);
var d2=getDateFromFormat(date2,dateformat2);


if (d1==0 || d2==0)
{
return -1;
}
else if (d1 > d2)
{

return 1;
}
return 0;
}


function compareDatesWithFormatsCurr
(date1,dateformat1,date2,dateformat2)
{
var ArrdtFormat1;
var ArrdtFormat2;
if((dateformat1 == "dd-MMM-yyyy") &&
(dateformat2=="dd-MMM-yyyy"))
{
ArrdtFormat1=date1.split("-");
if(ArrdtFormat1[0].length==1)
date1="0"+ArrdtFormat1[0]+"-
"+ArrdtFormat1[1]+"-"+ArrdtFormat1[2];

ArrdtFormat2=date2.split("-");
if(ArrdtFormat2[0].length==1)
date2="0"+ArrdtFormat2[0]+"-
"+ArrdtFormat2[1]+"-"+ArrdtFormat2[2];
}

var d1=getDateFromFormat(date1,dateformat1);
var d2=getDateFromFormat(date2,dateformat2);


if (d1==0 || d2==0)
{
return -1;
}
else if (d1 >= d2)
{

return 1;
}
return 0;
}


//Added by Jeyaprakash - To Show Form Details
function OpenFormDetailsWindow(URL)
{
//URL="../ADNETMASTERS/DisplayFormDetails.aspx?
Form_ID="+document.getElementById("txtFormName").value;
window.open
(URL,"FormDetails","width=550,height=450,left=420");

}

//Added by Jeyaprakash - To Show APPROVER COMMENTS
function doShowApproverComments(mFlowID)
{
var mFilenameArr = new Array();
mFilenameArr=window.document.parentWindow.parent.loc
ation.pathname.split("/");
//window.open
("http://"+window.location.host+"/"+mFilenameArr[1]
+"/TRAVELREQUEST/Track_Approver_Comments.aspx?
mFlowID="+mFlowID,"ApproverComments","width=600,height=500,l
eft=300,top=100");
window.open
("http://"+window.location.host+"/"+mFilenameArr[1]
+"/Track_Approver_Comments.aspx?
mFlowID="+mFlowID,"ApproverComments","width=600,height=500,l
eft=300,top=100");
}


//Added by Jeyaprakash - To Show Page in full screen
function doShowFullScreen()
{
top.mainframeset.cols="1,*";
}

//Added by Jeyaprakash - To Show Left Tree
function doShowLeftTree()
{
top.mainframeset.cols="215,*";
}

function CharacterLeft(obj,maxlen)
{
inputStr = document.getElementById(obj).value;
strlength= inputStr.length;
if (strlength > maxlen )
{
document.getElementById
(obj).value=inputStr.substring(0,maxlen);
document.getElementById(obj).focus();
}
}

//Added by Jeyaprakash - To Validate Currency

function validateCurrency(obj)
{
/* NullValidation(obj,"Currency");
if (varBroken==1)
{
document.getElementById
("hdnError").value="yes";
return false;
}*/
if (isNaN(obj.value))
{
document.getElementById
("hdnError").value="yes";
alert("Kindly enter only numeric
values in Amount");
return false;
}

if (obj.value.length > 0)
{
obj.value = obj.value * Math.pow
(10, 2)
obj.value = Math.round(obj.value)
obj.value = obj.value / Math.pow
(10, 2)

obj.value=parseFloat(obj.value);
}

/* if (obj.value <= 0)
{
document.getElementById
("hdnError").value="yes";
alert("Kindly enter Amount value
greater than zero");
obj.focus();
return false;
}*/


var strPosition=obj.value.indexOf(".");
if (obj.value.lastIndexOf(".") !=
strPosition)
{
document.getElementById
("hdnError").value="yes";
alert("Kindly enter only one '.' in
Amount");
obj.focus();
return false;
}
if (strPosition > 0)
{
if (obj.value.length > 11)
{
document.getElementById
("hdnError").value="yes";
alert("Kindly enter Amount
Less than 99999999.99");
obj.focus();
return false;
}
else
{
if(obj.value.substring
(0,strPosition).length > 8)
{

document.getElementById("hdnError").value="yes";
alert("Kindly enter
Amount Less than 99999999.99");
obj.focus();
return false;
}
if (obj.value.substring
(strPosition+1,obj.value.length).length > 2)
{

document.getElementById("hdnError").value="yes";
alert("Kindly enter
decimal value Less than two digits");
obj.focus();
return false;
}

}
}
else
{
if (obj.value.length > 8)
{
document.getElementById
("hdnError").value="yes";
alert("Kindly enter Amount
Less than 99999999.99");
obj.focus();
return false;
}
}
document.getElementById
("hdnError").value="no";
return true;
}


//Added by SATHYA(CCIPL)
//Validation for Alphabets only which does not allow
special characters


function AlphabeticCharactersOnly_onkeypress(s)
{

if(window.event.keyCode < 65 || window.event.keyCode >
90)
{
if(window.event.keyCode < 97 ||
window.event.keyCode > 122)
{
window.event.keyCode=false;
return false;
}

}
}


//Added by SATHYA(CCIPL)
//modified by Murali Krishnan(ccipl)

//Validation for numbers only without any other Special
characters and blank space
function NumbersOnly_onkeypress(p)
{
if(window.event.keyCode<48 ||
window.event.keyCode>57)
{
window.event.keyCode=false
return false
}

}



//added by Murali Krishnan(ccipl)
//Validating E-Mail address
function ValidateMail(textvalue)
{
sValidMailStr = "Enter a valid Email Id";
sEmptyEmailStr = "Email cannot be left empty";
invalidchars="\"~ !#$%^&*()-+=|\\{}[]:;'<>?,/`";
var temp = 0;
tempValue=textvalue;
sEmail=tempValue.value.toLowerCase();
var iLength = sEmail.length;


if( iLength < 1 || sEmail.value == " ")
{
//alert("blank id");
return false;
}

if (parseInt(sEmail.charAt(0))>=0 || parseInt
(sEmail.charAt(0))<=9)
{
alert("First character cannot be a Number
in email address");
return false;
}
for(i=0;i<sEmail.length;i++)
{
for(j=0;j<invalidchars.length;j++)
{
if(sEmail.charAt(i)
==invalidchars.charAt(j))
{
alert("Your email contains
a blank space or special character.");
return false;
}
}
}
var dotpos = sEmail.indexOf(".",0);
var atpos = sEmail.indexOf("@",0);

if(dotpos == 0 || atpos == 0 || atpos == (iLength-
1) || dotpos == (atpos+1) )
{
alert("Kindly check position of '@' and '.'
in email address");
return false;
}

for(i=0;i<sEmail.length;i++)
{
if (sEmail.charAt(i)=="@")
{
if((i!=0) && (sEmail.charAt(i-1)
=="."))
{
alert("Kindly note '.'
cannot come immediately before '@'");
return false;
}
temp = temp + 1;
}
}
if ( (temp>1) )
{
alert("E-mail address contains extra '@'
character ");
return false;
}
if( (temp==0) )
{
alert("Kindly check for '@' character in E-
mail address ");
return false;
}
var strafterAt = sEmail.substring(sEmail.indexOf
("@",0), iLength);
for(i=0; i<strafterAt.length; i++)
{
if(strafterAt.charAt(i) == '_')
{
alert(" Kindly note '_' character
is not allowed after '@'");
return false;
}
}
for (i=0; i<=sEmail.length; i++)
{
if (sEmail.charAt(i)=="." && sEmail.charAt
(i+1)==".")
{
alert("Kindly note '.' characters
cannot be given continuously");
return false;
}
}
var strafterDot = sEmail.substring(sEmail.indexOf
(".",0),sEmail.iLength-1);

if (strafterDot.length == 0)
{
alert("Kindly enter domain name");
return false;
}
if(sEmail.lastIndexOf(".") == iLength-1)
{
alert("Kindly enter domain name");
return false;
}
else
{
var finalstr = sEmail.substring
((sEmail.lastIndexOf("."))+1,iLength);

for(i=0; i<finalstr.length; i++)
{
if (parseInt(finalstr.charAt(i))>=0
|| parseInt(finalstr.charAt(i))<=9)
{
alert("Kindly note numbers
are not allowed in domain name");
return false;
}
}

if(finalstr.length<2)
{
alert("Domain name must end
with well known domains \n or 2-lettered country name. eg
com,edu,in etc.")
return false
}
else
{

var domain = finalstr;

dom=new Array
("au","com","net","org","edu","in","mil","gov","arpa","biz",
"aero","name","coop","info","pro","museum")
error="yes"
for(var
k=0;k<dom.length;k++)
{
if(domain==dom[k])
{
k=dom.length
error="no"
}
}
if((error=="yes" &&
(domain.length>=2)) || (domain.length<2))
{
alert("Domain name
must end with well known domains \n or 2-lettered country
name. eg com,edu,in etc.")
return false
}

}
}

return true;
}


//Added by Murali Krishnan(CCIPL)
//Validation for Alphabets and blankspace which will not
allow other characters
//Modified by BharathiRaja(CCIPL)
//No Blank Space for First Character in the InputBox.
function AlphabetsBlank_onkeypress(txtval)
{ var n=txtval.value;
var n1=n.length

if(window.event.keyCode != 32 || n1==0)
{
if(window.event.keyCode < 65 ||
window.event.keyCode > 90)
{
if(window.event.keyCode < 97 ||
window.event.keyCode > 122)
{

window.event.keyCode=false;
return false;
}
}
}

}
//Added by Prabhakaran(CCIPL)
//Validation to check the Input number format as ###.##

function NumberDecimalValid(textvalue)
{
var str,iLoop,iNumAscii,iNumValue,dotposition;
var cnt=0;
var totdigit=0;
str=textvalue;
iNumVal=str.charAt(0);
iNumAsc=iNumVal.charCodeAt(0);

if (((iNumAsc==43))|| ((iNumAsc>=48 && iNumAsc<=57 )))
{
if(str.length==1)
return false;
for( iLoop=1; iLoop<str.length;iLoop++)
{

iNumValue=str.charAt(iLoop);
iNumAscii=iNumValue.charCodeAt(0);

if(iNumAscii==46)
{ cnt++; }
if ((iNumAscii<46)||(iNumAscii>46 && iNumAscii<48)
|| (iNumAscii>57)||(cnt>1))
{
return true;
break;
}
else if(cnt==1)
{
dotposition=str.indexOf(".");
totdigit=str.substring
(dotposition+1,str.length);
if(((totdigit.length)>2)||
(dotposition+1==str.length))
{
return false;
break;
}
}
}
}
else
return false;
return true;
}


//Added by Ganesh(CCIPL)
//T0 reduce two days from the given input date.


function FormatDate(DateToFormat,FormatAs)
{
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="dd/mm/yyyy";}

var strReturnDate;
FormatAs = FormatAs.toLowerCase();
DateToFormat = DateToFormat.toLowerCase();
var arrDate
var arrMonths = new Array
("January","February","March","April","May","June","July","A
ugust","September","October","November","December");
var strMONTH;
var Separator;

while(DateToFormat.indexOf("st")>-1){
DateToFormat = DateToFormat.replace("st","");

Is This Answer Correct ?    0 Yes 10 No

Post New Answer

More QTP Interview Questions

How to return a value from a fn, if it has more than one value how to return

3 Answers   Verizon,


HOW to invoke any recorded script in QTP with out using RECORD & PLAYBACK CONCEPT?

1 Answers  


Hi I'm a beginner in QTP. So far I'm ok with Descriptive but stuck while implementing Hybrid Frame work. 1. I have created a Keyword file with .vbs ext set home=description.create home("title").value="Welcome to feests" set reglink=description.create reglink("name").value="register yourrestaurant / take away" set fbusname=description.create fbusname("name").value="business_name" set dispname=description.create dispname("name").value="display_name" set restchkbox=description.create restchkbox("name").value="restaurant" set cuiscate=description.create cuiscate("name").value="cuisine_categery1" set addline1=description.create addline1("name").value="address_line1" set pstcode=description.create pstcode("name").value="address_postcode" set cntry=description.create cntry("name").value="address_country" set mlandno=description.create mlandno("name").value="landline_no" set emailadd=description.create emailadd("name").value="email" 2. I have created an Function Library file as follows Function launch() bro="C:\Program Files\Internet Explorer\iexplore.exe" url="http://www.feests.com/" invokeapplication bro&" "&url Browser(home).page(home).Link(reglink).click End Function Function restregistration(karthik, teja, Ameerpet, UK) Browser(home).page(home).WebEdit(fbusname).set "karthik" Browser(home).page(home).WebEdit(dispname).set "teja" Browser(home).page(home).WebCheckBox(restchkbox).set "ON" Browser(home).page(home).WebList(cuiscate).Select "Indian" Browser(home).page(home).WebEdit(addline1).set "Ameerpet" Browser(home).page(home).WebEdit(pstcode).set "UK" Browser(home).page(home).WebList(cntry).select "United Kingdom" Browser(home).page(home).WebEdit(mlandno).set "023775347" Browser(home).page(home).WebEdit(emailadd).set "email@gmail.com" End Function 3. This is how I have called the keywords and Functions in QTP executefile"C:\Documents and Settings\karthik\Desktop\keywords.vbs" executefile"C:\Documents and Settings\karthik\Desktop\functions.vbs" launch restregistration karthik, teja, Ameerpet, UK, "email@gmail.com" Now the issue is, I'm trying to enter the email ID in WebEdit field. But I dont know what is the mistake I did, if I run the script in QTP it is showing following error Error: Expected identifier Line (2): "executefile"C:\Documents and Settings\karthik\Desktop\functions.vbs"". Can someone help me fix this, please!!?

0 Answers  


if you have the same application screen with 7 drop down boxes and approximately 70 values how do you test with QTP?

2 Answers   Ordain Solutions,


How to analyzing test results using quicktest professional?

0 Answers  






Hi friends, I have heard that it is required to have an application hosted in the same machine where we use QTP. Otherwise QTP may identify the objects incorrectly. Please clear me is it true.

3 Answers  


What are they Advantages and Disadvantages in QTP 9.2?

1 Answers   Infotech,


What is the Obect Repository type, we use in Automated Testing..in Real time.. Pls anybody can give the answer.. Thanks in advance...

5 Answers   Navis,


Can we test GUI of the application using QTP.? How.?If possible briefly explain process.?

1 Answers   Wipro,


Hello, How can i capture first letter of any string using QTP. For ex.. i want "j" in the below string "john" could any one explain me? Is there any function for that?

4 Answers   Livetek,


What is the quicktest professional testing process?

0 Answers  


Functions call by reference and call by value. i want the diff b/n these 2 and how will be the script for this?in which situation we use these 2..?pls explain me clearly

0 Answers  


Categories