function radio_button_checker()
{
// set var radio_choice to false
var radio_choice = false;

// Loop from zero to the one minus the number of radio button selections
for (counter = 0; counter < radio_form.radio_button.length; counter++)
{
// If a radio button has been selected it will return true
// (If not it will return false)
if (radio_form.radio_button[counter].checked)
radio_choice = true; 
}

if (!radio_choice)
{
// If there were no selections made display an alert box 
alert("Please select a letter.")
return (false);
}
return (true);
}

function RemoveNullValues(strValue, leadingZero)
{
	var arrTemp = new Array();
	var arrRet  = new Array();
	
	if (!leadingZero)
	{
		leadingZero = false;
	}

	arrTemp = strValue.split(',');

	var k = 0;
	for (var j=0; j<arrTemp.length; j++)
	{
		arrTemp[j] = trim(arrTemp[j]);
		
		if (('' != arrTemp[j]) && (IsNumeric(arrTemp[j])))
		{
			tempVal = arrTemp[j];
			
			//remove leading zeroes
			if (leadingZero)
			{
				// 10 to restrict to base 10
				tempVal = parseInt(tempVal, 10);
			}

			if (('NaN' != tempVal) && (0 != tempVal))
			{
				arrRet[k] = tempVal;
			}
			k++;
		}
				//arrTemp[j] = trim(arrTemp[j]);


	}
	return arrRet.join(',');
}

