// JavaScript Document
// stores the reference to the XMLHttpRequest object


var xmlHttp = createXmlHttpRequestObject(); 

// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject() 
{	
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // if running Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // if running Mozilla or other browsers
  else
  {
    try 
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
 
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}


function termCheck(checkField)
{
	var checkb=document.getElementById(checkField);
	var errMessage="Du skal lęse og acceptere leveringsbetingelserne";
	if(checkb.checked)
	{
		
		
		
		return true;
	}
	else
	{
		alert(errMessage);
		return false;
	}
}



function showForm(objshow, objhide)
{
	var curVisible=document.getElementById('isvisibleForm');
	curVisible.value=1;
	var curForm=document.getElementById(objshow);
	curForm.style.display="block";
	var curFormH=document.getElementById(objhide);
	curFormH.style.display="none";
}

function showHide(obj)
{
	var curForm=document.getElementById(obj);
	curForm.style.display="block";
}


function submitForm()
{
	document.frmProcessOrder.submit();
}

// make asynchronous HTTP request using the XMLHttpRequest object 




function closeDiv(whatDiv)
{
	if(document.getElementById(whatDiv))
	{
		document.getElementById(whatDiv).style.visibility = "hidden";
		return false;
	}
}


function addValueToInput(curObj, inputObj, valRadio)
{
	if(!document.getElementById(inputObj)) return;
	curInput=document.getElementById(inputObj);
	if(curObj.checked==true)
	{
		curInput.value=valRadio;
	}
}


function validateField(folderpath, obj, divDeliverDay, mdW)
{
	 if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	  {
		  
		var curobj=document.getElementById(obj);
		var curval=curobj.value;
		
		mdWBlock=document.getElementById(mdW);
		
		retFieldName=document.getElementById('po_orderName');
		retFieldAddress=document.getElementById('po_orderAddress');
		retFieldPostnr=document.getElementById('po_orderPostnr');
		retFieldTown=document.getElementById('po_orderTown');
		retFieldMail=document.getElementById('po_orderMail');
		retFieldDeliver=document.getElementById('po_deliverDay');
		curDelD=document.getElementById(divDeliverDay);
		
		var code=curval.charCodeAt(0);
		if(code<49 || code>57)
		{
			curobj.value="";
		}
		if(curval.length==8)
		{
			if(code>=49 || code<57)
			{
				
				retFieldName.value="";
				retFieldAddress.value="";
				retFieldPostnr.value="";
				retFieldTown.value="";
				retFieldMail.value="";
				retFieldDeliver.value="";
				if(document.getElementById("po_deliverPostnr").value=="" || document.getElementById("po_deliverPostnr").value.length<1)
				{
					curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
				}				
				
				xmlHttp.open("GET", folderpath + "validateForm_xml.php?phonenr=" + curval, true);
				
				 // define the method to handle server responses
				xmlHttp.onreadystatechange = handleServerResponse;
				// make the server request
				xmlHttp.send(null);
			}
			else
			{
				curobj.value="";
				retFieldName.value="";
				retFieldAddress.value="";
				retFieldPostnr.value="";
				retFieldTown.value="";
				retFieldMail.value="";
				retFieldDeliver.value="";
				if(document.getElementById("po_deliverPostnr").value=="" || document.getElementById("po_deliverPostnr").value.length<1)
				{
					curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
				}
				return false;
				
			}
		}
		if(curval.length>8)
		{
			if(document.getElementById("po_deliverPostnr").value=="" || document.getElementById("po_deliverPostnr").value.length<1)
			{
				mdWBlock.style.visibility = "visible";
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
				document.getElementById("isDeliverAvailable").value=0;
				document.frmProcessOrder.po_deliverWay[0].checked=false;
				document.frmProcessOrder.po_deliverWay[0].disabled=true;
				document.frmProcessOrder.po_deliverWay[1].checked=true;
				document.frmProcessOrder.po_deliverWay[0].disabled=false;
			}
			retFieldName.value="";
			retFieldAddress.value="";
			retFieldPostnr.value="";
			retFieldTown.value="";
			retFieldMail.value="";
			retFieldDeliver.value="";
			curDelD.value="";
			return false;
		}
	  }
}


// executed automatically when a message is received from the server
function handleServerResponse() 
{
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200) 
    {
		if(xmlHttp.responseText=="" || xmlHttp.responseText.length<3)
		{
			if(document.frmProcessOrder.isDeliverAvailable.value==0 && document.frmProcessOrder.isDeliverPlaceSet.value==1)
			{					
				document.frmProcessOrder.po_deliverWay[0].checked=false;
				document.frmProcessOrder.po_deliverWay[0].disabled=true;
				document.frmProcessOrder.po_deliverWay[1].checked=true;
				document.frmProcessOrder.po_deliverWay[1].disabled=false;
				mdWBlock.style.visibility = "hidden";				
				return;
			}
			if(document.frmProcessOrder.isDeliverPlaceSet.value==0 && document.frmProcessOrder.isDeliverPlaceSet.value==0)
			{	
				document.getElementById("isDeliverAvailable").value=1;
				document.frmProcessOrder.po_deliverWay[0].checked=false;
				document.frmProcessOrder.po_deliverWay[0].disabled=true;
				document.frmProcessOrder.po_deliverWay[1].checked=true;
				document.frmProcessOrder.po_deliverWay[1].disabled=false;
				mdWBlock.style.visibility = "hidden";
			
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span> <span class='bsq_2'></span>";
			}
			return false;
		}
      // extract the XML retrieved from the server
      var xmlResponse = xmlHttp.responseXML;
	  
	  
	  if(!xmlResponse || !xmlResponse.documentElement)
	  {
		throw("Invalid XML structure:\n" + xmlHttp.responseText);  
	  }
	  
	  var rootNodeName=xmlResponse.documentElement.nodeName;
	  	  
	  if(rootNodeName == "parserror")
	  {
		  throw("Invalid XML structure");
	  }
	  
	 
	  xmlRoot=xmlResponse.documentElement;
	 
	 
      // obtain the document element (the root element) of the XML structure
     
	 	  
	  // get the text message, which is in the first child of
      // the the document element
	 
	 	  
	    titleArray = xmlRoot.getElementsByTagName("obj1");
		helloMessage=titleArray.item(0).firstChild.data;
		retFieldName.value = helloMessage;
		
		
		titleArray = xmlRoot.getElementsByTagName("obj2");
		helloMessage=titleArray.item(0).firstChild.data;
		retFieldAddress.value = helloMessage;
		
		 titleArray = xmlRoot.getElementsByTagName("obj3");
		helloMessage=titleArray.item(0).firstChild.data;
		retFieldPostnr.value = helloMessage;
		
		retFieldDeliver.value=helloMessage;
		
		titleArray = xmlRoot.getElementsByTagName("obj4");
		helloMessage=titleArray.item(0).firstChild.data;
		retFieldTown.value = helloMessage;
		
		
		titleArray = xmlRoot.getElementsByTagName("obj5");
		helloMessage=titleArray.item(0).firstChild.data;
		retFieldMail.value = helloMessage;
		
		if(document.frmProcessOrder.isDeliverAvailable.value==0 && document.frmProcessOrder.isDeliverPlaceSet.value==1)
		{					
			document.frmProcessOrder.po_deliverWay[0].checked=false;
			document.frmProcessOrder.po_deliverWay[0].disabled=true;
			document.frmProcessOrder.po_deliverWay[1].checked=true;
			document.frmProcessOrder.po_deliverWay[1].disabled=false;
			mdWBlock.style.visibility = "hidden";
			return;
		}
		
		if(document.frmProcessOrder.isDeliverPlaceSet.value==0 && document.frmProcessOrder.isDeliverPlaceSet.value==0)
		{	
			document.getElementById("isDeliverAvailable").value=1;
			document.frmProcessOrder.po_deliverWay[0].checked=true;
			document.frmProcessOrder.po_deliverWay[0].disabled=false;
			document.frmProcessOrder.po_deliverWay[1].checked=false;
			document.frmProcessOrder.po_deliverWay[1].disabled=true;
			mdWBlock.style.visibility = "hidden";
		
			titleArray = xmlRoot.getElementsByTagName("obj6");
			helloMessage=titleArray.item(0).firstChild.data;
				
			titleArray1 = xmlRoot.getElementsByTagName("obj7");
			helloMessage1=titleArray1.item(0).firstChild.data;
			curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span> <span class='bsq_2'>" + helloMessage + ", " + helloMessage1 + "</span>";
		}
	
		
			
	   //var btn = document.getElementById('btn'+id);	
	   
		
		 
			  // restart sequence
    } 
    // a HTTP status different than 200 signals an error
    else 
    {
      alert("There was a problem accessing the server: " + xmlHttp.statusText);
    }
  }
}


