/********************************************************************
Script Name: Scripts.js
Author: Nauman Ahmed
Description: This script is for the form validation.
Date Created On: 03/04/2003
Last Modified: 05/29/2003
*******************************************************************
*/
/*
function: isBlank
Description: Check form fields for white spaces
*/		


function SearchOpenTicket()
{
	/*var checkboxCount=0;
		for (var i=0;i<document.forms.frmSearchOpenTickets.length;i++)
		{
			if (document.forms.frmSearchOpenTickets.elements[i].type=="checkbox")
			{
			 if(document.forms.frmSearchOpenTickets.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}

		if (checkboxCount < 1)
			alert ("Please select atleast 1 criteria.");
		else*/
			document.forms.frmSearchOpenTickets.submit();
}

function AddAttachment()
{
	document.forms.Attachments.action="attachments.asp?Action=AddAttachment";
	document.forms.Attachments.submit();
}

function AddNewTicketTempAttachment(AccountID, ServiceID, Title, Category, Description, Priority)
{
	if (document.forms.Ticket.AttachmentFile.value.length>0)
	{
		document.forms.Ticket.action="attachments.asp?Action=AddTempAttachment&ServiceID="+ServiceID+"&AccountID="+AccountID+"&Title="+Title+"&Cat="+Category+"&Desc="+Description+"&Prior="+Priority;
		document.forms.Ticket.submit();
	}
}
// External ticket code
function AddNewExternalTicketTempAttachment(AccountID, ServiceID, Title, Name, Description, Email)
{
	if (document.forms.ExternalTicket.AttachmentFile.value.length>0)
	{	
		document.forms.ExternalTicket.action="../Support/attachments.asp?Action=AddExternalTempAttachment&ServiceID="+ServiceID+"&AccountID="+AccountID+"&Title="+Title+"&SubName="+Name+"&Desc="+Description+"&Email="+Email;
		document.forms.ExternalTicket.submit();
	}
}

function AddNewTicketAttachment()
{
	if (document.forms.EditTicket.AttachmentFile.value.length>0)
	{
		document.forms.EditTicket.action="attachments.asp?Action=AddTicketAttachment";//&ServiceID="+ServiceID+"&AccountID="+AccountID+"&Title="+Title+"&Cat="+Category+"&Desc="+Description+"&Prior="+Priority;
		document.forms.EditTicket.submit();
	}
}

function AddNewTicketHistoryAttachment()
{
	if (document.forms.EditTicketHistory.AttachmentFile.value.length>0)
	{
		document.forms.EditTicketHistory.action="attachments.asp?Action=AddTicketHistoryAttachment";//&ServiceID="+ServiceID+"&AccountID="+AccountID+"&Title="+Title+"&Cat="+Category+"&Desc="+Description+"&Prior="+Priority;
		document.forms.EditTicketHistory.submit();
	}
}

function AddTicketHistoryTempAttachment(Description, DisplayShow, AccountID, ServiceID, TicketID)
{

	Display = "Hide";
	if (DisplayShow == true)
	{
		Display = "Show";
	}                                                         
	document.forms.TicketHistory.action="attachments.asp?Action=AddTicketHistoryTempAttachment&AccountID="+AccountID+"&ServiceID="+ServiceID+"&TicketID="+TicketID+"&Description="+Description+"&Display="+Display;
	document.forms.TicketHistory.submit();
}


function AddAccountAttachment()
{
	document.forms.Attachments.action="attachments.asp?Action=AddAccountAttachment";
	document.forms.Attachments.submit();
}


function AddServiceAttachment()
{
	document.forms.Attachments.action="attachments.asp?Action=AddServiceAttachment";
	document.forms.Attachments.submit();
}

function AddTicketAttachment()
{
	document.forms.Attachments.action="attachments.asp?Action=AddTicketAttachment";
	document.forms.Attachments.submit();
}

function AddTicketHistoryAttachment()
{
	document.forms.Attachments.action="attachments.asp?Action=AddTicketHistoryAttachment";
	document.forms.Attachments.submit();
}

function isBlank(str)
{ 	
	var nullCount = 0;
	for (var i = 0 ; i<str.length; i++)
	{
		var chr = str.charAt(i);
		if (chr == " ")
			nullCount += 1;
	}
	if (str.length == nullCount)
		return true;
	else
		return false;
	
	/*for(var i=0; i<str.length;i++){ 
	var caractere = str.charAt(i) 
		// check for space, tab and enter
		if((caractere!=" ") && (caractere!="\t") &&(caractere!="\n")){ 
			return false 
		} 
	return true 
	} 
	*/
}

/*
function: ValidateLogin
Description: Validate form fields for Login.asp
*/	
function CallCheckSpace(MyObject)
{
	len=MyObject.length;
	if (len > 0)
	{for(i=0;i<len;i++)
		{charMy = MyObject.charAt(i);
		if (charMy == " ")
			{MyVar = "";
			for (j=i+1;j<len;j++)
				MyVar = MyVar + MyObject.charAt(j);
			}
		else
			{MyVar = "";
			for (j=i;j<len;j++)
				MyVar = MyVar + MyObject.charAt(j);
			break;
			}
		}
	if (MyVar.length > 0)
		{MyObject = MyVar;
		return 1;
		}
	else
		{return 0;
		MyObject = "";
	}}
	else
		return 0;
}

