﻿/*
	###############################################################
	* AUTHOR: SHANNON BRUNS
	* CREATED: 03-31-10
	* COMPANY: RIVWORKS.COM
	* COPYRIGHT Â©2010 RIVWORKS. ALL RIGHTS RESERVED. 
	* USER VISIT LIMIT
	* VERSION: 033110a
	
	THIS JS WILL DO TWO THINGS: 
	
	1.) SET A COOKIE SO THAT A VISITOR WILL
		ONLY SEE THE RIV WIDGET ONCE FROM THE SAME PAGE, WITHIN THE 
		EXPIRATION PARAMETERS; DEFAULT SETTING IS 30 DAYS.
	
	2.) ADD A CLOSE BUTTON AND TIMER TO CLOSE THE RIV WIDGET.
	###############################################################
*/

//SET GLOBAL VARIABLES
	var riv_date = new Date();
	var riv_cookieName;
	//SET A NUMBER OF DAYS BEOFRE THE COOKIE EXPIRES
	var riv_cookieExpiration;
	
	//VARIABLES TO CREATE THE MOUSE OVER DIV(INVISIBLE BUTTON) AND THE 
	//DIV THAT WILL CONTAIN THE 'BUTTON', JUST AN IMAGE.
	var invisimageDiv = document.createElement("div");
	var imageDiv = document.createElement("div");
	var timerLimit;
	var invisimageDivHeight;
	var invisimageDivWidth;

	
	function riv_visitLimit(cookieName,expirationTime,btnWidth,btnHeight,timerLength)
	{
		riv_cookieName = cookieName;
		riv_cookieExpiration = expirationTime;
		invisimageDivWidth = btnWidth;
		invisimageDivHeight = btnHeight;
		timerLimit = timerLength;
		
		checkForCookie();
	};
	
// CHECK TO SEE IF THE COOKIE HAS BEEN CREATED, IF SO CLOSE THE WIDGET, IF NOT THEN CREATE A COOKIE
	function checkForCookie()
	{
		if(cookieVal(riv_cookieName))
		{
			closeRIVFrame();
			
		} else {
		
			setCookie();
			createDiv(invisimageDivWidth,invisimageDivHeight);
		}
	};
	
// SET A COOKIE THAT KEEPS TRACK OF THE NUMBER OF VISITS, EXPIRE THIS COOKIE IS AT THE SAME TIME THE COOKIE WAS CREATED 
//THE NUMBER OF DAYS SET IN THE RIV_COOKIEEXPIRATION
	function setCookie()
	{ 
		var expireDateTime = new Date(riv_date.getFullYear(),riv_date.getMonth(),riv_date.getDate() + riv_cookieExpiration,riv_date.getHours(),riv_date.getMinutes(),riv_date.getSeconds()); 
		var riv_pageCount = parseInt(cookieVal("pageHits"));
		riv_pageCount ++;
	
		document.cookie = riv_cookieName + " =" + riv_pageCount + ";path=/;expires =" + expireDateTime.toGMTString();
		
	};
	
	function cookieVal(riv_cookieName)
	{
		var thisCookie = document.cookie.split("; ")
		
		for(var i = 0; i < thisCookie.length; i++)
		{
			if(riv_cookieName == thisCookie[i].split("=")[0])
			{
				return thisCookie[i].split("=")[1];
			}
		}
		
		return 0;
	};

	
	//CREATE THE TWO DIVS, SET THEIR PROPERTIES, SET MOUSE EVENTS, AND ADD
	//THEM TO THE DOCUMENT.
	function createDiv(buttonWidth,buttonHeight)
	{
		var frame = document.getElementById("RIVFrame");
	
		//TIMER SET TO CLOSE THE IFRAME IN ONE MINUTE 40 SECONDS
		setTimerCloser();
	
		invisimageDiv.id = "mOverDiv";
		invisimageDiv.style.width = buttonWidth + "px";
		invisimageDiv.style.height = buttonHeight + "px";
		invisimageDiv.style.position = "absolute";
		//invisimageDiv.style.left = frame.offsetLeft + "px";
		invisimageDiv.style.left = "50%";
		invisimageDiv.style.marginLeft = parseInt(frame.style.width) - parseInt(invisimageDiv.style.width)/2 + 'px';
		invisimageDiv.style.top = (parseInt(frame.style.top) + parseInt(frame.style.height) / 2) - (parseInt(invisimageDiv.style.height) /2) + "px";
		
		invisimageDiv.style.background = "#000000";
		invisimageDiv.style.opacity = 0/10;
		invisimageDiv.style.filter = 'alpha(opacity=' + 0*10 + ')';

		invisimageDiv.style.cursor = "pointer";
		invisimageDiv.style.zIndex = 5002;
		
		invisimageDiv.onmousedown = closeRIVFrame;
		invisimageDiv.onmouseover = onMouseOverHandler;
		invisimageDiv.onmouseout = onMouseOutHandler;
		
		imageDiv.id = "btnDiv";
		imageDiv.style.width = invisimageDiv.style.width;
		imageDiv.style.height = invisimageDiv.style.height;
		imageDiv.style.position = "absolute";
		imageDiv.style.left = invisimageDiv.style.left;
		imageDiv.style.marginLeft = invisimageDiv.style.marginLeft;
		imageDiv.style.top = invisimageDiv.style.top;
		imageDiv.style.zIndex = 5001;
 		imageDiv.style.visibility = "hidden";
		imageDiv.style.backgroundImage = "url(http://www.raceuwin.com/Images/riv/close-button-155.png)";
		imageDiv.style.backgroundRepeat = "no-repeat";
		imageDiv.style.backgroundPosition = "center";

		document.body.appendChild(imageDiv);
		document.body.appendChild(invisimageDiv);
	};
	
	//HANDLE MOUSE OVER EVENT
	function onMouseOverHandler()
	{
		document.getElementById("btnDiv").style.visibility = "visible";
	};
	
	//HANDLE MOUSE OUT EVENT
	function onMouseOutHandler()
	{
		document.getElementById("btnDiv").style.visibility = "hidden";
	};
	
	//CLOSE THE IFRAME, BUTTON, IMAGE, AND SET IFRAME SRC TO NOTHING
	function closeRIVFrame()
	{
		document.getElementById("RIVFrame").style.display = "none";
		document.getElementById("RIVFrame").src = "";
		
		if(document.getElementById("btnDiv") && document.getElementById("mOverDiv"))
		{
			document.getElementById("btnDiv").style.visibility = "hidden";
			document.getElementById("mOverDiv").style.visibility = "hidden";
		}
	};
	
	//TIMER FUNCTION USED TO CLOSE RIVWORKS IFRAME
	function setTimerCloser()
	{
		setTimeout("closeRIVFrame()",timerLimit);
	};
