var incompleteMsg = "Incomplete data!";
var responseVisibleDuration_ms = 5000;
var surveyCookieName = "intranet-poll";
var surveyCookieValue = "participated";
var surveyCookieTempValue = "waitforanswer";
var surveyCookieInitValue = "notyet";
var surveyCookieExpires = new Date();
var logCookieName = "eClog=ID";
var startLoadTime = new Date();
var endLoadTime = new Date();
var objTestImage;  

//var domain = "release.dns.de";
var __path = "/mc/";

//alert('hello from survey.js');


function LoadWithSurvey (incompleteMsg)
{
	//alert('LoadWithSurvey');
	SetPopupIncompleteMsg(incompleteMsg);

	surveyCookieExpires.setTime(surveyCookieExpires.getTime() + (30 * 24 * 60 * 60 * 1000));	// 30 days

	SetDivsDisplay();
} 

function InitSurveyPage (surveyStatus, incompleteMsg)
{
	if (surveyStatus == 2)
	{
		InitSurveyForm();
		
		SetPopupIncompleteMsg(incompleteMsg);
	}
	
	if (surveyStatus == 3)
	{
		InitResponsePage();
	}
	
	if (surveyStatus == 99)
	{
		InitErrorPage();
	}
}

function InitSurveyForm ()
{
	document.getElementById("other_1").value = '';
	document.getElementById("other_1").disabled = true;
	document.getElementById("other_2").value = '';
	document.getElementById("other_2").disabled = true;
	
	document.getElementById("referer").value = location.href;
	
	LoadTestImage();
}

function InitResponsePage ()
{
	document.getElementById('backToStartDiv').style.display = 'block';
	document.getElementById('backInfoDiv').style.display = 'none';
}

function InitErrorPage ()
{
	document.getElementById('backButtonDiv').style.display = 'block';
}

function SetPopupIncompleteMsg(msg)
{
	incompleteMsg = msg;
}

function LoadTestImage ()
{
	startLoadTime = new Date();
	//alert('start image-loading!');
	
	// create an image object
	objTestImage = new Image();  
	
	// set what happens once the image has loaded
	objTestImage.onLoad = testImageLoaded();     

	
	// preload the image file
	objTestImage.src='../skin/ecsurveySpeedTest.jpg';
}

// function invoked on image load
function testImageLoaded()
{  
	var diff = new Date();
	var timediff;
	var secs;
	
	endLoadTime = new Date();
	
	diff.setTime(Math.abs(endLoadTime.getTime() - startLoadTime.getTime()));

	timediff = diff.getTime();
	
	//secs = Math.floor(timediff / 1000); 
	secs = timediff / 1000; 
	
	if (secs == 0.0) secs = 0.001;

	//alert('image loaded in ' + secs + ' seconds!');
	document.getElementById("imgLoadTime").value = secs;
}


function SetDivsDisplay()
{	
	var uid;
	var curVal;
	//Debug Informationen
	//document.getElementById("debug").firstChild.nodeValue = "curCookie :  " + curCookie;

	//document.getElementById("debug").firstChild.nodeValue = document.getElementById("debug").firstChild.nodeValue + "navigator.cookieEnabled=" + navigator.cookieEnabled + " document.cookie= " + document.cookie;
	
	//alert('cookie: ' + document.cookie);
	
	if (navigator.cookieEnabled)
	{
		curVal = GetSurveyCookie();
		
		if (curVal == null)	// cookie not set
		{	
			//alert('cookie not set');

			if (WriteInitialSurveyCookie())
			{
				// don't display survey before user has eClog-cookie
				
				document.getElementById("SurveyDiv").style.display = 'none';
				document.getElementById("ResponseDiv").style.display = 'none';
				document.getElementById("SurveyLink").style.display = 'none';
			}
			else	// survey-cookie can not be set
			{
				// nothing (default-visibilty)
			}
		}
		else	// cookie found
		{
			//alert('Cookie vorhanden - ' + document.cookie);
			
			if (curVal == surveyCookieInitValue)
			{
				//alert('showing survey form');

				var uid = GetLogCookie();
				
				//var xMsg = '';
				//
				//if (document.getElementById("SurveyDiv") == null) xMsg += 'SurveyDiv is null!\r\n';
				//if (document.getElementById("ResponseDiv") == null) xMsg += 'ResponseDiv is null!\r\n';
				//if (document.getElementById("SurveyLink") == null) xMsg += 'SurveyLink is null!\r\n';
				//
				//if (xMsg == '') xMsg += ('all divs found!');
				//
				//alert(xMsg);
				
				document.getElementById("SurveyDiv").style.display = 'block';
				document.getElementById("ResponseDiv").style.display = 'none';
				document.getElementById("SurveyLink").style.display = 'none';
				
				InitSurveyForm();
				
				document.getElementById("survey").value = "1";
				document.getElementById("surveyCancelDiv").style.display = 'block';
				
				//xMsg = 'log_uid is ';
				//
				//if (document.getElementById("log_uid") != null) xMsg += 'not ';
				//
				//xMsg += 'null!';
				//
				//alert(xMsg);
				
				document.getElementById("log_uid").value = uid;			
			}
			else if (curVal == surveyCookieTempValue)	// wait for answer
			{
				//alert('showing response');
			
				document.getElementById("SurveyDiv").style.display = 'none';
				document.getElementById("ResponseDiv").style.display = 'block';
				document.getElementById("SurveyLink").style.display = 'none';	
				
				SetSurveyCookie();
				
				setTimeout('CloseResponse()',responseVisibleDuration_ms);
			}
			else	// allready participated
			{
				//alert('allready participated');
			
				document.getElementById("SurveyDiv").style.display = 'none';
				document.getElementById("ResponseDiv").style.display = 'none';
				document.getElementById("SurveyLink").style.display = 'none';
			}
		}
	}
	else	// cookies not enabled
	{
		// nothing (default-visibilty)
	}
			
	return;
}

 function UpdateInputState(id, enable)
 {
	document.getElementById(id).value = '';
	document.getElementById(id).disabled = !enable;
	
	if (enable)
	{
		document.getElementById(id).focus();
	}
 }

