﻿if (typeof jQuery == 'undefined') 
{ 
	var head = document.getElementsByTagName("head")[0];
	script = document.createElement('script');
	script.id = 'jQuery';
	script.type = 'text/javascript';
	script.src = '/js/jquery/jquery.js';
	head.appendChild(script);
}

function vnSurvey()
{
	// Public variables
	this.Enabled = false;
	this.Url = '';
	this.Title = '';
	this.Description = '';
	this.OpenNewWindow = false;
	this.TextOpen = 'Open';
	this.TextClose = 'Close';
	this.Pages = 3;
	this.TimeOut = 0;
	this.ExpireDays = 60;

	// Private variables
	var cookiePages = getCookie('vnSurveyPages');
	var cookieViewed = getCookie('vnSurveyViewed');
	
	// Public functions
	this.Show = Show;
	this.Run = Run;
	this.ClickOpen = ClickOpen;
	this.ClickClose = ClickClose;
	this.SetPosition = SetPosition;
	this.GetScrollBarPosition = GetScrollBarPosition;

	function Run()
	{
		if(this.Enabled)
		{
			if(cookiePages == null)
			{
				setCookie('vnSurveyPages', '1', this.ExpireDays);
				cookiePages = getCookie('vnSurveyPages');
			}
			else
			{
				cookiePages++;
				setCookie('vnSurveyPages', cookiePages, this.ExpireDays);
			}
			
			if(cookieViewed == null)
			{
				setCookie('vnSurveyViewed', 'false', this.ExpireDays);
				cookieViewed = getCookie('vnSurveyViewed');
			}
			
			if(cookiePages >= this.Pages && cookieViewed.toLowerCase() == 'false')
			{
				if(this.TimeOut > 0)
				{
					setTimeout('vnSurvey.Show()', this.TimeOut * 1000);
				}
			
				jQuery('a').filter(function() { 
					return this.hostname && this.hostname !== location.hostname && this.href.indexOf('http') == 0;
				}).click(function() {
					vnSurvey.Show();
					if(cookieViewed.toLowerCase() == 'false')
					{
						return false;
					}
					else
					{
						return true;
					}
				});
				
			}
		}
	}
	
	function Show()
	{	
		if(this.Url != '' && this.Title != '' && this.Description != '' && cookieViewed.toLowerCase() == 'false')
		{
			var surveyHtml = '<div id="vnSurvey" style="visibility: hidden;"><div id="vnSurveyInner"><div id="vnSurveyTitle"></div><div id="vnSurveyDescription"></div><div id="vnSurveyLinks"></div><div id="vnSurveyClose"></div></div></div>';
			jQuery('body').append(surveyHtml);
			
			jQuery('div[id=vnSurveyTitle]').append('<h3>' + this.Title + '</h3>');
			jQuery('div[id=vnSurveyDescription]').append(this.Description);
			if(this.OpenNewWindow)
			{
				jQuery('div[id=vnSurveyLinks]').append('<a href="' + this.Url + '" title="' + this.TextOpen + '" onClick="javascript:vnSurvey.ClickOpen()" target="_blank">&gt;&gt;&nbsp;' + this.TextOpen + '</a>&nbsp;-&nbsp;');
			}
			else
			{
				jQuery('div[id=vnSurveyLinks]').append('<a href="' + this.Url + '" title="' + this.TextOpen + '">&gt;&gt;&nbsp;' + this.TextOpen + '</a>&nbsp;-&nbsp;');
			}			
			jQuery('div[id=vnSurveyLinks]').append('<a href="javascript:vnSurvey.ClickClose()" title="' + this.TextClose + '">' + this.TextClose + '</a>');
			jQuery('div[id=vnSurveyClose]').append('<a href="javascript:vnSurvey.ClickClose()" title="' + this.TextClose + '">X</a>');

			jQuery('div[id=vnSurvey]').css('position', 'absolute');
			jQuery('div[id=vnSurvey]').css('left', '0px');
			jQuery('div[id=vnSurvey]').css('top', '0px');
			jQuery('div[id=vnSurvey]').css('width', '100%');
			jQuery('div[id=vnSurvey]').css('height', '100%');
			jQuery('div[id=vnSurvey]').css('text-align', 'center');
			jQuery('div[id=vnSurvey]').css('color', '#fff');
			jQuery('div[id=vnSurvey] p').css('color', '#fff');
			jQuery('div[id=vnSurvey]').css('font-size', '1.1em');
			jQuery('div[id=vnSurvey]').css('line-height', '1.4em');
			jQuery('div[id=vnSurvey]').css('z-index', '9000');
			
			jQuery('div[id=vnSurveyInner]').css('position', 'relative');
			jQuery('div[id=vnSurveyInner]').css('width', '356px');
			jQuery('div[id=vnSurveyInner]').css('height', '200px');
			jQuery('div[id=vnSurveyInner]').css('margin', '0 auto');
			jQuery('div[id=vnSurveyInner]').css('padding', '0');
			jQuery('div[id=vnSurveyInner]').css('background', '#ffffff url("/upload/images/vnSurvey-bg.png") no-repeat top left');
			jQuery('div[id=vnSurveyInner]').css('text-align', 'left');
			jQuery('div[id=vnSurveyInner]').css('overflow', 'hidden');
			jQuery('div[id=vnSurveyInner]').css('border', '3px solid #fff')
			
			jQuery('div[id=vnSurveyTitle]').css('position', 'absolute');
			jQuery('div[id=vnSurveyTitle]').css('top', '10px');
			jQuery('div[id=vnSurveyTitle]').css('left', '10px');
			jQuery('div[id=vnSurveyTitle]').css('width', '326px');
			jQuery('div[id=vnSurveyTitle]').css('height', '30px');
			jQuery('div[id=vnSurveyTitle]').css('margin', '0');
			jQuery('div[id=vnSurveyTitle]').css('padding', '0');
			jQuery('div[id=vnSurveyTitle]').css('overflow', 'hidden');
			
			jQuery('div[id=vnSurveyTitle] h3').css('margin', '0');
			jQuery('div[id=vnSurveyTitle] h3').css('padding', '0');
			jQuery('div[id=vnSurveyTitle] h3').css('font-size', '1.4em');
						
			jQuery('div[id=vnSurveyDescription]').css('position', 'absolute');
			jQuery('div[id=vnSurveyDescription]').css('top', '45px');
			jQuery('div[id=vnSurveyDescription]').css('left', '10px');
			jQuery('div[id=vnSurveyDescription]').css('width', '195px');
			jQuery('div[id=vnSurveyDescription]').css('height', '130px');
			jQuery('div[id=vnSurveyDescription]').css('margin', '0');
			jQuery('div[id=vnSurveyDescription]').css('padding', '0');
			jQuery('div[id=vnSurveyDescription]').css('overflow', 'hidden');
			jQuery('div[id=vnSurveyDescription]').css('overflow', 'hidden');
			
			jQuery('div[id=vnSurveyLinks]').css('position', 'absolute');
			jQuery('div[id=vnSurveyLinks]').css('top', '180px');
			jQuery('div[id=vnSurveyLinks]').css('left', '10px');
			jQuery('div[id=vnSurveyLinks]').css('width', '195px');
			jQuery('div[id=vnSurveyLinks]').css('height', '30px');
			jQuery('div[id=vnSurveyLinks]').css('margin', '0');
			jQuery('div[id=vnSurveyLinks]').css('padding', '0');
			jQuery('div[id=vnSurveyLinks]').css('overflow', 'hidden');
			jQuery('div[id=vnSurveyLinks] a').css('color', '#fff');
			jQuery('div[id=vnSurveyLinks] a').css('font-weight', 'bold');
			
			jQuery('div[id=vnSurveyClose]').css('position', 'absolute');
			jQuery('div[id=vnSurveyClose]').css('top', '10px');
			jQuery('div[id=vnSurveyClose]').css('right', '0px');
			jQuery('div[id=vnSurveyClose]').css('width', '15px');
			jQuery('div[id=vnSurveyClose]').css('height', '30px');
			jQuery('div[id=vnSurveyClose]').css('margin', '0');
			jQuery('div[id=vnSurveyClose]').css('padding', '0');
			jQuery('div[id=vnSurveyClose]').css('overflow', 'hidden');
			jQuery('div[id=vnSurveyClose] a').css('color', '#fff');
			jQuery('div[id=vnSurveyClose] a').css('font-weight', 'bold');
			
			this.SetPosition(this.Enabled, -1);
			jQuery('div[id=vnSurvey]').css('visibility', 'visible');
		}
	}
	
	function ClickOpen()
	{
		setCookie('vnSurveyViewed', 'true', this.ExpireDays);
		cookieViewed = getCookie('vnSurveyViewed');
		jQuery('div[id=vnSurvey]').css('visibility', 'hidden');
	}

	function ClickClose()
	{
		setCookie('vnSurveyViewed', 'true', this.ExpireDays);
		cookieViewed = getCookie('vnSurveyViewed');
		jQuery('div[id=vnSurvey]').css('visibility', 'hidden');
		
	}
	
	function SetPosition(enabled, currentPosition)
	{
		if(enabled && currentPosition != this.GetScrollBarPosition())
		{
			jQuery('div[id=vnSurveyInner]').css('top', (this.GetScrollBarPosition()+((screen.height/2)-200)) + 'px' );
		}
		
		if(cookieViewed == 'false')
		{
			setTimeout('vnSurvey.SetPosition(' + enabled + ', ' + this.GetScrollBarPosition() + ')', 1000);
		}
	}
	
	function GetScrollBarPosition()
	{
		return(document.body.scrollTop ? document.body.scrollTop : (window.pageYOffset ? window.pageYOffset : (document.body.parentElement ? document.body.parentElement.scrollTop : 0 )));
	}
	
	// Private functions
	function getCookie(cookie_name)
	{
		var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

		if ( results )
		{
			return ( unescape ( results[2] ) );
		}
		else
		{
			return null;
		}
	}

	
	function setCookie(name,value,days) 
	{
		if (days) 
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else 
		{
		var expires = "";
		}
		document.cookie = name+"="+value+expires+"; path=/";
	}
}


