var adminControlState = false;


// admin controls
function adminControl()
{		
		var outstring = "";
		outstring += "<div style=\"background-color:#FFFFFF;margin:10px;\" class=\"contentboxround\">";
		outstring += "<table border=\"0\" cellpadding=\"6\"><tr>";
		outstring += "<td align=\"left\" valign=\"top\">";

		
		if ( (moduleName == "generate") || (moduleName == "webdocs") ) {
			outstring += "<div style=\"margin-top:9px;font-size:14px;font-weight:bold;\">";
			outstring += "<a href=\"/cgi-bin/webdocs.pl?mode=edit&id=" + id + "\">Edit This Web Page</a>&nbsp;|&nbsp;";
	
			outstring +="<a href=\"/cgi-bin/webdoclinks.pl?mode=edit&id=" + id + "\">Edit Items Linked To This Page</a>&nbsp;|&nbsp;";
	
			outstring +="<a href=\"/cgi-bin/webdocs.pl?mode=generate&id=" + id + "\">Generate This Page</a>&nbsp;|&nbsp;";
	
			outstring +="</div>";
		}
		if ( (id) && (moduleName == "products") ) {
			outstring += "<div style=\"margin-top:9px;font-size:14px;font-weight:bold;\">";
			outstring += "<a href=\"/cgi-bin/products.pl?mode=edit&id=" + id + "\">Edit This Product</a>";
			outstring +="</div>";
		}


		outstring += "<div style=\"margin-top:9px;font-size:12px;\">";

		outstring +="<a href=\"/cgi-bin/home.pl\" style=\"text-decoration:none;\">Home</a>&nbsp;&nbsp;&nbsp;&nbsp;";

		outstring +="<a href=\"/cgi-bin/issues.pl?mode=search&status=assigned&userid=mine\" style=\"text-decoration:none;\">My Issues</a>&nbsp;&nbsp;&nbsp;&nbsp;";

		outstring +="<a href=\"/cgi-bin/projects.pl?mode=search&status=assigned&status=new&status=in%20progress&userid=mine\" style=\"text-decoration:none;\">My Projects</a>";
		outstring +="</div>\n\n";


		outstring += "<div style=\"margin-top:9px;font-size:12px;\">\n\n";
		//outstring += returnLink('accounts', 'Accounts');
		//outstring += returnLink('invoices', 'Invoices');
		outstring += returnLink('issues', 'Issues');
		outstring += returnLink('itemsales', 'Item Sales');
		//outstring += returnLink('mailings', 'Mailings');
		outstring += returnLink('mailq', 'MailQ');
		outstring += returnLink('orders', 'Orders');
		outstring += returnLink('people', 'People');
		//outstring += "</div><div style=\"margin-top:9px;font-size:12px;\">\n\n";
		outstring += returnLink('products', 'Products');
		outstring += returnLink('projects', 'Projects');
		//outstring += returnLink('punches', 'Punches');
		outstring += returnLink('purchaseorders', 'Purchase Orders');
		outstring += returnLink('valuelists', 'Valuelists');
		outstring += returnLink('webdocs', 'Webdocs');
		
		outstring +="</div>\n\n";


		outstring +="<div style=\"margin-top:18px;\"><a href=\"javascript:hideAdminControl();\" style=\"font-size:9px;\">Hide This<\/a></div>\n\n";

		outstring +="</td>\n\n";
		outstring += "</tr></table>";
		outstring +="</div>\n\n";
		//document.writeln(outstring);
		var target = document.getElementById("adminControls");
		if (!(adminControlState)) {
			if (target) {
				target.innerHTML = (outstring);
			}
			adminControlState = true;
		} else {
			target.innerHTML = "";
			adminControlState = false;
		}
return(false);
}




function getBrowserName() {
var browserName;
var browserVersion;

if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
 browserName = "MSIE";
}

if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
 browserName = "Firefox";
}

if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
 browserName = "Opera";
}