function ValidateLogin(formName)
{
	
	var err=0;
	var frm=eval("document.forms."+formName);
	
	
	if ( (frm.Login.value=="") || (isBlank(frm.Login.value)) )
	{
		alert ("E-Mail Address is missing or invalid. Please provide a valid E-Mail Address.");
	//	ErrMsg += "- E-Mail Address\n";
	//	err=err+1;
		return false;
		
		
	}
	if ( (frm.Password.value=="") || (isBlank(frm.Password.value)) )
	{
		
		alert ("Password is missing or invalid. Please provide a valid Password.");
	
		return false;
	}
	return true;

}

function NewTicket(frm)
{	
	if (frm=="NewTicket")
	{
		var AccID=document.forms.NewTicket.hidAccountID.value;
		var ServID=document.forms.NewTicket.hidServiceID.value;	
 		window.location.href="Tickets.asp?Action=NewTicket&AccountID="+AccID+"&ServiceID="+ServID+"&New=1";
	}	
	else if (frm=="Ticket")//jjj
	{
		var AccID=document.forms.Ticket.Account.value;
		var T = document.forms.Ticket.TicketTitle.value;
		var C = document.forms.Ticket.TicketCategory.value;
		var D = document.forms.Ticket.TicketDescription.value;
		var P = document.forms.Ticket.TicketPriority.value;
		var ServID="";
	
		//window.location.href="Tickets.asp?Action=NewTicket&AccountID="+AccID+"&Title="+T+"&Category="+C+"&Description="+D+"&Priority="+P;	
		window.location.href="Tickets.asp?Action=NewTicket&AccountID="+AccID+"&PostBack=True";	
	}	
}
/*
function: ValidateAccount()
Description: Validate form fields for Accounts.asp
*/	
function ValidateAccount(formName)
{
	//var err=0;
	var frm=eval("document.forms."+formName);
	var ErrMsg=" is missing or invalid. Please provide a valid ";
	//ErrMsg += "----------------------------------------------------------------------\n";
	if ((frm.Title.value=="") || (isBlank(frm.Title.value)))
	{
	//	ErrMsg += "- Title\n";
	//	err = err+1;
		alert ("Title"+ErrMsg+"Title.");
		return false;
	}

	if ((frm.Code.value=="") || (isBlank(frm.Code.value)))
	{
	//	ErrMsg += "- Code\n";
	//	err = err+1;
		alert ("Code"+ErrMsg+"Code.");
		return false;
	}

	if ((frm.Name.value=="") || (isBlank(frm.Name.value)))
	{
	//	ErrMsg += "- Name\n";
	//	err = err+1;
		alert ("Name"+ErrMsg+"Name.");
		return false;
	}
	
	if (frm.EMail.value != "" && !ValidateEmail(frm.EMail.value))
	{
	//	ErrMsg += "- Valid E-Mail Address\n";
		//err += 1;
		alert ("E-Mail Address"+ErrMsg+"E-Mail Address.");
		return false;
	}
		return true;
}

/*
function: AddService()
Description: This function is called from Accounts.asp tp add service
*/	
function AddService()
{
	
	var err=0;
	var frm=document.forms.Services;
	//var ErrMsg="Please provide information for the following required fields:\n";
	//ErrMsg += "----------------------------------------------------------------------\n";
	var ErrMsg = "";
	if ((frm.ServiceTitle.value=="") || (isBlank(frm.ServiceTitle.value)))
	{
		ErrMsg += "Service Title is missing or invalid. Please provide a valid Service Title.\n";
		err = err+1;
	}
	else if ((frm.ServiceCode.value=="") || (isBlank(frm.ServiceCode.value)))
	{		
		ErrMsg += "Service Code is missing or invalid. Please provide a valid Service Code.\n";
		err = err+1;
	}	
	else if (frm.TechnicalEmail.value != "" && !ValidateEmailHistory(frm.TechnicalEmail.value))
	{
		ErrMsg += "Technical E-Mail Address is invalid. Please provide a valid Technical E-Mail Address.\n";
		err += 1;
	}	 	
	else if (frm.ManagementEmail.value != "" && !ValidateEmailHistory(frm.ManagementEmail.value)) 
	{
		ErrMsg += "Management E-Mail Address is invalid. Please provide a valid Management E-Mail Address.\n";
		err += 1;	
	}
	else if (frm.CustomerEmail.value != "" && !ValidateEmailHistory(frm.CustomerEmail.value)) 
	{
		ErrMsg += "Customer E-Mail Address is invalid. Please provide a valid Customer E-Mail Address.\n";
		err += 1;	
	}
	else if (frm.AdministrationEmail.value != "" && !ValidateEmailHistory(frm.AdministrationEmail.value)) 
	{
		ErrMsg += "Administration E-Mail Address is invalid. Please provide a valid Administration E-Mail Address.\n";
		err += 1;	
	}
	else if (frm.PagerEmail.value != "" && !ValidateEmailHistory(frm.PagerEmail.value)) 
	{
		ErrMsg += "Pager E-Mail Address is invalid. Please provide a valid Pager E-Mail Address.\n";
		err += 1;	
	}	
	
	else if (frm.ServiceType.value != "Other")
	{
		if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
		{
			ErrMsg += "Service Host is invalid. Please provide a valid Service Host.\n"
			err = err+1;
		}	
		else if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value)) || !isNumeric(frm.ServicePort.value) )
		{
			ErrMsg += "Service Port is invalid. Please provide a valid Service Port.\n"
			err = err+1;
		}		
	}	
	else if (frm.ServiceType.value == "Other")
	{
		if ((frm.ServiceHost.value != "") || (!isBlank(frm.ServiceHost.value)))
		{
			
			if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value) || !isNumeric(frm.ServicePort.value)))
			{
				ErrMsg += "Service Port is invalid. Please provide a valid Service Port.\n"
				err = err+1;
			}
		}		
		else if ( ((frm.ServicePort.value != "") || (!isBlank(frm.ServicePort.value))))
		{
			if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
			{
				ErrMsg += "Service Host is invalid. Please provide a valid Service Host.\n"
				err = err+1;
			}	
		}		
	}	
	
	if (err > 0)
	{
		alert(ErrMsg);
	}
	else
	{
		document.forms.Services.action="Services.asp?Action=AddService";
		document.forms.Services.submit();
	}	
}
/*
function: AddService()
Description: This function is called from Accounts.asp to add owner
*/	
function AddOwner()
{
	var err=0;
	var frm=document.forms.Owners;
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	if ((frm.OwnerID.value==""))
	{
		ErrMsg += "- Name\n";
		err = err+1;
	}
	//if ((frm.OwnerRole.value==""))
	//{
	//	ErrMsg += "- Owner Role\n";
	//	err = err+1;
	//}
	
	if (err > 0)
	{
		alert(ErrMsg);
	}
	else
	{
		document.forms.Owners.action="Owners.asp?Action=AddOwner";
		document.forms.Owners.submit();
	}
}

