﻿var isControlValidated = true;
var count = 0;
var counter = 0;
String.prototype.trim = function() {
 return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.ltrim = function() {
 return this.replace(/^\s+/, "");
}
String.prototype.rtrim = function() {
 return this.replace(/\s+$/, "");
}

//Make ErrorMsgControl to empty.
function MakeErrMsgCtrlEmtpy(psMsgControlName) {
 var psMsgControl = window.document.getElementById(psMsgControlName);
 psMsgControl.innerHTML = "";
 focusControl = null;
}
//Make ErrorMsgControl to empty.
function MakeErrMsgCtrlEmtpy_New(psMsgControlName) {
 var psMsgControl = window.document.getElementById(psMsgControlName);
 psMsgControl.innerHTML = "<div class=\"DvErrorMsg\"></div>";
 focusControl = null;
}
var focusControl;

//For Validation of blank field and field with only spaces
//poControlType=[0:textbox, radiobutton, checkbox, dropdownlist; 1:radiobuttonlist; 2:checkboxlist] 
//excludeZero=1:consider zero(0) value as null;
//displayError=true
function ValidateNull(poControlName, poControlType, psMessage, psMsgControlName, displayError, excludeZero) {
 var str = " ";
 var count = 0;
 var string;
 var maxLength;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var isValid = true;
 if (poControlType == 0) {
  var poControl = window.document.getElementById(poControlName);
  string = poControl.value.Trim();
 }
 else if (poControlType == 1) //radiobuttonlist
 {

  string = GetRadioListData(poControlName);
 }
 else if (poControlType == 2) //checkboxlist
 {
  string = GetCheckboxListData(poControlName);
 }
 else if (poControlType == 3) // Listboxlist
 {
  string = GetListboxData(poControlName);
 }

 if ((excludeZero == 1) && (string == "0")) {
  isValid = false;
 }
 else if ((string == null) || (string == "")) {
  isValid = false;
 }
 else {
  maxLength = string.length;
  while (count < maxLength) {
   if (string == str) {
    poControl.value = "";
    isValid = false;
    break;
   }
   else {
    str += " ";
    count++;
   }
  }
 }
 if (!isValid) {
  if (displayError == undefined || displayError == true) {
   if (focusControl == null && poControl != undefined) {
    focusControl = poControl;
    if (focusControl.style.visibility == "visible") focusControl.focus();
   }

   AddErrorMessage(psMsgControl, psMessage);
  }
  return false
 }
 return true;
}
//// Validates maxlength 
function ValidateLength(poControlName, psLength, psMessage, psMsgControlName) {
 var poControl = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);

 var lsLength = poControl.value.length
 if (lsLength > psLength) {
  isControlValidated = false;
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null) {
   focusControl = poControl;
   focusControl.focus();
  }
  return false;
 }
}

function ValidateMultiLength(poControlName, psLength, psSeperator, psMessage, psMsgControlName) {
 var poControl = document.getElementById(poControlName);
 var psMsgControl = document.getElementById(psMsgControlName);
 var valueArray = poControl.value.split(psSeperator);
 for (var i = 0; i < valueArray.length; i++) {
  var strValue = valueArray[i];
  strValue = strValue.trim();
  if (strValue.length > psLength) {
   isControlValidated = false;
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && poControl != undefined) {
    focusControl = poControl;
    focusControl.focus();
   }
   return false;
  }
 }
}

//Validates minimum length 
function ValidateMinLength(poControlName, psLength, psMessage, psMsgControlName) {
 var poControl = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = poControl.value.length
 if (lsLength < psLength) {
  isControlValidated = false;
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null && poControl != undefined) {
   focusControl = poControl;
   focusControl.focus();
  }
  return false;
 }
}

function ValidateRTENull(poControlName, psMessage, psMsgControlName) {
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = document.forms[0].elements[poControlName].value.length;
 if (lsLength == 0) {
  isControlValidated = false;
  AddErrorMessage(psMsgControl, psMessage);
  return false;
 }
}

function ValidateRTELength(poControlName, psLength, psMessage, psMsgControlName) {
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = document.forms[0].elements[poControlName].value.length;
 if (lsLength > psLength) {
  isControlValidated = false;
  AddErrorMessage(psMsgControl, psMessage);
  return false;
 }
}

function ValidateUrl(poControlName, psMessage, psMsgControlName) {
 var UrlId = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var j = new RegExp();
 j.compile("^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|co|in)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\\\\+&%\$#\=~_\-]+))*$");
 if (UrlId.value != '') {
  if (!j.test(UrlId.value)) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   isControlValidated = false;
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null) {
    focusControl = UrlId;
    focusControl.focus();
   }
   return false;
  }
 }
 return true;
}

// To Check Valid Url 
function ValidUrl(poControlName, psMessage, psMsgControlName) {
 var Url = document.getElementById(poControlName);
 var stringValue = Url.value;
 var j = new RegExp();
 j.compile("^(((ht|f)tp(s?))\://)+(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|co|in)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\\\\+&%\$#\=~_\-]+))*$");

 if (stringValue != '') {
  if (!j.test(stringValue)) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   isControlValidated = false;
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null) {
    focusControl = Url;
    focusControl.focus();
   }
   return false;
  }
 }
 return true;
}

