function NewWindow(sURL, sWindowName, iWidth,iHeight, sScrollYesNo, sResizableYesNo){ var fLeftPosition, fTopPosition; var sSettings; fLeftPosition = (screen.width) ? (screen.width-iWidth)/2 : 0; fTopPosition = (screen.height) ? (screen.height-iHeight)/2 : 0; sSettings = 'height='+ iHeight +',width='+ iWidth +',top='+ fTopPosition +',left='+ fLeftPosition +',scrollbars='+ sScrollYesNo +',resizable=' + sResizableYesNo window.open(sURL, sWindowName, sSettings) } function ShowDiv(name) { var divOverlay = document.getElementById(name); if (divOverlay != null) divOverlay.style.display = 'block'; } function getElement(name) { return document.getElementById(name); } function HideDiv(name) { var divOverlay = document.getElementById(name); if (divOverlay != null) divOverlay.style.display = 'none'; } function NewWindow(sURL, sWindowName, iWidth,iHeight, sScrollYesNo, sResizableYesNo) { var fLeftPosition, fTopPosition; var sSettings; fLeftPosition = (screen.width) ? (screen.width-iWidth)/2 : 0; fTopPosition = (screen.height) ? (screen.height-iHeight)/2 : 0; sSettings = 'height='+ iHeight +',width='+ iWidth +',top='+ fTopPosition +',left='+ fLeftPosition +',scrollbars='+ sScrollYesNo +',resizable=' + sResizableYesNo window.open(sURL, sWindowName, sSettings) } function isCurrency(Field) { strValue = Field.value; regexp = /^(([0-9]{1,3}(\,[0-9]{3})*)|([0-9]{0,3}))(\.[0-9]{2})?$/ if (isEmpty(strValue)) { return false; } return regexp.test(strValue); } function isFloat(Field) { strValue = Field.value; regexp = /^(\+|\-)?([0-9]+)(((\.|\,)?([0-9]+))?)$/ if (isEmpty(strValue)) { return false; } return regexp.test(strValue); } function isInteger(Field) { strValue = getValue(Field); regexp = /^(\+|\-)?([0-9]+)$/ if (isEmpty(strValue)) { return false; } return regexp.test(strValue); } function isUserName(Field) { strValue = getValue(Field); regexp = /^([^$@\\ ]+)$/ if (isEmpty(strValue)) { return false; } return regexp.test(strValue); } function isCreditCardNumber(Field) { var iChkSum=0; var ccnum = getValue(Field); ccnum = ccnum.replace( /\D/g, "" ); // check for correct card number length if (ccnum.length<13) return false; // make an array and fill it with the individual digits of the cc number ccnumchk=new Array; for (iLoop=0; iLoop < ccnum.length; iLoop++) { ccnumchk[ccnum.length-1-iLoop] = ccnum.substring(iLoop, iLoop+1); } // perform the weird mathematical method (some base 10 stuff) to // convert the number to a two digit number // for those of you who aren't as familiar with the js operators // i'll comment some of the math lines...well, really just one var skemp=0; for (iLoop=0; iLoop < ccnum.length; iLoop++) { // if splits is an even number... if (iLoop %2 != 0) { ccnumchk[iLoop]=ccnumchk[iLoop]*2; if (ccnumchk[iLoop] >= 10) ccnumchk[iLoop]=ccnumchk[iLoop]-9; } // switch ccnumchk[splits] to a number ccnumchk[iLoop]++; ccnumchk[iLoop]--; iChkSum = iChkSum + ccnumchk[iLoop].valueOf(); } if (iChkSum%10 != 0) { return false; } // The result isn't base 10 return true; } function isEmail(Field) { strValue = getValue(Field); regexp = /^[A-Za-z0-9]+[A-Za-z0-9\_\+\-\.]*\@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,5}$/ if (isEmpty(strValue)) { return false; } return regexp.test(strValue); } function isEmptyWysiwyg(Field) { strValue = getValue(Field); // delete all default tags rexp = / /gi; strValue = strValue.replace(rexp, ''); rexp = /
<\/p>/gi; strValue = strValue.replace(rexp, ''); rexp = /
<\/p>/gi;
strValue = strValue.replace(rexp, '');
if (isEmpty(strValue)) {
return true;
}
return false;
}
function isURL(Field) {
strValue = getValue(Field);
regexp = /^http(s?):\/\/([^$@\\ ]+)$/i
if (isEmpty(strValue)) {
return false;
}
return regexp.test(strValue);
}
function isEmailList(Field) {
strValue = getValue(Field);
// delete all spaces near comma
rexp = /, /gi;
strValue = strValue.replace(rexp, ',');
rexp = / ,/gi;
strValue = strValue.replace(rexp, ',');
strArray = strValue.split(",");
regexp = /^[A-Za-z0-9]+[A-Za-z0-9\_\+\-\.]*\@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,5}$/
for (var i=0; i < strArray.length; i++) {
if (isEmpty(strArray[i])) return false;
if (!regexp.test(strArray[i])) return false;
}
// set new field value (with removed spaces between comma and addresses)
Field.value = strValue;
return true;
}
function isZip(Field) {
strValue = getValue(Field);
if (isEmpty(strValue)) {
return false;
}
if (strValue.indexOf('-') >=0 ) {
regexp = /^\d{5}-\d{4}$/
} else {
regexp = /^\d{5}$/
}
return regexp.test(strValue);
}
function isPhone(Field) {
strValue = getValue(Field);
regexp = /^1{0,1} *(-| ){0,1} *[\(]*[0-9]{0,3}[\)]* *(-| ){0,1} *[0-9]{3} *(-| ){0,1} *[0-9]{4}$/;
if (isEmpty(strValue)) {
return false;
}
return regexp.test(strValue);
}
function isFax(Field) {
strValue = getValue(Field);
regexp = /^\d{3}-\d{3}-\d{4}$/
if (isEmpty(strValue)) {
return false;
}
return regexp.test(strValue);
}
function isEmpty(s) {
if (s == null || trim(s) == '') {
return true;
}
else {
return false;
}
}
function isText(f) {
return !isEmptyField(f);
}
function isNotEmptyDate(val) {
return !isEmptyDate(val);
}
function isNotEmptyTime(val) {
return !isEmptyTime(val);
}
function isEmptyDate(val) {
var ctrl = document.getElementById(val.controltovalidate + '_cal');
return isEmptyField(ctrl);
}
function isEmptyTime(val) {
var ctrl_h = document.getElementById(val.controltovalidate + '_H');
var ctrl_m = document.getElementById(val.controltovalidate + '_M');
var ctrl_ampm = document.getElementById(val.controltovalidate + '_AMPM');
if (ctrl_h.selectedIndex == 0) return true;
if (ctrl_m.selectedIndex == 0) return true;
if (ctrl_ampm.selectedIndex == 0) return true;
return false;
}
function isValidDate(val) {
var ctrl = document.getElementById(val.controltovalidate + '_cal');
return isDate(ctrl);
}
function isValidTime(val) {
var ctrl_h = document.getElementById(val.controltovalidate + '_H');
var ctrl_m = document.getElementById(val.controltovalidate + '_M');
var ctrl_ampm = document.getElementById(val.controltovalidate + '_AMPM');
if (ctrl_h.selectedIndex == 0 && ctrl_m.selectedIndex == 0 && ctrl_ampm.selectedIndex == 0) return true;
if (ctrl_h.selectedIndex == 0) return false;
if (ctrl_m.selectedIndex == 0) return false;
if (ctrl_ampm.selectedIndex == 0) return false;
return true;
}
function isDate(Field) {
if (isEmptyField(Field)) return true;
var dtArray = Field.value.split('/');
if (dtArray.length != 3) return false;
return CheckDate(dtArray[0],dtArray[1],dtArray[2]);
}
function CheckDate(m,d,y) {
Months = "31/!/28/!/31/!/30/!/31/!/30/!/31/!/31/!/30/!/31/!/30/!/31";
MonthArray = Months.split("/!/");
if (isNaN(parseInt(m,10))) return false;
if (isNaN(parseInt(d,10))) return false;
if (isNaN(parseInt(y,10))) return false;
if (d != parseInt(d,10)) return false;
if (m != parseInt(m,10)) return false;
if (y != parseInt(y,10)) return false;
d = parseInt(d,10);
m = parseInt(m,10);
y = parseInt(y,10);
y = convertYear(y);
if (y <= 1900 ) return false;
if (y >= 2100 ) return false;
if (m < 1 || m > 12 ) return false;
if ( isLeapYear(y)) MonthArray[1] = eval(eval(MonthArray[1]) + 1);
if (d<1 || MonthArray[m-1] < d ) return false;
return true;
}
function convertYear(y) {
var borderYEAR = 40;
yearvalue = parseInt(y,10);
if (isNaN(yearvalue)) return y;
if (yearvalue - borderYEAR <= 0) {
yearvalue = yearvalue + 2000
} else if (yearvalue - 100 < 0) {
yearvalue = yearvalue + 1900
}
return yearvalue;
}
function isLeapYear(Year)
{
if(Math.round(Year/4) == Year/4){
if(Math.round(Year/100) == Year/100){
if(Math.round(Year/400) == Year/400)
return true;
else return false;
}else return true;
}
return false;
}
function getValue(Field) {
fieldType = Field.type;
if (fieldType == "text") {
return getTextValue(Field);
} else if (fieldType == "hidden") {
return getTextValue(Field);
} else if (fieldType == "select-one") {
return getListValue(Field);
} else if (fieldType == "textarea") {
return getTextValue(Field);
} else if (fieldType == "file") {
return getTextValue(Field);
} else if (fieldType == "password") {
return getTextValue(Field);
} else if (fieldType == "checkbox") {
return getCheckboxValue(Field);
} else if (isNaN(fieldType)) {
return getRadioValue(Field);
} else {
return getTextValue(Field);
}
}
function getListValue(Field) {
return Field[Field.selectedIndex].value;
}
function getTextValue(Field) {
return Field.value;
}
function getCheckboxValue(Field) {
if (Field.checked) return Field.value;
return '';
}
function getRadioValue(Field) {
found = false;
if(isNaN(Field.length)) {
return Field.value;
}
for(var i=0; i< Field.length; i++) {
if ( Field[i].checked ) {
return Field[i].value;
break;
}
}
return !found;
}
function trim(str) {
while (str.substring(0,1) == " ") {
str = str.substring(1,str.length);
}
while (str.substring(str.length-1,str.length) == " ") {
str = str.substring(0,str.length-1);
}
return str;
}
function isEmptyList(Field) {
return isEmpty(Field[Field.selectedIndex].value);
}
function isEmptyText(Field) {
return isEmpty(Field.value)
}
function isEmptyCheckbox(Field) {
return !Field.checked;
}
function isEmptyField(Field) {
fieldType = Field.type;
if (fieldType == "text") {
return isEmptyText(Field);
} else if (fieldType == "hidden") {
return isEmptyText(Field);
} else if (fieldType == "file") {
return isEmptyText(Field);
} else if (fieldType == "select-one") {
return isEmptyList(Field);
} else if (fieldType == "textarea") {
return isEmptyText(Field);
} else if (fieldType == "password") {
return isEmptyText(Field);
} else if (fieldType == "checkbox") {
return isEmptyCheckbox(Field)
} else if (isNaN(fieldType)) {
return isEmptyRadio(Field)
} else {
return isEmptyText(Field);
}
}
function isDefined(obj) {
if(typeof(obj) == "undefined") {
return false;
} else {
return true;
}
}
function isEmptyRadio(Field) {
found = false;
if(isNaN(Field.length)) {
return !Field.checked;
}
for(var i=0; i< Field.length; i++) {
if ( Field[i].checked ) {
found = true;
break;
}
}
return !found;
}
function isNotEmptyFile(val) {
return !isEmptyFile(val);
}
function isEmptyFile(val) {
var oid, fid, cid, bDelChecked = false;
oid = document.getElementById(val.controltovalidate + '_OLD');
fid = document.getElementById(val.controltovalidate + '_FILE');
cid = document.getElementById(val.controltovalidate + '_CHK');
if (cid != null) { bDelChecked = cid.checked; }
return (isEmptyField(oid) && isEmptyField(fid) || isEmptyField(fid) && bDelChecked);
}
function isNotEmptyCheckBoxList(val) {
var parent = document.getElementById(val.controltovalidate);
var checkboxes = parent.getElementsByTagName('INPUT');
var checked = false;
for(var i=0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) return true;
}
return false;
}
function isValidFile(val) {
if (isEmptyFile(val)) return true;
var fid = document.getElementById(val.controltovalidate + '_FILE');
if (isEmptyField(fid)) return true;
var filename = getValue(fid);
var lastDot = filename.lastIndexOf(".")
if (lastDot == -1) return false;
var ext = filename.substring(lastDot+1,filename.length);
filename = filename.substring(0,lastDot);
if (filename == '') return false;
var aExtensions = val.extensions.split(",");
for (i=0; i < aExtensions.length; i++) {
if (aExtensions[i] == ext.toLowerCase()) return true;
}
return false;
}
function limit(fname, width, maxChar) {
ctrl = document.getElementById(fname + '_ctrl');
x = maxChar - ctrl.value.length;
if (x < 0) {
ctrl.value = ctrl.value.substring(0, maxChar); x = 0;
}
var ta1, ta2, d;
ta1 = document.getElementById(fname + 'TA1');
ta1.style.width = Math.floor(width*(maxChar-x)/maxChar) + 'px';
ta1.alt = maxChar-x+" chars used";
ta2 = document.getElementById(fname + 'TA2');
ta2.style.width = Math.floor(width*x/maxChar) + 'px';
ta2.alt = x + " chars available";
d = document.getElementById(fname + 'DIV');
d.innerHTML = x + " characters left ";
window.status = ta1.width + " : " + ta2.width;
}
var ctrl_to_disable;
function PleaseWait(ctrl) {
ctrl_to_disable = ctrl
window.setTimeout("PleaseWaitTimeout()", 10);
}
function PleaseWaitTimeout(ctrlid) {
ctrl_to_disable.value= 'Please wait...';
ctrl_to_disable.disabled = true;
}
function icSize() {
this.size = '';
this.price = '';
this.isonsale = false;
this.saleprice = '';
this.inventorystatus = '';
this.getPriceStr = getPriceStr;
}
function getPriceStr() {
var strPrice;
if(this.isonsale) {
strPrice = '' + this.price + '
Sale Price: ' + this.saleprice + ''
} else {
strPrice = '' + this.price + '';
}
return strPrice;
}
function switchEmbroideryType(drpId, trLogoNoId, trNoOfLinesId, trFontId, trFontSizeId, trColors1Id, trColors2Id,trTextLinesId,drpNoOfLinesId,noOfLines) {
var drp = document.getElementById(drpId);
var trLogoNo = document.getElementById(trLogoNoId);
var trNoOfLines = document.getElementById(trNoOfLinesId);
var trFont = document.getElementById(trFontId);
var trFontSize = document.getElementById(trFontSizeId);
var trColors1 = document.getElementById(trColors1Id);
var trColors2 = document.getElementById(trColors2Id);
var trTextLines = document.getElementById(trTextLinesId);
var drpNoOfLines = document.getElementById(drpNoOfLinesId);
var val = drp.options[drp.selectedIndex].value;
var isText = val.toLowerCase().indexOf('text') >= 0 ? true : false;
var isLogo = val.toLowerCase().indexOf('logo') >= 0 ? true : false;
var isTextLimit = val.toLowerCase().indexOf('info text') >= 0 ? true : false;
if(val.toLowerCase().indexOf('info logo')>= 0 ) {
isText = true
}
var i, maxLines, selIndex;
trLogoNo.style.display = isLogo ? '' : 'none';
trNoOfLines.style.display = isText ? '' : 'none';
trFont.style.display = isText ? '' : 'none';
trFontSize.style.display = isText ? '' : 'none';
trColors1.style.display = isText ? '' : 'none';
trColors2.style.display = isText ? '' : 'none';
trTextLines.style.display = 'none';
if(isText && !isLogo && !isTextLimit) {
maxLines = 3;
} else if (isTextLimit && noOfLines > 0) {
maxLines = noOfLines;
}
if(isText && isLogo){
maxLines = 3;
}
selIndex = drpNoOfLines.selectedIndex;
for(i = drpNoOfLines.options.length - 1; i >= 0; i--) {
drpNoOfLines.options[i] = null;
}
if(!isTextLimit){
drpNoOfLines.options[0] = new Option('','');
for(i = 1; i <= maxLines; i++) {
drpNoOfLines.options[i] = new Option(i,i);
}
}else{
drpNoOfLines.options[0] = new Option(maxLines,maxLines);
selIndex = 0
}
try {
drpNoOfLines.selectedIndex = selIndex;
} catch(e) {
drpNoOfLines.selectedIndex = selIndex - 1;
}
}
function switchNumberOfLines(Line1Id, Line2Id, Line3Id, span1Id, span2Id, span3Id, trLinesId, drpNoOfLinesId, trNoOfLinesId) {
var line1 = document.getElementById(Line1Id);
var line2 = document.getElementById(Line2Id);
var line3 = document.getElementById(Line3Id);
var span1 = document.getElementById(span1Id);
var span2 = document.getElementById(span2Id);
var span3 = document.getElementById(span3Id);
var drpNoOfLines = document.getElementById(drpNoOfLinesId);
var trLines = document.getElementById(trLinesId);
var trNoOfLines = document.getElementById(trNoOfLinesId);
var val;
val = trNoOfLines.style.display == 'none' ? 0 : drpNoOfLines.options[drpNoOfLines.selectedIndex].value;
line1.style.display = val >=1 ? '' : 'none';
span1.style.display = val >=1 ? '' : 'none';
line2.style.display = val >=2 ? '' : 'none';
span2.style.display = val >=2 ? '' : 'none';
line3.style.display = val >=3 ? '' : 'none';
span3.style.display = val >=3 ? '' : 'none';
trLines.style.display = val == 0 ? 'none' : '';
}
function switchFontSize(Line1Id, Line2Id, Line3Id, span1Id, span2Id, span3Id, drpFontSizeId, spanInfoId ){
var line1 = document.getElementById(Line1Id);
var line2 = document.getElementById(Line2Id);
var line3 = document.getElementById(Line3Id);
var span1 = document.getElementById(span1Id);
var span2 = document.getElementById(span2Id);
var span3 = document.getElementById(span3Id);
var spanInfo = document.getElementById(spanInfoId);
var drpFontSize = document.getElementById(drpFontSizeId);
var val;
val = drpFontSize.options[drpFontSize.selectedIndex].value;
if (val == ''){val = 25;}
line1.maxLength = val;
line1.value = line1.value.substring(0,val);
line2.maxLength = val;
line2.value = line2.value.substring(0,val);
line3.maxLength = val;
line3.value = line3.value.substring(0,val);
spanInfo.innerHTML = val == 0 ? ' (please select font size to see character limit)' : ' (up to ' + val + ' characters per line)';
span1.innerHTML = val - line1.value.length + ' charaster(s) left.'
span2.innerHTML = val - line2.value.length + ' charaster(s) left.'
span3.innerHTML = val - line3.value.length + ' charaster(s) left.'
}
function checkLength(txtid, spanid) {
var txt = document.getElementById(txtid);
var span = document.getElementById(spanid);
span.innerHTML = txt.maxLength - txt.value.length + ' character(s) left.';
return true;
}
function getRadioButtonListSelectedValue(id) {
var rbl = document.getElementById(id);
var rbs = rbl.getElementsByTagName('input');
var i;
for(i = 0; i < rbs.length ;i++)
if(rbs[i].checked)
return rbs[i].value;
return '';
}
function doTheTrick(containerId, objectId, prop) {
var doIt = false;
var myTmp;
if(navigator.appVersion) {
if(navigator.userAgent.indexOf('MSIE') > -1) {
myTmp = navigator.userAgent.split('MSIE');
if(parseFloat(myTmp[1]) < 7) {
doIt = true;
}
}
}
if(!doIt) return;
var i = 0;
var ddls = document.getElementById(containerId).getElementsByTagName('select');
for(i = 0; i< ddls.length; i++)
ddls[i].style.visibility = prop;
document.getElementById(objectId).style.visibility = prop;
}