function DeleteViewTicket(TicketID,ServiceID, AccountID)
{
	var msg=window.confirm("Are you sure you want to delete this Ticket?");
	if (msg==true)
	{	
		window.location.href="Tickets.asp?Action=DeleteTicket&TicketID="+TicketID+"&AccountID="+AccountID+"&ServiceID="+ServiceID;
	}
	
}

/*
function: ConfirmDelete()
Description: This function is called from Accounts.asp
*/	
function ConfirmDelete(name,id,url)
{

	if (name=='Account')
	{	
	
		var msg=window.confirm("Are you sure you want to delete this Account?");
		if (msg==true)
		{	
			window.location.href="Accounts.asp?Action=DeleteAccount&AccountID="+id;
		}
	}
	else if (name=='Ticket')
	{
		var msg=window.confirm("Are you sure you want to delete this Ticket?");
		if (msg==true)
		{	
			window.location.href="Tickets.asp?Action=DeleteTicket&TicketID="+id+"&AccountID="+document.forms[0].AccountID.value+"&ServiceID="+document.forms[0].ServiceID.value;
		}
	}
	else if (name=='TicketHistory')
	{
		var msg=window.confirm("Are you sure you want to delete this Ticket History?");
		if (msg==true)
		{	
			window.location.href="TicketHistory.asp?Action=DeleteTicketHistory&"+id;
		}	
	}
	else if (name=='TempTicketAttachment')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.Ticket.length;i++)
		{
			if (document.forms.Ticket.elements[i].type=="checkbox")
			{
			 if(document.forms.Ticket.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete this File(s)?");
			if (msg==true)
			{	
				document.forms.Ticket.action="Attachments.asp?Action=DeleteTempAttachment";
				document.forms.Ticket.submit();
			}	
		}
		else
		{
		}
	}
	// For external ticket
	else if (name=='TempExternalTicketAttachment')
	{
		
		var checkboxCount=0;
		for (var i=0;i<document.forms.ExternalTicket.length;i++)
		{
			if (document.forms.ExternalTicket.elements[i].type=="checkbox")
			{
			 if(document.forms.ExternalTicket.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete this File(s)?");
			if (msg==true)
			{	
				
				document.forms.ExternalTicket.action="../Support/Attachments.asp?Action=DeleteTempAttachment";
				document.forms.ExternalTicket.submit();
			}	
		}
		else
		{
		}
	}
	else if (name=='TempTicketHistoryAttachment')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.TicketHistory.length;i++)
		{
			if (document.forms.TicketHistory.elements[i].type=="checkbox")
			{
			 if(document.forms.TicketHistory.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete this File(s)?");
			if (msg==true)
			{	
				document.forms.TicketHistory.action="Attachments.asp?Action=DeleteTempAttachment";
				document.forms.TicketHistory.submit();
			}	
		}
		else
		{
		}
	}
	else if (name=='TicketAttachment')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.EditTicket.length;i++)
		{
			if (document.forms.EditTicket.elements[i].type=="checkbox")
			{
			 if(document.forms.EditTicket.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete this File(s)?");
			if (msg==true)
			{	
				document.forms.EditTicket.action="Attachments.asp?Action=DeleteTicketAttachment";
				document.forms.EditTicket.submit();
			}	
		}
		else
		{
		}
	}

	else if (name=='TicketHistoryAttachment')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.EditTicketHistory.length;i++)
		{
			if (document.forms.EditTicketHistory.elements[i].type=="checkbox")
			{
			 if(document.forms.EditTicketHistory.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete this file(s)?");
			if (msg==true)
			{	
				document.forms.EditTicketHistory.action="Attachments.asp?Action=DeleteTicketHistoryAttachment";
				document.forms.EditTicketHistory.submit();
			}	
		}
		else
		{
		}
	}
	else if (name=='Owners')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.Owners.length;i++)
		{
			if (document.forms.Owners.elements[i].type=="checkbox")
			{
			 if(document.forms.Owners.elements[i].checked)
			 {
				checkboxCount++;
			 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Owner(s)?");
			if (msg==true)
				document.forms.Owners.submit();
			//else
				//return false;
		}
		else
		{
			//alert("Please select at least one owner to be deleted delete.");
			//return false;
		}	
					
	}
	else if (name=='Services')
	{
		
		var checkboxCount=0;
		for (var i=0;i<document.forms.Services.length;i++)
		{
			if (document.forms.Services.elements[i].type=="checkbox")
			{
				if(document.forms.Services.elements[i].checked)
				{
					checkboxCount++;
				 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Service(s)?");
			if (msg==true)
				document.forms.Services.submit();
			//else
				//return false;
		}
		else
		{
			//alert("Please select at least one Service to be deleted.");
			//return false;
		}	
	}

	else if (name=='Attachments')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.Attachments.length;i++)
		{
			if (document.forms.Attachments.elements[i].type=="checkbox")
			{
				if(document.forms.Attachments.elements[i].checked)
				{
					checkboxCount++;
				 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Attachment(s)?");
			if (msg==true)
				document.forms.Attachments.submit();
			//else
			//	return false;
		}
		else
		{
			//alert("Please select at least one Service to be deleted.");
			//return false;
		}	
	}


	else if (name=='Service')
	{
		var msg=window.confirm("Are you sure you want to delete this Service?");
			if (msg==true)
			{
				document.forms.Services.action="Services.asp?Action=DeleteService";
				document.forms.Services.submit();
			}
	}
	else if (name=='Attachment')
	{
		var msg=window.confirm("Are you sure you want to delete this Attachment?");
			if (msg==true)
			{
				document.forms.Attachments.action="attachments.asp?Action=DeleteAttachment&AccountID="+url+"&ATTACHMENT_ID="+id;
				document.forms.Attachments.submit();
			}
	}
	else if (name=='ServiceAttachment')
	{
		var msg=window.confirm("Are you sure you want to delete this Attachment?");
			if (msg==true)
			{
				document.forms.Attachments.action="attachments.asp?Action=DeleteServiceAttachment&ServiceID="+url+"&ATTACHMENT_ID="+id;
				document.forms.Attachments.submit();
			}
	}

	
	else if (name=='TicketAttachment')
	{
		var msg=window.confirm("Are you sure you want to delete this Attachment?");
			if (msg==true)
			{
				document.forms.Attachments.action="attachments.asp?Action=DeleteTicketAttachment&TicketID="+url+"&ATTACHMENT_ID="+id;
				document.forms.Attachments.submit();
			}
	}
	else if (name=='TicketHistoryAttachment')
	{
		var msg=window.confirm("Are you sure you want to delete this Attachment?");
			if (msg==true)
			{
				document.forms.Attachments.action="attachments.asp?Action=DeleteTicketHistoryAttachment&TicketHistoryID="+url+"&ATTACHMENT_ID="+id;
				document.forms.Attachments.submit();
			}
	}
	

	else if (name=='Owner')
	{
		var msg=window.confirm("Are you sure you want to delete this Owner?");
		if (msg==true)
		{
			document.forms.Owners.action="Owners.asp?Action=DeleteOwner";
			document.forms.Owners.submit();
		}

	}
	else if (name=='Sites')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.Site.length;i++)
		{
			if (document.forms.Site.elements[i].type=="checkbox")
			{
				if(document.forms.Site.elements[i].checked)
				{
					checkboxCount++;
				 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Site(s)?");
			if (msg==true)
			{
				document.forms.Site.action = "Site.asp?Action=DeleteSites";
				document.forms.Site.method = "post";
				document.forms.Site.submit();
			
			}
			else
				return false;
		}
		else
		{
			//alert("Please select at least one Service to be deleted.");
			return false;
		}		
	}
	
	else if (name=='Site')
	{
		var msg=window.confirm("Are you sure you want to delete this Site?");
		if (msg==true)
		{
			document.forms.ViewSite.action="Site.asp?Action=DeleteSite";
			document.forms.ViewSite.submit();
		}
	}
	
	else if (name=="Logs")
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.SiteLog.length;i++)
		{
			if (document.forms.SiteLog.elements[i].type=="checkbox")
			{
				if(document.forms.SiteLog.elements[i].checked)
				{
					checkboxCount++;
				 }	
			}
		}
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Log(s)?");
			if (msg==true)
			{
				document.forms.SiteLog.action = "SiteLog.asp?Action=DeleteLogs";
				document.forms.SiteLog.method = "post";
				document.forms.SiteLog.submit();
			}
			else
				return false;
		}
		else
		{
			//alert("Please select at least one Service to be deleted.");
			return false;
		}			
	}
	
	else if (name=='Log')
	{
		var msg=window.confirm("Are you sure you want to delete this Log?");
		if (msg==true)
		{
			document.forms.SiteLog.action="SiteLog.asp?Action=DeleteLog";
			document.forms.SiteLog.submit();
		}
	}
	else if (name=='ServiceHistory')
	{
		var checkboxCount=0;
		for (var i=0;i<document.forms.ServiceHistory.length;i++)
		{
			if (document.forms.ServiceHistory.elements[i].type=="checkbox")
			{
				if(document.forms.ServiceHistory.elements[i].checked)
				{
					checkboxCount++;
				}	
			}
		}
		
		if (checkboxCount > 0)
		{
			var msg=window.confirm("Are you sure you want to delete the selected Service History?");
			if (msg==true)
			{
				document.forms.ServiceHistory.action = "ServiceHistory.asp?Action=DeleteHistory";
				document.forms.ServiceHistory.method = "post";
				document.forms.ServiceHistory.submit();
			
			}
		}			
	}
	else if (name=='ClearLog')
	{
		var msg=window.confirm("Are you sure you want to clear the Service History for this Account?");	
		if (msg == true)
		{
			var tempAccount = document.forms[1].AccountID.value;
			var tempService = document.forms[1].ServiceID.value;
			
			
			window.location.href="ServiceHistory.asp?Action=ClearHistory&AccountID="+tempAccount+"&ServiceID="+tempService;
		}
	}
}
/*
function: ValidateServices()
Description: This function is called from Services.asp
*/	
function ValidateServices()
{
	/*var err=0;
	var frm=document.forms.Services;
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	if ((frm.Title.value=="") || (isBlank(frm.Title.value)))
	{
		ErrMsg += "- Title\n";
		err = err+1;
	}
	
	if (frm.ServiceType.value != "Other")
	{
		if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
		{
			ErrMsg += "- Service Host\n"
			err = err+1;
		}
	
		if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value)) || !isNumeric(frm.ServicePort.value) )
		{
			ErrMsg += "- Valid Service Port\n"
			err = err+1;
		}		
	}
	
	else if (frm.ServiceType.value == "Other")
	{
		if ((frm.ServiceHost.value != "") || (!isBlank(frm.ServiceHost.value)))
		{
			
			if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value) || !isNumeric(frm.ServicePort.value)))
			{
				ErrMsg += "- Valid Service Port\n"
				err = err+1;
			}
		}
		
		if ( (frm.ServicePort.value != "") && (!isBlank(frm.ServicePort.value)) && isNumeric(frm.ServicePort.value))
		{
			if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
			{
				ErrMsg += "- Service Host\n"
				err = err+1;
			}	
		}
		
		
	}
	
		
	
	if (frm.SupportEmail.value != "" && !ValidateEmail(frm.SupportEmail.value))
	{
		ErrMsg += "- Valid Support E-Mail Address\n";
		err += 1;
	}
		
	if (frm.PagerEmail.value != "" && !ValidateEmail(frm.PagerEmail.value)) 
	{
		ErrMsg += "- Valid Pager E-Mail Address\n";
		err += 1;	
	}
	
	if (frm.HistoryEmail.value != "" && !ValidateEmail(frm.HistoryEmail.value)) 
	{
		ErrMsg += "- Valid History E-Mail Address\n";
		err += 1;	
	}
	
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}
	*/

	var err=0;
	var frm=document.forms.Services;
	//var ErrMsg="Please provide information for the following required fields:\n";
	//ErrMsg += "----------------------------------------------------------------------\n";
	var ErrMsg = "";
	if ((frm.Title.value=="") || (isBlank(frm.Title.value)))
	{
		ErrMsg += "Service Title is missing or invalid. Please provide a valid Service Title.\n";
		err = err+1;
	}
	else if ((frm.ServiceCode.value=="") || (isBlank(frm.ServiceCode.value)))
	{
		ErrMsg += "Service Code is missing or invalid. Please provide a valid Service Code.\n";
		err = err+1;
		
	}	
	else if (frm.TechnicalEmail.value != "" && !ValidateEmailHistory(frm.TechnicalEmail.value))
	{
		ErrMsg += "Technical E-Mail Address is invalid. Please provide a valid Technical E-Mail Address.\n";
		err += 1;
	}	
	else if (frm.ManagementEmail.value != "" && !ValidateEmailHistory(frm.ManagementEmail.value)) 
	{
		ErrMsg += "Management E-Mail Address is invalid. Please provide a valid Management E-Mail Address.\n";
		err += 1;	
	}
	
	else if (frm.CustomerEmail.value != "" && !ValidateEmailHistory(frm.CustomerEmail.value)) 
	{
		ErrMsg += "Customer E-Mail Address is invalid. Please provide a valid Customer E-Mail Address.\n";
		err += 1;	
	}
	else if (frm.AdministrationEmail.value != "" && !ValidateEmailHistory(frm.AdministrationEmail.value)) 
	{
		ErrMsg += "Administrator E-Mail Address is invalid. Please provide a valid Administrator E-Mail Address.\n";
		err += 1;	
	}
	else if (frm.PagerEmail.value != "" && !ValidateEmailHistory(frm.PagerEmail.value)) 
	{
		ErrMsg += "Pager E-Mail Address is invalid. Please provide a valid Pager E-Mail Address.\n";
		err += 1;	
	}	
	
	else if (frm.ServiceType.value != "Other")
	{
		if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
		{
			ErrMsg += "Service Host is invalid. Please provide a valid Service Host.\n"
			err = err+1;
		}	
		else if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value)) || !isNumeric(frm.ServicePort.value) )
		{
			ErrMsg += "Service Port is invalid. Please provide a valid Service Port.\n"
			err = err+1;
		}		
	}	
	else if (frm.ServiceType.value == "Other")
	{
		if ((frm.ServiceHost.value != "") || (!isBlank(frm.ServiceHost.value)))
		{
			
			if ((frm.ServicePort.value == "") || (isBlank(frm.ServicePort.value) || !isNumeric(frm.ServicePort.value)))
			{
				ErrMsg += "Service Port is invalid. Please provide a valid Service Port.\n"
				err = err+1;
			}
		}		
		else if ( ((frm.ServicePort.value != "") || (!isBlank(frm.ServicePort.value))))
		{
			if ((frm.ServiceHost.value == "") || (isBlank(frm.ServiceHost.value)))
			{
				ErrMsg += "Service Host is invalid. Please provide a valid Service Host.\n"
				err = err+1;
			}	
		}		
	}	
	
	if (err > 0)
	{
		alert(ErrMsg);
		
	}
	else
	{
	document.forms.Services.action="Services.asp?Action=UpdateService";
	document.forms.Services.submit();
	}

}