function ValidUrlByString(stringValue) {
 var j = new RegExp();
 j.compile("^(((ht|f)tp(s?))\://)+(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|co|in)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\\\\+&%\$#\=~_\-]+))*$");

 if (stringValue != '') {
  if (!j.test(stringValue)) {
   isControlValidated = false;
   return false;
  }
 }
 return true;

}

function textCounter(field, maxlimit, countfield) {
 field = document.getElementById(field);
 if (field.value.length > maxlimit) // if too long...trim it!
 {
  field.value = field.value.substring(0, maxlimit);
 }
 else if (countfield) {
  countfield = document.getElementById(countfield);
  countfield.value = maxlimit - field.value.length;
 }
}

function AddErrorMessage(psMsgControl, psMessage) {
 isControlValidated = false;
 var msgContainerControl = psMsgControl;
 for (var i = 0; i < 3; i++) {
  if (msgContainerControl.className == 'DvMsgContainer') break;
  if (msgContainerControl.parentNode)
   msgContainerControl = msgContainerControl.parentNode;
 }
 var lastDiv;
 var counterDiv = msgContainerControl;
 var nestingLevel = 0;
 while (true) {
  for (var i = 0; i < counterDiv.childNodes.length; i++) {
   var node = counterDiv.childNodes[i];
   if (node.tagName == "DIV") {
    lastDiv = node;
    break;
   }
  }
  if (!lastDiv) break;
  counterDiv = lastDiv;
  lastDiv = undefined;
 }
 if (counterDiv) psMsgControl = counterDiv;
 var error;
 if (psMsgControl.innerHTML.length == 0) {
  psMsgControl.innerHTML = "<span>Error</span>";
 }
 if ((psMsgControl.innerHTML.indexOf('<UL>') != -1) || (psMsgControl.innerHTML.indexOf('<ul>') != -1)) {
  error = psMsgControl.innerHTML;
  error = error.replace('</UL>', '');
  error = error.replace('</ul>', '');
  error = error.replace('<UL>', '');
  error = error.replace('<ul>', '');
  psMsgControl.innerHTML = error;
 }
 psMsgControl.innerHTML += '<li>' + psMessage + '</li>'; //psMessage  
 if (psMsgControl.innerHTML.indexOf('</span>') != -1)
  error = psMsgControl.innerHTML.replace('Error</span>', 'Error</span><UL>');
 else
  error = psMsgControl.innerHTML.replace('Error</SPAN>', 'Error</SPAN><UL>');
 error = error + '</UL>';
 psMsgControl.innerHTML = error;
 //code to bring focus on the error message added by Shahnawaz Panhalkar [03 May]
 if (msgContainerControl) {
  if (msgContainerControl.childNodes.length > 0) {
   if (msgContainerControl.childNodes[0].tagName != "A") {
    msgContainerControl.innerHTML = "<A id='e'></A>" + msgContainerControl.innerHTML;
   }
   msgContainerControl.style.display = 'block';
  }
 }
 window.location.href = '#e';
}

function IsValidNumber(poControlName, psMessage, psMsgControlName) {
 var ctrlId = window.document.getElementById(poControlName);
 var ctrlValue = ctrlId.value;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 if (ctrlValue != '') {
  if (isNaN(ctrlValue)) {
   isControlValidated = false;
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null) {
    focusControl = ctrlId;
   }
   return false;
  }
 }
 return true;
}
//Function used to get date difference in years
function days_between(fromDate, toDate) {
 // The number of milliseconds in one day
 var year = 1000 * 60 * 60 * 24 * 365;

 // Convert both dates to milliseconds
 var date1_ms = toDate.getTime();
 var date2_ms = fromDate.getTime();

 // Calculate the difference in milliseconds
 var difference_ms = date1_ms - date2_ms;

 // Convert back to days and return
 return Math.round(difference_ms / year)
}

String.prototype.Trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function CompairValues(psFirstControl, psSecondControl, psMessage, psMsgControlName) {
 var firstValue = window.document.getElementById(psFirstControl).value;
 var secondValue = window.document.getElementById(psSecondControl).value;
 firstValue = firstValue.ltrim();
 secondValue = secondValue.ltrim();
 if (firstValue.Trim() != secondValue.Trim()) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null) {
   focusControl = window.document.getElementById(psSecondControl);
   focusControl.focus();
  }
  return false;
 }
 return true;

}
function IsValidUserName(psUserName, psMessage, psMsgControlName) {
 var EmailRegExp = /^([a-zA-Z0-9_\-])+$/;
 var poControl = window.document.getElementById(psUserName);
 sEmailAddressToValidate = poControl.value;
 if (!EmailRegExp.test(sEmailAddressToValidate.trim())) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null && poControl != undefined) {
   focusControl = poControl;
   focusControl.focus();
  }
  return false;
 }
 else
  return true;
}

function IsValidEMail(psEmail) {
 var EmailRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
 var poControl = window.document.getElementById(psEmail);
 sEmailAddressToValidate = poControl.value;
 if (!EmailRegExp.test(sEmailAddressToValidate.Trim())) {
  return false;
 }
 else {
  return true;
 }
}