function WriteInitialSurveyCookie ()
{
	var ret = true;
	
	SetSurveyInitialCookie();
	
	if (GetSurveyCookie() == null)
	{
		ret = false;
	}
	//else
	//{
	//	DeleteSurveyCookie();
	//}
	
	return ret;
}

function SetSurveyInitialCookie()
{
    document.cookie = surveyCookieName + "=" + escape(surveyCookieInitValue) + ((surveyCookieExpires) ? "; expires=" + surveyCookieExpires.toGMTString() : "") + ";path=" + __path;
}

function SetSurveyTempCookie()
{
    document.cookie = surveyCookieName + "=" + escape(surveyCookieTempValue) + ((surveyCookieExpires) ? "; expires=" + surveyCookieExpires.toGMTString() : "") + ";path=" + __path;
}

function SetSurveyCookie()
{
    document.cookie = surveyCookieName + "=" + escape(surveyCookieValue) + ((surveyCookieExpires) ? "; expires=" + surveyCookieExpires.toGMTString() : "") + ";path=" + __path;
}

function GetSurveyCookie()
{
    var dc = document.cookie;
    var prefix = surveyCookieName + "=";
    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 GetLogCookie()
{
    var dc = document.cookie;
    var prefix = logCookieName + "=";
    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 DeleteSurveyCookie()
{
	var already_expired = new Date();
	
	already_expired.setTime(already_expired.getTime() - (1111 * 24 * 60 * 60 * 1000));
	
    if (GetSurveyCookie() != null)
    {
        document.cookie = surveyCookieName + "=; expires=" + already_expired.toGMTString() + ";path=" + __path;
    }
}

function CheckAnswers()
{
	var ret = true;
	var found = false;
	
    var i = 0;
    var radioName = '';
    
    if (document.SurveyForm.country.value.length == 0) ret = false;
    if (document.SurveyForm.city.value.length == 0) ret = false;
    
    if (ret)
    {
		radioName = 'question_0';
	    
		for (i = 0; i < document.SurveyForm.elements[radioName].length; i++)
		{
			if (document.SurveyForm.elements[radioName][i].checked == true)
			{
				found = true;
				break;
			}
		}
	    
		if (!found) ret = false;
	}
    
    if (ret)
    {
		found = false;
		radioName = 'question_1';
	    
		for (i = 0; i < document.SurveyForm.elements[radioName].length; i++)
		{
			if (document.SurveyForm.elements[radioName][i].checked == true)
			{
				found = true;
				break;
			}
		}
	    
		if (!found) ret = false;
    }
    
    if (ret)
    {
		found = false;
		radioName = 'question_2';
	    
		for (i = 0; i < document.SurveyForm.elements[radioName].length; i++)
		{
			if (document.SurveyForm.elements[radioName][i].checked == true)
			{
				found = true;
				break;
			}
		}
	    
		if (!found) ret = false;
    }

	if (!ret)
	{
	//alert ('question_0=' + document.SurveyForm.question_0.value + '\r\ncountry=' + document.SurveyForm.country.value + '\r\ncity=' + document.SurveyForm.city.value + '\r\nquestion_1=' + document.SurveyForm.question_1.value + '\r\nquestion_2=' + document.SurveyForm.question_2.value);
		alert (incompleteMsg);
	}
	else
	{
		SetSurveyTempCookie();
	}
	
	return ret;
}

function CloseSurveyForm ()
{
	var soon_expires = new Date();
	
	soon_expires.setTime(soon_expires.getTime() + (1 * 24 * 60 * 60 * 1000));	// 1 day

    document.cookie = surveyCookieName + "=" + escape(surveyCookieValue) + "; expires=" + soon_expires.toGMTString() + ";path=" + __path;
	
	document.getElementById("SurveyDiv").style.display = 'none';
	document.getElementById("ResponseDiv").style.display = 'none';
	document.getElementById("SurveyLink").style.display = 'none';

}

function CloseResponse ()
{
	//document.getElementById("SurveyDiv").style.display = 'none';
	document.getElementById("ResponseDiv").style.display = 'none';
	//document.getElementById("SurveyLink").style.display = 'none';
}