function ValidateOwners()
{
	var err=0;
	var frm=document.forms.Owners;
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	if ((frm.OwnerName.value=="") || (isBlank(frm.OwnerName.value)))
	{
		ErrMsg += "- Name\n";
		err = err+1;
	}
	if ((frm.OwnerEMail.value=="") || (isBlank(frm.OwnerEMail.value)))
	{
		ErrMsg += "- E-Mail Address\n";
		err = err+1;
	}
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}	

}

//Ticket.asp?Action=NewTicket
function ValidateTicket()
{
	var err=0;
	var frm=document.forms.Ticket;
	var ErrMsg=" is missing or invalid. Please provide a valid ";
	//ErrMsg += "----------------------------------------------------------------------\n";
	
	if ((frm.TicketTitle.value=="") || (isBlank(frm.TicketTitle.value)))
	{
		//ErrMsg += "- Title\n";
		//err = err+1;
		alert ("Ticket Title" +ErrMsg + "Ticket Title.");
		
	}
		
	else
	{
		//frm.AccountTitle.value = frm.Account.options[frm.Account.selectedIndex].text;
		//frm.ServiceTitle.value = frm.Service.options[frm.Service.selectedIndex].text;
		frm.encoding="multipart/form-data";
		frm.action="Tickets.asp?Action=CreateTicket";
		frm.submit();
	}	
}

