// JavaScript Document
//Global Variables
var URLvars = getUrlVars();
//us = 48 hours, b1 = 24 hours, b2 = 12 hours part A, b3 = 12 hours part B
//var overlayVers = "offer1";
var closeColor = "round";
var zipBtnOff = "overlay/submit.gif";
var zipBtnOn = "overlay/submit-on_blue.gif";
var emailBtnOff = "overlay/submit.gif";
var emailBtnOn = "overlay/submit-on_orange.gif";
var enterOn = "overlay/enter-on.gif";
var enterOff = "overlay/enter-off.gif";
var urlSrc = "";

//var overlayType = URLvars['v'];
var offsetMillisec = 0;
if (overlayServerMillisec != undefined) {
    var dt = new Date();
    offsetMillisec = overlayServerMillisec - dt.getTime() + dt.getTimezoneOffset() * 60000;  //+ (11 * 60 + 41) * 60000;
    //alert(offsetMillisec);
}
if ( overlayType != undefined )   {
	overlayVers = overlayType;
	}
	switch(overlayVers) {
		case "offer1":
		    closeColor = "blue";
		    zipBtnOff = "overlay/submit-beige-xs.gif";
		    zipBtnOn = "overlay/submit-orange-xs.gif";
		    emailBtnOff = "overlay/submit-beige-xs.gif";
		    emailBtnOn = "overlay/submit-orange-xs.gif";
		    enterOn = "overlay/proceed-on.gif";
		    enterOff = "overlay/proceed-off.gif";
		break;
		case "offer48":
		    closeColor = "offer48";
		    zipBtnOff = "overlay/submit-beige-xs.gif";
		    zipBtnOn = "overlay/submit-orange-xs.gif";
		    emailBtnOff = "overlay/submit-beige-xs.gif";
		    emailBtnOn = "overlay/submit-orange-xs.gif";
		    enterOn = "overlay/proceed-on-offer48.png";
		    enterOff = "overlay/proceed-off-offer48.png";
		break;
		case "offer48":
		    closeColor = "offer48";
		    zipBtnOff = "overlay/submit-beige-lg.gif";
		    zipBtnOn = "overlay/submit-beige-lg-on.gif";
		    emailBtnOff = "overlay/submit-beige-sm.gif";
		    emailBtnOn = "overlay/submit-beige-sm-on.gif";
		    enterOn = "overlay/proceed-on-offer48.png";
		    enterOff = "overlay/proceed-off-offer48.png";
	    break;
	}
var zipText = "Zip/Postal Code";
var img1 = "";
var img2 = "";

checkCampaignURL();

function CloseOffer() {

    	if (document.URL.toLowerCase().indexOf("naf-ppc-google") != -1){
	    window.location = "http://www.budgetblinds.com/?src=NAF-PPC-GOOGLE";
	} 
	else if (document.URL.toLowerCase().indexOf("naf-ppc-yahoo") != -1){
	    window.location = "http://www.budgetblinds.com/?src=NAF-PPC-YAHOO";
	} 
	else if  (document.URL.toLowerCase().indexOf("naf-ppc-msn") != -1){
	    window.location = "http://www.budgetblinds.com/?src=NAF-PPC-MSN";
	} 
	else window.location = "http://www.budgetblinds.com/?src=NAF-PPC";
}

function ZipOnFocus()
{
    var obj = document.getElementById("zipInput");
    if (obj.value == "     Zip/Postal Code") obj.value = "";
}

function ZipMouseOver()
{
    var obj = document.getElementById("zipSubmit");
    obj.src = zipBtnOn;
}

function ZipMouseOut()
{
    var obj = document.getElementById("zipSubmit");
    obj.src = zipBtnOff;
}

function EmailOnFocus()
{
    var obj = document.getElementById("emailInput");
    if (obj.value == "    Email Address") obj.value = "";
}

