
<!-- Begin JSCommon.js
//
//	This is the Common Javascript functions
//
//	This is the Javascript to handle Menu Images onClick
//
function XFerButtonImages (form, field, XFerTo)
{
//alert ('XFerButtonImages')
	var JSNamForm, JSHtmlFile, JSAction

	switch (field.name)
	{
	case 'HomePage':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'SDLC-Start'
		break
	case 'AllFormsPackages':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'FormsPackages'
		break
	case 'ByCategory':
		JSNamForm = 'ReviewForms'
		JSHtmlFile = ''
		JSAction = 'ReviewFormsByCategory'
		break
	case 'Individually':
		JSNamForm = 'ReviewForms'
		JSHtmlFile = XFerTo
		JSAction = 'ReviewFormsIndividually'
		break
	case 'QuickOrdering':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'QuickOrdering'
		break
	case 'FormsOverview':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'FormsOverview'
		break
	case 'CustomFormDevelopment':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'CustomFormDevelopment'
		break
	case 'FreeForms':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'FreeForms'
		break
	case 'TellAnAssociate':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'TellAnAssociate'
		break
	case 'ContactUs':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'ContactUs'
		break
	case 'Login':
		JSNamForm = ''
		JSHtmlFile = ''
		form.P_Error.value = '0'
		JSAction = 'SDLC-Login'
		break
	case 'UnderstandingSDLC':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = 'UnderstandingSDLC'
		break
	case 'Package':
		JSNamForm = 'ReviewPackages'
		JSHtmlFile = XFerTo
		JSAction = 'ReviewFormsByPackage'
		break
	case 'Bundle':
		JSNamForm = 'ReviewForms'
		JSHtmlFile = XFerTo
		JSAction = 'ReviewFormsByBundle'
		break
	case 'ContinueShopping':
		JSNamForm = ''
		JSHtmlFile = ''
		JSAction = ''

		doMoreShopping (form)
		break
	}
	form.P_NamForm.value = JSNamForm
	form.P_HtmlFile.value = JSHtmlFile

	form.action = './' + JSAction + '.asp'
	form.submit ()
}
//
//	This is sends the selected form to .asp then which Redirects
//
function XFerFromSearch (form)
{
	var namPopup = FindHtml (form.SearchBox.value)
	form.P_HtmlFile.value = namPopup
//	alert ('form.P_HtmlFile.value=[' + form.P_HtmlFile.value + ']')
	form.action = './SDLC-Xfer.asp'
	form.submit ()
}
//
//	This is the Common Javascript to add to favorites
//
function doAddToFavorites (sLoc)
{
	var title='SDLC Form and Template Solutions'
	var sFullURL = 'http://www.' + sLoc
	if (window.sidebar)		// firefox
		window.sidebar.addPanel (title, sFullURL, '');
	else if (window.opera && window.print)
	{	// opera
		var elem = document.createElement ('a')
		elem.setAttribute ('href', sFullURL)
		elem.setAttribute ('title', title)
		elem.setAttribute ('rel', 'sidebar')
		elem.click ()
	}
	else if (document.all)	// ie
		window.external.AddFavorite (sFullURL, title);
}
//
//	This is the Common Javascript modify Cookie ('C_CurOrder') via onClick events for checkbox
//
function ChangeCheckBox (form, field)
{
	var iTemp
	var tmpOrder = getCookie ('C_CurOrder')
	if (field.checked == true)
	{
		if (tmpOrder.length == 0)
		{
			tmpOrder = field.name;
		}
		else
		{
			var aNewOrder = tmpOrder.split ('|')
			var j = aNewOrder.length
			for (var i = 0; i < aNewOrder.length; i++)
			{
				if (aNewOrder [i] == field.name)
				{
					j = i
					break
				}
			}
			if (j == aNewOrder.length)
				tmpOrder += '|' + field.name;
		}
	}
	else
	{
		if (tmpOrder.length == field.name.length)
		{
			tmpOrder = '';
		}
		else
		{
			iTemp = tmpOrder.indexOf (field.name, 0)
			if (iTemp > 0)
			{
				if (iTemp + field.name.length > tmpOrder.length)
					tmpOrder = tmpOrder.substring (0, iTemp + 1)
							 + tmpOrder.substring (iTemp + field.name.length + 2, tmpOrder.length);
				else
					tmpOrder = tmpOrder.substring (0, iTemp - 1);					
			}
			else
				tmpOrder = tmpOrder.substring (field.name.length + 1, tmpOrder.length);
		}
	}
	setCookie ('C_CurOrder', tmpOrder, 60)
//alert ('9.tmpOrder=[' + tmpOrder + ']')
}
//
//	This is the Common Javascript to send the system to VerifyOrder
//
//alert ('newOrder=[' + newOrder + ']')
function doCheckout (form)
{
	var pCurOrder = getCookie ('C_CurOrder')
	if (pCurOrder.length > 0)
	{
		setCookie ('C_CurOrder', pCurOrder, 60)
		form.P_CurOrder.value = pCurOrder
		form.action = './VerifyOrder.asp'
		form.submit ()
	}
	else
	{
		if (form.P_NamForm.value == 'ContinueShopping')
			alert ('You must Order at least one Package, Bundle or Form.');
		else
			alert ('You must Order at least one Package, Bundle or Form,\r\n otherwise Click the Continue Shopping image.');
		return false
	}
}
//
//	This is the Common Javascript to send the system to ContinueShopping
//
function doContinueShopping (form)
{
	form.P_CurOrder.value = getCookie ('C_CurOrder')
	form.action = './ContinueShopping.asp'
	form.submit ()
}
//
//	This is the Javascript to Add a package to Shopping Cart
//
function doAddPackage (form, nPackage)
{
//	alert ('doAddPackage')
	var pCurOrder = getCookie ('C_CurOrder')

//	alert ('doAddPackage:CurrentCookieValue=[' + pCurOrder +']')

	if (nPackage == 'JumpStart')
		var newOrder = 'Package1010';
	else if (nPackage == 'Professional')
		var newOrder = 'Package1020';
	else
		var newOrder = 'Package1030';

	if (pCurOrder.length > 0)
		pCurOrder = pCurOrder + '|' + newOrder;
	else
		pCurOrder = newOrder;

	setCookie ('C_CurOrder', pCurOrder, 60)
	form.P_CurOrder.value = pCurOrder
	form.action = './ContinueShopping.asp'
	form.submit ()
}
//
//	This is the Common Javascript to Add item to Shopping Cart
//
function doAddToCart (form, nForm)
{
//alert ('doAddToCart')
	var pCurOrder = getCookie ('C_CurOrder')

//	alert ('1.pCurOrder=[' + pCurOrder + ']')

	if (pCurOrder.length > 0)
		pCurOrder = pCurOrder + '|' + nForm;
	else
		pCurOrder = nForm;

	setCookie ('C_CurOrder', pCurOrder, 60)
	form.P_CurOrder.value = pCurOrder
	return true
}
//
//	This is used by FreeForms to verify form is filled in
//
function doCheckFreeForms (form, numb)
{
//alert ('doCheckFreeForms')
	if (form.YourName.value == '')
	{
		alert ('Your Name is required.')
		form.YourName.focus ()
		return false
	}
	else if (form.YourTitle.value == '')
	{
		alert ('Your Title is required.')
		form.YourTitle.focus ()
		return false
	}
	else if (form.CompanyName.value == '')
	{
		alert ('Your Company Name is required.')
		form.CompanyName.focus ()
		return false
	}
	else if (form.EmailAddress.value == '')
	{
		alert ('Your Email Address is required.')
		form.EmailAddress.focus ()
		return false
	}
	else if (ChkValidEmail (form.EmailAddress.value) == false)
	{
		alert ('The email address [' + form.EmailAddress.value + '] you entered is invalid.\n'
			 + 'Please enter a valid email address.')
		form.EmailAddress.focus ()
		return false
	}
	else
		;
	if (form.LicenseAgreement.checked)
		;
	else
	{
		alert ('You must review and accept the License Agreement.')
		form.LicenseAgreement.focus ()
		return false
	}

	form.P_NamForm.value = 'FreeForm' + numb
	form.action = './SendFreeForm.asp'
	form.submit ()
}
//
//	This is used by ContactUs and CustomFormDevelopment to verify form is filled in
//
function doCheckContactInfo (form)
{
//alert ('doCheckContactInfo')
	if (form.YourName.value == '')
	{
		alert ('Your Name is required.')
		form.YourName.focus ()
		return false
	}
	else if (form.EmailAddress.value == '')
	{
		alert ('Your Email Address is required.')
		form.EmailAddress.focus ()
		return false
	}
	else if (ChkValidEmail (form.EmailAddress.value) == false)
	{
		alert ('The email address [' + form.EmailAddress.value + '] you entered is invalid.\n'
			 + 'Please enter a valid email address.')
		form.EmailAddress.focus ()
		return false
	}
	else if (form.TelephoneNumber.value == '')
	{
		alert ('Your Telephone Number is required.')
		form.CompanyName.focus ()
		return false
	}
	else if (form.Message.value == '')
	{
		alert ('Please enter your question/requirements.')
		form.Message.focus ()
		return false
	}
	else
		;
	form.action = './SendEmailToSDLC.asp'
	form.submit ()
	return true
}
//
//	This is used by TellAnAssociate to verify form is filled in
//
function doCheckTellAnAssociate (form)
{
//alert ('doCheckTellAnAssociate')
	if (form.YourName.value == '')
	{
		alert ('Your Name is required.')
		form.YourName.focus ()
		return false
	}
	else if (form.EmailAddress.value == '')
	{
		alert ('Your Email Address is required.')
		form.EmailAddress.focus ()
		return false
	}
	else if (ChkValidEmail (form.EmailAddress.value) == false)
	{
		alert ('The email address [' + form.EmailAddress.value + '] you entered is invalid.\n'
			 + 'Please enter a valid email address.')
		form.EmailAddress.focus ()
		return false
	}
	else if (form.AddrEmailAssociate.value == '')
	{
		alert ("Your Associate's Email Address is required.")
		form.AddrEmailAssociate.focus ()
		return false
	}
	else if (ChkValidEmail (form.AddrEmailAssociate.value) == false)
	{
		alert ('The email address [' + form.AddrEmailAssociate.value + '] you entered is invalid.\n'
			 + 'Please enter a valid email address.')
		form.AddrEmailAssociate.focus ()
		return false
	}
	else if (form.Message.value == '')
	{
		alert ('Please enter your Message.')
		form.Message.focus ()
		return false
	}
	else
		;
	form.action = './SendEmailToSDLC.asp'
	form.submit ();
	return true
}
//
//	This is used by OrderCancel to verify form is filled in
//
function doCheckOrderCancel (form)
{
//alert ('doCheckOrderCancel')
	if (form.Message.value == '')
	{
		alert ('Please type a message to SDLC explaining why you cancelled your order')
		form.Message.focus ()
		return false
	}
	else
	{
		form.action = './SendEmailToSDLC.asp'
		form.submit ()
		return true
	}
}
//
//	This is used by Login form to pass to LoggedIn
//
function doLogin (form)
{
//alert ('doLogin')
	if (form.EmailAddress.value == '')
	{
		alert ('Your Email Address is required.')
		form.EmailAddress.focus ()
		return false
	}
	else if (form.PW.value == '')
	{
		alert ('Password is required.')
		form.PW.focus ()
		return false
	}
	else
	{
		form.action = './SDLC-LoggedIn.asp'
		form.submit ()
		return true
	}
}
//
//	This is used by VerifyOrder to verify form is filled in
//
function doCheckCustomerInfo (form)
{
//alert ('doCheckCustomerInfo')
	if (form.CompanyName.value == '')
	{
		alert ('Your Company Name is required.')
		form.CompanyName.focus ()
		return false
	}
	else if (form.YourName.value == '')
	{
		alert ('Your Name is required.')
		form.YourName.focus ()
		return false
	}
	else if (form.DivisionCity.value == '')
	{
		alert ('The City of your Division is required.')
		form.DivisionCity.focus ()
		return false
	}
	else if (form.DivisionState.value == '')
	{
		alert ('The State of your Division is required.')
		form.DivisionState.focus ()
		return false
	}
	else if (form.DivisionPostalCode.value == '')
	{
		alert ('The Zip Code of your Division is required.')
		form.DivisionPostalCode.focus ()
		return false
	}
	else if (form.EmailAddress.value == '')
	{
		alert ('Your Email Address is required.')
		form.EmailAddress.focus ()
		return false
	}
	else if (ChkValidEmail (form.EmailAddress.value) == false)
	{
		alert ('The email address [' + form.EmailAddress.value + '] you entered is invalid.\n'
			 + 'Please enter a valid email address.')
		form.EmailAddress.focus ()
		return false
	}
	else if (form.TelephoneNumber.value == '')
	{
		alert ('Your Telephone number is required.')
		form.TelephoneNumber.focus ()
		return false
	}
	else
		;
	if (form.LicenseAgreement.checked)
		;
	else
	{
		alert ('You must review and accept the License Agreement.')
		form.LicenseAgreement.focus ()
		return false
	}

	form.action = './VerifyOrder.asp'
	form.submit ()
	return true
}
//
//	This is used by VerifyOrder to send data to ConfirmOrder
//
function doPayForOrder (form)
{
//alert ('doPayForOrder')
	if (doCheckCustomerInfo (form) )
	{
		doCheckForDeletedItems (form)
		form.AmtOrder.value = tmpTotal
		if (tmpTotal == 0)
		{
			alert ('Your shopping cart is empty!')
			form.P_NamForm.value = 'ContinueShopping'
		}
		else
			alert ('After you have completed payment\n\n'
				 + 'on the final PayPal screen,\n\n'
				 + 'you MUST click on the button that states\n\n'
				 + '"Click Here To Complete Your Order".');
		form.action = './ConfirmOrder.asp'
		form.submit ()
		return true
	}
	else
		return false
}
//
//	This is used by VerifyOrder to send data to ConfirmOrder
//
function doCancelOrder (form)
{
//alert ('doCancelOrder')
	form.P_NamForm.value = 'OrderCancel'
	form.action = './ConfirmOrder.asp'
	form.submit ()
}
//
//	This is used by VerifyOrder to send data to ConfirmOrder
//
function doMoreShopping (form)
{
//alert ('doMoreShopping')
	form.P_NamForm.value = 'ContinueShopping'
	form.action = './ConfirmOrder.asp'
	form.submit ()
}
//
//	This is used by VerifyOrder to Delete Items that were checked
//
function doCheckForDeletedItems (form)
{
	var pCurOrder = getCookie ('C_CurOrder')
	var delItem = ''
	var OneChecked = false
//alert ('doCheckForDeletedItems')

//	alert ('1. doCheckForDeletedItems:CurrentCookieValue=[' + pCurOrder +']')

	if (pCurOrder.indexOf ('|') > -1)
		var aTotOrder = pCurOrder.split ('|');
	else
	{
		var aTotOrder = new Array (0)
		aTotOrder [0] = pCurOrder
	}

	var j = -1
	for (var i = 0; i < form.elements.length; i++)
	{
		if (form.elements [i].type == 'checkbox' && form.elements [i].name == 'Item')
		{
			j += 1
			if (form.elements [i].checked == true)
			{
				OneChecked = true
				if (aTotOrder.length > 1)
					delItem += form.CdeProduct [j].value + '|';
				else
					delItem = form.CdeProduct.value;
			}
		}
	}
	if (OneChecked)
	{
		delItem = delItem.substring (0, delItem.length - 1)
		if (delItem.indexOf ('|') > -1)
			var aDelItem = delItem.split ('|');
		else
		{
			var aDelItem = new Array (0)
			aDelItem [0] = delItem
		}
		for (var i = 0; i < aDelItem.length; i++)
		{
			for (var j = 0; j < aTotOrder.length; j++)
			{
				if (aDelItem [i] == aTotOrder [j])
					aTotOrder [j] = '';
			}
		}

		pCurOrder = ''
		for (var i = 0; i < aTotOrder.length; i++)
		{
			if (aTotOrder [i].length > 0)
			{
				if (pCurOrder.length > 0)
					pCurOrder = pCurOrder + '|' + aTotOrder [i];
				else
					pCurOrder = aTotOrder [i];
			}
		}
	}

//	alert ('2. doCheckForDeletedItems:CurrentCookieValue=[' + pCurOrder +']')
	setCookie ('C_CurOrder', pCurOrder, 60)
	form.P_CurOrder.value = pCurOrder
	return
}
//
//	This is used by VerifyOrder to change the Dollar value
//
function doCheckBox (form, field, numb)
{
	var pCurOrder = getCookie ('C_CurOrder')
	var delItem = ''
	var OneChecked = false

//	alert ('doCheckBox:CurrentCookieValue=[' + pCurOrder +']')

	if (pCurOrder.indexOf ('|') > -1)
		var aTotOrder = pCurOrder.split ('|');
	else
	{
		var aTotOrder = new Array (0)
		aTotOrder [0] = pCurOrder
	}
	//
	//	Need to change the typeof from string to numeric floating variable.
	//
	if (aTotOrder.length > 1)
		var aItem = parseFloat (form.AmtProduct [numb].value);
	else
		var aItem = parseFloat (form.AmtProduct.value);

	var newTotal = parseFloat (form.FmtAmtOrder.value)

	if (aTotOrder.length > 1)
	{
		if (field.checked)
		{
			form.AmtItem [numb].value = fmtZeroDollars (0)
			tmpTotal = tmpTotal - aItem
			form.WrkProduct [numb].value = 0
		}
		else
		{
			form.AmtItem [numb].value = fmtDollars (aItem)
			tmpTotal = tmpTotal + aItem
			form.WrkProduct [numb].value = form.AmtProduct [numb].value
		}
	}
	else
	{
		if (field.checked)
		{
			form.AmtItem.value = fmtZeroDollars (0)
			tmpTotal = tmpTotal - aItem
			form.WrkProduct.value = 0
		}
		else
		{
			form.AmtItem.value = fmtDollars (aItem)
			tmpTotal = tmpTotal + aItem
			form.WrkProduct.value = form.AmtProduct.value
		}
	}
	form.FmtAmtOrder.value = fmtDollars (tmpTotal)
	return
}
//
//	This formats any decimal number for display
//
function formatNumber (expr, decplaces)
{
	// raise incoming value by power of 10 times the
	// number of decimal places; round to an integer; convert to string

	var str = "" + Math.round (eval (expr) * Math.pow (10, decplaces) )

	// pad small value strings with zeros to the left of rounded number

	while (str.length <= decplaces)
	{
		str = "0" + str
	}
	// establish location of decimal point

	var decpoint = str.length - decplaces

	// assemble final result from: (a) the string up to the position of
	// the decimal point; (b) the decimal point; and (c) the balance
	// of the string. Return finished product.

	return str.substring (0, decpoint) + "." + str.substring (decpoint, str.length);
}
//
//	This adds the leading $
//
function dollarize (expr)
{
	return "$" + formatNumber (expr, 2)
}
function fmtZeroDollars (amtItem)
{
	return '            $0.00'
}
function fmtDollars (amtItem)
{
	if (amtItem > 0)
	{
		//	raise incoming value by power of 10 times the
		//	number of decimal places; round to an integer; convert to string

		var decplaces = 2
		var	str = "" + Math.round (eval (amtItem) * Math.pow (10, decplaces) )

		//	pad small value strings with zeros to the left of rounded number
		while (str.length <= decplaces)
		{
			str = "0" + str
		}
		//	establish location of decimal point
		var decpoint = str.length - decplaces

		//	assemble final result from: (a) the string up to the position of the
		//	decimal point; (b) the decimal point; and (c) the balance of the string.
		var sTemp = str.substring (0, decpoint) + "." + str.substring (decpoint, str.length);

		//	now split the result to find put a comma between the 3 and 4 dollar amount
		var aTemp = sTemp.split (".")
		if (aTemp [0].length < 4)
			return fmt123DigitDollars (aTemp);
		else
			return fmt456DigitDollars (aTemp);
	}
	else
		return '            $0.00'

}
function fmt123DigitDollars (aTemp)
{
	var sTemp
	if (aTemp [0].length == 1)
		sTemp = '            $';
	else if (aTemp [0].length == 2)
		sTemp = '          $';
	else	//	.length = 3
		sTemp = '        $';

	return sTemp + aTemp.join ('.') 
}
function fmt456DigitDollars (aTemp)
{
	//	Returns as $99,999.00
	var sTemp = ''
	var iNumOfSpaces
	var iNumOfDigits

	if (aTemp [0].length == 4)
	{
		iNumOfSpaces = 5
		iNumOfDigits = 1
	}
	else if (aTemp [0].length == 5)
	{
		iNumOfSpaces = 2
		iNumOfDigits = 2
	}
	else	//	.length = 6
	{
		iNumOfSpaces = 1
		iNumOfDigits = 3
	}
	for (var i = 0; i < iNumOfSpaces; i++)
	{
		sTemp = sTemp + ' '
	}
	sTemp = sTemp 
		  + '$' + aTemp [0].substring (0, iNumOfDigits) 
		  + ',' + aTemp [0].substring (iNumOfDigits, aTemp [0].length)
		  + '.' + aTemp [1]
	return sTemp
}
//
//	This is the Javascript to validate the email address entered
//

//	extend or shorten this list if neccessary
var invalidAddress = new Array ()
	invalidAddress [0] = "youtube"
	invalidAddress [1] = "xxx"
//	invalidAddress [2] = "hotmail"
//	invalidAddress [3] = "rocketmail"
//	invalidAddress [4] = "yahoo"
//	invalidAddress [5] = "zdnetmail"
//
function ChkEmail (fldValue)
{
	var testResults = true;
	var str = fldValue
	var filter = /^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//alert ('ChkEmail')

	if (filter.test (str) )
	{
		var sTemp = str.split ("@")
		var tTemp = sTemp [1].split (".")
		for (var i = 0; i < invalidAddress.length; i++)
		{
			if (tTemp [0] == invalidAddress [i] )
				testResults = false;
		}
	}
	else
		testResults = false;

	return testResults
}
function ChkValidEmail (fldValue)
{
//alert ('ChkValidEmail')
	if (document.layers || document.getElementById || document.all)
		return ChkEmail (fldValue);
	else
		return true;
}
//	End JSCommon.js -->