//Ticket.asp?Action=UpdateTicket
function UpdateTicket()
{
	
	var err=0;
	var frm=document.forms.EditTicket;
	
	var ErrMsg=" is missing or invalid. Please provide a valid ";
	//ErrMsg += "----------------------------------------------------------------------\n";
	
	if ((frm.TicketTitle.value=="") || (isBlank(frm.TicketTitle.value)))
	{
		//ErrMsg += "- Title\n";
		//err = err+1;
		alert ("Ticket Title" +ErrMsg + "Ticket Title.");
	}
	else if (((frm.Remarks.value=="") || (isBlank(frm.Remarks.value))) && (frm.TicketStatus.value=="Closed"))
	{
		//ErrMsg += "- Title\n";
		//err = err+1;
		alert ("Remarks are missing. Please provide valid Remarks.");
	}
	else
	{
		//frm.encoding="multipart/form-data";
		frm.ServiceTitle.value = frm.Service.value;
		frm.action="Tickets.asp?Action=UpdateTicket";
		frm.submit();
	}	

}

//Tickets.asp for attachment validataion
function ValidateAttachment()
{
	var err=0;
	var frm=document.forms.Attachment;
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}
}
function ValidateTicketHistory(formName)
{
	var err=0;
	var frm=eval("document.forms."+formName);
	var ErrMsg=" is missing or invalid. Please provide a valid ";
	//ErrMsg += "----------------------------------------------------------------------\n";
	var HistroyFlag = 0;
	if ((frm.HistoryDescription.value=="") || (isBlank(frm.HistoryDescription.value)))
	{			
		ErrMsg = "Description is invalid. Please provide a valid Description.\n";
		alert (ErrMsg);
	}
	else if(frm.EmailList.value != "" && !ValidateEmailHistory(frm.EmailList.value)) 
	{
	
		ErrMsg = "Send E-Mail Address is invalid. Please provide a valid Send E-Mail Address.\n";
		alert (ErrMsg);
	}
	else
		frm.submit();

	
	//Attachment if not must but if one field has value, then all the required fields for attachmet
	//must be filled.
		
}

