
function isEmptyString(temps)
{
	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };
			
	if (temps.trim() == '')
		return true;
	else
		return false;
}

function isInteger(temps)
{
	var i;
	for (i = 0; i < temps.length; i++)
	{   
		// Check that current character is number.
		var c = temps.charAt(i);
		if (((c < "0") || (c > "9"))) 
			return false;
	}
	// All characters are numbers.
	return true;
}

function isValidText(inputTextElement,displayErrorString)
{
	if ( isEmptyString(inputTextElement.value) )
	{
		alert(displayErrorString);
		inputTextElement.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function isValidEmail(inputTextElement)
{
	// Figure out if user's browser is Explorer
	var version=0;
	if (navigator.appVersion.indexOf("MSIE")!=-1)
	{
		var temp=navigator.appVersion.split("MSIE");
		version=parseFloat(temp[1]);
	}
	
	if (version==0)
	{
		if ( isEmptyString(inputTextElement.value) )
		{
			alert('Please enter your Email Address.');
			inputTextElement.focus();
			return false;
		}
		else if (!(/^\w+([\.\+-]?\w+)*@\w+([\.\+-]?\w+)*(\.\w\w+)+$/.test)(inputTextElement.value))
		{
			alert('Please enter a valid Email Address.');
			inputTextElement.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	if (version>=5.5)
	{
		if ( isEmptyString(inputTextElement.value) )
		{
			alert('Please enter your Email Address.');
			inputTextElement.focus();
			return false;
		}
		else if (!(/^\w+([\.\+-]?\w+)*@\w+([\.\+-]?\w+)*(\.\w\w+)+$/.test)(inputTextElement.value))
		{
			alert('Please enter a valid Email Address.');
			inputTextElement.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	return true; 
}

function stripCharsInBag(temps, bag)
{
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < temps.length; i++)
	{   
		// Check that current character isn't whitespace.
		var c = temps.charAt(i);
		if (bag.indexOf(c) == -1)
			returnString += c;
	}
	return returnString;
}
		
function checkInternationalPhone(strPhone)
{
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
			
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()-. ";
			
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
			
			
	var temps=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(temps) && temps.length >= minDigitsInIPhoneNumber);
}

function isValidPhone(inputTextElement,displayLabel)
{
	if ( isEmptyString(inputTextElement.value) )
	{
		alert('Please enter your ' + displayLabel + '.');
		inputTextElement.focus();
		return false;
	}
	else if (checkInternationalPhone(inputTextElement.value)==false)
	{   
		alert('Please enter a valid ' + displayLabel +'.');
		inputTextElement.focus();
		return false;
	}
	else
	{
		return true; 
	}
}

function objectExists(obj)
{
	if ( typeof obj != 'undefined' )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function ValidateFormInput()
{
	var formName = "TelcordiaForm";
	var blnOk = true;
	if (!document.forms[formName])
	{
		// alert('Form not found on this page.');
		blnOk = false;
	}

	var omnitureObj = false;
	if ( typeof s != 'undefined')
	{
		omnitureObj = true ;	
	}

	// FirstName
	if (blnOk && objectExists(document.forms[formName].firstName))
	{
		blnOk = isValidText(document.forms[formName].firstName,"Please enter your First Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty First Name');
		}
	}
			
	// LastName
	if (blnOk && objectExists(document.forms[formName].lastName))
	{
		blnOk = isValidText(document.forms[formName].lastName,"Please enter your Last Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Last Name');
		}
	}
			
	// Email
	if (blnOk && objectExists(document.forms[formName].emailAddress))
	{
		blnOk = isValidEmail(document.forms[formName].emailAddress);
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Email Address');
		}
	}
		  
	// Company
	if (blnOk && objectExists(document.forms[formName].companyName))
	{
		blnOk = isValidText(document.forms[formName].companyName,"Please enter your Company Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Company Name');
		}
	}
					     
	// Phone
	if (blnOk && objectExists(document.forms[formName].phoneNumber))
	{
		blnOk = isValidPhone(document.forms[formName].phoneNumber,"Phone Number");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Phone Number');
		}
	}
		
	// Country
	if (blnOk && objectExists(document.forms[formName].country))
	{
		blnOk = isValidText(document.forms[formName].country,"Please select your Country.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Country');
		}
	}

	// Area of Interest
	if (blnOk && objectExists(document.forms[formName].areaOfInterest))
	{
		blnOk = isValidText(document.forms[formName].areaOfInterest,"Please select an Area of Interest.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Area of Interest');
		}
	}
	
	// check to see if area of interest is multiple
	if ( objectExists(document.forms[formName].areaOfInterest) && document.forms[formName].areaOfInterest.multiple )
	{
		// need to merge selected values by '::' for eloqua and assign value to multiSelectAreaOfInterest hidden field
		var mergedAOIValue = "";
		for(var i = 0; i < document.forms[formName].areaOfInterest.length; i++)
		{
			if ( document.forms[formName].areaOfInterest[i].selected )
			{
				if (mergedAOIValue == "" )
				{
					mergedAOIValue = document.forms[formName].areaOfInterest[i].value;
				}
				else
				{
					mergedAOIValue = mergedAOIValue + "::" + document.forms[formName].areaOfInterest[i].value;
				}
			}
		}
		
		if ( document.forms[formName].multiSelectAreaOfInterest )
		{
			document.forms[formName].multiSelectAreaOfInterest.value = mergedAOIValue;
			// alert(document.forms[formName].multiSelectAreaOfInterest.value);
		}	
	}
	        
	// Nature of Inquiry
	if (blnOk && objectExists(document.forms[formName].natureOfInquiry))
	{
		blnOk = isValidText(document.forms[formName].natureOfInquiry,"Please enter the Nature of your Inquiry.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Nature of Inquiry');
		}
	}			
	
	if (blnOk && omnitureObj )
	{
		s.sendFormEvent('s',s.pageName,formName);
	}
	
	return blnOk;
}

function ValidateGRFormInput()
{
	var formName = "TelcordiaForm";
	var blnOk = true;

	if (!document.forms[formName])
	{
		// alert('Form not found on this page.');
		blnOk = false;
	}

	var omnitureObj = false;
	if ( typeof s != 'undefined')
	{
		omnitureObj = true ;
	}

	// FirstName
	if (blnOk && objectExists(document.forms[formName].firstName))
	{
		blnOk = isValidText(document.forms[formName].firstName,"Please enter your First Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty First Name');
		}
	}
			
	// LastName
	if (blnOk && objectExists(document.forms[formName].lastName))
	{
		blnOk = isValidText(document.forms[formName].lastName,"Please enter your Last Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Last Name');
		}
	}
			
	// Email
	if (blnOk && objectExists(document.forms[formName].emailAddress))
	{
		blnOk = isValidEmail(document.forms[formName].emailAddress);
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Email Address');
		}
	}

	// Company
	if (blnOk && objectExists(document.forms[formName].companyName))
	{
		blnOk = isValidText(document.forms[formName].companyName,"Please enter your Company Name.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Company Name');
		}
	}

	// Role
	if (blnOk && objectExists(document.forms[formName].role))
	{
		blnOk = isValidText(document.forms[formName].role,"Please select your Role.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Role');
		}
	}

	// Country
	if (blnOk && objectExists(document.forms[formName].country))
	{
		blnOk = isValidText(document.forms[formName].country,"Please select your Country.");
		if (!blnOk && omnitureObj )
		{
			s.sendFormEvent('e',s.pageName,formName,'Empty Country');
		}
	}

	if (blnOk && omnitureObj )
	{
		s.sendFormEvent('s',s.pageName,formName);
	}
	
	return blnOk;
}

function DisableSubmit(formObject) 
{
	for (var i = 0; i < formObject.length; i++) 
	{
		if (formObject.elements[i].type.toLowerCase() == 'submit')
		{
			formObject.elements[i].disabled = true;
		}
	}
	return true;
}