function EmailMouseOver()
{
    var obj = document.getElementById("emailSubmit");
    obj.src = emailBtnOn;
}

function EmailMouseOut()
{
    var obj = document.getElementById("emailSubmit");
    obj.src = emailBtnOff;
}

function EnterSiteMouseOver()
{
    var obj = document.getElementById("imgEnterSite");
    obj.src = enterOn;
}

function EnterSiteMouseOut()
{
    var obj = document.getElementById("imgEnterSite");
    obj.src = enterOff;
}

function CounterDigit()
{  
    this.place = 0;
    this.changing = false;
    this.digitName = "0";
    this.nextDigitName = "0";
}

CounterDigit.prototype.setPlace = function(p)
{
    this.place = p;
}

CounterDigit.prototype.setDigitValue = function(n)
{
    if ( n < 0 || n > 9 ) return;
    this.digitName = String(n);
    // Set image for this digit.
    var img1 = document.getElementById( "divdigit" + String(this.place) + "_img1" );
    img1.src = 'overlay/'+this.digitName + ".gif";
}

CounterDigit.prototype.changeTo = function(n)
{
    if ( n < 0 || n > 9 ) return;
    if ( n == parseInt( this.digitName, 10 )) return;
    
    this.nextDigitName = String(n);
    var img2 = document.getElementById( "divdigit" + String(this.place) + "_img2" );
    img2.src = 'overlay/'+this.nextDigitName + ".gif";
    this.changing = true;
}

CounterDigit.prototype.scroll = function()
{
    var img1 = document.getElementById( "divdigit" + String(this.place) + "_img1" );
    var img2 = document.getElementById( "divdigit" + String(this.place) + "_img2" );
    
    var ystr = img1.style.top;
    var y = parseInt( ystr.substr( 0, ystr.length - 2 ) );
    var x;
    if ( y < 14 )
    {
        y = y + 2;
        x = Math.floor( y / 4 );
        img1.style.top = y + "px";
        img1.style.left = x + "px";
        img2.style.top = (y - 16) + "px";
        img2.style.left = (x - 4) + "px";
    }
    else
    {
        img1.style.top = "0px";
        img1.style.left = "0px";
        img2.style.top = "-16px";
        img2.style.left = "-4px";
        img1.src = img2.src;
        this.digitName = this.nextDigitName;
        this.changing = false;
    }
}

function Counter()
{
    var d = new Date();
    d.setTime(d.getTime() + offsetMillisec);

    switch (overlayDay) {
        case 0:
            this.hours = 23 - d.getHours();
            break;
        case 1:
            this.hours = 47 - d.getHours();
            break;
        case 2:
            this.hours = 23 - d.getHours();
            break;
    }
    this.minutes = 59 - d.getMinutes();
    this.seconds = 59 - d.getSeconds();
        
    this.digits = new Array();
    
    this.digits[0] = new CounterDigit();
    this.digits[0].setPlace(0);
    this.digits[0].setDigitValue(9);
    
    this.digits[1] = new CounterDigit();
    this.digits[1].setPlace(1);
    this.digits[1].setDigitValue(5);
    
    this.digits[2] = new CounterDigit();
    this.digits[2].setPlace(2);
    this.digits[2].setDigitValue(9);
    
    this.digits[3] = new CounterDigit();
    this.digits[3].setPlace(3);
    this.digits[3].setDigitValue(5);
    
    this.digits[4] = new CounterDigit();
    this.digits[4].setPlace(4);
    this.digits[4].setDigitValue(3);
    
    this.digits[5] = new CounterDigit();
    this.digits[5].setPlace(5);
    this.digits[5].setDigitValue(2);
}

