We help IT Professionals succeed at work.

I can't tell if HTML code that creates a pop-up window for my website is working correctly or not

photoman11
photoman11 asked
on
Greetings EE,

A subcontractor I hired through oDesk has just completed a project which involves implementing a pop-up window on my website to offer visitors an option to sign up for my newsletter. There is a cookie in the newsletter so that the pop-up should only appear every 7 days (I think it is 7 days anyway) if the visitor returns.

The subcontractor has XP on his system and I have Windows 7 home premium on my computer. I've tested it on Firefox and Internet Explorer (the latest release of both) and it works fine in IE, but not in Firefox (at least IN MY VERSION OF FIREFOX).

On my version of Firefox, even though I verify that the cookie does exist, the pop-up displays every single time I go to my site, which is considerably more frequent than every 7 days. I brought this up to the subcontractor and he tested it, finding that on his XP system, it is working perfectly in both browsers.

I'm including the original HTML code
<!-- Pop over code - developed by Affilorama http://www.affilorama.com -->
<script type="text/javascript">
	function popOver()
	{
		setTimeout('showPopOver()',12 * 1000) ;
	}
	function showPopOver()
	{
		var popc=document.getElementById('PopOverBox') ;
		popc.style.visibility = 'visible' ;
	}
	function hidePopOver()
	{
		var popc=document.getElementById('PopOverBox') ;
		popc.style.visibility='hidden' ;
	}
</script>

<script type="text/javascript">
var expDays = 9; // number of days the cookie should last

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 DeleteCookie (name) {
  var exp = new Date();
  exp.setTime (exp.getTime() - 1);
  var cval = GetCookie (name);
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function amt(){
  var count = GetCookie('countingDays')
  if(count == null) {
    SetCookie('countingDays','1')
    return 1
  } else {
    var newcount = parseInt(count) + 1;
    DeleteCookie('countingDays')
    SetCookie('countingDays',newcount,exp)
    return count
  }
}

function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
</script>

<style type="text/css">
	.PopOverBox {
		background-repeat:no-repeat;
		visibility: hidden ;
		width: 450px ;
		height: 450px ;
		z-index: 999999 ;
		position: fixed ;
		top: 20% ;
		left:20% ;
	}
	.PopOverClose a	{
		color:#000000;
		background:transparent url(images/close_simple_overlay.png) no-repeat top left;
		cursor:pointer;
		display:block;
		margin:0;
		position:absolute;
		text-decoration:none;
		z-index:20;
		width:36px;
		height:36px;
		top:-15px;
		right:-15px;
	}
	.PopOverContent	{}
</style>
<!-- Pop over code ends -->
<!-- Pop over code - developed by Affilorama http://www.affilorama.com -->

<style type="text/css">
#container { 
	margin: 0; 
	padding: 0; 
	position: relative; 
	width: 450px;
	height:450px; 
	text-align: left; 
	font-family: "MS Trebuchet", Trebuchet, "Trebuchet MS", Tahoma, Arial, Helvetica, sans-serif; 
	font-size: 12px;
	background-color:transparent;
	color:#000000;
}

.clearfloat {
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}

#topBox { 
	margin:0; 
	padding: 0; 
	width: 450px; 
	height:12px; 
	background:transparent url(images/top_round_corners_border.png) no-repeat top left;
}

#bottomBox { 
	margin:0; 
	padding: 0; 
	width: 450px; 
	height:12px; 
	background:transparent url(images/bottom_round_border.png) no-repeat bottom left;
}

#mainContent {
	margin:0; 
	padding: 0 8px 0 8px; 
	width: 434px; 
	height:426px;
	background:#fff8a9 url(images/middle_border.png) repeat-y top left;
	position:relative;
	z-index:1;
}

#logo {
	margin:0; 
	padding: 0; 
	width: 434px; 
	height:29px; 
	background:transparent url(images/newsletter_logo.png) no-repeat center top;
	position:relative;
	z-index:5;
}

#newsletterImage {
	float:left;
	margin:30px 10px 12px 8px; 
	padding: 0; 
	width: 144px; 
	height:232px; 
	background:transparent url(images/group-image-new.png) no-repeat left top;
	position:relative;
	z-index:5;
}

