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;
}

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 updateFloaterPos() {
	floaterDiv = document.getElementById('floater');
	
	if(document.all) {
		floaterDiv.style.pixelTop = document.body.scrollTop + 100;
		floaterDiv.style.pixelLeft = 200;
	}
	else {
		floaterDiv.style.top = document.body.scrollTop + 100;
		floaterDiv.style.left = 200;
	}
	
	/*selects = document.getElementsByTagName('select');
	
	
	for(i=0; i < selects.length; i++) {
		if(getTop(selects[i]) >= getTop(floaterDiv) && getTop(selects[i]) <= getBottom(floaterDiv) && floaterDiv.style.visibility == 'visible') {
			selects[i].style.visibility='hidden';
		}
		else {
			selects[i].style.visibility='visible';
		}
	}*/
}

function getTop(element) {
	theElement = element;
	newTop = 0;
	while(theElement.offsetParent) {
		newTop  += theElement.offsetTop;
		theElement = theElement.offsetParent;
	}
	return newTop;
}

function getBottom(element) {
	theElement = element;
	
	return(getTop(theElement) + theElement.clientHeight);
}

function closeFloater() {
	floaterDiv = document.getElementById('floater');
	
	setCookie('tzFloater', 1)
	
	floaterDiv = document.getElementById('floater').style.visibility='hidden';
}

function initFloater() {
	if(!getCookie('tzFloater')) {
		floaterDiv = document.getElementById('floater');
	
		floaterDiv.style.visibility='visible';
		
		updateFloaterPos();
		
		setInterval(updateFloaterPos, 10);
	}
	else {
		closeFloater();
	}
}

function submitTZForm(theForm, ad, floating) {
	if(validateEmail(theForm.email.value) && validateZip(theForm.zip.value)) {
		signupUrl = '/tzSignup.php?email=' + escape(theForm.email.value) + '&zip=' + escape(theForm.zip.value) + '&ad=' + ad + '&float=' + floating;
		window.open(signupUrl, 'tzSignupWindow', 'width=640,height=480');
	}
	else {
		alert('Please enter a valid email and zip code.');
	}
}

function validateZip(zip) {
	if (zip == null ||zip.length == 0){
            return false;
        }

        zs = zip;

        if (zs.length != 5 && zs.length  != 6  && zs.length  != 7){
            return false;
        }

        // US
        if(zs.length  == 5){
            valid = "0123456789";
            for (i=0; i<zs.length ;i++){
                
                tmp = zs.substring(i,i+1);
                if (valid.indexOf(tmp)== -1)
                    return false;
            }

            return true;
        }                                  

        //Canada
        if (zs.length == 6){
            zs = zs.toUpperCase();   // in case of lowercase characters

            // Check for legal characters in string - note index starts at zero
            if ("ABCEHJKLMNPRSTVXY".indexOf(zs.charAt(0)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(1)) < 0) {return false;}

            if ("ABCDEFGHJKLMNPQRSTUVWXYZ".indexOf(zs.charAt(2)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(3)) < 0) {return false;}

            if ("ABCDEFGHJKLMNPQRSTUVWXYZ".indexOf(zs.charAt(4)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(5)) < 0) {return false;}

        }
	
	if (zs.length == 7){
            zs = zs.toUpperCase();   // in case of lowercase characters

            // Check for legal characters in string - note index starts at zero
            if ("ABCEHJKLMNPRSTVXY".indexOf(zs.charAt(0)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(1)) < 0) {return false;}

            if ("ABCDEFGHJKLMNPQRSTUVWXYZ".indexOf(zs.charAt(2)) < 0) {return false;}
	    
	    if (" ".indexOf(zs.charAt(3)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(4)) < 0) {return false;}

            if ("ABCDEFGHJKLMNPQRSTUVWXYZ".indexOf(zs.charAt(5)) < 0) {return false;}

            if ("0123456789".indexOf(zs.charAt(6)) < 0) {return false;}

        }

        return true;
}

var xmlDoc = null;
var xmlDoc2 = null;

function loadBgDoc(url) {
  if (typeof window.ActiveXObject != 'undefined' ) {
    xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
    xmlDoc.onreadystatechange = process ;
  }
  else {
    xmlDoc = new XMLHttpRequest();
    xmlDoc.onload = process ;
  }
  xmlDoc.open("GET", url, true );
  xmlDoc.send( null );
}

function loadBgDoc2(url) {
  if (typeof window.ActiveXObject != 'undefined' ) {
    xmlDoc2 = new ActiveXObject("Microsoft.XMLHTTP");
    xmlDoc2.onreadystatechange = process2 ;
  }
  else {
    xmlDoc2 = new XMLHttpRequest();
    xmlDoc2.onload = process2 ;
  }
  xmlDoc2.open("GET", url, true );
  xmlDoc2.send( null );
}

function process() {
  if (xmlDoc.readyState != 4) return ;
  document.getElementById("floaterContent").innerHTML = xmlDoc.responseText ;
}

function process2() {
  if (xmlDoc2.readyState != 4) return ;
  document.getElementById("bannerContent").innerHTML = xmlDoc2.responseText ;
}