///This function is addded by mehul
function IsValidEmailAddress(psEmail, psMessage, psMsgControlName) {
 var EmailRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
 var poControl = window.document.getElementById(psEmail);
 sEmailAddressToValidate = poControl.value;
 if (!EmailRegExp.test(sEmailAddressToValidate.trim())) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null && poControl != undefined) {
   focusControl = poControl;
   focusControl.focus();
  }
  return false;
 }
 else
  return true;
}

function ValidateEmailAddress(psEmailControl, psMessage, psMsgControlName) {

 var EmailRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
 var emailID = window.document.getElementById(psEmailControl);
 var strAddrs = emailID.value
 var j = strAddrs.indexOf(",");
 if (strAddrs.indexOf(",") == -1) {
  if (!EmailRegExp.test(emailID.value.trim())) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && emailID != undefined) {
    focusControl = emailID;
    focusControl.focus();
   }
   return false;
  }
 }
 else {
  strAddrs = strAddrs + ",";
  var validatedEmailAddrs = "";
  var strAddr;
  var i = 0;
  while (j >= 0) {
   strAddr = strAddrs.substr(i, j);
   strAddr = strAddr.trim();

   if (strAddr.length > 0) {
    if (!EmailRegExp.test(strAddr)) {
     var psMsgControl = window.document.getElementById(psMsgControlName);
     AddErrorMessage(psMsgControl, psMessage);
     if (focusControl == null && emailID != undefined) {
      focusControl = emailID;
      focusControl.focus();
     }
     return false;
    }
    if (validatedEmailAddrs.length > 0) validatedEmailAddrs = validatedEmailAddrs + ", ";
    validatedEmailAddrs = validatedEmailAddrs + strAddr;
   }
   strAddrs = strAddrs.substr(j + 1, strAddrs.length);
   j = strAddrs.indexOf(",");
  }
  emailID.value = validatedEmailAddrs;
 }
}

function CheckDuplicateString(commaSeperatedString) {
 var stringArray = commaSeperatedString.split(',');
 for (var i = 0; i < stringArray.length; i++) {
  for (var j = i + 1; j < stringArray.length; j++) {
   if (stringArray[i].trim() == stringArray[j].trim()) {
    return false;
   }
  }
 }
 return true;
}

function CheckUSZipCode(psPostalCode, psMessage, psMsgControlName) {
 var txtZipControl = document.getElementById(psPostalCode).value;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 if (txtZipControl != "") {
  if (txtZipControl.length == 5) {
   if (isNaN(txtZipControl)) {
    AddErrorMessage(psMsgControl, psMessage);
    return false;
   }
   else {
    return true;
   }
  }
  else {
   AddErrorMessage(psMsgControl, psMessage);
   return false;
  }
 }
}

function CheckPostalCode(psCountry, psPostalCode, psMessage, psMsgControlName) {
 var zipControl = document.getElementById(psPostalCode);
 var txtZipControl = zipControl.value;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 if (txtZipControl != "") {
  var drpCtryControl = window.document.getElementById(psCountry).value;
  if (drpCtryControl == '248') {
   if (txtZipControl.length == 5) {
    if (isNaN(txtZipControl)) {
     AddErrorMessage(psMsgControl, psMessage);
     if (focusControl == null && zipControl != undefined) {
      focusControl = zipControl;
      focusControl.focus();
     }
     return false;
    }
    else {
     return true;
    }
   }
   else {
    AddErrorMessage(psMsgControl, psMessage);
    if (focusControl == null && zipControl != undefined) {
     focusControl = zipControl;
     focusControl.focus();
    }
    return false;
   }
  }
  else if (drpCtryControl == '40') {
   if (txtZipControl.length == 7) {
    if (txtZipControl.indexOf(' ') != 3) {
     AddErrorMessage(psMsgControl, psMessage);
     if (focusControl == null && zipControl != undefined) {
      focusControl = zipControl;
      focusControl.focus();
     }
     return false;
    }
    else {
     return true;
    }
   }
   else {
    AddErrorMessage(psMsgControl, psMessage);
    if (focusControl == null && zipControl != undefined) {
     focusControl = zipControl;
     focusControl.focus();
    }
    return false;
   }
  }
  else {
   if (!IsValidAlphaNumeric(txtZipControl)) {
    AddErrorMessage(psMsgControl, psMessage);
    if (focusControl == null && zipControl != undefined) {
     focusControl = zipControl;
     focusControl.focus();
    }
    return false;
   }
   else {
    return true;
   }
  }
 }
}

// Declaring valid date character, minimum year and maximum year
var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;

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
}

function isDate(dtStr) {
 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) {
  return false
 }
 if (strMonth.length < 1 || month < 1 || month > 12) {
  return false
 }
 if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
  return false
 }
 if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
  return false
 }
 if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
  return false
 }
 return true
}
function ValidateHTML(poControlName) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 if ((ctrlValue.indexOf('<') > -1) || (ctrlValue.indexOf('>') > -1)) {
  return false;
 }
 else {
  return true;
 }
}