#contentBox {
	float:left;
	margin:30px auto auto 0; 
	padding: 2px 18px 10px 12px; 
	width: 241px; 
	height:220px; 
	background:transparent url(images/content_box_bg.png) no-repeat left top;
	color:#fcd004;
	font-size:14px;
	position:relative;
	z-index:5;
}

#contentBox a.classLink01 {
	color:#fcd004;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
	border-bottom:1px dotted #fcd004;
}

#contentBox a.classLink01:hover {
	text-decoration:none;
	font-weight:bold;
	border-bottom:1px solid #fcd004;
}

#contentBox p {
	margin: 1em 0 1em 0;
}

#contentBox ol {
	display: block;
	margin: 1em 0 1em 0;
	padding-left: 30px;
	list-style-type: decimal;
	list-style-position:outside;
}

#contentBox ol li {

}

#badgeFree {
	background:transparent url(images/free-badge_03.png) no-repeat center top;
	width:74px;
	height:74px;
	position:absolute;
	left:188px;
	top:6px;
	z-index:3;
}

#formBox {
	margin:4px auto 3px auto; 
	padding: 8px 11px 12px 5px; 
	width: 374px; 
	height:98px; 
	background:transparent url(images/form_bg.png) no-repeat left top;
	color:#fcd004;
	font-size:11px;
}
#formInner {
	width: 374px;   /* was 358 */
	height:98px;   /* was 78 */
	margin:0;
	padding:0;
}
.columnOne {
	float:left;
	width:172px;
	display:block;
}
.columnTwo {
	float:left;
	width:198px;
	display:block;
}
.cell-1 {
	width:165px;
	height:34px;
	display:block;
	float:left;
	margin:5px 0 0 7px;
	padding:0;
}
.cell-1 input {
	background:transparent url(images/input_bg.png) no-repeat left top;
	width:149px;
	height:26px;
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:22px;
	font-weight:bold;
	color:#acacac;
	padding:4px 8px 4px 8px;
	border:none;
	line-height:26px;
}

.cell-2 {
	width:165px;
	height:34px;
	display:block;
	float:left;
	margin:10px 0 0 7px;
	padding:0;
}
.cell-2 input {
	background:transparent url(images/input_bg.png) no-repeat left top;
	width:149px;
	height:26px;
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:22px;
	font-weight:bold;
	color:#acacac;
	padding:4px 8px 4px 8px;
	border:none;
	line-height:26px;
}

.cell-3 {
	width:132px;
	height:31px;
	display:block;
	float:left;
	margin:5px 0 0 20px;
	padding:0;
}
.cell-3 input {
	background:transparent url(images/subscribe_button.png) no-repeat center center;
	width:132px;
	height:31px;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:20px;
	color:#fcd004;
	padding:2px 5px 4px 5px;
	border:none;
	line-height:24px;
	text-align:center;
	cursor:pointer;
}
.cell-4 {
	width:186px;
	display:block;
	float:left;
	margin:5px 0 0 9px;
	padding:0;
}

   /********** in this style declaration you can change the aspect of the small text inside the form *********/
.cell-4 p {
	margin:0;
	font-size:11px;  /* here you can change the size of the small text */
	font-weight:bold;   /* here you can put 'bold' if you want to have the text bold */
	color:#FFFFFF;  /* here you can change the color of the small text */
	line-height:13px; 
	margin-bottom:3px;
	padding:0;
}

#formBox input:focus {
	outline:none;
}
</style>

<!--[if IE 7]>
<style type="text/css">
.cell-1 {
	background:transparent url(images/input_bg.png) no-repeat 0 0;
}
.cell-1 input {
	background-color:transparent;
    background-image:none;
}
.cell-2 {
	background:transparent url(images/input_bg.png) no-repeat 0 0;
}
.cell-2 input {
	background-color:transparent;
    background-image:none;
}
.cell-4 p {
	margin:0 0 0 7px;
}
</style>
<![endif]-->


<script type="text/javascript">
function remName(a, b){
			if(a.value==b){
				a.value='';
			}else
				if(a.value==''){
					a.value=b;
				}else{
					a.value=a.value;
				}
		}
 
