function check_alpha(str){
	for (var i=0; i < str.length; i++){
		if (is_alpha(str.charAt(i)) == false)
			return false;
	}
	return true;
}

function check_digit(str){
	for (var i=0; i < str.length; i++){
		if (is_digit(str.charAt(i)) == false)
			return false;
	}
	return true;
}

function check_space_digit(str){
	for (var i=0; i < str.length; i++){
		if (is_space_digit(str.charAt(i)) == false)
			return false;
	}
	return true;
}

function is_alpha( c ) {
	if (( c >= 'A' ) && ( c <= 'Z' )) return true;
	if (( c >= 'a' ) && ( c <= 'z' )) return true;
	return false;
}

function is_digit( c ) {
	if (( c >= '0' ) && ( c <= '9' )) return true;
	return false;
}

function is_space_digit( c ) {
	if ((( c >= '0' ) && ( c <= '9' )) || c == ' ') return true;
	return false;
}

function format_number(p,d) {
	var r;
	if (p < 0 ) {
			p=-p;
			r=format_number2(p,d);
			r="-"+r;
	} else {
			r=format_number2(p,d);
	}
	return r;
}

function format_number2(pnumber,decimals) {
	var strNumber = new String(pnumber);
	var arrParts = strNumber.split('.');
	var intWholePart = parseInt(arrParts[0],10);
	var strResult = '';

	if (isNaN(intWholePart))    intWholePart = '0';
	if(arrParts.length > 1) {
		var decDecimalPart = new String(arrParts[1]);
		var i = 0;
		var intZeroCount = 0;
		while ( i < String(arrParts[1]).length ){
			if( parseInt(String(arrParts[1]).charAt(i),10) == 0 ){
				intZeroCount += 1;
				i += 1;
			} else {
				break;
			}
		}
		decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
		Math.round(decDecimalPart); 
		decDecimalPart = parseInt(decDecimalPart)/10; 
		decDecimalPart = Math.round(decDecimalPart); 

		//If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
		//then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

		if(decDecimalPart==Math.pow(10, parseInt(decimals))){ 
			intWholePart+=1; 
			decDecimalPart="0"; 
		}
		var stringOfZeros = new String('');
		i=0;

		if( decDecimalPart > 0 ) {
			while( i < intZeroCount) {
				stringOfZeros += '0';
				i += 1;
			}
		}
		decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
		var dot = decDecimalPart.indexOf('.');

		if(dot == -1){
			decDecimalPart += '.'; 
			dot = decDecimalPart.indexOf('.'); 
		} 
		var l=parseInt(dot)+parseInt(decimals); 
		while(decDecimalPart.length <= l) {
			decDecimalPart += '0'; 
		}
		strResult = decDecimalPart;
	} else {
		var dot; 
		var decDecimalPart = new String(intWholePart); 

		decDecimalPart += '.'; 
		dot = decDecimalPart.indexOf('.'); 
		var l=parseInt(dot)+parseInt(decimals); 
		while(decDecimalPart.length <= l) {
		  decDecimalPart += '0'; 
		}
		strResult = decDecimalPart;
	}
	return strResult;
}

function check_char(obj_name){
	if (findObj(obj_name).value.length > 350){
		findObj(obj_name).value = findObj(obj_name).value.substr(0,350);
		alert ("You have exceeded the 350 characters limit.");
	}
}

function emailValidate(string_To_check) {
	var emailPat=new RegExp("^(.+)@(.+)$");
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat="^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/"
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray = emailPat.exec(string_To_check);

	if (matchArray==null) {
	  return false }

	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
		return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
			return false
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
		domArr[domArr.length-1].length>3) {
	   return false
	}

	if (len<2) {
	   return false
	}

	// If we've gotten this far, everything's valid!
	return true;
}

// Example: obj = findObj("image1");

function findObj(theObj, theDoc)

{

  var p, i, foundObj;

  

  if(!theDoc) theDoc = document;

  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)

  {

    theDoc = parent.frames[theObj.substring(p+1)].document;

    theObj = theObj.substring(0,p);

  }

  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];

  for (i=0; !foundObj && i < theDoc.forms.length; i++) 

    foundObj = theDoc.forms[i][theObj];

  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 

    foundObj = findObj(theObj,theDoc.layers[i].document);

  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);

  

  return foundObj;

}
function IsRadioChildShown(thisObj)
{
	isShown = false
	
	var divCollection = document.getElementsByTagName("div");
	
	for (var i=0; i<divCollection.length; i++) 
	{
		if (divCollection[i].getAttribute("id").indexOf("rbo_category")==0)
		{
			
			
		}
	}
	return isHown;
	
	
}
function showObj(thisObj)
{
	findObj(thisObj).style.display='';
	findObj(thisObj).style.visibility = 'visible';
}
function hideObj(thisObj)
{
	findObj(thisObj).style.display='none';
	findObj(thisObj).style.visibility = 'hidden';
}



function initPrimaryBizCat()
{
	hideAllRadio()
	return false;	
}
function hideAllRadio()
{
	var divCollection = document.getElementsByTagName("div");
	
	for (var i=0; i<divCollection.length; i++) 
	{
		if (divCollection[i].getAttribute("id").indexOf("rbo_category")==0)
		{
			hideObj(divCollection[i].getAttribute("id"));
			
			divCollection2 = divCollection[i].getElementsByTagName("div");
				
			for (var j=0; j<divCollection2.length; j++) 
			{
				if (divCollection2[j].getAttribute("id").indexOf("rbo_category")==0)
				{
					hideObj(divCollection2[j].getAttribute("id"));
				}
			}
		}
	}
	return false;
}

