//common functions
function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isInteger (s)
{   
	var i;
    for (i = 0; i < s.length; i++)
    {
        // Check that current character is number.
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}

function isEmail(inputObj, strErrMsg, inputNotHidden) {
	// The regular expression for the email pattern was taken from the following book:
	// Danny Goodman, "JavaScript & DHTML Cookbook", O'Reilly, 2003, p. 196.
	//var reEmail = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	var reEmail = /^[\w-'']+(\.[\w-'']+)*@([\w-'']+\.)+[a-zA-Z]{2,7}$/; 
	var inputStr = inputObj.value.toString();
	if (!inputStr.match(reEmail)) {
		alert(strErrMsg + " does not have a valid email address format.");
		if (inputNotHidden) {	// if optional third parameter exists, use it to set focus
			inputNotHidden.focus();
			inputNotHidden.select();
		}
		else {					// otherwise, set focus to field that was tested
			inputObj.focus();
			inputObj.select();
		}
		return false;
	}
	return true;
}

function FValidateControl(control, cntrlname) {
   if (control.value.length==0 || control.value==" ") {
    alert(cntrlname+": this is a required field, and it must be filled in before your form can be published to the Web.")
    control.focus()
    return false }
  return true }

function FValidateSplChar(control, cntrlname) {
   if (control.value.indexOf("\"")!= -1) {
    alert(cntrlname+": should not contain Double quotes character(\")")
    control.focus()
    control.select()
    return false 
   }
   return true }
   
 function FValidateSplCharPlus(control, cntrlname) { 
   if (control.value.indexOf("+")!= -1) {
    alert(cntrlname+": should not contain special character '+'")
    control.focus()
    control.select()
    return false } 
  return true }
  
  
/* no need validations for phone number and fax number
function telfax(varname,event)
{
	var len=document.getElementById(varname).value.length;
	if((event.keyCode<48 || event.keyCode>57))
	{
		event.returnValue=false;
	}
	else if(event.keyCode>47 && event.keyCode<58)
	{
		if(len==3 || len==7)
		{
			document.getElementById(varname).value+='-';
		}
	}
}*/


//Login Validations

function IsEmpty(control, cntrlname) {
  if (control.value.length==0 || control.value==" ") {
    alert(cntrlname+" is empty.  Please enter a value.")
    control.focus()
    return false }
  return true }

function FLoginSubmitValidation() {
if (!IsEmpty(document.LOGIN.TXT_USR_NAME, "USER NAME")) return false
if (!IsEmpty(document.LOGIN.TXT_PASSWORD, "PASSWORD")) return false
return true }

function FOnLoad() {
if(document.LOGIN.TXT_USR_NAME)
	document.LOGIN.TXT_USR_NAME.focus()
}

//Register my SDATT and Request for Quote Validations
function FCntryChange(form,opt){
if (opt=="United States")
{
	form.TXT_STATE.style.display="none"	
	form.TXT_STATE.style.visibility="hidden"
	form.SEL_STATE.style.display="inline"
	form.SEL_STATE.style.visibility="visible"
	form.SEL_STATE.focus()
}
else
{
	form.SEL_STATE.style.display="none"	
	form.SEL_STATE.style.visibility="hidden"
	form.TXT_STATE.style.display="inline"
	form.TXT_STATE.style.visibility="visible"
	form.TXT_STATE.focus()
}
}

function FSubmitValidation(form) {
if (!FValidateControl(form.TXT_USR_FNAME, "First Name")) return false
if (!FValidateControl(form.TXT_USR_LNAME, "Last Name")) return false
if (!FValidateControl(form.TXT_COMPANY, "Company")) return false
if (!FValidateControl(form.TXT_ADDRESS1, "Address")) return false
if (!FValidateControl(form.TXT_CITY, "City")) return false
if (form.TXT_COUNTRY.value =="United States") {
	if (!FValidateControl(form.SEL_STATE, "State/Province")) return false
	form.TXT_STATE.value=form.SEL_STATE.value
}else{
	if (!FValidateControl(form.TXT_STATE, "State/Province")) return false
}
if (!FValidateControl(form.TXT_POSTAL_CODE, "Postal Code")) return false
/*if (!isInteger(form.TXT_POSTAL_CODE.value)) {
alert("Please enter a valid number for Postal Code")
form.TXT_POSTAL_CODE.focus()
form.TXT_POSTAL_CODE.select()
return false
}*/
if (!FValidateControl(form.TXT_PHONE_NO, "Phone Number")) return false
val=form.TXT_PHONE_NO.value
/*if(val.length<12 || val.charAt(3)!='-' || val.charAt(7)!='-')
		{
			alert("Invalid Phone Number, The Number should be of xxx-xxx-xxxx Format");
			form.TXT_PHONE_NO.focus();
			form.TXT_PHONE_NO.select();
			return false;
		}
val=form.TXT_FAX_NO.value
if(!(form.TXT_FAX_NO.value == "") && (val.length<12 || val.charAt(3)!='-' || val.charAt(7)!='-'))
		{
			alert("Invalid Fax Number, The Number should be of xxx-xxx-xxxx Format");
			form.TXT_FAX_NO.focus();
			form.TXT_FAX_NO.select();
			return false;
		}*/
if(val.length == 0)
		{
			alert("Enter Phone Number");
			form.TXT_PHONE_NO.focus();
			form.TXT_PHONE_NO.select();
			return false;
		}	
				
if (!FValidateControl(form.TXT_EMAIL, "Email")) return false
if (!isEmail(form.TXT_EMAIL, "E-Mail")) return false
if (!FValidateControl(form.TXT_REENTERED_EMAIL, "Re-Enter E-mail")) return false
if (form.TXT_EMAIL.value != form.TXT_REENTERED_EMAIL.value){
		alert ("Re-Entered Email must be same as Email");
		form.TXT_REENTERED_EMAIL.focus();
		form.TXT_REENTERED_EMAIL.select();
	return false;
}
return true }


//Submit Issue validations
/*function funAttach()
{
	qrystr="isstype=" + document.SubmitIssue.ISS_TYPE.value + "&"
	qrystr=qrystr + "s/wver="+document.SubmitIssue.TXT_SDATT_SW_VER.value + "&"
	qrystr=qrystr + "h/wver="+document.SubmitIssue.TXT_SDATT_HW_VER.value + "&"
	qrystr=qrystr + "f/wver="+document.SubmitIssue.TXT_SDATT_FW_VER.value + "&"
	qrystr=qrystr + "usrplfm="+document.SubmitIssue.USR_PLATFORM.value + "&"
	qrystr=qrystr + "IssSumm="+document.SubmitIssue.ISS_SUMMARY.value + "&"
	qrystr=qrystr + "addinfo="+document.SubmitIssue.ADDL_INFO.value + "&"
	if (document.SubmitIssue.ISS_MODE)
	document.SubmitIssue.IssMode.value=document.SubmitIssue.ISS_MODE.value
	qrystr=qrystr + "IssMODE="+document.SubmitIssue.IssMode.value
	document.attach.action ="Attachment.asp?"+qrystr
	document.attach.submit()
}*/

function FSubmitIssueValidation() {
if (!FValidateControl(document.SubmitIssue.TXT_SDATT_SW_VER, "SDATT S/W Ver")) return false
if (!FValidateSplChar(document.SubmitIssue.TXT_SDATT_SW_VER, "SDATT S/W Ver")) return false

if (!FValidateControl(document.SubmitIssue.TXT_SDATT_HW_VER, "H/W Ser#")) return false
if (!FValidateSplChar(document.SubmitIssue.TXT_SDATT_HW_VER, "H/W Ser#")) return false

if (!FValidateControl(document.SubmitIssue.TXT_SDATT_FW_VER, "SDATT F/W Ver")) return false
if (!FValidateSplChar(document.SubmitIssue.TXT_SDATT_FW_VER, "SDATT F/W Ver")) return false

if (document.SubmitIssue.ISS_MODE){
if (!FValidateControl(document.SubmitIssue.ISS_MODE, "Mode of Ticket")) return false
document.SubmitIssue.IssMode.value=document.SubmitIssue.ISS_MODE.value	
}
if (!FValidateControl(document.SubmitIssue.ISS_SUMMARY, "Ticket Summary")) return false
if (!FValidateSplChar(document.SubmitIssue.ISS_SUMMARY, "Ticket Summary")) return false

if (document.SubmitIssue.ISS_SUMMARY.value.length > 5000) {
	alert("Lenght of Ticket summary should not be more than 5000 characters")
	document.SubmitIssue.ISS_SUMMARY.focus();
	document.SubmitIssue.ISS_SUMMARY.select();
	return false;
}
if (document.SubmitIssue.ADDL_INFO.value.length > 5000) {
	alert("Lenght of Additional Info should not be more than 500 characters")
	document.SubmitIssue.ISS_SUMMARY.focus();
	document.SubmitIssue.ISS_SUMMARY.select();
	return false;
}
if (!FValidateSplChar(document.SubmitIssue.ADDL_INFO, "Additional Info")) return false

return true }

// Issue View 
function FIssueTitleType()
{
index=document.IssueView.ISSUE_TITLE_TYPE_NO.selectedIndex
document.IssueView.ISSUE_TITLE_TYPE_NAME.value=document.IssueView.ISSUE_TITLE_TYPE_NO.options[index].text
document.IssueView.action="IssueView.asp"
document.IssueView.submit()
}

function FOnClose()
{
window.location="IssueMgmt.asp?UsrOption=<%=Status%>"
}

function FIssueViewValidation() {
if (!FValidateSplChar(document.IssueView.ATTACHED_LOCATION, "Attachment Location")) return false
if (!FValidateControl(document.IssueView.ISSUE_TITLE_TYPE_NO, "Ticket Title Type")) return false
if (!FValidateControl(document.IssueView.ISSUE_TITLE_NO, "Ticket Title")) return false

if (document.IssueView.TEST_PROCEDURE && document.IssueView.ISS_LEVEL) {
if (!FValidateSplChar(document.IssueView.TEST_PROCEDURE, "Test Procedure")) return false
if (!FValidateSplChar(document.IssueView.ISS_LEVEL, "Level")) return false
}
//if (!FValidateSplChar(document.IssueView.RESOLUTION_NOTES, "Resolution Notes")) return false
if (document.IssueView.RESOLUTION_NOTES.value.length > 5000) {
	alert("Length of Resolution Notes should not be more than 5000 characters")
	document.IssueView.RESOLUTION_NOTES.focus();
	document.IssueView.RESOLUTION_NOTES.select();
	return false;
}
if (!FValidateSplChar(document.IssueView.RESPONSIBLE_PERSON, "Responsible Person")) return false
if (!FValidateSplChar(document.IssueView.DEV_EFFORTS_ESTIMATE, "Dev. Efforts Estimate")) return false
if (!FValidateSplChar(document.IssueView.DEV_EFFORTS_ACTUAL, "Dev. Efforts Actual")) return false
if (!FValidateSplChar(document.IssueView.TARGET_RELEASE, "Target Release")) return false
if (!FValidateSplChar(document.IssueView.TEST_EFFORTS_ESTIMATED, "Test Efforts Estimated")) return false
if (!FValidateSplChar(document.IssueView.TOT_TIME_SPENT, "Total Time Spent on Ticket")) return false
if (!FValidateSplChar(document.IssueView.REVIEWER_TESTER_NOTES, "Reviewer/Tester Notes")) return false
if (document.IssueView.REVIEWER_TESTER_NOTES.value.length > 5000) {
	alert("Lenght of Reviewver/Tester Notes should not be more than 5000 characters")
	document.IssueView.REVIEWER_TESTER_NOTES.focus();
	document.IssueView.REVIEWER_TESTER_NOTES.select();
	return false;
}
return true }
//CurrentRelease
function FCurrentRelease(form) {
if (document.getElementById("Text14").value == '')  
{
alert("Enter the Phone Number"); 
return false
}
var sdserial=document.CurrentRelease.TXT_SDT_SERIAL.value
//document.getElementById("text15").value 
if (sdserial.length <= 0)
{ alert("Please Enter the SDATT Serial #");  return false }
return true
}
//My Profile
function FMyProfileValidation(form) {
if (!FValidateControl(form.TXT_USR_FNAME, "First Name")) return false
if (!FValidateControl(form.TXT_USR_LNAME, "Last Name")) return false
if (!FValidateControl(form.TXT_COMPANY, "Company")) return false
if (!FValidateControl(form.TXT_ADDRESS1, "Address")) return false
if (!FValidateControl(form.TXT_CITY, "City")) return false
if (form.TXT_COUNTRY.value =="United States") {
	if (!FValidateControl(form.SEL_STATE, "State/Province")) return false
	form.TXT_STATE.value=form.SEL_STATE.value
}else{
	if (!FValidateControl(form.TXT_STATE, "State/Province")) return false
}
if (!FValidateControl(form.TXT_POSTAL_CODE, "Postal Code")) return false
/*if (!isInteger(form.TXT_POSTAL_CODE.value)) {
alert("Please enter a valid number for Postal Code")
form.TXT_POSTAL_CODE.focus()
form.TXT_POSTAL_CODE.select()
return false
}*/
if (!FValidateControl(form.TXT_PHONE_NO, "Phone Number")) return false
val=form.TXT_PHONE_NO.value
/*if(val.length<12 || val.charAt(3)!='-' || val.charAt(7)!='-')
		{
			alert("Invalid Phone Number, The Number should be of xxx-xxx-xxxx Format");
			form.TXT_PHONE_NO.focus();
			form.TXT_PHONE_NO.select();
			return false;
		}
val=form.TXT_FAX_NO.value
if(!(form.TXT_FAX_NO.value == "") && (val.length<12 || val.charAt(3)!='-' || val.charAt(7)!='-'))
		{
			alert("Invalid Fax Number, The Number should be of xxx-xxx-xxxx Format");
			form.TXT_FAX_NO.focus();
			form.TXT_FAX_NO.select();
			return false;
		}*/
if(val.length == 0)
{
	alert("Enter Phone Number");
	form.TXT_PHONE_NO.focus();
	form.TXT_PHONE_NO.select();
	return false;
}
return true
}

//Forgot Password
function FForgotPwdSubmitValidation() {
if (!IsEmpty(document.ForgotPwd.TXT_EMAIL, "User Name/E-Mail")) return false
if (!isEmail(document.ForgotPwd.TXT_EMAIL, "E-Mail")) return false
return true
}


//Change Password
function FChangePwdSubmitValidation() {
if (!IsEmpty(document.ChangePwd.OLD_PWD, "Old Password")) return false
if (document.ChangePwd.OLD_PWD.value != document.ChangePwd.OldPwd.value){
		alert ("Incorrect password entered, please enter your correct old password");
		document.ChangePwd.OLD_PWD.focus();
		document.ChangePwd.OLD_PWD.select();
	return false;
}
if (!IsEmpty(document.ChangePwd.NEW_PWD1, "New Password")) return false
if (!IsEmpty(document.ChangePwd.NEW_PWD2, "Re-enter New Password")) return false
if (document.ChangePwd.NEW_PWD1.value != document.ChangePwd.NEW_PWD2.value){
		alert ("Re-Entered New Password must be same as New Password");
		document.ChangePwd.NEW_PWD2.focus();
		document.ChangePwd.NEW_PWD2.select();
	return false;
}
return true                     
}


//Issue Title Type
function FIssueTitleTypeSubmitValidation() {
if (!IsEmpty(document.IssueTitleType.Title_Type, "Ticket Title Type")) return false
if (!FValidateSplChar(document.IssueTitleType.Title_Type, "Ticket Title Type")) return false
if (!FValidateSplCharPlus(document.IssueTitleType.Title_Type, "Ticket Title Type")) return false
return true                     
}

//Issue Title 
function FIssueTitleSubmitValidation() {
if (document.IssueTitle.Title_Type.value.length==0 || document.IssueTitle.Title_Type.value==" ") {
    alert("Ticket Title Type is empty.  Please select a value.")
    document.IssueTitle.Title_Type.focus()
    return false
}
if (!IsEmpty(document.IssueTitle.Title, "Ticket Title")) return false
if (!FValidateSplChar(document.IssueTitle.Title, "Ticket Title")) return false
if (!FValidateSplCharPlus(document.IssueTitle.Title, "Ticket Title")) return false
return true                     
}


//Issue Mgmt
function FIssueMgmtValidation()
{
if (!IsEmpty(document.SelectOption.IssueNo, "Ticket Number")) return false
if (!isInteger(document.SelectOption.IssueNo.value)) {
alert("Enter a valid Ticket Number")
document.SelectOption.IssueNo.focus()
document.SelectOption.IssueNo.select()
return false
}
else
{
UsrOption=document.SelectOption.USR_Option.value
document.SelectOption.action="IssueMgmt.asp?UsrOption="+UsrOption
document.SelectOption.submit()
return true
}
}

//Add Forum
function FForumSubmitValidation() {
if (!IsEmpty(document.Forum.Forum_Name, "Forum Name")) return false
if (!IsEmpty(document.Forum.Forum_Desc, "Forum Description")) return false
return true
}