Counter.prototype.tick = function() {
    /*
    this.seconds = this.seconds - 1;
    if ( this.seconds < 0 )
    {
    this.seconds = 59;
    this.minutes = this.minutes - 1;
    if ( this.minutes < 0 )
    {
    this.minutes = 59;
    this.hours = this.hours - 1;
    if ( this.hours < 0 )
    {
    this.hours = 23;
    }
    }
    }
    this.lastSeconds = this.seconds;
    */
    var d = new Date();
    d.setTime(d.getTime() + offsetMillisec);
    switch (overlayDay) {
        case 0:
            this.hours = 23 - d.getHours();
            break;
        case 1:
            this.hours = 47 - d.getHours();
            break;
        case 2:
            this.hours = 23 - d.getHours();
            break;
    }
    this.minutes = 59 - d.getMinutes();
    this.seconds = 59 - d.getSeconds();

    /* Offer is over at end of time period */
    if ((this.hours == 0 || this.hours == 24) && this.minutes == 0 && this.seconds == 0) {
        stopTime();
        setInterval(refreshEvent, 5000);
    }

    var n;
    n = Math.floor(this.hours / 10);
    this.digits[5].changeTo(n);
    n = this.hours - n * 10;
    this.digits[4].changeTo(n);

    n = Math.floor(this.minutes / 10);
    this.digits[3].changeTo(n);
    n = this.minutes - n * 10;
    this.digits[2].changeTo(n);

    n = Math.floor(this.seconds / 10);
    this.digits[1].changeTo(n);
    n = this.seconds - n * 10;
    this.digits[0].changeTo(n);
}

var PageClock;
PageClock = new Counter();

function timerEvent() {
  var changing = false;

  var i;
  for( i = 0; i < 6; i++ )
  {
    if ( PageClock.digits[i].changing == true )
    {
      changing = true;
      PageClock.digits[i].scroll();
    }
  }
  if ( changing == false )
  { PageClock.tick(); }
}

function stopTime(){
	clearInterval(timerEvent);
}

function refreshEvent() {
    window.location = "overlay.aspx";
}

function startCounter() {
setInterval( timerEvent, 25 );

  var s = document.URL.toLowerCase();
  if ( s.indexOf( "src=naf-ppc-google" ) >= 0 ||
    s.indexOf( "src=naf-ppc-msn" ) >= 0 ||
    s.indexOf( "src=naf-ppc-yahoo" ) )
  {
    var o = document.getElementById( "divTrans" );
    o.style.visibility="visible";
  }
}


//Checks for the word 'NAF-PPC' in the URL query string. If it exists, launch the overlay function
//This way the code will launch on any NAF campaign variable, IE 'NAF-PPC-Google' or 'NAF-PPC-GGL', etc
function checkCampaignURL() {
	
	if (document.URL.toLowerCase().indexOf("naf-ppc-google") != -1){
	    urlSrc = "NAF-PPC-GOOGLE";
	} 
	if (document.URL.toLowerCase().indexOf("naf-ppc-yahoo") != -1){
	    urlSrc = "NAF-PPC-YAHOO";
	} 
	if (document.URL.toLowerCase().indexOf("naf-ppc-msn") != -1){
	    urlSrc = "NAF-PPC-MSN";
	} 
	createOverlay();
}

function setTextOfTextField(fld, t1, t2) {
    var obj = document.getElementById(fld);
    if ( obj.value == t1 ) obj.value = t2;
}

function validateEmail(fld) {
    var obj = document.getElementById(fld);
    var email = obj.value;

    var apos = email.indexOf("@");
    var dotpos = email.lastIndexOf(".");
    if (apos < 1 || dotpos - apos < 2)
    { alert('Please enter a valid email.'); return false; }
    else { return true; }
}