function isValidAttachment(fName, validExtensions)
{
	if (!fName)
	{
		return false;
	}

	fName = fName.toLowerCase();
	while (-1 != fName.indexOf('\\'))
	{
		fName = fName.slice(1 + fName.indexOf('\\'));
	}

	var extArray = validExtensions.split(',');
	var extLocation;
	for (var j = 0; j < extArray.length; j++)
	{
		extArray[j] = trim(extArray[j]);
		extLocation = fName.indexOf('.' + extArray[j]);

		if (-1 != extLocation)
		{
			break;
		}
	}

	if (-1 == extLocation)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isValidFile(objFile)
{
	var fName = trim(objFile.value.toLowerCase());

	if ('' == fName)
	{
		//alert('Please specify a valid file to upload!');
		objFile.focus();
		return false;
	}
	else
	{
		return isValidAttachment(fName, 'wav');
	}
}

function NumbersAndComaOnly(mField, e, dec)
{
   var key;
   var keychar;

   if (window.event)
   {
      key = window.event.keyCode;
   }
   else if (e)
   {
      key = e.which;
   }
   else
   {
      return true;
   }

   keychar = String.fromCharCode(key);
   // control keys
   if ((key == null) || (key ==  0) || (key ==  8) ||
       (key == 9)    || (key == 13) || (key == 27) )
   {
      //return true;
		return false;

   // numbers
   }
   else if ((("0123456789,").indexOf(keychar) > -1))
   {
      return true;
   }
   // decimal point jump
   else if (dec && (keychar == '.'))
   {
      mField.form.elements[dec].focus();
      return false;
   }
   else
   {
      return false;
   }
}


// onkeypress="return NumbersOnly(this, event);
function NumbersOnly(mField, e, dec)
{
   var key;
   var keychar;

   if (window.event)
   {
      key = window.event.keyCode;
   }
   else if (e)
   {
      key = e.which;
   }
   else
   {
      return true;
   }

   keychar = String.fromCharCode(key);
   // control keys
   if ((key == null) || (key ==  0) || (key ==  8) ||
       (key == 9)    || (key == 13) || (key == 27) )
   {
      //return true;
		return false;

   // numbers
   }
   else if ((("0123456789").indexOf(keychar) > -1))
   {
      return true;
   }
   // decimal point jump
   else if (dec && (keychar == '.'))
   {
      mField.form.elements[dec].focus();
      return false;
   }
   else
   {
      return false;
   }
}

function IsNumeric(strString)
{
	var strValidChars = "0123456789";
	var strChar;
	var isOk = true;

	if (0 == strString.length)
	{
		isOk = false;
	}

	//  test strString consists of valid characters listed above
	for (i = 0; (i < strString.length) && isOk; i++)
	{
		strChar = strString.charAt(i);
		if (-1 == strValidChars.indexOf(strChar))
		{
			isOk = false;
		}
	}

	return isOk;
}

// Remove leading spaces and carriage returns
function trim(s)
{
   	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  	{
    	s = s.substring(1,s.length);
  	}

  // Remove trailing spaces and carriage returns

  	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  	{
    	s = s.substring(0,s.length-1);
  	}
  	return s;
}


// Validates a Single email address
// *********************************************************
// * Original Author: Unknown                              *
// * Revised:         Amil Waduwawara                      *
// * Date:            08 August 2006                       *
// *                                                       *
// * WaveNET International (Pvt.) Ltd.                     *
// *********************************************************
function isValidEmail(strEmail)
{
	var at  = '@';
	var dot = '.';

	var eMail = trim(strEmail);

	var lPos = eMail.indexOf('<');
	var rPos = eMail.indexOf('>');

	var isOk  = true;

	if (((-1 == lPos) && (-1 != rPos)) ||
	    ((-1 != lPos) && (-1 == rPos)))
	{
	    isOk = false;
	}
	else if (!((-1 == lPos) || (-1 == rPos)))
	{
		// Get the part between < and >
		eMail = eMail.substring(1 + lPos, rPos);
	}

	var lstr  = eMail.length;
	var lat   = eMail.indexOf(at);
	var ldot  = eMail.indexOf(dot);

	if (isOk && ('' != eMail))
	{
		if ((1 > lat)  || (lstr == lat) || (1 > ldot) || (lstr == ldot))
		{
			// Whether @ and period are at the beginning, at the end or not found
		    isOk = false;
		}
		else if (-1 != eMail.indexOf(at, (1 + lat)))
		{
			// Whether multiple @s present
		    isOk = false;
		}
		else if ((dot == eMail.substring(lat - 1, lat)) ||
		         (dot == eMail.substring(1 + lat, 2 + lat)))
		{
			// Whether '.@' or '@.' is present
		    isOk = false;
		}
		else if (-1 == eMail.indexOf(dot, (2 + lat)))
		{
			// Whether a '.' is present one letter after @
		    isOk = false;
		}
		else if (-1 != eMail.indexOf(' '))
		{
			// Whether a space is present
		    isOk = false;
		}
		else
		{
			var eMailParts   = eMail.split('@');
			var eMailId      = eMailParts[0];
			var eMailHost    = eMailParts[1];
			var leMailHost   = eMailHost.length;

			// Checks for many consecutive periods in eMailId
			var eMailIdParts = eMailId.split('.');
			for ($j = 0; ($j < eMailIdParts.length) && isOk; $j++)
			{
				if ('' == eMailIdParts[$j])
				{
					isOk = false;
				}
			}

			if (isOk)
			{
				if (!isAlpha(eMailId, true, '._'))
				{
					isOk = false;
				}
				else
				{
					var posLbr = eMailHost.indexOf('[');
					var posRbr = eMailHost.indexOf(']');

					if (((-1 == posLbr) && (-1 != posRbr)) ||
					    ((-1 != posLbr) && (-1 == posRbr)))
					{
						isOk = false;
					}
					else
					{
						if ((-1 == posLbr) && (-1 == posRbr)) // no brackets exists in DNS part
						{
							var hostParts    = eMailHost.split('.');
							var topDomain    = hostParts[hostParts.length - 1];
							var lenTopDomain = topDomain.length;

							if (2 > hostParts.length)
							{
								isOk = false;
							}
							else if ((2 > lenTopDomain) ||
								     (6 < lenTopDomain) ||
								     (!isAlpha(topDomain)))
							{
								isOk = false;
							}
							else
							{
								for (j = 0; (j < hostParts.length) && isOk; j++)
								{
									if (('' == hostParts[j]) || !isAlpha(hostParts[j], true, '._-'))
									{
										isOk = false;
									}
								}
							}
						}
						else // Both the square brackets exist in DNS part
						{
							// Position of Left bracket is OK
							var lbrOk = false;
							var rbrOk = false;

							if (0 == posLbr)
							{
								lbrOk = true;
							}

							// Position of Right bracket is OK
							if (leMailHost == 1 + posRbr)
							{
								rbrOk = true;
							}

							if (!(lbrOk && rbrOk))
							{
								isOk = false;
							}
							else
							{
								if (!isIpAddress(eMailHost.substring(1, leMailHost - 1)))
								{
									isOk = false;
								}
							}
						}
					}
				}
			}
		}
	}

	return isOk;
}


function isAlpha(strString, isNumeric, strOther)
{
	isOk = true;

	var strNumbers = '0123456789';                  //Numberic digits
	var strAlphaU  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';  //Uppercase chars
	var strAlphaL  = 'abcdefghijklmnopqrstuvwxyz';  //Lowercase chars

	var strValidChars = strAlphaU + strAlphaL;

	var strChar;
	var isOk = true;

	if (isNumeric)
	{
		strValidChars += strNumbers;
	}

	if (strOther)
	{
		strValidChars += strOther;
	}

	if (0 == strString.length)
	{
		isOk = false;
	}

	//  test strString consists of valid characters listed above
	for (i = 0; (i < strString.length) && isOk; i++)
	{
		strChar = strString.charAt(i);

		if (-1 == strValidChars.indexOf(strChar))
		{
			isOk = false;
		}
	}

	return isOk;
}

function isIpAddress(strIpAddr)
{
	var ipOctets = strIpAddr.split('.');
	var isOk     = true;

	if (4 != ipOctets.length)
	{
		isOk = false;
	}
	else
	{
		for ($j = 0; ($j < 4) && isOk; $j++)
		{
			// Get the numerical value
			ipOctets[$j] = 1 * ipOctets[$j];

			if (isNaN(ipOctets[$j]) ||
			    (  1 > ipOctets[$j]) ||
			    (254 < ipOctets[$j]))
			{
				msg = 'Case 9';
				isOk = false;
			}
		}
	}

	return isOk;
}


function MM_openBrWindow(theURL,winName,features)
{
	//v2.0
	//window.open(theURL,winName,features);
	window.open(theURL);
	return false;
}

