﻿$(function() {
$.fn.qtip.styles.mystyle = {
padding: 3,
background: 'black',
color: 'white',
textAlign: 'center',
border:
{
width: 7,
radius: 5,
color: 'black'
},
tip: 'bottomLeft',
name: 'dark'
}
});
function prepareInputsForHints() {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if ($(inputs[i]).next('.hint_rgt, .hint_lft')) {
inputs[i].onfocus = showHint;
inputs[i].onblur = function() {
$(this).next('.hint_rgt, .hint_lft').css('display', 'none');
$(this).next().next('.hint_rgt, .hint_lft').css('display', 'none'); 
}}}
var selects = document.getElementsByTagName("select");
for (var k = 0; k < selects.length; k++) {
if ($(selects[k]).next('.hint_rgt, .hint_lft')) {
selects[k].onfocus = showHint;
selects[k].onblur = function() {
$(this).next('.hint_rgt, .hint_lft').css('display', 'none');
$(this).next().next('.hint_rgt, .hint_lft').css('display', 'none');
}}}
}
function showHint() {
var hint = $(this).next('.hint_rgt, .hint_lft')[0];
if (hint == null) { hint = $(this).next().next('.hint_rgt, .hint_lft')[0]; if (hint == null) return; }
var isvalid = true;
var isrequired = true;
if (typeof (hint.evaluationfunction) == "function")
isrequired = isvalid = hint.evaluationfunction(hint, true);
if (typeof (hint.evaluationisrequiredfunction) == "string")
isrequired = eval(hint.evaluationisrequiredfunction)(hint, false);
if (!isvalid) {
hint.style.display = "inline";
hint.style.visibility = "inherit";
var spanPos = findPos(hint);
var spanWidth = hint.offsetWidth;
var browserSize = getBrowserSize();
if (spanPos[0] + spanWidth > browserSize[0]) {
var labelWidth = this.parentNode.parentNode.getElementsByTagName("td")[0].offsetWidth;
var inputWidth = this.offsetWidth;
hint.style.marginLeft = "-" + (labelWidth + inputWidth + spanWidth + 20).toString() + "px";
hint.setAttribute("class", "hint_lft");
}
else {
hint.setAttribute("class", "hint_rgt");
}
if (typeof (hint.customfunction) == "string") {
items = eval(hint.customfunction)(hint);
for (i = 0; i < items.length; i++) {
var m = $("span.hint-item", $(hint)).get(i);
if (items[i])
$(m).removeClass("invalid").addClass("valid");
else
$(m).removeClass("valid").addClass("invalid");
}
}
else {
var m1 = $("span.hint-item", $(hint)).get(0);
if (isrequired)
$(m1).removeClass("invalid").addClass("valid");
else
$(m1).removeClass("valid").addClass("invalid");
var m2 = $("span.hint-item", $(hint)).get(1);
if (isvalid)
$(m2).removeClass("invalid").addClass("valid");
else
$(m2).removeClass("valid").addClass("invalid");
}
}
}
function getBrowserSize() {
var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') {
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
return [myWidth, myHeight];
}
var isDoCallBackFunction = false;
function ivrMarkSender(sender, retVal) {
if (retVal == false) {
$('#' + sender.controltovalidate).addClass("ibuilderInvalidTextBox");
$('#' + sender.controltocompare).addClass("ibuilderInvalidTextBox");
if (sender.callBackFunction && isDoCallBackFunction == false) {
isDoCallBackFunction = true;
eval(sender.callBackFunction);
setTimeout("isDoCallBackFunction = false;", 2000);
}
}
else {
$('#' + sender.controltovalidate).removeClass("ibuilderInvalidTextBox");
$('#' + sender.controltocompare).removeClass("ibuilderInvalidTextBox");
}
return retVal;
}
function ivrRequiredField(sender, mark) {
var retVal = true;
var value = ValidatorGetValue(sender.controltovalidate);
if (ValidatorTrim(value).length == 0) {
retVal = false;
}
if (mark != false)
return ivrMarkSender(sender, retVal);
return retVal;
}
function ivrRegularExpression(sender) {
var retVal = true;
var value = ValidatorGetValue(sender.controltovalidate);
if (ValidatorTrim(value).length == 0) {
retVal = false;
}
if (retVal) {
var rx = new RegExp(sender.validationexpression);
var matches = rx.exec(value);
if (matches == null || value != matches[0]) {
retVal = false;
}
}
return ivrMarkSender(sender, retVal);
}
function ivrLength(sender) {
var retVal = true;
var value = ValidatorGetValue(sender.controltovalidate);
if (ValidatorTrim(value).length == 0) {
retVal = false;
}
if (retVal) {
var length = parseInt(sender.validationlength);
retVal = value.length >= length;
}
return ivrMarkSender(sender, retVal);
}
function ivrRange(sender) {
var retVal = true;
var value = ValidatorGetValue(sender.controltovalidate);
if (ValidatorTrim(value).length == 0) {
retVal = false;
}
if (retVal) {
retVal = (ivrValidatorCompare(value, sender.minimumvalue, "GreaterThanEqual", sender) && ivrValidatorCompare(value, sender.maximumvalue, "LessThanEqual", sender));
}
return ivrMarkSender(sender, retVal);
}
function ivrCompare(sender) {
var retVal = true;
var value = ValidatorGetValue(sender.controltovalidate);
if (ValidatorTrim(value).length == 0) {
retVal = false;
}
if (retVal) {
var compareTo = "";
if ((typeof (sender.controltocompare) != "string") ||
(typeof (document.getElementById(sender.controltocompare)) == "undefined") ||
(null == document.getElementById(sender.controltocompare))) {
if (typeof (sender.valuetocompare) == "string") {
compareTo = sender.valuetocompare;
}
}
else {
compareTo = ValidatorGetValue(sender.controltocompare);
}
var operator = "Equal";
if (typeof (sender.operator) == "string") {
operator = sender.operator;
}
retVal = ivrValidatorCompare(value, compareTo, operator, sender);
}
return ivrMarkSender(sender, retVal);
}
function ivrValidatorCompare(operand1, operand2, operator, val) {
var dataType = val.type;
var op1, op2;
if ((op1 = ValidatorConvert(operand1, dataType, val)) == null)
return false;
if (operator == "DataTypeCheck")
return true;
if ((op2 = ValidatorConvert(operand2, dataType, val)) == null)
return false;
switch (operator) {
case "NotEqual":
return (op1 != op2);
case "GreaterThan":
return (op1 > op2);
case "GreaterThanEqual":
return (op1 >= op2);
case "LessThan":
return (op1 < op2);
case "LessThanEqual":
return (op1 <= op2);
default:
return (op1 == op2);
}
}