function ValidateEditTicketHistory(formName)
{
	var err=0;
	var frm=eval("document.forms."+formName);
	var ErrMsg=" is missing or invalid. Please provide a valid ";
	//ErrMsg += "----------------------------------------------------------------------\n";
	var HistroyFlag = 0;
	if ((frm.HistoryDescription.value=="") || (isBlank(frm.HistoryDescription.value)))
	{
			
		ErrMsg = "Description is invalid. Please provide a valid Description.\n";
		alert (ErrMsg);
	}
	else
		frm.submit();
	
}

function ValidateHistoryAttachment()
{
	var err=0;
	var frm=document.forms.HistoryAttachment;
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	
	
	
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}
}
function ValidateGetPassword()
{
	var err=0;
	var frm=document.forms.GetPassword;
	var ErrMsg="E-Mail Address is missing or invalid. Please provide a valid E-Mail Address.";
	//ErrMsg += "----------------------------------------------------------------------\n";
	if ((frm.EMail.value=="") || (isBlank(frm.EMail.value)))
	{
		//ErrMsg += "- E-Mail Address\n";
		err = err+1;
	}
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}
}
function ShowSelectedCompany()
{
	var frm=document.forms.Owners;
	var AccountID=document.forms.Owners.AccountID.value;
	var company = frm.Company.value;
	window.location.href="Accounts.asp?Action=ViewAccount&AccountID="+AccountID+"&Company="+company;
	
}
function SupportSummary(AccountID,ServiceID)
{
	if (AccountID!=null && ServiceID!=null)
		window.location.href="Support.asp?AccountID="+AccountID+"&ServiceID="+ServiceID;
	else if (AccountID!=null && ServiceID==null)
		window.location.href="Support.asp?AccountID="+AccountID;
	else
		window.location.href="Support.asp";	
}