if (/Safari[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
 browserName = "Safari";
}
browserVersion=new Number(RegExp.$1) // capture x.x portion and store as a number
browserName = (browserName + "-" + browserVersion);
return(browserName);
}



function insertClick() {
}

function defineUser(userid, username, firstname, lastname, userclass) {
this.userid = userid;
this.username = username;
this.firstname = firstname;
this.lastname = lastname;
this.userclass = userclass;
}

function getSelectVal(theElem) {
var idx = theElem.selectedIndex;
var val = theElem.options[idx].value
return(val);
}


function setSelectVal(theElem, theVal) {
var numOpts = theElem.options.length;
var i;
var foundOpt = false;
for (i=0;i<numOpts;i++) {
	if (theElem.options[i].value == theVal) {
		theElem.options[i].selected = true;
		foundOpt = true;
	}
}
return(foundOpt);
}



function getRadioVal(theElems) {
var elem;
var val = "";
var idx;
var numElems = theElems.length;

if (numElems > 1) {
	for (idx=0;idx<numElems;idx++) {
		var theElem = theElems[idx];
		if (theElem.checked == true) {
			val = theElem.value;	
		}
	}
} else {
	if (theElems[0].checked == true) {
		val = theElem.value;	
	}
}
return(val);
}

function setRadioVal(theElem, theVal) {
var numOpts = theElem.options.length;
var i;
var foundOpt = false;
for (i=0;i<numOpts;i++) {
	if (theElem.options[i].value == theVal) {
		theElem.options[i].checked = true;
		foundOpt = true;
	}
}
return(foundOpt);
}




function fillTodaysDate(theElem) {
var today = new Date();
var theYear = today.getYear();
if (theYear < 1000) {
	theYear += 1900;
}
var theMonth = (today.getMonth() + 1);
var dateval = (theMonth + "/" + today.getDate() + "/" + theYear);
//alert("filling today's date:" + dateval);
theElem.value = dateval;
return(false);
}



function fillCurrentTime(theElem) {
var today = new Date();
var theHour = today.getHours();
var theMinute = (today.getMinutes());
var dateval = (theHour + ":" + theMinute);

theElem.value = dateval;
return(false);
}


function shortDate(theDate) {
var retval = (theDate.getMonth()+1) + "/" + (theDate.getDate()) + "/" + (theDate.getFullYear());
return(retval);
}




function shortUNIXDate(unixDate) {
var edate = parseInt(unixDate);
var thisDate = new Date();
thisDate.setTime(edate * 1000);
var outString = (thisDate.getMonth()+1) + "/" + thisDate.getDate() + "/" + thisDate.getFullYear();
return(outString);              
}




function fillFilename(filename, targElem) {
var start = filename.lastIndexOf("/");

if (start < 1) {
        start = filename.lastIndexOf("\\");
}

if (start < 1) {
        start = filename.lastIndexOf(":");
}

var file = filename.substring(start+1,filename.length);
if (file != '') {
        targElem.value = file;
}

}





function writeWindow(windowname, opener, htmltext, params, focus) {
sWindow = window.open('',windowname,params);
sWindow.document.open();
sWindow.document.write(htmltext);
sWindow.document.close();
if (!focus)  opener.focus(); 
//if (focus) opener.blur();
return (sWindow);
}

function relocateOpener(targetwindow, newurl) {
targetwindow.document.location.href=newurl;
targetwindow.focus();
return (false);
}

function relocDisplayFrame (theURL) {
//alert("relocating frame to " + theURL);
parent.frames['display'].document.location.href = theURL;
return(false);
}



function popWindow(inWindowname, opener, URL, inParams) {
var defaultParams = "width=950,height=500,scrollbars=yes,menubar=no,location=no,status=yes,resizable";
var defaultWindowname = "Popup Window";
var params;
var windowname;

if (!inParams) {
 params = defaultParams;
} else {
 params = inParams;
}
if (!inWindowname) {
 windowname = defaultWindowname;
} else {
 windowname = inWindowname;
}
var uWindow = window.open(URL,windowname,params);
return(false);
}