function checkTown(folderpath, obj, fieldT, divDeliverDay, mdW, whatPartForm)
{
  // proceed only if the xmlHttp object isn't busy
  
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // retrieve the name typed by the user on the form
	
	
	curobj=document.getElementById(obj);
	curval=curobj.value;
	
	curDelD=document.getElementById(divDeliverDay);
	
	retField=document.getElementById(fieldT);
	
	mdWBlock=document.getElementById(mdW);
	
	retFieldDeliver=document.getElementById('po_deliverDay');
	retFieldDeliver.value=curobj.value;
	
	if(curval.length==1)
	{
		var code=curval.charCodeAt(0);
		if(code<48 || code>57)
		{
			curobj.value="";
			return false;
		}
	}
	if(curval.length>1)
	{
		for(var i=2; i<=4; i++)
		{
			var code=curval.substr(i, 1).charCodeAt(0);
			if(code<48 || code>57)
			{
				curobj.value="";
				return false;
			}
		}
	}
	
	//if(whatPartForm==1 || whatPartForm=="1")
	//{
		if(curval.length==0 || curval=="")
		{
			mdWBlock=document.getElementById("messageDeliverWay");
			curobj=document.getElementById("po_orderPostnr");
			curval=curobj.value;
			document.frmProcessOrder.isDeliverPlaceSet.value=0;
			document.getElementById("po_deliverTown").value="";
			curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
		}
	//}
	
	if(curval.length==4)
	{
		var code=curval.substr(1, 3).charCodeAt(0);
		if(code<48 || code>57)
		{
			curobj.value="";
			return false;
		}
		xmlHttp.open("GET", folderpath + "validateForm_xml.php?prodid=" + curval, true);  
	
   	
    // define the method to handle server responses
    xmlHttp.onreadystatechange = function()
	{
		handleServerResponse1(mdWBlock, whatPartForm);
	}
    // make the server request
    xmlHttp.send(null);
	}
	if(curval.length>4)
	{
		if(whatPartForm==1 || whatPartForm=="1")
		{
			if(document.frmProcessOrder.isDeliverPlaceSet.value==0)
			{
				mdWBlock.style.visibility = "visible";
				document.getElementById("isDeliverAvailable").value=0;
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
				document.frmProcessOrder.po_deliverWay[0].checked=false;
				document.frmProcessOrder.po_deliverWay[0].disabled=true;
				document.frmProcessOrder.po_deliverWay[1].checked=true;
				curobj.value = curval;
				retField.value="";
			}
		}
		else if(whatPartForm==2 || whatPartForm=="2")
		{			
				mdWBlock.style.visibility = "visible";
				document.getElementById("isDeliverAvailable").value=0;
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
				document.frmProcessOrder.po_deliverWay[0].checked=false;
				document.frmProcessOrder.po_deliverWay[0].disabled=true;
				document.frmProcessOrder.po_deliverWay[1].checked=true;
				curobj.value = curval;
				retField.value="";
		}
		return false;
		
	}
  }
  
}


