

var olink = false;
var Lst;
var isFF;
var isClick;
var clickonwebsite = -1;
var siteDomainName = 'www.harrow.gov.uk'; //the name of  site
//var siteDomainName = 'webdev'; //the name of  site
//addLoadEvent(loadSurvey);

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

addLoadEvent(loadSurvey);
 
 
function loadSurvey() 
{
	if (isCookieEnable())
	{
    	detectBrowser(); // check browser
    	isMyDomain(); // check domain name	
	 	checkClick();
	 }	

}



window.onbeforeunload = function(e)
{

	if (clickonwebsite < 0)
	{
			olink = false;
 			showWebExitSurvey();
 
	}
}

window.onunload = function() 
{

	if (!(isFF))
	{ 
	
		if ((window.event.clientX < 0) && (window.event.clientY < 0))
		{
			olink = false;
		}	
 			showWebExitSurvey();
		
	}else{
		if (isCookieEnable())
		{
			showWebExitSurvey();
		}
	}		
}

function isMyDomain()
{
	
	var locRef;
	locRef = location.href;
	

		
	var aPosition = locRef.indexOf(siteDomainName);
	
 	if (locRef.indexOf(siteDomainName) != -1)
 	{
 		olink = true;
 	}else{
 		olink = false;
 	
 	}

}



if (document.body != null)
{
		document.body.onclick = function() 
		{		
		if (!(isFF))
		{
			if (event != null)
			{			
				doClick(event);
			}
		}	
		}
}


/*
Assign event listeners to all the link on the loaded web page. 
*/

function LinkConvert()
{
	var href;
	var anchors = document.getElementsByTagName('a');
	for(var y = 0; y < anchors.length; y++)
	{
		
		anchors[y].addEventListener('click', doClick, false); 
		
	}
	
}

function isCookieEnable()
{
	if(navigator.cookieEnabled)
	{
	return true;
	
	}else{
	return false;
 	//alert('Your browser has cookies disabled.');
	}

}




function doClick(e)
{

	var eRef;
	detectBrowser();

			
	if (isFF)
	{
		var tt = e.target;			
		eRef = String(e.target);		
		eTag = e.target.tagName;
	}else{
		src = e.srcElement;
		eRef = src.href;
		eTag = e.srcElement.tagName;
	}
	
	    clickonwebsite = 1;

	
	if (eTag != 'A') return;
	
						
	if (eTag == 'A' && eRef.indexOf(siteDomainName) != -1)
	{
	    olink = true;
	
	}
	else
	{
	    olink = false;
	}
	return  olink;
	
	
return true;	
}

function detectBrowser()
{
	
	var val = navigator.userAgent.toLowerCase();
	
	if(val.indexOf("firefox") > -1)
	{  
		LinkConvert();
	    isFF = true;
	 }
	 else if(val.indexOf("opera") > -1)
	 { 
	 	isOP = true; 
	 } 
	 else if(val.indexOf("msie") > -1)
	 {
	 	isIE = true;
	  } 
	  else if(val.indexOf("safari") > -1)
	  {
	    isIE = true;  
	   }
 }



function doExit()
{
	var exitsite;
	
	if (olink == true) {
		exitsite= false;
	}else {
			CreateCookie();
			exitsite = true;
	}
	return exitsite;
}


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;
}

/*
Calculate expiry date of the cookies. If user accept the survey cookie will expire 1st of the next month)  
*/

function getExpDate()
{

var exp = new Date();
var month = exp.getMonth() + 1 ;
var year = exp.getFullYear()  ;

exp.setDate(1);
     if (month > 11) {
          exp.setYear(year+1);
          exp.setMonth(0);
     }else{
         exp.setMonth(month);
     }
     
return exp;

}




function SetCookie (name, value,exp) {
  var argv = SetCookie.arguments;
  var argc = SetCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  
  if (exp >0)
  {
  	expires = getExpDate();
  }else{	
  	expires = null;
  }	
  
  var path = "/";
  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();
}

function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

/*
Read the cookie to see is has been already created.
*/
function checkCount()
{

	var count = GetCookie("count");
	
    if ((count == null) || (count==1))
    {
	return true;
    }else {
	return false;        
     }
}


function CreateCookie()
{
	var count = GetCookie('count');
    if (count == null) 
    {
	    count=1;
		SetCookie("count", count,1);
	}	
}


var showExitSurvey;



function displayStaticMessage(messageContent,cssClass)
{
	messageObj.setSize(520,210);
	messageObj.setCssClassMessageBox(cssClass);
	messageObj.setHtmlContent(messageContent);	
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(true);	// Disable shadow for these boxes
	messageObj.display();
	
}


function closeMessage()
{
 	SetCookie("count", true,-1); 	
 	SetCookie("survey_exclude_me", -1);
 	messageObj.close();
}


function acceptSurvey()
{
	SetCookie("count", true,1);
 	SetCookie("survey_include_me", true,1);
	messageObj.close();
}


function showWebExitSurvey()
{

 if (doExit())
 {
	 if (GetCookie("survey_include_me") == "true")	 
 	{
 		window.open("https://www.surveymonkey.com/s/PR96B2K","mywindow","menubar=0,resizable=1,scrollbars=1,left=5,width=600,height=700");
 		
 		SetCookie("survey_include_me", false,1);
 	}   
 }
 
}
 
function CookiesAreEnabled()
{

  SetCookie("webexit_test_cookies", "123",-1);  
  if (GetCookie("webexit_test_cookies") == "123") {
       DeleteCookie("webexit_test_cookies"); //Delete the cookie.
       return true;
  } else {
       return false;
  }
 
}