function HistoryBack(AccountID,ServiceID,TicketID)
{
	if (AccountID!=null && ServiceID!=null && TicketID!=null)
		window.location.href="Tickets.asp?Action=ViewTicket&AccountID="+AccountID+"&ServiceID="+ServiceID+"&TicketID="+TicketID;
	else if (AccountID!=null && ServiceID==null)
		window.location.href="Support.asp?AccountID="+AccountID;
	else
		window.location.href="Support.asp";	
}

function TicketBack(AccountID,ServiceID)
{
	if (AccountID!=null && ServiceID!=null)
		window.location.href="Support.asp?AccountID="+AccountID+"&ServiceID="+ServiceID;
	else if (AccountID!=null && ServiceID==null)
		window.location.href="Support.asp?AccountID="+AccountID;
	else
		window.location.href="Support.asp";	
}

function ValidateSite(frm)
{
	var err=0;
	var frm=eval("document.forms."+frm);
	var ErrMsg="Please provide information for the following required fields:\n";
	ErrMsg += "----------------------------------------------------------------------\n";
	if ( (frm.SiteTitle.value=="") || (isBlank(frm.SiteTitle.value)))
	{
		ErrMsg += "- Title\n";
		err = err+1;
	}
	
	if ( (frm.Host.value=="") || (isBlank(frm.Host.value)))
	{
		ErrMsg += "- Host\n";
		err = err+1;
	}
	
	//if ( (frm.Port.value=="") || (isBlank(frm.Port.value)))
	//{
	//	ErrMsg += "Port\n";
	//	err = err+1;
	//}


	if ( (frm.AdminEMail.value=="") || (isBlank(frm.AdminEMail.value)))
	{
		ErrMsg += "- Administrator E-Mail\n";
		err = err+1;
	}

	
	if (err > 0)
	{
		alert(ErrMsg);
		return false;
	}
}
function AddPort()
{
	var frm=document.forms.Services;
	var ServiceType = frm.ServiceType.value;
	var port="";
	
	switch(ServiceType)
	{
		case "FTP Server":		
			port = 21;
			break;
		case "Web Server":
			port = 80;
			break;
		case "SMTP Server":
			port = 25;
			break;
		case "SQL Server":
			port = 1433;
			break;
		case "POP3 Server":
			port = 110;
			break;
	}
		
	frm.ServicePort.value = port;
}
function AddSite()
{
	var frm=document.forms.Site;
	window.location.href="Site.asp?Service="+frm.Service.value;
}

