function autoJump(o,maxLength) {

	var i;
	var nextIndex = -1;
	var oForm = o.form;

	for(i=0;i<oForm.length;i++) {
		if(o.name==oForm.elements[i].name) {
		nextIndex = i+1
		break;
		}
	}

	if(nextIndex>=0 && oForm.elements[nextIndex] && event.keyCode!=9 && event.keyCode!=16) {
		if(o.value.length>=maxLength) {
			oForm.elements[nextIndex].focus();
		}
	}
}


function closeImageViewer() {
	try {
		if(mgWin.window) {
		mgWin.close();
		mgWin.window.close();
		mgWin.document.close();
		}
	} catch(e) {}
}

function checkImage(o) {
	try {
		o.onerror=null;
		o.src='/wcsstore/EngineeringServices/allbizunits/design/images/ImageNotAvailable.jpg';
	} catch(e) {;}
}

function checkImage(o,t) {
	try {
		o.onerror=null;
		o.src="/wcsstore/EngineeringServices/allbizunits/prodimages/"+t+"/ImageNotAvailable.jpg";
	} catch(e) {;}
}

var imgErrCt = 0;

function checkImageItemDetail(o,t,sku) {
	try {
		imgErrCt++;
		if(imgErrCt>0) {
			checkImage(o,t);
		} else {
			o.onerror=null;
			o.src="/wcsstore/EngineeringServices/allbizunits/prodimages/"+t+"/"+sku+"_a.jpg";
		}
	} catch(e) {;}
}


function checkImageTD(o) {
	try {
		o.onerror=null;
		o.src='/wcsstore/EngineeringServices/allbizunits/design/images/techdoc_generic.gif';
	} catch(e) {;}
}

function btnclk(o,text) {
	var revert = o.value;
	o.value = text;
	o.style.color="#777777";
	//o.disabled=true;
}

function intFilter(o) {
	//RETURNS ONLY NUMERICS BACK TO THE FIELD
	var i;
	var inValue = o.value;
	var returnValue = "";
    var charStr = "";
	var charCode = "";

	if(o.keyCode!=9 && o.keyCode!=16) {
	    for(i=0;i<inValue.length;i++) {
			charStr = inValue.charAt(i);
			charCode = inValue.charCodeAt(i);
	        	if(charCode>=48 && charCode <= 57) { returnValue+=charStr; }
		}
		o.value=returnValue;
	}
}




function trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function


function isValidEmail(addr) {
	var man = true;
	var db = true;
	if (addr == '' && man) {
	   if (db) alert('email address is mandatory');
	   return false;
	}

	addr = addr.toLowerCase();

	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
	      if (db) alert('email address contains invalid characters');
	      return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
	      if (db) alert("email address contains non ascii characters.");
	      return false;
	   }
	}
	
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert('email address must contain an @');
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert('email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert('email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert('email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum' && suffix != 'mobi' && suffix != 'travel') {
	   if (db) alert('invalid domain in email address');
	   return false;
	}

	return true;

}


/****************************************************************************
* This will remove the Return \r \n chars from a string and
* replace them by " " char.
*
*
****************************************************************************/
function removeReturnChar(word)
{
   var i=0;
   var j=word.length;
   var result="";

   for (i=0; i<j; ++i) {
      if((word.charAt(i) == "\r") || (word.charAt(i) == "\n" )) {
         result += " ";
      } else {
         result += word.charAt(i);
      }
   }

   return result;
}

function isValidPO(po) { 
	var valid = true;
	if(po.length > 0) {
		var patt=new RegExp("^[0-9a-zA-Z]\\d*$");
		valid = patt.test(po);
		
	}
	return valid;
}

