function Set_Cookie( name, value, expires, path, domain, secure )
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split( ';' );
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f

    for ( i = 0; i < a_all_cookies.length; i++ )
    {
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split( '=' );


        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed check_name
        if ( cookie_name == check_name )
        {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if ( a_temp_cookie.length > 1 )
            {
                cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if ( !b_cookie_found )
    {
        return null;
    }
}

function startPopUp() {

	var wn = "new" + (Math.round(Math.random() * 1000000));

	window.open("", wn, 'toolbar=yes,scrollbars=yes,resizable=yes,width=600,height=450,left=16,top=16');

	document.fsName.target = wn;

	document.fsName.submit();

}

function onUnloadSurvey() {
	
	launchSurveyIfNeedTo();
}

function onLoadSurvey() {
	
	//launchSurveyIfNeedTo();
}

function launchSurveyIfNeedTo() {
	
	var d = new Date();
	var startDay = d.getDate();
	var startMonth = d.getMonth();
	var startYear = d.getFullYear();

	var cookieStartDay = Get_Cookie("startday");
	var cookieStartMonth = Get_Cookie("startmonth");
	var cookieStartYear = Get_Cookie("startyear");

	var startTime = d.getTime();

	if (cookieStartDay == null 
		|| cookieStartMonth == null 
		|| cookieStartYear == null)
	{
		// Cookies have not been set.  Set them.
		Set_Cookie('startday', startDay, 30, '/', '', '' );
		Set_Cookie('startmonth', startMonth, 30, '/', '', '' );
		Set_Cookie('startyear', startYear, 30, '/', '', '' );
		
		cookieStartDay = startDay;
		cookieStartMonth = startMonth;
		cookieStartYear = startYear;
	}

	if (startDay != cookieStartDay 
		&& startMonth != cookieStartMonth
		&& startYear != cookieStartYear)
	{
		// Cookies have been set on a different day.  Reset them.
		Set_Cookie('startday', startDay, 30, '/', '', '' );
		Set_Cookie('startmonth', startMonth, 30, '/', '', '' );
		Set_Cookie('startyear', startYear, 30, '/', '', '' );

		// Reset the survey date.
		Set_Cookie('survey', startTime, 30, '/', '', '' );
	}
	
	var surveyDate = Get_Cookie("survey");
	
	if (surveyDate == null)
	{
		//alert("Survey is null");
		//alert(startTime);
		Set_Cookie('survey', startTime, 30, '/', '', '' );
	}
	else
	{
		//alert(surveyDate);
		var curr_date = d.getTime();
		var dateDiff = curr_date - surveyDate;
		var dateDiffSeconds = dateDiff / 1000;
		//alert(dateDiffSeconds + ' seconds');

		var askSurvey = Get_Cookie("asksurvey");
	    
		if (dateDiffSeconds > 120)
		{
			//alert('Been over 120 seconds');
			//alert(askSurvey);

			if (askSurvey == null)
			{
				//alert('Survey has not been asked');

				Set_Cookie('asksurvey', 'false', 30, '/', '', '' );

				startPopUp();
			}
		}
		else
		{
			//alert('Not been over 120 seconds');
		}
	}
}