function chkName(a, b){
		if(a.value==''){
			a.value=b;
		}else{
			a.value=a.value;
		}
	}
</script>


<div class="PopOverBox" id="PopOverBox" name="PopOverBox">
    <div class="PopOverClose">
    		<a onclick="Javascript: document.getElementById('PopOverBox').style.visibility='hidden' ;"></a>
    </div>
<div id="container" class="PopOverContent">
    <div id="topBox"></div>
	<div id="mainContent">
    	
        <div id="logo"></div>
        <div id="badgeFree"></div>
      <div id="newsletterImage"></div>
        <div id="contentBox">
        	<p>Have a digital camera? Discover how to take pictures like this! <strong>Subscribe to our free newsletter and receive</strong>:</p>
			
            <ol>
              <li>Easy-to-apply photography tips</li>
              <li>Free photo-related software programs</li>
              <li>A free <a href="http://www.best-family-photography-tips.com/photography-newsletter2.html" class="classLink01" target="_blank">Photography Checklist E-Book</a>, so you are always prepared for any photographic event</li>
            </ol>
        </div><!-- ending contentBox -->
        
        <br class="clearfloat" />
        
        <div id="formBox">
        	
            <form action="http://www.best-family-photography-tips.com/cgi-bin/mailout/mailmgr.cgi" method="post">
            	<input type="hidden" name="list_id" value="6810"/>
                <input type="hidden" name="action" value="subscribe"/>
                <div id="formInner">
                	<div class="columnOne">
                    <div class="cell-1">
                        <input name="name" type="text" value="First Name" onfocus="remName(this, 'First Name');" onblur="chkName(this, 'First Name');" />
                    </div>
                    <div class="cell-2">
                    	<input name="email" type="text" value="E-mail" onfocus="remName(this, 'E-mail');" onblur="chkName(this, 'E-mail');" />
                    </div>
                    </div><!-- ending columnOne -->
                    <div class="columnTwo">
                    <div class="cell-3">
                    	<input class="subscribeClass" name="SUBMIT" type="submit" value="Subscribe" />
                    </div>
                    <div class="cell-4">
                    	<p>Enter your name and email to subscribe.</p>
                    	<p>We respect and protect  your privacy.</p>
                    </div>
                    </div><!-- ending columnTwo -->
                </div><!-- ending formInner -->
                
            </form>
        </div><!-- ending formBox -->
    </div>
<!-- ending mainContent -->
    <div id="bottomBox"></div>
    </div><!-- ending container -->
</div><!-- ending PopOverBox -->
<script type="text/javascript">
<!--
function checkCount() {
  var count = GetCookie('countingDays');
  if (count == null) {
    count=1;
    SetCookie('countingDays', count, exp);
    popOver(); 
  } else {
    count++;
    SetCookie('countingDays', count, exp);
  }
}

window.onload=checkCount;
-->
</script>
<!-- Pop over body ends -->

Open in new window