function IsAllChildrenHidden(parentObj)
{
	var divCollection = findObj(parentObj).getElementsByTagName("div");
	isAllHidden = true;
	
	for (var i=0; i<divCollection.length; i++) 
	{
		if (divCollection[i].getAttribute("id").indexOf("rbo_category")==0)
		{
			if (divCollection[i].style.display=='')
			{
				isAllHidden = false;	
			}
		}
	}
	return isAllHidden;
}


function onClickPrimaryBizCat(BC1, BC2, BC3, thisCbo )
{
//    alert(BC1 +" : " + BC2 + " : " + BC3 )

	if (thisCbo.checked)
	{
		if (BC3==0)
		{
			showObj("rbo_category_" + BC1);
			showObj("rbo_category_" + BC2);
		} else {

			showObj("rbo_category_" + BC1);
			showObj("rbo_category_" + BC2);
			showObj("rbo_category_" + BC3);
		}
	} 
	else 
	{
		if (BC3==0)
		{
			hideObj("rbo_category_" + BC2);
			
			if (IsAllChildrenHidden("rbo_category_" + BC1))
			{
				hideObj("rbo_category_" + BC1);
			}
		} else {

			hideObj("rbo_category_" + BC3);
			
			if (IsAllChildrenHidden("rbo_category_" + BC2))
			{
				hideObj("rbo_category_" + BC2);
			}
			if (IsAllChildrenHidden("rbo_category_" + BC1))
			{
				hideObj("rbo_category_" + BC1);
			}
		}
	}
	return false;
}

/* 2007 03 06 check drop down list with hidden field
function changeOptions(chosen, chosenbox) {
var selbox = document.pre_form.rbo_category;
var y = chosen.length;
var chosenresult = chosen.substring(6,y).toUpperCase();

	if (chosenbox.checked==false) {
		if (selbox.options[0].value != " ") {
		nomatch = new Array();
		for (n=0;n<selbox.length;n++){
		if(selbox.options[n].text != chosenresult){
		nomatch[nomatch.length] = new Array(selbox.options[n].value, selbox.options[n].text);
		}}
		selbox.options.length = 0;
		if (nomatch.length == 0) {
		//selbox.options[0]= new Option("PLEASE SELECT"," ");
		} else {
		for (n=0;n<nomatch.length;n++){
		selbox.options[n] = new Option(nomatch[n][1], nomatch[n] [0]);
		}}}
	}
	else
	{
		if (selbox.options == null){
			if (selbox.options[0].value == chosenresult) {
				selbox.options.length = 0;
			}
		}
		var fnd = 0;
		for (n=0;n<selbox.length;n++){
		if(selbox.options[n].text == chosenresult){
		fnd = 1;
		}}
		if (!fnd) selbox.options[selbox.options.length] = new Option(chosenresult, chosen.substring(0,5));
	}	
}
*/

/* 2007 02 06
function changeOptions(chosen, chosenbox) {
var selbox = document.pre_form.rbo_category;
var y = chosen.length;
var chosenresult = chosen.substring(6,y).toUpperCase();

	if (chosenbox.checked==false) {
		if (selbox.options[0].value != " ") {
		nomatch = new Array();
		for (n=0;n<selbox.length;n++){
		if(selbox.options[n].text != chosenresult){
		nomatch[nomatch.length] = new Array(selbox.options[n].value, selbox.options[n].text);
		}}
		selbox.options.length = 0;
		if (nomatch.length == 0) {
		selbox.options[0]= new Option("PLEASE SELECT"," ");
		} else {
		for (n=0;n<nomatch.length;n++){
		selbox.options[n] = new Option(nomatch[n][1], nomatch[n] [0]);
		}}}
	}
	else
	{
		if (selbox.options[0].value == chosenresult) {
		selbox.options.length = 0;
		}
		var fnd = 0;
		for (n=0;n<selbox.length;n++){
		if(selbox.options[n].text == chosenresult){
		fnd = 1;
		}}
		if (!fnd) selbox.options[selbox.options.length] = new Option(chosenresult, chosen.substring(0,5));
	}	
}

function addOptions(chosen) {
var selbox = document.pre_form.rbo_category;
if (selbox.options[0].value == " ") {
selbox.options.length = 0;
}
var fnd = 0;
for (n=0;n<selbox.length;n++){
if(selbox.options[n].text == chosen){
fnd = 1;
}}
if (!fnd) selbox.options[selbox.options.length] = new Option(chosen, selbox.options.length);
}
 
function delOptions(chosen) {
var selbox = document.pre_form.rbo_category;
if (selbox.options[0].value != " ") {
nomatch = new Array();
for (n=0;n<selbox.length;n++){
if(selbox.options[n].text != chosen){
nomatch[nomatch.length] = new Array(selbox.options[n].value, selbox.options[n].text);
}}
selbox.options.length = 0;
if (nomatch.length == 0) {
selbox.options[0]= new Option("Select entries from the list at left"," ");
} else {
for (n=0;n<nomatch.length;n++){
selbox.options[n] = new Option(nomatch[n][1], nomatch[n] [0]);
}}}}
*/