function popSelectURL(theElem) {
var theURL = getSelectVal(theElem);
popURL(theURL);
theElem.selectedIndex = 0;
}


var popWindowParams = ("width=" + (screen.availWidth-20) + ",height=" + (screen.availHeight-20) + ",resizable,toolbar=yes,location=yes,status=yes,scrollbars=yes");

function popURL(theURL) {
if (theURL != "") {
        popWindow('Popper', this.window, theURL, popWindowParams);
}
return(false);
}




function fixDecimals(value) {
var rv = value;

rv = roundAccuracy(value, 2);

//rv = oldFixDecimals(rv);
return (rv);

}

function roundAccuracy(num, accuracy){
	var factor=Math.pow(10,accuracy);
	return Math.round(num*factor)/factor;
}





function toggleCanvas(canvasName, checkedState) {
var targetCanvas = document.getElementById("canvas" + canvasName);
if (checkedState == true) {
        var sourceCanvas = document.getElementById("source" + canvasName);
        targetCanvas.innerHTML = sourceCanvas.innerHTML;
} else {
        targetCanvas.innerHTML = "";
}
return(false);
}

function goToSelectURL(theElem) {
 var theURL = getSelectVal(theElem);
 theElem.selectedIndex = 0;
 document.location.href=(theURL);
}





function updateStatus(theHTML) {
var canvasResponse = document.getElementById('canvasStatus');
canvasResponse.innerHTML = theHTML;
//document.location.href = (originalURL + "#reviews");
}


function reloadPage() {
window.location.reload();
}

function doNothing () { }






function fillFilename(filename, targElem) {
var start = filename.lastIndexOf("/");

if (start < 1) {
	start = filename.lastIndexOf("\\");
}

if (start < 1) {
	start = filename.lastIndexOf(":");
}

var file = filename.substring(start+1,filename.length);
if (file != '') {
	targElem.value = file;
}

targElem.form.submit();

}






function getXMLHttpRequest()
{
   if (window.XMLHttpRequest) {
       return new XMLHttpRequest();
   } else if (window.ActiveXObject) {
       var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
               "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
               "Microsoft.XMLHTTP"];

       for (var i=0; i < arrSignatures.length; i++) {
           try {

               var oRequest = new ActiveXObject(arrSignatures[i]);

               return oRequest;

           } catch (oError) {
               //ignore
           }
       }
   }

   return null;
}



