function getHttp() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr =new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}

function prepareForm() {
	if (!document.getElementById) {
		return;
	}
	if (!document.getElementById("emailform")) {
		return;
	}
	if (!document.getElementById("nyhedsmail")) {
		return;
	}
	if (!document.getElementById("emailinput")) {
		return;
	}
	document.getElementById("emailform").onsubmit = function() {
		// check først at email er okay
		if (checkEmail()) {
			var indhold = document.getElementById("emailinput").value;
			var  data = "email="+indhold;		
			return !sendEmail(data);		
		} else {
			return false;
		}
	};	
	
	
	// Start indkøbskurven
	kurvediv = document.getElementById('kurv');
	kurvediv.style.position = 'relative';
	myTimer = setInterval("flydendeKurv()", 250);
	
}

function checkEmail() {
	var address = document.getElementById("emailinput").value;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(address) == false) {
    	alert("Der er en fejl i din email-adresse. Ret den venligst");
        return false;
   	} else {
		return true;
	}
}

function parseResponse(request) {
	if (request.readyState == 4) {
		if (request.status == 200 || request.status == 304) {	
			// Skriv resultatet
			var emailp = document.getElementById("nyhedsmail");
			while (emailp.hasChildNodes()) {
				emailp.removeChild(emailp.lastChild);
			}
			emailp.innerHTML = request.responseText;
			fadeUp(emailp,229,76,124);
			pageTracker._trackPageview("/nyhedsbrev-tilmelding");
			var date = new Date();
			date.setTime(date.getTime()+(24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
			document.cookie = "nyhedsbrev"+"="+"jeps"+expires+"; path=/";
			// prepareForm();
			
			
		}
	}
}

function sendEmail(data) {
	// Instantier XmlHttpRequest-objekt
	var request = getHttp(); 
	// Udfør kun dette, hvis browseren er i stand til at udføre AJAX
	if (request) {
		request.onreadystatechange = function() {
			parseResponse(request);
		};
		request.open("POST","http://www.kondomaten.dk/gememail.php", true);
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		request.send(data);
		visLoader();
		return true;
	} else {
		return false;
	}
}

function visLoader() {
	var emailp = document.getElementById("nyhedsmail");
	while (emailp.hasChildNodes()) {
		emailp.removeChild(emailp.lastChild);
	}
	emailp.innerHTML = "<br><img src=\"http://www.kondomaten.dk/ajax-loader.gif\"> Gemmer email";
}


function fadeUp(element,red,green,blue) {
	if (element.fade) {
		clearTimeout(element.fade);
	}
	element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
	if (red == 255 && green == 255 && blue == 255) {
		return;
	}
	var newred = red + Math.ceil((255-red)/10);
	var newgreen = green + Math.ceil((255-green)/10);
	var newblue = blue + Math.ceil((255-blue)/10);
	var repeat = function() {
		fadeUp(element,newred,newgreen,newblue)
	};
	element.fade =setTimeout(repeat,100)
}



function move() {
			clearInterval(myTimer);
			
			if (window.pageYOffset > -1)
				Yposition = window.pageYOffset;
			else if (document.documentElement.scrollTop > -1)
				Yposition = document.documentElement.scrollTop;
			else
				Yposition = 0;
			
			nuvpos = (kurvediv.style.top) ? parseInt(kurvediv.style.top) : 0;
			
			var diff = Yposition-nuvpos;		
			if (diff < 0) {
				diff = diff*-1;
				var nypos = nuvpos - Math.ceil(diff/10);
			} else {
				var nypos = nuvpos + Math.ceil(diff/10);
			}
			kurvediv.style.top = nypos+'px';
			
			if (diff > 10) {
				setTimeout('move()',50);
			} else {
				myTimer = setInterval("flydendeKurv()", 250);
			}			
			
			
		}
	
		function flydendeKurv() {
			if (window.pageYOffset > -1)
				Yposition = window.pageYOffset;
			else if (document.documentElement.scrollTop > -1)
				Yposition = document.documentElement.scrollTop;
			else
				Yposition = 0;
			
			kurvpos = (kurvediv.style.top) ? parseInt(kurvediv.style.top) : 0;
			
			var y = Yposition;
			
			if (y != kurvpos) {
				move();
			}

			
		}
		
		function kickStart() {
			if (!document.getElementById) return false;
			kurvediv = document.getElementById('kurv');
			kurvediv.style.position = 'relative';
			myTimer = setInterval("flydendeKurv()", 250);
		}