//Writes out the overlay
//Note the onLoad event in the main div, this triggers a pageview in analytics
//Also note the javascript click tracking code for Google Analytics
//Also note the hidden variables being inserted, src and frmsrc
function createOverlay() {
	document.write( 
	'<div id="divTrans" style="behavior: url(overlay/iepngfix.htc);"><div id="divTransInner"></div><div id="overlaySpecial" class='+overlayVers+'>' +
	'  <img id="overlayClose" src="overlay/close-'+closeColor+'.gif" alt="Close" onclick="CloseOffer();stopTime();" />' +
	'  <img id="overlayimg" src="overlay/overlay-'+overlayVers+'.png" alt="Special Offer" style="behavior: url(overlay/iepngfix.htc);" />' +
	'  <img id="imgEnterSite" src="'+enterOff+'" alt="Come on in to Budget Blinds" onmouseover="EnterSiteMouseOver()" onmouseout="EnterSiteMouseOut()" onclick="CloseOffer();stopTime();" />' +
	'  <form action="http://www.budgetblinds.com/ziplocator.aspx">' + '<input name="src" type="hidden" value="' + urlSrc + '" />' + /*'<script type="text/javascript">returnSource();</script>' +*/
	'    <input id="zipInput" type="text" name="overlayzip" value="' + zipText + '" size="16" onfocus="setTextOfTextField(\'zipInput\',\'' + zipText + '\',\'\')" onblur="setTextOfTextField(\'zipInput\',\'\',\'' + zipText + '\')" />' +
	'    <input id="zipSubmit" type="image" src="'+zipBtnOff+'" alt="Submit form" onmouseover="ZipMouseOver()" onmouseout="ZipMouseOut()" onclick="CloseOffer();stopTime();"/>' +
	'  </form>' +
	'  <form action="http://www.budgetblinds.com/submitemail.aspx"><input name="FormSrc" type="hidden" value="Email-Homepage" />' + '<input name="src" type="hidden" value="' + urlSrc + '" />' + /*'<script type="text/javascript">returnSource();</script>' +*/
	'    <input id="emailInput" type="text" name="overlayemail" value="Email Address" size="14" onfocus="setTextOfTextField(\'emailInput\',\'Email Address\',\'\')" onblur="setTextOfTextField(\'emailInput\',\'\',\'Email Address\')" />' +
	'    <input id="emailSubmit" type="image" src="'+emailBtnOff+'" alt="Submit form" onmouseover="EmailMouseOver()" onmouseout="EmailMouseOut()"  onClick="return validateEmail(\'emailInput\');"/>' +
	'  </form>' +
    '    <div class="moveDigits">' +
	'    <div class="divdigit" id="divdigit5">' +
	'      <img class="divimg" id="divdigit5_img1" src="overlay/2.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit5_img2" src="overlay/2.gif" alt="2" />' +
	'    </div>' +
	'    <div class="divdigit" id="divdigit4">' +
	'      <img class="divimg" id="divdigit4_img1" src="overlay/3.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit4_img2" src="overlay/3.gif" alt="2" />' +
	'    </div>' +
	'    <div class="divdigit" id="divdigit3">' +
	'      <img class="divimg" id="divdigit3_img1" src="overlay/5.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit3_img2" src="overlay/5.gif" alt="2" />' +
	'    </div>' +
	'    <div class="divdigit" id="divdigit2">' +
	'      <img class="divimg" id="divdigit2_img1" src="overlay/9.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit2_img2" src="overlay/9.gif" alt="2" />' +
	'    </div>' +
	'    <div class="divdigit" id="divdigit1">' +
	'      <img class="divimg" id="divdigit1_img1" src="overlay/5.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit1_img2" src="overlay/5.gif" alt="2" />' +
	'    </div>' +
	'    <div class="divdigit" id="divdigit0">' +
	'      <img class="divimg" id="divdigit0_img1" src="overlay/9.gif" alt="1" />' +
	'      <img class="divimg" id="divdigit0_img2" src="overlay/9.gif" alt="2" />' +
	'    </div>' +
	'    </div>' +
	'</div></div>' );
	
	//Starts the countdown timer on the overlay
	startCounter();
}

function getUrlVars() {
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	
	for(var i = 0; i < hashes.length; i++) {
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
	
	return vars;

}