////Dipti
//Validate whether control contains HTML Tag or not. Only for Textbox or Text Area by passing its Id.
function ValidateHtmlTags(poControlName, psMessage, psMsgControlName, AddError) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 if ((ctrlValue.indexOf('<') > -1) || (ctrlValue.indexOf('>') > -1)) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  if (AddError == undefined || (AddError)) {
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && ctrl != undefined) {
    focusControl = ctrl;
   }
   checkHTML = false;
  }
  return false;
 }
 return true;
}
//Validate whether control contains Special Chars (restricted - !@#$%^&*()+=-[]\\\';,./{}|\":<>?)
function ValidateSpecialChar(poControlName, psMessage, psMsgControlName, excludeChar) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
 if (excludeChar) {
  iChars = iChars.replace(excludeChar, '');
 }
 for (var i = 0; i < ctrlValue.length; i++) {
  if (iChars.indexOf(ctrlValue.charAt(i)) != -1) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && ctrl != undefined) {
    focusControl = ctrl;
   }
   return false;
  }
 }
}
//Validates Phone No - 0123456789-+ ()
function ValidatePhoneNumber(poControlName, psMessage, psMsgControlName) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 var validChars = "0123456789-+ ()";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && ctrl != undefined) {
    focusControl = ctrl;
   }
   return false;
  }
 }
 return true;
}

function ValidateZipCode(poControlName, psMessage, psMsgControlName) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 var validChars = "0123456789";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   AddErrorMessage(psMsgControl, psMessage);
   if (focusControl == null && ctrl != undefined) {
    focusControl = ctrl;
   }
   return false;
  }
 }
 return true;
}

function IsValidPhoneNumber(ctrlValue) {
 var validChars = "0123456789-+ ()";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   isControlValidated = false;
   return false;
  }
 }
 return true;
}

function IsValidAlphaNumeric(ctrlValue) {
 var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   isControlValidated = false;
   return false;
  }
 }
 return true;
}

function IsValidAlphabat(ctrlValue) {
 var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   isControlValidated = false;
   return false;
  }
 }
 return true;
}
function IsValidVanityUrl(ctrlValue) {
 var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-";
 for (var i = 0; i < ctrlValue.length; i++) {
  if (validChars.indexOf(ctrlValue.substring(i, i + 1)) < 0) {
   isControlValidated = false;
   return false;
  }
 }
 return true;
}
function CheckPostalCodeAtAdmin(psCountry, psPostalCode, psMessage, psMsgControlName) {
 var zipControl = document.getElementById(psPostalCode);
 var txtZipControl = zipControl.value;

 var psMsgControl = window.document.getElementById(psMsgControlName);
 if (txtZipControl != "") {
  var drpCtryControl = window.document.getElementById(psCountry).value;
  if (drpCtryControl == '248') {
   if (txtZipControl.length == 5) {
    if (isNaN(txtZipControl)) {
     psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
     isControlValidated = false;
     return false;
    }
    else {
     return true;
    }
   }
   else {
    psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
    isControlValidated = false;
    return false;
   }
  }
  else if (drpCtryControl == '40') {
   if (txtZipControl.length == 7) {
    if (txtZipControl.indexOf(' ') != 3) {
     psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
     isControlValidated = false;
     return false;
    }
    else {
     return true;
    }
   }
   else {
    psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
    isControlValidated = false;
    return false;
   }
  }
  else {
   if (!IsValidAlphaNumeric(txtZipControl)) {
    psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
    isControlValidated = false;
    return false;
   }
   else {
    return true;
   }
  }
 }
}
function ValidateMultiLengthAdmin(poControlName, psLength, psSeperator, psMessage, psMsgControlName) {
 var poControl = document.getElementById(poControlName);
 var psMsgControl = document.getElementById(psMsgControlName);
 var valueArray = poControl.value.split(psSeperator);
 for (var i = 0; i < valueArray.length; i++) {
  var strValue = valueArray[i];
  strValue = strValue.trim();
  if (strValue.length > psLength) {
   isControlValidated = false;
   psMsgControl.innerHTML += '<li>' + psMessage + '</li> ';
   isControlValidated = false;
   return false;
  }
 }
}
function ValidateHtmlTagsAdmin(poControlName, psMessage, psMsgControlName, AddError) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 if ((ctrlValue.indexOf('<') > -1) || (ctrlValue.indexOf('>') > -1)) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  var psMsgControl = window.document.getElementById(psMsgControlName);
  psMsgControl.innerHTML += '<li>' + psMessage + '</li> ';
  isControlValidated = false;
  return false;
 }
 return true;
}
function ValidateSpecialCharAdmin(poControlName, psMessage, psMsgControlName, excludeChar) {
 var ctrl = window.document.getElementById(poControlName);
 var ctrlValue = ctrl.value;
 var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
 if (excludeChar) {
  iChars = iChars.replace(excludeChar, '');
 }
 for (var i = 0; i < ctrlValue.length; i++) {
  if (iChars.indexOf(ctrlValue.charAt(i)) != -1) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   psMsgControl.innerHTML += '<li>' + psMessage + '</li> ';
   isControlValidated = false;
   return false;
  }
 }
}
function ValidateLengthAdmin(poControlName, psLength, psMessage, psMsgControlName) {
 var poControl = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = poControl.value.length
 if (lsLength > psLength) {
  isControlValidated = false;
  psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
  psMsgControl.style.display = '';
  return false;
 }
}
function ValidateNullAdmin(poControlName, poControlType, psMessage, psMsgControlName, displayError, excludeZero) {
 var str = " ";
 var count = 0;
 var string;
 var maxLength;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var isValid = true;

 if (poControlType == 0) {
  var poControl = window.document.getElementById(poControlName);
  string = poControl.value.Trim();
 }
 else if (poControlType == 1) //radiobuttonlist
 {
  string = GetRadioListData(poControlName);
 }
 else if (poControlType == 2) //checkboxlist
 {
  string = GetCheckboxListData(poControlName);
 }
 else if (poControlType == 3) // Listboxlist
 {
  string = GetListboxData(poControlName);
 }

 if ((excludeZero == 1) && (string == "0")) {
  isValid = false;
 }
 else if ((string == null) || (string == "")) {
  isValid = false;
 }
 else {
  maxLength = string.length;
  while (count < maxLength) {
   if (string == str) {
    poControl.value = "";
    isValid = false;
    break;
   }
   else {
    str += " ";
    count++;
   }
  }
 }

 if (!isValid) {
  if (displayError == undefined || displayError == true) {
   isControlValidated = false;
   psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
   psMsgControl.style.display = '';
  }
  return false
 }

 return true;
}