function sendAjax(url, vars, callbackFunction) {
//alert("Sending review to: " + url);

var request = getXMLHttpRequest();

request.open("POST", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 

request.onreadystatechange = function(){

                if (request.readyState == 4 && request.status == 200) {

                                if (request.responseText){

                                                callbackFunction(request.responseText);
                                }
                }
}
request.send(vars);

}




function sendAjaxXML(url, vars, callbackFunction) {

var request = getXMLHttpRequest();

request.open("POST", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 

request.onreadystatechange = function(){

		if (request.readyState == 4 && request.status == 200) {

				if (request.responseText){

						callbackFunction(request.responseXML);
				}
		}
}
request.send(vars);

}






function sendAjaxGETXML(url, callbackFunction) {
//alert("Sending review to: " + url);

var request = getXMLHttpRequest();

request.open("GET", url, true);
var vars = "";
request.onreadystatechange = function(){

                if (request.readyState == 4 && request.status == 200) {

                                if (request.responseText){

                                                callbackFunction(request.responseXML);
                                }
                }
}
request.send(vars);

}


function loadContentAJAX(url, targetName) {

		var xhReq = getXMLHttpRequest();
 		xhReq.open("GET", url, true);
		xhReq.onreadystatechange = function() {
   			if (xhReq.readyState == 4)  { 
   		   	var resp = xhReq.responseText;
   			document.getElementById(targetName).innerHTML=resp;
   			}
   		};
   		xhReq.send(null);

}




function userWelcomeMessage(messageString) {
var canvas = document.getElementById('userWelcome');
if (canvas) {
	canvas.innerHTML = messageString;
}
}

function topMessage(messageString) {
var canvas = document.getElementById('topMessage');
if (canvas) {
	if (messageString != "") {
	canvas.innerHTML = ("<div style=\"border-style:solid;border-width:1px;border-color:#fab615;padding:6px;margin-top:12px;margin-bottom:12px;width:95%;background-color:#FEF5B5;font-size:14px;\"><div>" + messageString + "</div><div align=\"right\"><a href=\"javascript:topMessage('');\">close this</a></div></div>");
	} else {
	canvas.innerHTML = "";
	}
}
}

function setInnerHTML(elementId, messageString) {
var canvas = document.getElementById(elementId);
if (canvas) {
	canvas.innerHTML = messageString;
}
}


function showUserWelcome() {
	//if (document.cookie.length > 0) {
		getUserData();
	//} else {
	//	userWelcomeMessage("MEMBERS PLEASE <a href=\"/cgi-bin/login.pl\" class=\"bannerlink\">SIGN IN</a>");
	//}
}

function getUserData() {
	userWelcomeMessage("AUTHENTICATING...");

	var theURL = ("/cgi-bin/userdata.pl");		
	var client;
	

	if (window.XMLHttpRequest) {
		client = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		// users with activeX off
		try {
			client = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	}

	client.onreadystatechange = function() {	
			if(client.readyState == 4) {	
				var elementsArray = client.responseXML.getElementsByTagName("userdata");
				var i;
				var userid = elementsArray[0].getAttribute("id");
				if (userid > 0) {
					var firstname = elementsArray[0].getAttribute("firstname");
					var lastname = elementsArray[0].getAttribute("lastname");
					var userclass = elementsArray[0].getAttribute("userclass");
					//topMessage("User data loaded.");
					var userWelcomeHTML = (firstname.toUpperCase() + " " + lastname.toUpperCase());
					userWelcomeHTML += ("&nbsp;(<a href=\"/cgi-bin/login.pl?mode=logout\" class=\"bannerlink\">LOG OUT</a>)");
					userWelcomeHTML += ("&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"/cgi-bin/myaccount.pl\" class=\"bannerlink\">MY HABITUDES</a>");
					userWelcomeHTML += ("&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"/cgi-bin/webcart.pl\" onClick=\"alert('Goes to shopping cart'); return false;\" class=\"bannerlink\">SHOPPING CART</a>");
					if (userclass == "admin") {
						 setInnerHTML('adminControlsLink', "<div id=\"adminControlClicker\"><a href=\"#\" onClick=\"return adminControl();\" class=\"bannerlink\"><img src=\"/images/public/banner_lockbox.gif\" align=\"bottom\" border=\"0\"></a></div>");
					} else {
						setInnerHTML('adminControlsLink', "<img src=\"/images/public/banner_lockbox.gif\" align=\"bottom\">");
					}
					//var timeNow = new Date();
					//userWelcomeHTML += ("&nbsp;&nbsp;|&nbsp;&nbsp;" + timeNow.toString());
					userWelcomeMessage(userWelcomeHTML);
					//topMessage(document.cookie);
					
				} else {
					var userWelcomeHTML = ("<a href=\"/cgi-bin/login.pl\" class=\"bannerlink\">JOIN HABITUDES</a>");
					userWelcomeHTML += ("&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"/cgi-bin/login.pl\" class=\"bannerlink\">MEMBERS SIGN IN</a>");
					userWelcomeHTML += ("&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"#\" onClick=\"alert('Goes to shopping cart'); return false;\" class=\"bannerlink\">SHOPPING CART</a>");
					userWelcomeMessage(userWelcomeHTML);
			}
				//topMessage("");
			}
		}
		
	client.open("POST", theURL, true);
	client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	client.send(null);
}





function hideAdminControl() {
var target = document.getElementById("adminControls");
if (target) {
	target.innerHTML = ("");
}
}



function returnLink(scriptName, linkTitle, topMargin, theURL) {
if (!(topMargin)) { topMargin = 6; }
if (!(theURL)) { theURL = ("/cgi-bin/" + scriptName + ".pl"); }
var outstring = ("<a href=\"" + theURL + "\" style=\"font-size:10px;text-decoration:none;\">" + linkTitle + "</a>&nbsp;|&nbsp;\n\n");
return(outstring);	
}


function getFormElementRadio(elemName, optionsArray, valuesArray) {
var outString = "";
var idx;
for(idx=0;idx<optionsArray.length;idx++) {
	var checkedState = false;
	var vidx;
	for(vidx=0;vidx<valuesArray.length;vidx++) {
		if (valuesArray[vidx] == optionsArray[idx]) {
			checkedState = true;
		}
	}
	outString += ("<input type=\"radio\" name=\"" + elemName + "\" value=\"" + optionsArray[idx] + "\" ");
	if (checkedState) {
		outString += (" CHECKED ");
	}
	outString += (">" + optionsArray[idx]);
}
return(outString);
}



function getFormElementCheckbox(elemName, optionsArray, valuesArray, hideLabel) {
var outString = "";
var idx;
for(idx=0;idx<optionsArray.length;idx++) {
	var checkedState = false;
	var vidx;
	for(vidx=0;vidx<valuesArray.length;vidx++) {
		if (valuesArray[vidx] == optionsArray[idx]) {
			checkedState = true;
		}
	}
	outString += ("<input type=\"checkbox\" name=\"" + elemName + "\" value=\"" + optionsArray[idx] + "\" ");
	if (checkedState) {
		outString += (" CHECKED ");
	}
	outString += (">");
	if (!(hideLabel)) {
		outString += (optionsArray[idx]);
	}
}
return(outString);
}





function getFormElementSelect(elemName, optionsArray, valuesArray) {
var outString = "";
var idx;
outString += ("<select name=\"" + elemName + "\">\n");
for(idx=0;idx<optionsArray.length;idx++) {
	var checkedState = false;
	var vidx;
	for(vidx=0;vidx<valuesArray.length;vidx++) {
		if (valuesArray[vidx] == optionsArray[idx]) {
			checkedState = true;
		}
	}
	outString += ("<option value=\"" + optionsArray[idx] + "\" ");
	if (checkedState) {
		outString += (" CHECKED ");
	}
	outString += (">" + optionsArray[idx]);
}
outString += ("</select>");
return(outString);
}


function logOut() {
document.cookie = "";
}


function getCookie(name)
{       var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);

        if (begin == -1)
        {       begin = dc.indexOf(prefix);
                if (begin != 0)
                        return null;
        } else
                begin += 2;
        var end = document.cookie.indexOf(";", begin);
        if (end == -1)
                end = dc.length;
        return unescape(dc.substring(begin + prefix.length, end));
}



function scriptMessage(msgText) {
var theElem = document.getElementById('scriptMessage');
theElem.innerHTML = msgText;
}




function testFillForm(theForm) {
var idx;
var debugMsg = "";
for(idx=0;idx<theForm.elements.length;idx++) {
	var elem = theForm.elements[idx];
	//debugMsg += ("type=" + elem.type + " & name=" + elem.name + "\n");
	if ( (elem.type == "text") && (elem.value == "") ) {
		elem.value = elem.name;
	}
}
if (debugMsg != "") {
	alert(debugMsg);
}
}





function getResultsHeader(fieldName, fieldDescript, orderByVal) {
var outString = "";
if (orderByVal == fieldName) {
	outString = ("<th><a href=\"\#Sort by " + fieldName + " desc\" onClick=\"return sortResults('" + fieldName + " desc');\">" + fieldDescript + "</a></th>");
} else {
	outString = ("<th><a href=\"\#Sort by " + fieldName + "\" onClick=\"return sortResults('" + fieldName + "');\">" + fieldDescript + "</a></th>");
}
return(outString);
}



function sortResults(sortBy) {
setSelectVal(document.forms['search'].elements['orderby'], sortBy);
getSearchResults(document.forms['search']);
}





var subnavItems = new Array();
var navItems = new Array();

function navItem(url, title) {
	this.url = url;
	this.title = title;
}

function subnavItem(url, title) {
	this.url = url;
	this.title = title;
}

function drawnav() {

	var idx;
	var outString = "";
	for (idx = 0; idx < navItems.length; idx++) {
		var item = navItems[idx];
		
		if (navigationHeader.toUpperCase() == item.title) {
			outString += ("<A HREF=\"" + item.url + "\" class=\"active\" style=\"color:#696d08;\">" + item.title + "</a>");
		} else {
			outString += ("<A HREF=\"" + item.url + "\">" + item.title + "</A>");
		}
		
		if (idx != (navItems.length - 1)) {
			outString += ("&nbsp;&nbsp;/&nbsp;&nbsp;");
		}
	}
	document.writeln(outString);
}


function drawSubnav() {

	var idx;
	var outString = "";
	for (idx = 0; idx < subnavItems.length; idx++) {
		var item = subnavItems[idx];
		
		if (subnavigationHeader == item.title) {
			outString += ("<TD class=\"activesub\">" + item.title + "</TD>");
		} else {
			outString += ("<TD class=\"subtext\">");
			outString += ("<A HREF=\"" + item.url + "\">" + item.title + "</A></TD>");
			outString += ("<TD><IMG SRC=\"/images/sub_vert.gif\" WIDTH=\"1\" HEIGHT=\"25\" BORDER=\"0\" HSPACE=\"0\" VSPACE=\"0\"></TD>");
		}
	}
	document.writeln(outString);
}


function swapImage(imageId, imageSrc) {
	var theImage = document.getElementById(imageId);
	theImage.src = imageSrc;
}












function getShippingTrackingURL(shipper, tracknum) {
var trackURL;
if (shipper == "UPS") {
        trackURL = "http://wwwapps.ups.com/etracking/tracking.cgi?";
        trackURL += "TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber1=" + tracknum;
} 
if (shipper == "AIRBORNE") {
        trackURL = "http://track.airborne.com/atrknav.asp?shipmentNumber=" + tracknum;
} 
if (shipper == "FEDEX") {
        trackURL = "http://www.fedex.com/";
        trackURL += "Tracking?action=track&language=english&cntry_code=us&initial=x&tracknumbers=" + tracknum;
} 
if (shipper == "USPS") {
        trackURL = "http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?";
        trackURL += "origTrackNum=" + tracknum;
} 
if (shipper == "SMARTPOST") {
        trackURL = "http://spportal.fedex.com/sp/tracking.htm?bgcolor=%23ecece1&CID=10111&PID=" + tracknum;
}
return(trackURL);
}




// name - name of the cookie
// value - value of the cookie
// [expires] - expiration date of the cookie (defaults to end of current session)
// [path] - path for which the cookie is valid (defaults to path of calling document)
// [domain] - domain for which the cookie is valid (defaults to domain of calling document)
// [secure] - Boolean value indicating if the cookie transmission requires a secure transmission
// * an argument defaults when it is assigned null as a placeholder
// * a null placeholder is not required for trailing omitted arguments
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

// name - name of the cookie
// [path] - path of the cookie (must be same as path used to create cookie)
// [domain] - domain of the cookie (must be same as domain used to create cookie)
// * path and domain default if assigned null or omitted if no explicit argument proceeds
function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"
function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}





function createCookieval() {
var dateNow = new Date();
var rand = parseInt(Math.random() * 100000000000000);
var cv = (rand + "-" + dateNow.getTime());
return(cv);
}