function handleServerResponse1(mdWBlock, whatPartForm) 
{
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200) 
    {
		
      // extract the XML retrieved from the server
      var xmlResponse = xmlHttp.responseXML;
	  
	  if(!xmlResponse || !xmlResponse.documentElement)
	  {
		throw("Invalid XML structure:\n" + xmlHttp.responseText);  		
	  }
	  
	  var rootNodeName=xmlResponse.documentElement.nodeName;
	  
	  if(rootNodeName == "parserror")
	  {
		  throw("Invalid XML structure");
	  }
	  
	  xmlRoot=xmlResponse.documentElement;
	  
	 
	 
      // obtain the document element (the root element) of the XML structure
     
	 	  
	  // get the text message, which is in the first child of
      // the the document element
	 	  
	    titleArray = xmlRoot.getElementsByTagName("obj1");
		helloMessage=titleArray.item(0).firstChild.data;
		if(document.getElementById("po_deliverPostnr").value!="" || document.getElementById("po_deliverPostnr").value.length==4)
		{
			retField.value = helloMessage;
			document.frmProcessOrder.isDeliverPlaceSet.value=1;
		}
		if(whatPartForm==2 || whatPartForm=="2")
		{
			if(document.getElementById("po_deliverPostnr").value=="" || document.getElementById("po_deliverPostnr").value.length<1)
			{
				retField.value = "";
				document.getElementById("messageDeliverWay").style.visibility="hidden";
				document.frmProcessOrder.isDeliverPlaceSet.value=1;
			}
		}
		if(whatPartForm==1 || whatPartForm=="1")
		{
			if(document.getElementById("po_deliverPostnr").value=="" || document.getElementById("po_deliverPostnr").value.length<1)
			{
				retField.value = helloMessage;
				document.frmProcessOrder.isDeliverPlaceSet.value=0
			}
		}
				
		
		if(helloMessage.length<1 || helloMessage=="" || typeof(helloMessage)=="undefined" || helloMessage==" ")
		{
			if(whatPartForm==1 || whatPartForm=="1")
			{
				mdWBlock.style.visibility = "visible";
				if(document.frmProcessOrder.isDeliverPlaceSet.value==0)
				{					
					document.getElementById("isDeliverAvailable").value=0;
					document.frmProcessOrder.po_deliverWay[0].checked=false;
					document.frmProcessOrder.po_deliverWay[0].disabled=true;
					document.frmProcessOrder.po_deliverWay[1].checked=true;
					document.frmProcessOrder.po_deliverWay[1].disabled=false;
					curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
					return;
				}
			}
			else if(whatPartForm==2 || whatPartForm=="2")
			{
				
					mdWBlock.style.visibility = "visible";
					document.getElementById("isDeliverAvailable").value=0;
					document.frmProcessOrder.po_deliverWay[0].checked=false;
					document.frmProcessOrder.po_deliverWay[0].disabled=true;
					document.frmProcessOrder.po_deliverWay[1].checked=true;
					document.frmProcessOrder.po_deliverWay[1].disabled=false;
					curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span>";
					document.frmProcessOrder.isDeliverPlaceSet.value=1;
					return;
			}
		}
		else if(helloMessage.length>1)
		{
			if(whatPartForm==1 || whatPartForm=="1")
			{
				mdWBlock.style.visibility = "hidden";
				if(document.frmProcessOrder.isDeliverPlaceSet.value==0)
				{					
					document.getElementById("isDeliverAvailable").value=1;
					document.frmProcessOrder.po_deliverWay[0].checked=true;
					document.frmProcessOrder.po_deliverWay[0].disabled=false;
					document.frmProcessOrder.po_deliverWay[1].checked=false;
					document.frmProcessOrder.po_deliverWay[1].disabled=true;
				}
			}
			if(whatPartForm==2 || whatPartForm=="2")
			{
				mdWBlock.style.visibility = "hidden";
				document.getElementById("isDeliverAvailable").value=1;
				document.frmProcessOrder.po_deliverWay[0].checked=true;
				document.frmProcessOrder.po_deliverWay[0].disabled=false;
				document.frmProcessOrder.po_deliverWay[1].checked=false;
				document.frmProcessOrder.po_deliverWay[1].disabled=true;
				document.frmProcessOrder.isDeliverPlaceSet.value=1;		
				
			}
		}
		
		if(whatPartForm==1 || whatPartForm=="1")
		{	
			if(document.frmProcessOrder.isDeliverPlaceSet.value==0)
			{
				titleArray = xmlRoot.getElementsByTagName("obj2");
				helloMessage=titleArray.item(0).firstChild.data;
				
				titleArray1 = xmlRoot.getElementsByTagName("obj3");
				helloMessage1=titleArray1.item(0).firstChild.data;
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span> <span class='bsq_2'>" + helloMessage + ", " + helloMessage1 + "</span>";
			}
		}
		if(whatPartForm==2 || whatPartForm=="2")
		{
				titleArray = xmlRoot.getElementsByTagName("obj2");
				helloMessage=titleArray.item(0).firstChild.data;
				
				titleArray1 = xmlRoot.getElementsByTagName("obj3");
				helloMessage1=titleArray1.item(0).firstChild.data;
				curDelD.innerHTML = "<span class='sp_1'>Leveringsdag</span> <span class='bsq_2'>" + helloMessage + ", " + helloMessage1 + "</span>";
		}
		
		
		
	   //var btn = document.getElementById('btn'+id);	
	   
		
		 
			  // restart sequence
    } 
    // a HTTP status different than 200 signals an error
    else 
    {
      alert("There was a problem accessing the server: " + xmlHttp.statusText);
    }
  }
}


function handleServerResponse3() 
{
	var sURL = unescape(window.location.pathname);
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200) 
    {
		window.location.reload(true);
	}
  }
}

function setFieldReceiveNewsletters(chk1)
{
	if(chk1.checked==true)
	{
		isNewsletter=1;
	}
	if(chk1.checked==false)
	{
		isNewsletter=0;
	}
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  	{
		xmlHttp.open("GET", "fileadmin/template/main/php/setNewsletter_xml.php?prodid=" + isNewsletter, true);  
	
   	
		// define the method to handle server responses
		xmlHttp.onreadystatechange = function()
		{
			handleServerResponse3();
		}
		// make the server request
		xmlHttp.send(null);
	}
}
