﻿
/***********************************************
 * Bookmark site script- � Dynamic Drive DHTML code library (www.dynamicdrive.com)
 * This notice MUST stay intact for legal use
 * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 ***********************************************/
/* Modified to support Opera */
function bookmarksite(title, url){
    if (window.sidebar) // firefox
        window.sidebar.addPanel(title, url, "");
    else 
        if (window.opera && window.print) { // opera
            var elem = document.createElement('a');
            elem.setAttribute('href', url);
            elem.setAttribute('title', title);
            elem.setAttribute('rel', 'sidebar');
            elem.click();
        }
        else 
            if (document.all)// ie
                window.external.AddFavorite(url, title);
}

function WhyBookmark(){
	var line1 = "    The address for getting to the Storefront looks something like this: http://web.psasecurity.com:9080/storefrontB2BWEB/.\n";
	var line2 = "          The number in the address, 9080, is a port number, but most websites use the standard port number of 80.\n";
	var line3 = "There are advantages to using the standard port number so in the near future PSA's Storefront won't require a port number either.\n";
	var line4 = "              That's why it's important that you update the address you use when accessing the Storefront.\n";
	var line5 = "        If you have any additional questions about this, please contact PSA Technical Support as (303)252-8607x166.";
	alert(line1 + line2 + line3 + line4 + line5);
}

function BackupTime() {
	var Start = 23;
	var Len = 2;

	var TZAdj = -7;
	var DST = "ST";

	var ampm1 = "AM ";
	var ampm2 = "AM ";

	var now = new Date();
	var dow = now.getDay();
	var day = now.getDate();
	var month = now.getMonth();
	var currentHour = now.getHours();

	if ((month > 2) && (month < 10)) {
		TZAdj = -6;
		DST = "DT";
	}
	else if (month == 2) {
		if (((day > 7) && ((day - dow) > 7)) || (day >14)) {
			TZAdj = -6;
			DST = "DT";
		}
	}
	else if ((month == 10) && ((day - dow) < 1)) {
		TzAdj = -6;
		DST= "DT";
	}

	var TZ = -now.getTimezoneOffset() / 60;
	var mtzoffset = TZ - TZAdj;

	var BUStart = (Start + mtzoffset + 24) % 24;
	var ampm1 = (BUStart < 12) ? "AM " : "PM ";

	var BUStop = (BUStart + Len) % 24;
	var ampm2 = (BUStop < 12) ? "AM " : "PM ";

	var BUWarn = (BUStart + 23) % 24;

// document.write(mtzoffset + " " + BUWarn + " " + BUStart + " " + BUStop);

	var tz = "";
	switch(mtzoffset) {
		case -1:
			tz = "P" + DST;
			break;
		case 0:
			tz = "M" + DST;
			break;
		case 1:
			tz = "C" + DST;
			break;
		case 2:
			tz = "E" + DST;
			break;
		default:
			tz = "(GMT" + (TZ<0 ? "" : "+") + ((TZAdj + mtzoffset) % 24) + ")";
			break;
	}

	if ((currentHour == 0) || (currentHour == 1)) { dow -= 1; }
	
	if ((dow > 0) && (dow != 6)) {
		if (currentHour == BUWarn) {
			var min = 60 - now.getMinutes();
			BUStart %= 12;
			if (BUStart == 0) { BUStart = 12; }	
			document.write("<p class='error'>Nightly backup will begin at " + BUStart + ":00" + ampm1 + tz + " and continue for " + Len + " hours.<br>");
			document.write("In " + min + " minutes full Storefront functionality including pricing will not be available.</p>");
		}
		else if ((currentHour == BUStart) || (currentHour == (BUStart + 1)) || (currentHour == (BUStop - 1))) {
			var min = (60 - now.getMinutes()) + ((currentHour == BUStart) ? 60 : 0);
			BUStop %= 12;
			if (BUStop == 0) { BUStop = 12; }
			document.write("<p class='error'>The nightly backup is in progress and will continue untill " + BUStop + ":00" + ampm2 + tz + ".<br>");
			document.write("During this time full Storefront functionality including pricing will not be available.<br>");
			document.write("Storefront functionality will return in " + min + " minutes.</p>");
		}
	}
}

function DisplayUntil(Object, Expire) {
	var now = new Date();
	if (now.getTime() < Date.parse(Expire)) {
		document.write(Object)
	}
}


