function sendOrderForm(form)
{
	if(form != undefined)
	{
		var http = getHTTPObject();
		var formVal = getFormValues(form);
		var rand = randomString();		
		document.getElementById('bestellenForm').innerHTML = 'Een moment geduld, uw bestelling wordt verzonden...';

		http.open("POST", "/sendOrder.php?rand="+rand+"&", true);
		http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		http.onreadystatechange=function()
								{
									if (http.readyState==4  && http.status == 200)
									{
										document.getElementById('bestellenForm').innerHTML = http.responseText;
										scroll(0,0);
									}										
								};
		http.send(formVal);
	}
}

function setPrice()
{
	var http = getHTTPObject();
	var productTypeId = document.getElementById('account').value;
	var tld = document.getElementById('domainTld').value;

	http.open("GET", "/getPrice.php?productTypeId="+productTypeId+"&tld="+tld, true);
	http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
	http.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	http.onreadystatechange=function()
							{
								if (http.readyState==4  && http.status == 200)
								{
									document.getElementById('priceCell').innerHTML = http.responseText;
								}
								
							};
	http.send(null);
}

function validateOrderForm(elm)
{
	var errorString = '';

	if (document.getElementById('domainName').value == '' || !validateDomainName(document.getElementById('domainName').value))
	{
		errorString += 'U dient een (geldige) domeinnaam op te geven.\n';
	}

	if (document.getElementById('domainTld').value == '')
	{
		errorString += 'U dient de extentie van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('account').value == '')
	{
		errorString += 'U dient het soort account op te geven.\n';
	}

	if (document.getElementById('ownerGender').value == '')
	{
		errorString += 'U dient de aanhef van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerFirstname').value == '')
	{
		errorString += 'U dient de voornaam van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerLastname').value == '')
	{
		errorString += 'U dient de achternaam van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerAddress').value == '')
	{
		errorString += 'U dient het adres van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerZipcode').value == '')
	{
		errorString += 'U dient de postcode van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerCity').value == '')
	{
		errorString += 'U dient de woonplaats van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerPhone').value == '')
	{
		errorString += 'U dient het telefoonnummer van de eigenaar van de domeinnaam op te geven.\n';
	}

	if (document.getElementById('ownerEmail').value == '' || !validateEmail(document.getElementById('ownerEmail').value))
	{
		errorString += 'U dient een (geldig) e-mail adres van de eigenaar van de domeinnaam op te geven.\n';
	}
	
	if (document.getElementById('billingDataEqualsOwnerData') != undefined && document.getElementById('billingDataEqualsOwnerData').value == '-1')
	{
		if (document.getElementById('billingGender').value == '')
		{
			errorString += 'U dient de aanhef van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingFirstname').value == '')
		{
			errorString += 'U dient de voornaam van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingLastname').value == '')
		{
			errorString += 'U dient de achternaam van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingAddress').value == '')
		{
			errorString += 'U dient het adres van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingZipcode').value == '')
		{
			errorString += 'U dient de postcode van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingCity').value == '')
		{
			errorString += 'U dient de woonplaats van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingPhone').value == '')
		{
			errorString += 'U dient het telefoonnummer van de administratieve contactpersoon op te geven.\n';
		}

		if (document.getElementById('billingEmail').value == '' || !validateEmail(document.getElementById('billingEmail').value))
		{
			errorString += 'U dient een (geldige) e-mail adres van de administratieve contactpersoon op te geven.\n';
		}
	}

	if (errorString != '')
	{
		alert(errorString);
		return false;
	}
	else
	{
		sendOrderForm(elm);
	}	
}

function setBillingDataFields()
{
	if (document.getElementById('billingDataEqualsOwnerData').value == '1')
	{
		document.getElementById('selectedBillingField').className = 'invisible';
	}
	else
	{
		document.getElementById('selectedBillingField').className = '';
	}
}

function setTransferNotesCell()
{
	if (document.getElementById('domainStatus').value == 'Dit is een nieuwe domeinnaam')
	{
		document.getElementById('transferNotesP').style.display = 'none';

	}
	else
	{
		document.getElementById('transferNotesP').style.display = 'block';

		//style="padding: 20px 0 30px 0;"
	}
}

function randomString()
{
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 16;
	var randomstring = '';
	
	for (var i=0; i<string_length; i++)
	{
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}

	return randomstring;
}


function getHTTPObject() {

  var xmlhttp;

  /*@cc_on

  @if (@_jscript_version >= 5)

    try {

      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e) {

      try {

        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (E) {

        xmlhttp = false;

      }

    }

  @else

  xmlhttp = false;

  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

    try {

      xmlhttp = new XMLHttpRequest();

    } catch (e) {

      xmlhttp = false;

    }

  }

  return xmlhttp;

}

function getFormValues(fobj)
{
   var str = "";

   for(var i = 0;i < fobj.elements.length;i++)
   {

       switch(fobj.elements[i].type)
       {
           case "text":
                str += fobj.elements[i].name +
                 "=" + escape(fobj.elements[i].value) + "&";
                 break;
           case "hidden":
                str += fobj.elements[i].name +
                 "=" + escape(fobj.elements[i].value) + "&";
                 break;
           case "password":
                str += fobj.elements[i].name +
                 "=" + escape(fobj.elements[i].value) + "&";
                 break;
		   case "textarea":
                str += fobj.elements[i].name +
                 "=" + escape(fobj.elements[i].value) + "&";
                 break;
           case "select-one":
                str += fobj.elements[i].name +
                "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                break;
       }
   }

   str = str.substr(0,(str.length - 1));

   return str;
}

function checkNumber(textfield)
{
    inputstring = textfield.value;
   
	if (inputstring.length > 10)
    {
        textfield.value = textfield.value.substring(0, 10);
        return false;
    }
    for (i = 0; i < inputstring.length; i++)
    {
        ch = inputstring.substring(i, i+1);
        
		if (ch < "0" || ch > "9")
		{                                    
			textfield.value = textfield.value.substring(0, i);
			textfield.focus();
			return false;
		}
    }

    return true;
}

function validateEmail(emailAddress)
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(emailAddress))
		return true;

	return false;
}

function validateDomainName(strPC)
{ 
	return typeof strPC=='string' ?strPC.match(/[a-zA-Z0-9\-]+/)==strPC:false;
}

function faqClick(elmName)
{
	if (document.getElementById(elmName).style.display == 'block')
	{
		document.getElementById(elmName).style.display = 'none';
	}
	else
	{
		document.getElementById(elmName).style.display = 'block';
	}		
}

function openPopupWindow(url,width,height) 
{
	new_window = window.open(url,"popWindow","menubar=no,scrollbars=1,width="+width+",height="+height+",left=0,top=0,resizable=0");
}

var time = null;

function move(url)
{
	window.location = url;
}