function IsValidNumberAdmin(poControlName, psMessage, psMsgControlName) {
 var ctrlId = window.document.getElementById(poControlName);
 var ctrlValue = ctrlId.value;
 var psMsgControl = window.document.getElementById(psMsgControlName);
 if (ctrlValue != '') {
  if (isNaN(ctrlValue)) {
   isControlValidated = false;
   psMsgControl.innerHTML += "<li>" + psMessage + "</li>";
   return false;
  }
 }
 return true;
}
function ValidateRTELengthAdmin(poControlName, psLength, psMessage, psMsgControlName) {
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = document.forms[0].elements[poControlName].value.length;
 if (lsLength > psLength) {
  isControlValidated = false;
  psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
  return false;
 }
}
function ValidateUrlAdmin(poControlName, psMessage, psMsgControlName) {
 var UrlId = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var j = new RegExp();
 j.compile("^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|co|in)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\\\\+&%\$#\=~_\-]+))*$");
 if (UrlId.value != '') {
  if (!j.test(UrlId.value)) {
   var psMsgControl = window.document.getElementById(psMsgControlName);
   isControlValidated = false;
   psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
   return false;
  }
 }
 return true;
}
function CompairValuesAdmin(psFirstControl, psSecondControl, psMessage, psMsgControlName) {
 var firstValue = window.document.getElementById(psFirstControl).value;
 var secondValue = window.document.getElementById(psSecondControl).value;
 firstValue = firstValue.ltrim();
 secondValue = secondValue.ltrim();
 if (firstValue.Trim() != secondValue.Trim()) {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
  isControlValidated = false;
  return false;
 }
 return true;
}
function ValidateMinLengthAdmin(poControlName, psLength, psMessage, psMsgControlName) {
 var poControl = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);
 var lsLength = poControl.value.length
 if (lsLength < psLength) {
  isControlValidated = false;
  psMsgControl.innerHTML += '<li>' + psMessage + '</li>';
  return false;
 }
}
function ValidUrlAdmin(poControlName, psMessage, psMsgControlName) {
 var Url = document.getElementById(poControlName);
 if (Url.value.match(/^((http|https|ftp)\:\/\/)?\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#\=]\w+)*\/?$/i)
    || Url.value.match(/^mailto\:\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w{2,4}$/i)) {
  return true;
 }
 else {
  var psMsgControl = window.document.getElementById(psMsgControlName);
  isControlValidated = false;
  psMsgControl.innerHTML += '<li>' + psMessage + '</li>'; //psMessage + "<br>"; 
  return false;
 }
}
function GetRadioListData(rListControlName) {
 var ret = null;
 var rControls = window.document.getElementsByName(rListControlName);
 for (var i = 0; i < rControls.length; i++) {
  if (rControls[i].type == 'radio' && rControls[i].checked == true) {
   return rControls[i].value;
  }
 }
 if (rListControlName.indexOf('_') > 0) {
  rListControlName = ReplaceString(rListControlName, '_', '$');
  ret = GetRadioListData(rListControlName);
 }
 return ret;
};

//function GetRadioListData(rListControlName)
//{
//    var ret = null;
//    var rControls = window.document.getElementsByName(rListControlName);
//    for(var i=0; i<rControls.length; i++)
//    {
//        if (rControls[i].type == 'radio' && rControls[i].checked == true)
//        {
//            return rControls[i].value;
//        }
//    }
//    if(rListControlName.indexOf('_') > 0)
//    {
//        rListControlName = ReplaceString(rListControlName,'_','$');
//        ret = GetRadioListData(rListControlName);
//    }
//    alert(ret);
//    return ret;
//}

//Get the selected Checkbox from the checkbox list of Asp.Net checkboxlist control.
function GetCheckboxListData(cListControlName) {
 var chkControls = window.document.getElementsByName(cListControlName);
 if (chkControls.length <= 1) {
  chkControls = window.document.getElementsByTagName("input");
 }
 var chkControlsValue = null;

 for (var i = 0; i < chkControls.length; i++) {
  if (chkControls[i].type == 'checkbox' && chkControls[i].id.indexOf(cListControlName) >= 0 && chkControls[i].checked == true) {
   var chkValue = chkControls[i].name.substring(cListControlName.length + 1)
   if (chkControlsValue == null)
   { chkControlsValue = chkValue; }
   else
   { chkControlsValue += ',' + chkValue; }
  }
 }
 return chkControlsValue;
}

//Get the selected Checkbox from the checkbox list of Asp.Net checkboxlist control.
function GetCheckboxListValues(cListControlName) {
 var chkControls = window.document.getElementsByName(cListControlName);
 if (chkControls.length <= 1) {
  chkControls = window.document.getElementsByTagName("input");
 }
 var chkControlsValue = null;
 for (var i = 0; i < chkControls.length; i++) {
  if (chkControls[i].type == 'checkbox' && chkControls[i].name.indexOf(cListControlName) >= 0 && chkControls[i].checked == true) {
   var chkValue = chkControls[i].value;
   if (chkControlsValue == null) {
    chkControlsValue = chkValue;
   }
   else {
    chkControlsValue += ',' + chkValue;
   }
  }
 }
 return chkControlsValue;
}

//Get the selected Checkbox from the collection of Checkboxes that are not asp.net controls.
//Note: Name of all checkboxes will be the same.
function GetCheckboxListDataByName(cListControlName) {
 var chkControls = window.document.getElementsByName(cListControlName);
 var chkControlsValue = null;
 for (var i = 0; i < chkControls.length; i++) {
  if (chkControls[i].checked == true) {
   var chkValue = chkControls[i].value;
   if (chkControlsValue == null) {
    chkControlsValue = chkValue;
   }
   else {
    chkControlsValue += ',' + chkValue;
   }
  }
 }
 return chkControlsValue;
}
//Get the value from the dropdown list.
function GetDropDownData(drpControlName) {
 var drpControl = window.document.getElementById(drpControlName);
 var drpControlValue = null;
 if (drpControl.type == 'select-one') {
  drpControlValue = drpControl.value;
 }
 return drpControlValue;
}

function GetListboxData(cListControlName) {
 var lstControl = window.document.getElementById(cListControlName);
 var lstControlsValue = null;
 if (lstControl != null) {
  for (i = 0; i < lstControl.options.length; i++) {
   if (lstControlsValue == null) {
    lstControlsValue = lstControl.options[i].value;
   }
   else {
    lstControlsValue += ',' + lstControl.options[i].value;
   }
  }
 }
 return lstControlsValue;
}

//Opening a new window Starts Here
var win = null;
function NewWindow(mypage, myname, w, h, scroll, resize) {
 var winl = (window.screen.width - w) / 2;
 var wint = (window.screen.height - h) / 2;
 var settings = 'height=' + h + ',';
 settings += 'width=' + w + ',';
 settings += 'top=' + wint + ',';
 settings += 'left=' + winl + ',';
 settings += 'scrollbars=' + scroll + ',';
 settings += 'resizable=' + resize + '';
 win = window.open(mypage, myname, settings);
 if (parseInt(navigator.appVersion) >= 4) {
  win.window.focus();
 }
}
//Check or Uncheck the Check boxes having the given name
function CheckUnCheckAll(ctrl, chkControlName) {
 var chkCtrls = window.document.getElementsByName(chkControlName);
 if (chkCtrls != null) {
  for (var i = 0; i < chkCtrls.length; i++) {
   chkCtrls[i].checked = ctrl.checked;
  }
 }
 return true;
}

function UnCheckHeader(ctrl, chkControlName) {
 if (ctrl.checked == false) {
  var chkCtrls = window.document.getElementById(chkControlName);
  if (chkCtrls != null) {
   if (chkCtrls.checked == true) {
    chkCtrls.checked = false;
   }
  }
 }
}

//Recursive function to replace All searchText with replaceText from content.
function ReplaceString(content, searchText, replaceText) {
 content = content.replace(searchText, replaceText)
 if (content.indexOf(searchText) > -1) {
  content = ReplaceString(content, searchText, replaceText);
 }
 return content;
}

//Function used to check - uncheck rows in gridview
function CheckAllDataGridCheckBoxes(aspCheckBoxID, selectAllId, chkControlId) {

 checkVal = document.getElementById(selectAllId);
 if (chkControlId) {
  chkControlId = document.getElementById(chkControlId);
  if (!chkControlId.checked) {
   checkVal.checked = true;
   return;
  }
  return;
 }

 checkVal = checkVal.checked;
 re = new RegExp(aspCheckBoxID + '$')  //generated control name starts with a colon
 for (i = 0; i < document.forms[0].elements.length; i++) {
  elm = document.forms[0].elements[i];
  if (elm.type == 'checkbox') {
   if (re.test(elm.name)) {
    elm.checked = checkVal;
   }
  }
 }
}


function UnChkCheckAllBoxes(selectAllId, selectAll1Id, aspCheckBoxID, ChkMess) {

 //alert(ChkMess);
 count = 0;
 var countCheck = 0;

 if (document.getElementById(ChkMess).checked == false) {
  document.getElementById(selectAllId).checked = false;
  document.getElementById(selectAll1Id).checked = false;
 }
 else {
  re = new RegExp(aspCheckBoxID + '$')
  checkVal = true;
  for (i = 0; i < document.forms[0].elements.length; i++) {
   elm = document.forms[0].elements[i];
   if (elm.type == 'checkbox') {
    if (re.test(elm.name)) {
     countCheck = countCheck + 1;
     if (elm.checked == true) {
      checkVal = true;
      count = count + 1;
     }
    }
   }
  }
 
  if (countCheck == count) {
   if (checkVal) {
    document.getElementById(selectAllId).checked = true;
    document.getElementById(selectAll1Id).checked = true;
   }
  }
 }
};

function BlackBerryUnChkCheckAllBoxes(selectAllId, selectAll1Id, aspCheckBoxID, ChkMess) {

 //alert(ChkMess);
 count = 0;
 var countCheck = 0;
 if (document.getElementById(ChkMess).checked == true) {
  document.getElementById(selectAllId).checked = true;
  document.getElementById(selectAll1Id).checked = true;
 }
 else {
  re = new RegExp(aspCheckBoxID + '$')
  checkVal = true;
  for (i = 0; i < document.forms[0].elements.length; i++) {
   elm = document.forms[0].elements[i];
   if (elm.type == 'checkbox') {
    if (re.test(elm.name)) {
     countCheck = countCheck + 1;
     if (elm.checked == false) {
      checkVal = false;
      count = count + 1;
     }
    }
   }
  }
  if (countCheck == count) {
   if (checkVal) {
    document.getElementById(selectAllId).checked = false;
    document.getElementById(selectAll1Id).checked = false;
   }
  }
 }
};

//Check whether records are selected to delete or not
function CheckDataGridToDelete(aspCheckBoxID, msgDelete, msgSelect) {
 var count = 0;
 re = new RegExp(aspCheckBoxID + '$')  //generated control name starts with a colon
 for (i = 0; i < document.forms[0].elements.length; i++) {
  elm = document.forms[0].elements[i];
  if (elm.type == 'checkbox') {
   if (re.test(elm.name)) {
    if (elm.checked == true) {
     count = 1;
    }
   }
  }
 }
 if (count == 1)
  if (confirm(msgDelete))
  return true;
 else
  return false;
 else
  alert(msgSelect);
 return false;
}
function CheckDataGridSelect(aspCheckBoxID, msgDelete, msgSelect) {
 var count = 0;
 re = new RegExp(aspCheckBoxID + '$')  //generated control name starts with a colon
 for (i = 0; i < document.forms[0].elements.length; i++) {
  elm = document.forms[0].elements[i];
  if (elm.type == 'checkbox') {
   if (re.test(elm.name)) {
    if (elm.checked == true) {
     count = 1;
    }
   }
  }
 }
 if (count == 1)
  return true;
 else
  alert(msgSelect);
 return false;
}
function CheckNotEmpty(poControlName) {
 var poControl = window.document.getElementById(poControlName);
 if (poControl.value == "")
  return false;
 else
  return true;
}
function Form_KeyPress(event, target, validateFunction) {
 var sourceElement = event.srcElement;
 if (!sourceElement) sourceElement = event.target;
 if (event.keyCode == 13 &&
            !(sourceElement &&
                    (sourceElement.tagName.toLowerCase() == "textarea" ||
                    sourceElement.tagName.toLowerCase() == "select" ||
                    sourceElement.tagName.toLowerCase() == "a" ||
                    sourceElement.type == "submit" ||
                    sourceElement.type == "reset" ||
                    sourceElement.type == "file" ||
                    sourceElement.type == "image")
            )
    ) {
  var defaultButton = document.getElementById(target);
  if (defaultButton && typeof (defaultButton.click) != "undefined") {
   event.cancelBubble = true;
   if (event.stopPropagation) {
    event.stopPropagation();
   }
   if (validateFunction != undefined) {
    if (validateFunction()) {
     __doPostBack(target, '');
    }
   }
   return false;
  }
 }
 return true;
}
function test() {
 alert("hi pradip");
}


////////
//AutoSuggest JS Functions.

function LoadSearch(autoSearchBoxId, autoSearchEnabled, resultDivId, autoSearchModuleId, keyCode, moduleContentName, orderBy, rowCount, userID, isDating) {
 var autoSearchBox = document.getElementById(autoSearchBoxId);
 var resultDiv = document.getElementById(resultDivId);

 var searchPolygel = new Ajax();

 //Set Style and Position of  Result Div
 var topOfSearch = getTopPos(autoSearchBox);
 var leftOfSearch = getLeftPos(autoSearchBox);
 resultDiv.style.position = 'absolute';
 resultDiv.style.zIndex = 777;
 resultDiv.style.top = topOfSearch + 25 + 'px';
 resultDiv.style.left = leftOfSearch + 'px';
 //resultDiv.style.width = autoSearchBox.style.width;

 //z-index:777; position:absolute; top:xyz; left:element; width:element
 //End Setting Style and Position of Result Div

 if (keyCode == 13) {
  resultDiv.style.display = "none";
  resultDiv.innerHTML = "";
  counter = 0;
  autoSearchBox.focus();
  return false;
 }

 searchText = autoSearchBox.value;

 var FnSearchCallBack = function() {
  var searchResult = searchPolygel.GetResponseText();
  if (searchResult != "") {
   searchResult = getDataBetween(searchResult, "autoSuggestion");
   if (searchResult != "") {
    resultDiv.style.display = "";
    resultDiv.innerHTML = searchResult;
   }
   else {
    resultDiv.style.display = "none";
    resultDiv.innerHTML = "";
    counter = 0;
   }


  }
 };

 var searchParams = {};

 searchParams["moduleID"] = autoSearchModuleId;
 searchParams["moduleContentName"] = moduleContentName;
 searchParams["searchText"] = searchText;
 searchParams["orderBy"] = orderBy;
 searchParams["rowCount"] = rowCount;
 searchParams["txtBoxID"] = autoSearchBoxId;
 searchParams["resultDivID"] = resultDivId;
 searchParams["userID"] = userID;
 searchParams["isDating"] = isDating;
 if ((autoSearchEnabled == 2) && (searchText != "" && searchText != null)) {
  resultDiv.style.display = "none";
  counter = 0;
  autoSearchBox.focus();

 }
 else if (!(searchText == "" || searchText == null)) {
  CallAjax("GetAutoSuggestionList", searchParams, searchPolygel, FnSearchCallBack);
 }
 else {
  //alert('else case');
  resultDiv.style.display = "none";
  counter = 0;
 }

};

function GetUpandDownKeys(code, textObj) {

 var autoSearchBox = document.getElementById("dvAutoSearchBox");
 var highlightedObj;
 if (autoSearchBox != null) {
  var hdcounters = autoSearchBox.getElementsByTagName("input");
  var lastcounter;

  for (i = 0; i < hdcounters.length; i++) {
   if (hdcounters[i].type == "hidden") {
    lastcounter = hdcounters[i].value;
   }
  }
  var firstDvobj = document.getElementById("dvCount1");
  var lastDvObj = document.getElementById("dvCount" + lastcounter);

  if (code == 40) {
   if (counter == 0 && lastcounter == 1) {
    firstDvobj.className = "AutoCompleteHighlight";
    textObj.value = firstDvobj.innerHTML;
    counter = 1;
   }
   else if (counter == 0 || lastDvObj.className == "AutoCompleteHighlight") {
    firstDvobj.className = "AutoCompleteHighlight";
    lastDvObj.className = "AutoCompleteBackground";
    textObj.value = firstDvobj.innerHTML;
    counter = 1;
   }
   else {
    if (counter < lastcounter)
     counter = counter + 1;
    else
     counter = lastcounter;
    highlightedObj = document.getElementById("dvCount" + counter);
    highlightedObj.className = "AutoCompleteHighlight";

    for (i = 1; i <= lastcounter; i++) {
     if (i != counter) {
      document.getElementById("dvCount" + i).className = "AutoCompleteBackground";
     }
    }

    textObj.value = highlightedObj.innerHTML;
   }
  }
  else if (code == 38) {
   if (counter == 0 && lastcounter == 1) {
    lastDvObj.className = "AutoCompleteHighlight";
    textObj.value = lastDvObj.innerHTML;
    counter = lastcounter;
   }
   else if (counter == 0 || firstDvobj.className == "AutoCompleteHighlight") {
    lastDvObj.className = "AutoCompleteHighlight";
    firstDvobj.className = "AutoCompleteBackground";
    textObj.value = lastDvObj.innerHTML;
    counter = lastcounter;
   }
   else {
    if (counter > 1)
     counter = counter - 1;
    else
     counter = 1;

    highlightedObj = document.getElementById("dvCount" + counter);
    highlightedObj.className = "AutoCompleteHighlight";

    for (i = 1; i <= lastcounter; i++) {
     if (i != counter) {
      document.getElementById("dvCount" + i).className = "AutoCompleteBackground";
     }
    }
    textObj.value = highlightedObj.innerHTML;
   }
  }
 }
}

function HideAutoSearchDiv(autoSearchDivId) {

 document.getElementById(autoSearchDivId).style.display = "none";
 return false;
}
function HighlightDiv(highlightedCtrl, counterVal, lastCounterVal, searchBoxID) {
 highlightedCtrl.className = "AutoCompleteHighlight";
 counter = counterVal;
 document.getElementById(searchBoxID).value = highlightedCtrl.innerHTML;
 for (i = 1; i <= lastCounterVal; i++) {
  if (i != counterVal) {
   document.getElementById("dvCount" + i).className = "AutoCompleteBackground";
  }
 }
 return false;
}
function getTopPos(inputObj) {
 var returnValue = inputObj.offsetTop;
 while ((inputObj = inputObj.offsetParent) != null) {
  if (inputObj.tagName != 'HTML') returnValue += inputObj.offsetTop;
 }
 return returnValue;
}

function getLeftPos(inputObj) {
 var returnValue = inputObj.offsetLeft;
 while ((inputObj = inputObj.offsetParent) != null) {
  if (inputObj.tagName != 'HTML') returnValue += inputObj.offsetLeft;
 }
 return returnValue;
}
function ValidateUserLength(poControlName, psLength, psMessage, psMsgControlName) {
 var poControl = window.document.getElementById(poControlName);
 var psMsgControl = window.document.getElementById(psMsgControlName);

 var lsLength = poControl.value.length
 if (lsLength < psLength) {
  isControlValidated = false;
  AddErrorMessage(psMsgControl, psMessage);
  if (focusControl == null) {
   focusControl = poControl;
   focusControl.focus();
  }
  return false;
 }
}



