var expDays = 100;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function getCookieVal (offset) {  
	var endstr = document.cookie.indexOf (";", offset);  
	if (endstr == -1) { endstr = document.cookie.length; }
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  
	while (i < clen) {    
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg) return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

function SetCookie (name, value) {  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}



function cookieForms() {  
	var mode = cookieForms.arguments[0];
	for(f=1; f<cookieForms.arguments.length; f++) {
		formName = cookieForms.arguments[f];
		if(mode == 'open') {	
			cookieValue = GetCookie('saved_'+formName);
			if(cookieValue != null) {
				var cookieArray = cookieValue.split('#cf#');
				if(cookieArray.length == document[formName].elements.length) {
					for(i=0; i<document[formName].elements.length; i++) {
						if(cookieArray[i].substring(0,6) == 'select') { document[formName].elements[i].options.selectedIndex = cookieArray[i].substring(7, cookieArray[i].length-1); }
						else if((cookieArray[i] == 'cbtrue') || (cookieArray[i] == 'rbtrue')) { document[formName].elements[i].checked = true; }
						else if((cookieArray[i] == 'cbfalse') || (cookieArray[i] == 'rbfalse')) { document[formName].elements[i].checked = false; }
						else { document[formName].elements[i].value = (cookieArray[i]) ? cookieArray[i] : ''; }
					}
				}
			}
		}

		if(mode == 'save') {
		if (cookieValue != null) {
			cookieValue = '';			
			for(i=0; i<document[formName].elements.length; i++) {
				fieldType = document[formName].elements[i].type;
				if(fieldType == 'password') { passValue = ''; }
				else if(fieldType == 'checkbox') { passValue = 'cb'+document[formName].elements[i].checked; }
				else if(fieldType == 'radio') { passValue = 'rb'+document[formName].elements[i].checked; }
				else if(fieldType == 'select-one') { passValue = 'select'+document[formName].elements[i].options.selectedIndex; }
				else { passValue = document[formName].elements[i].value; }
				cookieValue = cookieValue + passValue + '#cf#';
				}
			cookieValue = cookieValue.substring(0, cookieValue.length-4); // Remove last delimiter
			SetCookie('saved_'+formName, cookieValue, exp);
			}
					
		}	
	}
}

function computeSum(form)
{
var a = parseFloat(form.ALicense.value, 10) + parseFloat(form.APreNup.value, 10) + parseFloat(form.AMedical.value, 10) + parseFloat(form.AChurch.value, 10) + parseFloat(form.AOfficiant.value, 10) + parseFloat(form.ATips.value, 10) + parseFloat(form.AClasses.value, 10) + parseFloat(form.AOther.value, 10);

var b = parseFloat(form.BTux.value, 10) + parseFloat(form.BShoes.value, 10) + parseFloat(form.BShirt.value, 10) + parseFloat(form.BAccessories.value, 10) + parseFloat(form.BOuterwear.value, 10) + parseFloat(form.BOther.value, 10);

var c = parseFloat(form.CGown.value, 10) + parseFloat(form.CVeil.value, 10) + parseFloat(form.CShoes.value, 10) + parseFloat(form.CHosiery.value, 10) +
parseFloat(form.CAccessories.value, 10) + parseFloat(form.CJewelry.value, 10) + parseFloat(form.COuterwear.value, 10) + parseFloat(form.CLingerie.value, 10) +
parseFloat(form.CAlterations.value, 10) + parseFloat(form.CPreservation.value, 10) + parseFloat(form.COther.value, 10);

var d = parseFloat(form.DVenue.value,10) + parseFloat(form.DCatering.value,10) + parseFloat(form.DAlcohol.value,10) + parseFloat(form.DSupplies.value,10) + parseFloat(form.DHors.value,10) + parseFloat(form.DFountains.value,10) + parseFloat(form.DCenterpieces.value,10) + parseFloat(form.DDecor.value,10) + parseFloat(form.DFavors.value,10) + parseFloat(form.DCameras.value,10) + parseFloat(form.DValet.value,10) + parseFloat(form.DGiftTable.value,10) + parseFloat(form.DCakeCut.value,10) + parseFloat(form.DGratuities.value,10) + parseFloat(form.DTime.value,10) + parseFloat(form.DOther.value, 10);

var e = parseFloat(form.EInvitations.value, 10) + parseFloat(form.EPrograms.value, 10) + parseFloat(form.EAnnouncements.value, 10) + parseFloat(form.EMatchbooks.value, 10) + parseFloat(form.ENapkins.value, 10) + parseFloat(form.EPreWedInvites.value, 10) + parseFloat(form.EStationery.value, 10) + parseFloat(form.EGuestbook.value, 10) + parseFloat(form.ENewspaper.value, 10) + parseFloat(form.ECalligraphy.value, 10) + parseFloat(form.EPostage.value, 10) + parseFloat(form.EWebsite.value, 10) + parseFloat(form.EOther.value, 10); 

var f = parseFloat(form.FEngagement.value, 10) + parseFloat(form.FPhotography.value, 10) + parseFloat(form.FMultiCameraPhoto.value, 10) + parseFloat(form.FWedAlbum.value, 10) + parseFloat(form.FParAlbum.value, 10) + parseFloat(form.FTouchUp.value, 10) + parseFloat(form.FSecShoot.value, 10) + parseFloat(form.FPrints.value, 10) + parseFloat(form.FNegatives.value, 10) + parseFloat(form.FVideography.value, 10) + parseFloat(form.FMultiCameraVideo.value, 10) + parseFloat(form.FVideoStory.value, 10) + parseFloat(form.FRecap.value, 10) + parseFloat(form.FBlackWhite.value, 10) + parseFloat(form.FEffects.value, 10) + parseFloat(form.FTapes.value, 10) + parseFloat(form.FDelivery.value, 10) + parseFloat(form.FOther.value, 10);

var g = parseFloat(form.GCeremony.value, 10) + parseFloat(form.GReception.value, 10) + parseFloat(form.GRehDinner.value, 10) + parseFloat(form.GBrideBouquet.value, 10) + parseFloat(form.GBrideToss.value, 10) + parseFloat(form.GMaids.value, 10) + parseFloat(form.GGroomBout.value, 10) + parseFloat(form.GMensBout.value, 10) + parseFloat(form.GFlowergirl.value, 10) + parseFloat(form.GRingBearer.value, 10) + parseFloat(form.GMother.value, 10) + parseFloat(form.GFather.value, 10) + parseFloat(form.GRoses.value, 10) + parseFloat(form.GGodparents.value, 10) + parseFloat(form.GUshers.value, 10) + parseFloat(form.GPetalToss.value, 10) + parseFloat(form.GRunner.value, 10) + parseFloat(form.GDelivery.value, 10) + parseFloat(form.GPreservation.value, 10) + parseFloat(form.GOther.value, 10);

var h = parseFloat(form.HCake.value, 10) + parseFloat(form.HSheetCake.value, 10) + parseFloat(form.HGroomCake.value, 10) + parseFloat(form.HSweet.value, 10) + parseFloat(form.HDelivery.value, 10) + parseFloat(form.HOther.value, 10);

var i = parseFloat(form.ICeremony.value, 10) + parseFloat(form.IReception.value, 10) + parseFloat(form.ICocktail.value, 10) + parseFloat(form.ITime.value, 10) + parseFloat(form.ICDs.value, 10) + parseFloat(form.IOther.value, 10);

var j = parseFloat(form.JLimo.value, 10) + parseFloat(form.JAttTrans.value, 10) + parseFloat(form.JTime.value, 10) + parseFloat(form.JGratuity.value, 10) + parseFloat(form.JAirport.value, 10) + parseFloat(form.JOther.value, 10);

var k = parseFloat(form.KGroom.value, 10) + parseFloat(form.KBride.value, 10) + parseFloat(form.KMaids.value, 10) + parseFloat(form.KMen.value, 10) + parseFloat(form.KKids.value, 10) + parseFloat(form.KParents.value, 10) + parseFloat(form.KOther.value, 10);

var l = parseFloat(form.LWedNight.value, 10) + parseFloat(form.LHonAcc.value, 10) + parseFloat(form.LAirfare.value, 10) + parseFloat(form.LClothes.value, 10) + parseFloat(form.LCar.value, 10) + parseFloat(form.LMeals.value, 10) + parseFloat(form.LEntertainment.value, 10) + parseFloat(form.LLuggage.value, 10) + parseFloat(form.LCamera.value, 10) + parseFloat(form.LBath.value, 10) + parseFloat(form.LMedical.value, 10) + parseFloat(form.LPassport.value, 10) + parseFloat(form.LMoney.value, 10) + parseFloat(form.LOther.value, 10);

var m = parseFloat(form.MEngagement.value, 10) + parseFloat(form.MShowers.value, 10) + parseFloat(form.MBridalLunch.value, 10) + parseFloat(form.MRehDinner.value, 10) + parseFloat(form.MBachParties.value, 10) + parseFloat(form.MAttTea.value, 10) + parseFloat(form.MGiftOpening.value, 10) + parseFloat(form.MOther.value, 10);

var n = parseFloat(form.NHair.value, 10) + parseFloat(form.NMakeup.value, 10) + parseFloat(form.NManicure.value, 10) + parseFloat(form.NSpa.value, 10) + parseFloat(form.NDental.value, 10) + parseFloat(form.NOther.value, 10) + parseFloat(form.NOther.value, 10);

var o = parseFloat(form.ORings.value, 10) + parseFloat(form.OInsurance.value, 10) + parseFloat(form.OPlanner.value, 10) + parseFloat(form.OBooks.value, 10) + parseFloat(form.OAccommodations.value, 10) + parseFloat(form.ODance.value, 10) + parseFloat(form.OCeremony.value, 10) + parseFloat(form.OReception.value, 10) + parseFloat(form.ORelease.value, 10) + parseFloat(form.OExtras.value, 10) + parseFloat(form.OOther.value, 10);

form.TotalCeremony.value = a;
form.TotalGroom.value = b;
form.TotalBride.value = c;
form.TotalReception.value = d;
form.TotalInvitations.value = e;
form.TotalPhotography.value = f;
form.TotalFloral.value = g;
form.TotalBakery.value = h;
form.TotalMusic.value = i;
form.TotalTransportation.value = j;
form.TotalGifts.value = k;
form.TotalHoneymoon.value = l;
form.TotalParties.value = m;
form.TotalPersonal.value = n;
form.TotalEssentials.value = o;

form.TotalBudget.value = parseFloat(form.TargetBudget.value,10) + parseFloat(form.DispoBudget.value,10);
form.TotalExpenses.value = a + b + c + d + e + f + g + h + i + j + k + l + m + n + o; 
form.OverUnder.value = form.TotalBudget.value - form.TotalExpenses.value;
}

function openWin(theURL,winName,features) {
  	window.open(theURL,winName,features);
}

var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 5;
var lCount = 5;
var pause = 500;

function popMenu(menuNum){
	if (isDHTML) {
///// Sets the previous menu's visibility to hidden
		t = 2;
		if (oldDomSMenu) {
			oldDomSMenu.visibility = 'hidden'; 
			oldDomSMenu.zIndex = '0'; 
			t = 2; 
			lCount = 0;
		}

///// Defines the DOMs	of the menu objects
		var idMenu = 'menuHead';
		var domMenu = findDOM(idMenu,0);

		var idMenuOpt = 'menuHead' + menuNum;
		var domMenuOpt = findDOM(idMenuOpt,0);		

		var idSMenu = 'menu' + menuNum;
		var domSMenu = findDOM(idSMenu,1);

///// Defines the positions of the sub-menus

		if (isLayers) {
				var menuLeft = document.layers[idMenu].layers[idMenuOpt].pageX - 5;
				var menuTop = domMenu.pageY + domMenu.clip.height - 5;
		}

///// Positions and shows the menu
		if (oldDomSMenu != domSMenu) {		
			domSMenu.visibility = 'visible';
			domSMenu.zIndex = '100';
			oldDomSMenu = domSMenu;
		}

///// Resets oldDom if it is the same as the current DOM
		else { oldDomSMenu = null; }
	}

////// Returns a 'null' value for non-DHTML Browsers 
	else { return null; }
}

function delayHide() {
///// Checks to see if there is a menu showing and whether 
///// the global variable 't' has been set to 0
    if ((oldDomSMenu) && (t == 0)) {

///// Hides the old menu, resets menu conditions, 
///// and stops the function running
        oldDomSMenu.visibility = 'hidden'; 
        oldDomSMenu.zIndex = '0';
        oldDomSMenu = null;
        lCount = 0; 
        return false;
    }

///// Interupts the function if another menu is opened
    if (t == 2) { lCount = 0; return false; }

///// Repeats the function adding 1 to lCount each time until 
///// lCount is equal to lDelay and then sets 't' to 0 so that 
///// the menu will hide when it runs again
    if (t == 1) { 
        lCount = lCount + 1;
        if (lDelay <= lCount) { t = 0; }
        if (lDelay >= lCount) { setTimeout('delayHide(' + t + ')',pause); }
    }
}

function mOvr(src,clrOver){ 
	if (!src.contains(event.fromElement)){ 
		src.style.cursor = 'hand'; 
		src.bgColor = clrOver; 
	} 
} 
function mOut(src,clrIn){ 
	if (!src.contains(event.toElement)){ 
		src.style.cursor = 'default'; 
		src.bgColor = clrIn; 
	} 
} 
function mClk(src){ 
	if(event.srcElement.tagName=='TD')
		src.children.tags('A')[0].click();
}
var L_H_TEXT = "the Options page";
var H_KEY = "HM_Options";

