function SubmitTicket()
{
	var companyName = document.getElementById("idcompanyname").value;
	var emailAddress = document.getElementById("emailadd").value;
	var subject = document.getElementById("subject").value;
	var problemDetails = document.getElementById("problemdetails").value;
	var first = document.getElementById("first").value;
	
	
	if (first == "")
	{
		var compNameObj = document.all["div"+companyName]
		var first = compNameObj[compNameObj.selectedIndex].text;
		document.createticket.first.value = first;	
		var prodNameObj = document.all["prod"+companyName]
		var product = prodNameObj[prodNameObj.selectedIndex].text;
		document.createticket.product.value = product;
	}
	
	
		
	var temp = VerifyAllEntries(companyName,emailAddress,subject,problemDetails);
		if (!temp)
			{
				return false;
			}
		else
		return true;
	return false;
}

function ltrim(data)
{
	return data.replace( /^\s*/, "" )
}

function rtrim(data)
{
	return data.replace( /\s*$/, "" );
}

function trim(data)
{
	return rtrim(ltrim(data));
}

function verifyAndSubmitData()
{
	
		//var ret = VerifyAllEntries(document.idcreateticket.companyName.value,document.createticket.region.value,document.idcreateticket.first.value,document.idcreateticket.emailAddress.value,document.idcreateticket.idproductname.value,document.idcreateticket.idVersion.value,document.idcreateticket.idModule.value,document.idcreateticket.idhotfix.value,document.idcreateticket.subject.value,document.idcreateticket.problemDetails.value);
	//if(ret == false)
	//	return false;
	//validation for company name
			if (! IsNonNullStr(document.createticket.companyName.value))
			{
				alert("Please enter your Company name");
				document.createticket.companyName.focus();
				return false;
			}
 	//validation for License type
	  if (document.createticket.LicenceType.value == "Select" ){
			  alert("Please select the License Type!");
			  idcreateticket.LicenceType.focus()
			  return false;
          }
	//validation for support level
	  if (document.createticket.supporttype.value == "Select" ){
			  alert("Please select the Support level!");
			  idcreateticket.supporttype.focus()
			  return false;
          }
				
	//validation for region	
	  if (document.createticket.region.value == "Select"){
          alert("Please select the region!");
		  document.createticket.region.focus()
          return false;
            }
	//validation for first name	
		if (! IsNonNullStr(document.createticket.first.value))
			{
				alert("Please enter your First name");
				document.createticket.first.focus();
				return false;
			}
		//validation for Last name	
		if (! IsNonNullStr(document.createticket.last.value))
			{
				alert("Please enter your Last name");
				document.createticket.last.focus();
				return false;
			}
			//validation for Last name	
		if (! IsNonNullStr(document.createticket.emailAddress.value))
			{
				alert("Please enter your Email address");
				document.createticket.emailAddress.focus();
				return false;
			}
			
	//validation for email address
		if (! IsValidEmailAddress(document.createticket.emailAddress.value))
			{
				alert("Please enter a valid Email Address");
				document.createticket.emailAddress.focus	
				return false;
			}
	//validation for contact number	
		if (! IsNonNullStr(document.createticket.contactnumber.value))
			{
				alert("Please enter your Phone number");
				document.createticket.contactnumber.focus();
				return false;
			}
	//validation for product	
		if (document.createticket.idproductname.value == "Select")
		    {	
				alert("Please select the Product.");
				document.createticket.idproductname.focus();
				return false;
			}
				//validation for server operating system	
		if (document.createticket.serveros.value == "Select")
		    {	
				alert("Please select server operating system.");
				document.createticket.serveros.focus();
				return false;
			}
				//validation for database server	
		if (document.createticket.applicationdb.value == "Select")
		    {	
				alert("Please select the Application databse.");
				document.createticket.applicationdb.focus();
				return false;
			}
			//validation for version	
	if (document.createticket.idVersion.value == "Select"){
          alert("Please select the Version!");
		  idcreateticket.idVersion.focus()
          return false;
            }
			//validation for module
		if (! chkModName(document.createticket.idModule.value ))
		    {	
				alert("Please select the Module name");
				document.createticket.idModule.focus();
				return false;
			}
			//validation for hotfix
			if (idcreateticket.idhotfix.value == "Select"){
			  alert("Please select the Hotfix!");
			  idcreateticket.idhotfix.focus()
			  return false;
            }
			//validation for Severity
			if (idcreateticket.Severity.value == "Select"){
			  alert("Please select the Severity!");
			  idcreateticket.Severity.focus()
			  return false;
            }
			//validation for Severity
			if (idcreateticket.ProblemType.value == "Select"){
			  alert("Please select the Type!");
			  idcreateticket.ProblemType.focus()
			  return false;
            }
		
		
			//validation for summary details
		if (! IsNonNullStr(document.createticket.subject.value))
		    {	
				alert("Please enter the Summary details");
				document.createticket.subject.focus();
				return false;
			}
			var maxlength=100
          if (idcreateticket.subject.value.length>maxlength){
          alert("Please limit summary details input to 100 or less characters!");
		  idcreateticket.subject.focus();
          return false;
            }
		//validation for problem details
		if (! IsNonNullStr(document.createticket.problemDetails.value))
		    {	
				alert("Please enter the Problem details");
				document.createticket.problemDetails.focus();
				return false;
			}			
 	
	setTextFieldAttribute();
 
// 	document.idcreateticket.submit();
 
	return true;
}