function ToggleNotifyUser()
{
	var chkNotifyUser = document.forms[0].NotifyUsers;
	var selTicketStatus = document.forms[0].TicketStatus.value;
	var hidStatus = document.forms[0].hidTicketStatus.value;
	
	if (selTicketStatus != hidStatus)
	{
		chkNotifyUser.checked = true;
	}
	else if (selTicketStatus == hidStatus)
	{
		chkNotifyUser.checked = false;
	}
	//if (selTicketStatus.value == 'Closed')
	//	chkNotifyUser.checked = true;
	//else
	//	chkNotifyUser.checked = false;
}
/*
function ValidateEmail(Email)
{
	
	var strEMail = new String(Email);		
	var temp = strEMail.split(",")
	var Err = 0;
	for (var i=0;i<temp.length;i++)
	{
		var tempEMail = temp[i];
		//alert(tempEMail);
		if ((tempEMail.indexOf("@") == -1))
		{
			Err += 1;
		}
		if (tempEMail.indexOf(".") == -1)
		{
			Err += 1;
		}
		if (tempEMail.indexOf(".") != -1)
		{
			
			var _tempEmail = tempEMail.split(".");
			
			if ((_tempEmail[1].length < 2))
			{
				Err += 1;
			}
			else if ((_tempEmail[1].length > 4))
			{
				
				if (_tempEmail.length < 3)
				{
					Err += 1;
				}
				//alert (_tempEmail.length);
				if (_tempEmail.length > 2)
				{
					Err += 1;
				}
				if (_tempEmail[2].length > 4)
				{
					Err += 1;
				}
				if (_tempEmail[2].length < 2)
				{
					Err += 1;
				}
			}
		
		}
	}
	
	if (Err != 0)
		return false;
	else
		return true;
}

*/

function ValidateEmail(Email)
{
	
	var strEMail = new String(Email);		
	
	var temp = strEMail.split(",")
	var Err = 0;
	
	for (var i=0;i<temp.length;i++)
	{
		MyEMail = temp [i];
		
		var dom=new String(MyEMail).split(".");
		dom=new String(dom[1]);

		if (MyEMail=="")
			{return false;}
		else 
			if (MyEMail.indexOf("@")==-1 || MyEMail.indexOf(".")==-1 || MyEMail.indexOf(" ")!=-1 || MyEMail.indexOf("!")!=-1 || MyEMail.indexOf("#")!=-1 || MyEMail.indexOf("$")!=-1 || MyEMail.indexOf("/")!=-1 || MyEMail.indexOf("^")!=-1 || MyEMail.indexOf("%")!=-1 || MyEMail.indexOf("*")!=-1 || MyEMail.indexOf("+")!=-1 || MyEMail.indexOf("=")!=-1 || MyEMail.indexOf("|")!=-1)
			{return false;}
			else 
				if (MyEMail!="")
					{if (dom.length<1)
						{return false;}
					}
				else
					return true;
		return true;
	}
}
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

function ValidateEmailHistory(Email)
{
	
	var strEMail = new String(Email);	
	
	if (strEMail.indexOf (';') > 0)
	{	
		strEMail = strEMail.replace(/;/g, ",")
	}
	
	var temp = strEMail.split(",")
	var Err = 0;
	
	for (var i=0;i<temp.length;i++)
	{
		var MyEMail = new String(temp [i]);
		
		MyEMail=LTrim(RTrim(MyEMail));
		
		var dom=new String(MyEMail).split(".");
		dom=new String(dom[i]);

		if (MyEMail=="")
			{
			return false;
			}
		else{ 
			if (MyEMail.indexOf("@")==-1 || MyEMail.indexOf(".")==-1 || MyEMail.indexOf(" ")!=-1 || MyEMail.indexOf("!")!=-1 || MyEMail.indexOf("#")!=-1 || MyEMail.indexOf("$")!=-1 || MyEMail.indexOf("/")!=-1 || MyEMail.indexOf("^")!=-1 || MyEMail.indexOf("%")!=-1 || MyEMail.indexOf("*")!=-1 || MyEMail.indexOf("+")!=-1 || MyEMail.indexOf("=")!=-1 || MyEMail.indexOf("|")!=-1)
			{return false;}
			else {
				if (MyEMail!="")
					{if (dom.length<1)
						{return false;}
					}
				else{
					//alert("tru1");
					return true;
				}
			}
		}
	}
		return true;
}

function ValidateCompleteEmail(Email)
{
	
	var strEMail = new String(Email);	
	var temp = strEMail.split(",")
	var Err = 0;
		
	for (var i=0;i<temp.length;i++)
	{
		strEMail = temp [i];
		
		if ((strEMail.indexOf("@") == -1) || (strEMail.indexOf(".") == -1))
		{
			return false;
		}
		else
		{
			var temp = strEMail.split(".");
			if ((temp[1].length != 2) && (temp[1].length > 4))
			{
				return false;			
			}
					
		}
	}
	return true;
}

function isNumeric(str)
{
	if (isNaN(str) == false)
		return true;
	else
		return false;
}

function StatusChanged(status)
{
	//alert(status.value);
	var AccountID = document.forms[0].AccountID.value;
	var ServiceID = document.forms[0].ServiceID.value;
	var TicketID = document.forms[0].TicketID.value;
	document.forms[0].action = "Tickets.asp?Action=EditTicket&TicketID="+TicketID+"&AccountID="+AccountID+"&ServiceID="+ServiceID+"&TicketStatus="+status.value;
	document.forms[0].submit();
}

function DoRollover(imgTarget)
{
	str1 = new String(imgTarget.src);
	intDotAt = str1.indexOf("_off.");

	if (intDotAt == -1)
	{
		str2 = str1.replace("_on", "_off");				
	}
	else
	{
		str2 = str1.replace("_off", "_on");
	}
	imgTarget.src = str2;
}