for the pop-up (supplied by the subcontractor) as well as the JavaScript I converted his HTML code into.
inc_newsletterpopup_js =
'<!-- Pop over code - developed by Affilorama http://www.'
+ 'affilorama.com -->\n<script type="text/javascript">\n	func'
+ 'tion popOver()\n	{\n		setTimeout(\'showPopOver()\',7 * 1000'
+ ') ;\n	}\n	function showPopOver()\n	{\n		var popc=document.ge'
+ 'tElementById(\'PopOverBox\') ;\n		popc.style.visibility = \''
+ 'visible\' ;\n	}\n	function hidePopOver()\n	{\n		var popc=docu'
+ 'ment.getElementById(\'PopOverBox\') ;\n		popc.style.visibil'
+ 'ity=\'hidden\' ;\n	}\n</script>\n\n<script type="text/javascri'
+ 'pt">\nvar expDays = 9; // number of days the cookie shoul'
+ 'd last\n\nfunction GetCookie (name) {\n  var arg = name + "'
+ '=";\n  var alen = arg.length;\n  var clen = document.cooki'
+ 'e.length;\n  var i = 0;\n  while (i < clen) {\n    var j = '
+ 'i + alen;\n    if (document.cookie.substring(i, j) == arg'
+ ')\n    return getCookieVal (j);\n    i = document.cookie.i'
+ 'ndexOf(" ", i) + 1;\n    if (i == 0) break;\n  }\n  return '
+ 'null;\n}\n\nfunction SetCookie (name, value) {\n  var argv ='
+ ' SetCookie.arguments;\n  var argc = SetCookie.arguments.l'
+ 'ength;\n  var expires = (argc > 2) ? argv[2] : null;\n  va'
+ 'r path = (argc > 3) ? argv[3] : null;\n  var domain = (ar'
+ 'gc > 4) ? argv[4] : null;\n  var secure = (argc > 5) ? ar'
+ 'gv[5] : false;\n  document.cookie = name + "=" + escape ('
+ 'value) +\n    ((expires == null) ? "" : ("; expires=" + e'
+ 'xpires.toGMTString())) +\n    ((path == null) ? "" : ("; '
+ 'path=" + path)) +\n    ((domain == null) ? "" : ("; domai'
+ 'n=" + domain)) +\n    ((secure == true) ? "; secure" : ""'
+ ');\n}\n\nfunction DeleteCookie (name) {\n  var exp = new Dat'
+ 'e();\n  exp.setTime (exp.getTime() - 1);\n  var cval = Get'
+ 'Cookie (name);\n  document.cookie = name + "=" + cval + "'
+ '; expires=" + exp.toGMTString();\n}\n\nvar exp = new Date()'
+ ';\nexp.setTime(exp.getTime() + (expDays*24*60*60*1000));\n'
+ '\nfunction amt(){\n  var count = GetCookie(\'countingDays\')'
+ '\n  if(count == null) {\n    SetCookie(\'countingDays\',\'1\')'
+ '\n    return 1\n  } else {\n    var newcount = parseInt(cou'
+ 'nt) + 1;\n    DeleteCookie(\'countingDays\')\n    SetCookie('
+ '\'countingDays\',newcount,exp)\n    return count\n  }\n}\n\nfun'
+ 'ction getCookieVal(offset) {\n  var endstr = document.coo'
+ 'kie.indexOf (";", offset);\n  if (endstr == -1)\n  endstr '
+ '= document.cookie.length;\n  return unescape(document.coo'
+ 'kie.substring(offset, endstr));\n}\n</script>\n\n<style type'
+ '="text/css">\n	.PopOverBox {\n		background-repeat:no-repea'
+ 't;\n		visibility: hidden ;\n		width: 450px ;\n		height: 450'
+ 'px ;\n		z-index: 999999 ;\n		position: fixed ;\n		top: 20% '
+ ';\n		left:20% ;\n	}\n	.PopOverClose a	{\n		color:#000000;\n		'
+ 'background:transparent url(images/close_simple_overlay.p'
+ 'ng) no-repeat top left;\n		cursor:pointer;\n		display:bloc'
+ 'k;\n		margin:0;\n		position:absolute;\n		text-decoration:no'
+ 'ne;\n		z-index:20;\n		width:36px;\n		height:36px;\n		top:-15'
+ 'px;\n		right:-15px;\n	}\n	.PopOverContent	{}\n</style>\n<!-- '
+ 'Pop over code ends -->\n<!-- Pop over code - developed by'
+ ' Affilorama http://www.affilorama.com -->\n\n<style type="'
+ 'text/css">\n#container { \n	margin: 0; \n	padding: 0; \n	pos'
+ 'ition: relative; \n	width: 450px;\n	height:450px; \n	text-a'
+ 'lign: left; \n	font-family: "MS Trebuchet", Trebuchet, "T'
+ 'rebuchet MS", Tahoma, Arial, Helvetica, sans-serif; \n	fo'
+ 'nt-size: 12px;\n	background-color:transparent;\n	color:#00'
+ '0000;\n}\n\n.clearfloat {\n	clear:both;\n    height:0;\n    fo'
+ 'nt-size: 1px;\n    line-height: 0px;\n}\n\n#topBox { \n	margi'
+ 'n:0; \n	padding: 0; \n	width: 450px; \n	height:12px; \n	back'
+ 'ground:transparent url(images/top_round_corners_border.p'
+ 'ng) no-repeat top left;\n}\n\n#bottomBox { \n	margin:0; \n	pa'
+ 'dding: 0; \n	width: 450px; \n	height:12px; \n	background:tr'
+ 'ansparent url(images/bottom_round_border.png) no-repeat '
+ 'bottom left;\n}\n\n#mainContent {\n	margin:0; \n	padding: 0 8'
+ 'px 0 8px; \n	width: 434px; \n	height:426px;\n	background:#f'
+ 'ff8a9 url(images/middle_border.png) repeat-y top left;\n	'
+ 'position:relative;\n	z-index:1;\n}\n\n#logo {\n	margin:0; \n	p'
+ 'adding: 0; \n	width: 434px; \n	height:29px; \n	background:t'
+ 'ransparent url(images/newsletter_logo.png) no-repeat cen'
+ 'ter top;\n	position:relative;\n	z-index:5;\n}\n\n#newsletterI'
+ 'mage {\n	float:left;\n	margin:30px 10px 12px 8px; \n	paddin'
+ 'g: 0; \n	width: 144px; \n	height:232px; \n	background:trans'
+ 'parent url(images/group-image-new.png) no-repeat left to'
+ 'p;\n	position:relative;\n	z-index:5;\n}\n\n#contentBox {\n	flo'
+ 'at:left;\n	margin:30px auto auto 0; \n	padding: 2px 18px 1'
+ '0px 12px; \n	width: 241px; \n	height:220px; \n	background:t'
+ 'ransparent url(images/content_box_bg.png) no-repeat left'
+ ' top;\n	color:#fcd004;\n	font-size:14px;\n	position:relativ'
+ 'e;\n	z-index:5;\n}\n\n#contentBox a.classLink01 {\n	color:#fc'
+ 'd004;\n	font-size:14px;\n	font-weight:bold;\n	text-decorati'
+ 'on:none;\n	border-bottom:1px dotted #fcd004;\n}\n\n#contentB'
+ 'ox a.classLink01:hover {\n	text-decoration:none;\n	font-we'
+ 'ight:bold;\n	border-bottom:1px solid #fcd004;\n}\n\n#content'
+ 'Box p {\n	margin: 1em 0 1em 0;\n}\n\n#contentBox ol {\n	displ'
+ 'ay: block;\n	margin: 1em 0 1em 0;\n	padding-left: 30px;\n	l'
+ 'ist-style-type: decimal;\n	list-style-position:outside;\n}'
+ '\n\n#contentBox ol li {\n\n}\n\n#badgeFree {\n	background:trans'
+ 'parent url(images/free-badge_03.png) no-repeat center to'
+ 'p;\n	width:74px;\n	height:74px;\n	position:absolute;\n	left:'
+ '188px;\n	top:6px;\n	z-index:3;\n}\n\n#formBox {\n	margin:4px a'
+ 'uto 3px auto; \n	padding: 8px 11px 12px 5px; \n	width: 374'
+ 'px; \n	height:98px; \n	background:transparent url(images/f'
+ 'orm_bg.png) no-repeat left top;\n	color:#fcd004;\n	font-si'
+ 'ze:11px;\n}\n#formInner {\n	width: 374px;   /* was 358 */\n	'
+ 'height:98px;   /* was 78 */\n	margin:0;\n	padding:0;\n}\n.co'
+ 'lumnOne {\n	float:left;\n	width:172px;\n	display:block;\n}\n.'
+ 'columnTwo {\n	float:left;\n	width:198px;\n	display:block;\n}'
+ '\n.cell-1 {\n	width:165px;\n	height:34px;\n	display:block;\n	'
+ 'float:left;\n	margin:5px 0 0 7px;\n	padding:0;\n}\n.cell-1 i'
+ 'nput {\n	background:transparent url(images/input_bg.png) '
+ 'no-repeat left top;\n	width:149px;\n	height:26px;\n	font-fa'
+ 'mily:Georgia, "Times New Roman", Times, serif;\n	font-siz'
+ 'e:22px;\n	font-weight:bold;\n	color:#acacac;\n	padding:4px '
+ '8px 4px 8px;\n	border:none;\n	line-height:26px;\n}\n\n.cell-2'
+ ' {\n	width:165px;\n	height:34px;\n	display:block;\n	float:le'
+ 'ft;\n	margin:10px 0 0 7px;\n	padding:0;\n}\n.cell-2 input {\n'
+ '	background:transparent url(images/input_bg.png) no-repe'
+ 'at left top;\n	width:149px;\n	height:26px;\n	font-family:Ge'
+ 'orgia, "Times New Roman", Times, serif;\n	font-size:22px;'
+ '\n	font-weight:bold;\n	color:#acacac;\n	padding:4px 8px 4px'
+ ' 8px;\n	border:none;\n	line-height:26px;\n}\n\n.cell-3 {\n	wid'
+ 'th:132px;\n	height:31px;\n	display:block;\n	float:left;\n	ma'
+ 'rgin:5px 0 0 20px;\n	padding:0;\n}\n.cell-3 input {\n	backgr'
+ 'ound:transparent url(images/subscribe_button.png) no-rep'
+ 'eat center center;\n	width:132px;\n	height:31px;\n	font-fam'
+ 'ily:Verdana, Arial, Helvetica, sans-serif;\n	font-size:20'
+ 'px;\n	color:#fcd004;\n	padding:2px 5px 4px 5px;\n	border:no'
+ 'ne;\n	line-height:24px;\n	text-align:center;\n	cursor:point'
+ 'er;\n}\n.cell-4 {\n	width:186px;\n	display:block;\n	float:lef'
+ 't;\n	margin:5px 0 0 9px;\n	padding:0;\n}\n\n   /********** in'
+ ' this style declaration you can change the aspect of the'
+ ' small text inside the form *********/\n.cell-4 p {\n	marg'
+ 'in:0;\n	font-size:11px;  /* here you can change the size '
+ 'of the small text */\n	font-weight:bold;   /* here you ca'
+ 'n put \'bold\' if you want to have the text bold */\n	color'
+ ':#FFFFFF;  /* here you can change the color of the small'
+ ' text */\n	line-height:13px; \n	margin-bottom:3px;\n	paddin'
+ 'g:0;\n}\n\n#formBox input:focus {\n	outline:none;\n}\n</style>'
+ '\n\n<!--[if IE 7]>\n<style type="text/css">\n.cell-1 {\n	back'
+ 'ground:transparent url(images/input_bg.png) no-repeat 0 '
+ '0;\n}\n.cell-1 input {\n	background-color:transparent;\n    '
+ 'background-image:none;\n}\n.cell-2 {\n	background:transpare'
+ 'nt url(images/input_bg.png) no-repeat 0 0;\n}\n.cell-2 inp'
+ 'ut {\n	background-color:transparent;\n    background-image'
+ ':none;\n}\n.cell-4 p {\n	margin:0 0 0 7px;\n}\n</style>\n<![en'
+ 'dif]-->\n\n\n<script type="text/javascript">\nfunction remNa'
+ 'me(a, b){\n			if(a.value==b){\n				a.value=\'\';\n			}else\n		'
+ '		if(a.value==\'\'){\n					a.value=b;\n				}else{\n					a.val'
+ 'ue=a.value;\n				}\n		}\n \nfunction chkName(a, b){\n		if(a.v'
+ 'alue==\'\'){\n			a.value=b;\n		}else{\n			a.value=a.value;\n		'
+ '}\n	}\n</script>\n\n\n<div class="PopOverBox" id="PopOverBox"'
+ ' name="PopOverBox">\n    <div class="PopOverClose">\n    	'
+ '	<a onclick="Javascript: document.getElementById(\'PopOve'
+ 'rBox\').style.visibility=\'hidden\' ;"></a>\n    </div>\n<div'
+ ' id="container" class="PopOverContent">\n    <div id="top'
+ 'Box"></div>\n	<div id="mainContent">\n    	\n        <div i'
+ 'd="logo"></div>\n        <div id="badgeFree"></div>\n     '
+ ' <div id="newsletterImage"></div>\n        <div id="conte'
+ 'ntBox">\n        	<p>Have a digital camera? Discover how '
+ 'to take pictures like this! <strong>Subscribe to our fre'
+ 'e newsletter and receive</strong>:</p>\n			\n            <'
+ 'ol>\n              <li>Easy-to-apply photography tips</li'
+ '>\n              <li>Free photo-related software programs'
+ '</li>\n              <li>A free <a href="http://www.best-'
+ 'family-photography-tips.com/photography-newsletter2.html'
+ '" class="classLink01" target="_blank">Photography Checkl'
+ 'ist E-Book</a>, so you are always prepared for any photo'
+ 'graphic event</li>\n            </ol>\n        </div><!-- '
+ 'ending contentBox -->\n        \n        <br class="clearf'
+ 'loat" />\n        \n        <div id="formBox">\n        	\n '
+ '           <form action="http://www.best-family-photogra'
+ 'phy-tips.com/cgi-bin/mailout/mailmgr.cgi" method="post">'
+ '\n            	<input type="hidden" name="list_id" value='
+ '"6810"/>\n                <input type="hidden" name="acti'
+ 'on" value="subscribe"/>\n                <div id="formInn'
+ 'er">\n                	<div class="columnOne">\n          '
+ '          <div class="cell-1">\n                        <'
+ 'input name="name" type="text" value="First Name" onfocus'
+ '="remName(this, \'First Name\');" onblur="chkName(this, \'F'
+ 'irst Name\');" />\n                    </div>\n            '
+ '        <div class="cell-2">\n                    	<input'
+ ' name="email" type="text" value="E-mail" onfocus="remNam'
+ 'e(this, \'E-mail\');" onblur="chkName(this, \'E-mail\');" />'
+ '\n                    </div>\n                    </div><!'
+ '-- ending columnOne -->\n                    <div class="'
+ 'columnTwo">\n                    <div class="cell-3">\n   '
+ '                 	<input class="subscribeClass" name="SU'
+ 'BMIT" type="submit" value="Subscribe" />\n               '
+ '     </div>\n                    <div class="cell-4">\n   '
+ '                 	<p>Enter your name and email to subscr'
+ 'ibe.</p>\n                    	<p>We respect and protect '
+ ' your privacy.</p>\n                    </div>\n          '
+ '          </div><!-- ending columnTwo -->\n              '
+ '  </div><!-- ending formInner -->\n                \n     '
+ '       </form>\n        </div><!-- ending formBox -->\n   '
+ ' </div>\n<!-- ending mainContent -->\n    <div id="bottomB'
+ 'ox"></div>\n    </div><!-- ending container -->\n</div><!-'
+ '- ending PopOverBox -->\n<script type="text/javascript">\n'
+ '<!--\nfunction checkCount() {\n  var count = GetCookie(\'co'
+ 'untingDays\');\n  if (count == null) {\n    count=1;\n    Se'
+ 'tCookie(\'countingDays\', count, exp);\n    popOver(); \n  }'
+ ' else {\n    count++;\n    SetCookie(\'countingDays\', count'
+ ', exp);\n  }\n}\n\nwindow.onload=checkCount;\n-->\n</script>\n<'
+ '!-- Pop over body ends -->';