function setTextFieldAttribute()
{
	document.idcreateticket.probTypeText.value = document.idcreateticket.ProblemType.options[document.idcreateticket.ProblemType.selectedIndex].text;
	document.idcreateticket.productText.value = document.idcreateticket.idproductname.options[document.idcreateticket.idproductname.selectedIndex].text;
	document.idcreateticket.moduleText.value = document.idcreateticket.idModule.options[document.idcreateticket.idModule.selectedIndex].text;
}

function formatPhoneNumber()
{
	var phoneNumber = document.idcreateticket.contactnumber.value;
	phoneNumber = trim(phoneNumber).
	phoneNumber = phoneNumber.replace(/ /g,"");
	phoneNumber = MaskPhone(phoneNumber);
	document.idcreateticket.contactnumber.value = phoneNumber; 
}

function VerifyAllEntries(companyName,idregion,first,emailAddress,idproductname,idVersion,idModule,idhotfix,subject,problemDetails)
	{
		if (! IsNonNullStr(companyName))
			{
				alert("Please enter your Company Name");
				return false;
			}
			
		
  if (idcreateticket.idregion.value == "Select"){
          alert("Please select the region!");
		  idcreateticket.idregion.focus()
          return false;
            }
		
		if (! IsNonNullStr(first))
			{
				alert("Please enter your first name");
				return false;
			}
			
			
		if (! IsValidEmailAddress(emailAddress))
			{
				alert("Please enter a valid Email Address");
				return false;
			}
		
		if (! chkProdName(idproductname))
		    {	
				alert("Please select the Product.");
				return false;
			}
			
	if (idcreateticket.idVersion.value == "Select"){
          alert("Please select the Version!");
		  idcreateticket.idVersion.focus()
          return false;
            }
		if (! chkModName(idModule))
		    {	
				alert("Please select the Module name");
				return false;
			}
			if (idcreateticket.idhotfix.value == "Select"){
          alert("Please select the Hotfix!");
		  idcreateticket.idhotfix.focus()
          return false;
            }
		if (! IsNonNullStr(subject))
		    {	
				alert("Please enter the Summary details");
				return false;
			}
			var maxlength=100
          if (idcreateticket.subject.value.length>maxlength){
          alert("Please limit summary details input to 100 or less characters!");
		  idcreateticket.subject.focus();
          return false;
            }
		
		if (! IsNonNullStr(problemDetails))
		    {	
				alert("Please enter the Problem details");
				return false;
			}			
		return true;
	}
function IsValidName(szStr)
	{
		if ( (szStr == null) || (szStr == "") )
		return false;
		
		return true;
	}
function chkProdName(szProdName)
{
	if (szProdName == 'none')
		return false;
	szProdName = document.idcreateticket.idproductname.options[document.idcreateticket.idproductname.selectedIndex].value;
	if(szProdName == "none")
		return false;
	return true;
}


function chkModName(szModName)
{
	if (szModName == 'Select')
		return false;
	szModName = document.idcreateticket.idModule.options[document.idcreateticket.idModule.selectedIndex].value;
	if(szModName == "Select")
		return false;
	return true;
}
		
	
function IsValidEmailAddress(szEmailAddr) 

{
	//ei_excep_13/07/00
	
	var str =  szEmailAddr;

	for(i=0;i< str.length;i++)
	{
		c = str.charAt(i);
		if ( ! ( ("a" <= c && c <= "z") || ("A" <= c && c <= "Z") || c == "@" 
				|| c == "."  || c == "-" || c == "'" || c == "&" || c == "_" || c == "!" || ("0" <= c  && c<= "9") ) )
			return false;
	}
	
	var x = str.indexOf("@", 0);
	var str1 = str.substring(x, str.length);
	var str2 = str.substring(x+1, str.length);	
	var atIndex2 = str2.indexOf("@"); 
	if (atIndex2 != -1)
	{
		return false;
	}
	
	var atIndex = str1.indexOf("@");
	if (atIndex == -1)
	{
		return false;
	}
	var dotIndex = str1.indexOf(".");
	if (dotIndex == -1)
	{
		return false;
	}
	if (str1.charAt(str1.length-1) == ".")
	{
		// must have at least one character after "."
		return false;
	}
	if ((dotIndex - atIndex < 2)&&(dotIndex > atIndex))
	{
		// "." must come after "@" with at least one character in between
		return false;
	}

	if (str1.length - dotIndex < 2)
	{
		// must have at least one character after "@"
		return false;
	}

	return IsNonNullStr(str);
}

function IsNonNullStr(szStr) 
{
   //if ( (szStr == null) || (szStr == "") )	
	//	return false;
   var str = szStr;
   var len = str.length;
   var charString = false;
   var start = 0;
   while(start < len)
   {	presentChar = str.charAt(start)
		if(  (presentChar == " ") || (presentChar == "\r") || (presentChar == "\n") || (presentChar == "\t")  ) ;
		else		{ 	
			charString = true;
			break;	}
		start++;
   }
   return(charString);				
}

function IsValidNumber(Value)
{
	var szString = new String(Value);
	var len = szString.length;
	var start = 0;
	while( start < len )
	{
		presentChar = szString.charAt(start)
		//alert(presentChar+"  Value :"+szString)
		if ( (presentChar >= '0') && (presentChar <= '9') )
			start++
		else 
			return false;
		
	}
	return true;
}
