function closeform(){
	var toclose = document.getElementById("theFormContainer");
	toclose.className = "";
	toclose.innerHTML = "";
}

function showFakturamottagare(){
	var fakturamottagaredelen = document.getElementById("fakturamottagare");
	fakturamottagaredelen.className = "";
}

function hideFakturamottagare(){
	var fakturamottagaredelen = document.getElementById("fakturamottagare");
	fakturamottagaredelen.className = "hideformelement";
}
function showPrenumerationsmottagare(){
	var prenumerationsmottagaredelen = document.getElementById("subscription");
	prenumerationsmottagaredelen.className = "";
}

function hidePrenumerationsmottagare(){
	var prenumerationsmottagaredelen = document.getElementById("subscription");
	prenumerationsmottagaredelen.className = "hideformelement";
}

 
function submitform(e, url) {
	var xmlhttp;
	if (window.XMLHttpRequest)
	{// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else
	{// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlhttp.onreadystatechange=function(){
		if (xmlhttp.readyState==1 || xmlhttp.readyState=="loading"){
			var test = document.getElementById("theFormContainer");
			
			
			var newelement = document.createElement("div");
			newelement.id = 'loading';
			newelement.innerHTML = 'Laddar sidan...';
			
			var containerelement = document.createElement("div");
			containerelement.id = 'loading-container';
			
			containerelement.appendChild(newelement);
			
			test.appendChild(containerelement);
			
			scrollToTop();
		}
		if (xmlhttp.readyState==4 && xmlhttp.status==200){
			var theContainer = document.getElementById("theFormContainer");
			theContainer.innerHTML=xmlhttp.responseText;
			
			var dibsradiotest = theContainer.getElementById("dibsradio");
			if(dibsradiotest.checked){
				//Hides the fakturamottagareform
				hideFakturamottagare();
			}
			else{
				//shows the fakturamottagareform
				showFakturamottagare();
			}
			var wantstoreadradiotest = document.getElementById("wantstoreadradio");
			if(wantstoreadradiotest.checked){
				//shows the prenumerationsmottagareform
				showPrenumerationsmottagare();
			}
			else{
				//Hides the prenumerationsmottagareform
				hidePrenumerationsmottagare();
			}
			
		}
	}				
	
	xmlhttp.open('POST',url,true);
	xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	
	
	if (url.indexOf("change") == -1) {	
		/*TYPE OF SUBSCRIBINGCHOISE*/
		var alreadyreaderradio = document.getElementById("alreadyreaderradio");
		var wantstoreadradio = document.getElementById("wantstoreadradio");
		var noreaderradio = document.getElementById("noreaderradio");
		
		var thesubscribevalue = "";
		if(alreadyreaderradio.checked){
			thesubscribevalue = "redan";
		}
		if(wantstoreadradio.checked){
			thesubscribevalue = "vill";
		}
		if(noreaderradio.checked){
			thesubscribevalue = "nej";
		}

		/*FÅ EPOSTMEDELANDEN*/
		var emailsornot = document.getElementById("emailsornot");
		var getemails = "";
		if(emailsornot.checked){
			getemails = "yes";
		}
		
		/*BETALNINGSTYP*/
		var dibsradio = document.getElementById("dibsradio");
		var fakturaradio = document.getElementById("fakturaradio");
		var paymenttypechecked = "";
		if(fakturaradio.checked){
			paymenttypechecked = "faktura";
		}
		if(dibsradio.checked){
			paymenttypechecked = "dibs";
		}
	}
	else{
		/*TYPE OF SUBSCRIBINGCHOISE*/
		var thesubscribevalue = e.subscribe.value;
		
		
		/*BETALNINGSTYP*/
		var paymenttypechecked = e.paymenttype.value;
		
		/*FÅ EPOSTMEDELANDEN*/
		var getemails = e.reviveemails.value;
	}
	
	
	/*THEEXTRAEMAILS:*/
	if(url.indexOf("change") == -1){
		var emailextras = document.theeventform.elements["emailextra[]"];
	}
	else{
		var emailextras = document.change.elements["emailextra[]"];
	}
	
	var stringtosend = "";
	if(emailextras){
		for(i=0;i<emailextras.length;i++)
		{
			if(emailextras[i].value != "not"){
				stringtosend = stringtosend+"&emailextra["+i+"]="+emailextras[i].value;
			}	
		}
	}

	/*THEEXTRANAMES:*/
	if(url.indexOf("change") == -1){
		var nameextras = document.theeventform.elements["nameextra[]"];
	}
	else{
		var nameextras = document.change.elements["nameextra[]"];
	}
	
	if(nameextras){
		for(i=0;i<nameextras.length;i++)
		{
			if(nameextras[i].value != "not"){
				stringtosend = stringtosend+"&nameextra["+i+"]="+nameextras[i].value;
			}
		}
	}
	
	xmlhttp.send("numberofticketts="+e.numberofticketts.value+
			"&discountcode="+e.discountcode.value+
			"&fname="+e.fname.value+
			"&lname="+e.lname.value+
			"&email="+e.email.value+
			"&phone="+e.phone.value+
			"&subscribe="+thesubscribevalue+
			"&numberofeditions="+e.numberofeditions.value+
			"&fnamesubscription="+e.fnamesubscription.value+
			"&lnamesubscription="+e.lnamesubscription.value+
			"&postadresssubscription="+e.postadresssubscription.value+
			"&postnummersubscription="+e.postnummersubscription.value+
			"&stadsubscription="+e.stadsubscription.value+
			"&landsubscription="+e.landsubscription.value+
			"&paymenttype="+paymenttypechecked+
			"&faktruracompany="+e.faktruracompany.value+
			"&faktrurapostadress="+e.faktrurapostadress.value+
			"&faktrurapostnummer="+e.faktrurapostnummer.value+
			"&faktrurastad="+e.faktrurastad.value+
			"&faktruraland="+e.faktruraland.value+
			"&theeventid="+e.theeventid.value+
			"&reviveemails="+getemails+
			"&extraticketsinformation="+e.extraticketsinformation.value+stringtosend);
	/*"&emailextra[0]="+stringtosend*/
}
 

function scrollToTop()
{
	//Lite b√Â§tre men inte perfekt. Ange elementets id som du vill scrolla till.
	smoothScroll("header");
}

function currentYPosition() {
    // Firefox, Chrome, Opera, Safari
    if (self.pageYOffset) return self.pageYOffset;
    // Internet Explorer 6 - standards mode
    if (document.documentElement && document.documentElement.scrollTop)
        return document.documentElement.scrollTop;
    // Internet Explorer 6, 7 and 8
    if (document.body.scrollTop) return document.body.scrollTop;
    return 0;
}

function elmYPosition(eID) {
    var elm = document.getElementById(eID);
    var y = elm.offsetTop;
    var node = elm;
    while (node.offsetParent && node.offsetParent != document.body) {
        node = node.offsetParent;
        y += node.offsetTop;
    } return y;
}

function smoothScroll(eID) {
    var startY = currentYPosition();
    var stopY = elmYPosition(eID);
    var distance = stopY > startY ? stopY - startY : startY - stopY;
    if (distance < 100) {
        scrollTo(0, stopY); return;
    }
    var speed = Math.round(distance / 60);
    if (speed >= 20) speed = 20;
    var step = Math.round(distance / 25);
    var leapY = stopY > startY ? startY + step : startY - step;
    var timer = 0;
    if (stopY > startY) {
        for ( var i=startY; i<stopY; i+=step ) {
            setTimeout("window.scrollTo(0, "+leapY+")", timer * speed);
            leapY += step; if (leapY > stopY) leapY = stopY; timer++;
        } return;
    }
    for ( var i=startY; i>stopY; i-=step ) {
        setTimeout("window.scrollTo(0, "+leapY+")", timer * speed);
        leapY -= step; if (leapY < stopY) leapY = stopY; timer++;
    }
}