// end_var_declaration
document.write(inc_newsletterpopup_js);

Open in new window

One of the URLs I'm using the script on is http://www.best-family-photography-tips.com (all the other pages are also on my website).

I am hoping that I can get some feedback on whether it is ONLY MY VERSION OF FIREFOX THAT HAS THE PROBLEM; OR, if it is a problem across the board, and if that is the case, then I would like to know what changes should be made in the code to correct it.

Thank you very much for your help.  
Comment
Watch Question

ioboxWeb Architect

Commented:
That could be a cookie settings on your browser or some tool that removes cookies (there's many on windows)...
you should check even your firefox extensions (if any...)

Anyway i'm on a mac for this week and can tell you that in chrome 5, safari 4 nothing appens...

while on firefox 3.6.3 (always mac) your popup get blocked by firefox... if you unblock it and show the pop up, return to your site does not show the popup again...

Author

Commented:
I have set Firefox to not block the cookie and I have verified it exists when I search for the specific cookie in question. I do have add-ons for Firefox non-of them have anything to do with cookies, as far as I can tell.

You say there are many tools in Windows that remove cookies. I am totally unaware of this, so could you enlighten me?

And just to be sure, I you saying that we are you indicated, you did see the pop-up once but not after that?
Ask him to change the "setTimeOut ()" function to "setInterval()" function.  The difference is subtle but very important in your case, since you should be using setInterval for this 7 day function.  If he doesn't know why, tell him to research this collection of links on the difference between the two --

http://www.google.com/search?q=setTimeOut%28%29+vs.+setInterval%28%29

When he gets the difference, I think he will realize that he is using the wrong javascript call, at least I hope.

Author

Commented:
Thank you so much! I will let them know immediately and keep my fingers crossed.

Author

Commented:
scrathcyboy,

I feel like I am in a ping-pong match, with me being the ping-pong ball. I got a response from the programmer and I will post the pertinent part of his comment here:


"setTimeout ()" function which is used only to show the pop-up after 12 seconds. To control the interval of pop-up appearance (for example, on every 7 days the pop-up to appear again with a delay of 12 seconds), the script uses other functions and cookies.


I hope you know what he is talking about because, as I'm sure everyone has already gathered, programming and I don't quite get along.

Thank you for any continued insights based on his response.
He shouldn't have written the entire popup window code in complex appended javascript.  It makes it impossible for you to debug, and for most others as well.  Unless you get a javascript expert to pour over his code for errors, I don't think you will solve this problem.

If you paid for the work, it should have been in a form that you (or others) later can simply edit, e.g. to debug as you are trying to do now.  The work should not have been paid for unless it was easily decipherable by the majority of web designers.  

Ask him to rewrite the popup code using something simple, like an HTML file that can be plugged into an iframe, or put into a DIV with visibility on.   Only that way is it useful for you down the road.

Author

Commented:
Hi,

I passed on your comments to the programmer and this is his response:

"The code that I used for your newsletter cookie is not written entirely by me.
I found that script on the internet, I took it and modified for your website.
I think I said to you, in a previous chat that we had, that I'm not such a good programmer.
It is possible that the script I wrote for your newsletter cookie to be not the best one.
What I can't explain is why in your IE browser is working, on my PC is working but in your firefox is not. "

I have been using him for a number of other projects and he is very good with JQuery and extremely conscientious and helpful. I would hate to have to post the job all over again oDesk and have someone else do it, but obviously I will if I have to.

Does anyone know of an open source script that would accomplish what I am looking for? And what would you make of the fact that the script provided by the programmer works in IE but not Firefox?

Thank you again for your help.
"What I can't explain is why in your IE browser is working, on my PC is working but in your firefox is not. "

Well I can answer that very easily.  The operating system very much governs the browser, since the browser makers write different versions for different OSs.  Since windows 7 and windows Vista are both 64 bit OSs, and XP is a 32 bit OS, you can be SURE that the different browsers are using different code to render pages, so yes, pages can be renedered differently just on a different OS.

"what would you make of the fact that the script provided by the programmer works in IE but not Firefox?"
Most people only write for IE, FF is usually an afterthought, if ever.  That is bad web programming.
The simplest solution for you is to put the popup as a small javascript window.  This window takes a regular HTML file, no coding, and you activate it from a link or picture.  See code below from my own site.

You can see how simple and easy to maintain it is, since the popup is a normal HTML page.  You just adjust the size of it to fit the content you want to put in it.


function SubWin(pg) {
     var SW = window.open(pg,"","height=350,width=400,status=0,scrollbars=0,resizable=1,toolbar=0");
}

LINK --

<A href="javascript:SubWin('popup-page.html')" onfocus="this.blur()">click for popup</A>

Open in new window

Author

Commented:
scrathcyboy,

I don't know what the policy is at expert exchange, and I certainly don't want to get anyone in trouble or step on toes. I checked out your profile and since there was no e-mail address to contact you off-line, the only option I have is through this thread.

Would you be open to me paying you to correctly finish this coding exercise? I realize you don't know all the details and I don't even know if this is allowed with expert exchange but I had to ask.

Thanks
My email is in my profile, Scrathcyboy (a-t)  Yahoo D0T COM -- a little obfuscated so I don't get spammed.  Drop me a line, cheers.

Author

Commented:
I just did. Thank you.