var timeOut;
var scriptHerladen = false;
var scriptTekstPlaatsen = false;
var veld = new Array();

function verzendFormulier() {
	document.getElementById('formulierSamenstellen').submit();
}

function initAjax() {
	var xmlHttp = 0;
	var xmlHttpKstn = 0;
	
	// Firefox, Opera 8.0+, Safari
	try { xmlHttp = new XMLHttpRequest(); }
	  catch (e) {
	    // Internet Explorer
	    try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	      catch (e) {
	        try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
                  catch (e) { xmlHttp = 0 }
	      }
	  }
	return xmlHttp;

	// Firefox, Opera 8.0+, Safari
	try { xmlHttpKstn = new XMLHttpRequest(); }
	  catch (e) {
	    // Internet Explorer
	    try { xmlHttpKstn = new ActiveXObject("Msxml2.XMLHTTP"); }
	      catch (e) {
	        try { xmlHttpKstn = new ActiveXObject("Microsoft.XMLHTTP"); }
                  catch (e) { xmlHttpKstn = 0 }
	      }
	  }
	return xmlHttpKstn;
}

function plaatsCursor(veld) {
  var SelectieStart = veld.value.length
  var SelectieEinde = veld.value.length
  if (veld.set_focus) {
    veld.focus();
    veld.set_focus(SelectieStart, SelectieEinde);
  } else if (veld.createTextRange) {
    var range = veld.createTextRange();
    range.collapse(true);
    range.moveEnd('character', SelectieEinde);
    range.moveStart('character', SelectieStart);
    range.select();
  }
}

function tekstPlaatsen(formulier) {
	if (scriptTekstPlaatsen == false) {
		setTimeout("tekstPlaatsenAkkoord()", 200);

		/* laden aanpassen */
		var innerHtml = "<img src=\"images/IMG_laden_klein.gif\" align=\"middle\">";
		document.getElementById("reactieLaden").innerHTML = innerHtml;

		scriptTekstPlaatsen = true;
	}	
}

function tekstPlaatsenAkkoord() {
	xmlHttp = initAjax();
	xmlHttpKstn = initAjax();
	gegevens = verzamelGegevens('formulierSamenstellen');
	tekstPlaatsenBevestigd('formulierSamenstellen', gegevens);
	
	scriptTekstPlaatsen = false;
}


function tekstPlaatsenBevestigd(formulier, gegevens) {

	if (!xmlHttp) {
		document.getElementById(formulier).submit();
	} else {
		var url = "AJ_samenstellen.php";
		xmlHttp.onreadystatechange = verwerkOntvangst;
		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", gegevens.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(gegevens);

		var urlKstn = "AJ_kosten.php";
		xmlHttpKstn.onreadystatechange = verwerkOntvangstKosten;
		xmlHttpKstn.open("POST", urlKstn, true);
		xmlHttpKstn.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttpKstn.setRequestHeader("Content-length", gegevens.length);
		xmlHttpKstn.setRequestHeader("Connection", "close");
		xmlHttpKstn.send(gegevens);
	}
}

function verzamelGegevens(formulier) {
	var str = "";
	for(var i=0; i < document.getElementById(formulier).elements.length; ++i) {
		switch(document.getElementById(formulier).elements[i].type) {
			case "text":
			case "textarea":
			case "hidden":
				str += document.getElementById(formulier).elements[i].name + "=" +
				escape(document.getElementById(formulier).elements[i].value) + "&";
				break;
			case "select-one":
				str += document.getElementById(formulier).elements[i].name + "=" +
				escape(document.getElementById(formulier).elements[i].options[document.getElementById(formulier).elements[i].selectedIndex].text) + "&";
				break;
		}
	}
	return str;
}

function verwerkOntvangst() {
	if (xmlHttp.readyState==4) {
		clearTimeout(timeOut);
		document.getElementById("samenstellenHeader").innerHTML = xmlHttp.responseText;
		
		document.getElementById("reactieLaden").innerHTML = '';
	}
}

function verwerkOntvangstLengte() {
	if (xmlHttpLengte.readyState==4) {
		clearTimeout(timeOut);
		document.getElementById("samenstellenAJLengte").innerHTML = xmlHttpLengte.responseText;
	}
}

function verwerkOntvangstKosten() {
	if (xmlHttpKstn.readyState==4) {
		clearTimeout(timeOut);
		document.getElementById("samenstellenAJKosten").innerHTML = xmlHttpKstn.responseText;
	}
}

function timeOutWeergeven() {
	var innerHtml = "Er is een onverwachte fout opgetreden, probeer de wijziging opnieuw door te voeren.";
	document.getElementById("samenstellenHeader").innerHTML = innerHtml;
}


function wijzigTekstKleur(nieuweTekstKleur) {
	// huidige tekst kleur
	var huidigeTekstKleur = document.formulierSamenstellen.huidigeTekstKleur.value;
	var huidigeTekstKleurLi = 'tekstKleur_' + huidigeTekstKleur;
	var nieuweTekstKleurLi = 'tekstKleur_' + nieuweTekstKleur;

	// border wijzigen
	document.getElementById(huidigeTekstKleurLi).className='';
	document.getElementById(nieuweTekstKleurLi).className='selected';
	
	// huidige tekst kleur wijzigen
	document.formulierSamenstellen.huidigeTekstKleur.value = nieuweTekstKleur;
}

function wijzigStof(nieuweStof) {
	// huidige tekst kleur
	var huidigeStof = document.formulierSamenstellen.huidigeStof.value;
	var huidigeStofLi = 'stof_' + huidigeStof;
	var nieuweStofLi = 'stof_' + nieuweStof;

	// border wijzigen
	document.getElementById(huidigeStofLi).className='';
	document.getElementById(nieuweStofLi).className='selected';
	
	// huidige Stof wijzigen
	document.formulierSamenstellen.huidigeStof.value = nieuweStof;
}

function wijzigFiguur(nieuweFiguur) {
	// huidige tekst kleur
	var huidigeFiguur = document.formulierSamenstellen.huidigeFiguur.value;
	var huidigeFiguurLi = 'figuur_' + huidigeFiguur;
	var nieuweFiguurLi = 'figuur_' + nieuweFiguur;

	// border wijzigen
	document.getElementById(huidigeFiguurLi).className='';
	document.getElementById(nieuweFiguurLi).className='selected';
	
	// huidige Stof wijzigen
	document.formulierSamenstellen.huidigeFiguur.value = nieuweFiguur;
}

function wijzigLintKleur(nieuweLintKleur) {
	// huidige lint kleur
	var huidigeLintKleur = document.formulierSamenstellen.huidigeLintKleur.value;
	var huidigeLintKleurLi = 'lintKleur_' + huidigeLintKleur;
	var nieuweLintKleurLi = 'lintKleur_' + nieuweLintKleur;

	// border wijzigen
	document.getElementById(huidigeLintKleurLi).className='';
	document.getElementById(nieuweLintKleurLi).className='selected';
	
	// huidige lint kleur wijzigen
	document.formulierSamenstellen.huidigeLintKleur.value = nieuweLintKleur;
	

	// het lint direct wijzigen
	document.getElementById('samenstellenHeaderLint').style.backgroundColor = '#' + nieuweLintKleur;
}

function wijzigVlagDirect(vlag) {
	if(document.formulierSamenstellen.optieWijzigen[0].checked) { 
		// huidige tekst kleur en stof
		var huidigeTekstKleur = document.formulierSamenstellen.huidigeTekstKleur.value;
	
		// hidden velden wijzigen
		var huidigeVlagTekstKleur = document.getElementById('VLAG_' + vlag + '_TekstKleur').value;
		document.getElementById('VLAG_' + vlag + '_TekstKleur').value=huidigeTekstKleur;
		
		// de vlag echt wijzigen
		document.getElementById('vlag_' + vlag).style.color='#' + huidigeTekstKleur;
	} else if(document.formulierSamenstellen.optieWijzigen[1].checked) {
		// huidige tekst kleur en stof
		var huidigeStof = document.formulierSamenstellen.huidigeStof.value;
	
		// hidden velden wijzigen
		var huidigeVlagStof = document.getElementById('VLAG_' + vlag + '_Stof').value;
		document.getElementById('VLAG_' + vlag + '_Stof').value=huidigeStof;
		
		// de vlag echt wijzigen
		document.getElementById('vlag_' + vlag).style.backgroundImage='url(stoffen/thumb/' + huidigeStof + '.jpg)';
	} else if(document.formulierSamenstellen.optieWijzigen[2].checked) {
		// huidige tekst kleur en stof
		var huidigeTekstKleur = document.formulierSamenstellen.huidigeTekstKleur.value;
		var huidigeStof = document.formulierSamenstellen.huidigeStof.value;
	
		// hidden velden wijzigen
		var huidigeVlagTekstKleur = document.getElementById('VLAG_' + vlag + '_TekstKleur').value;
		var huidigeVlagStof = document.getElementById('VLAG_' + vlag + '_Stof').value;
		document.getElementById('VLAG_' + vlag + '_TekstKleur').value=huidigeTekstKleur;
		document.getElementById('VLAG_' + vlag + '_Stof').value=huidigeStof;
		
		// de vlag echt wijzigen
		document.getElementById('vlag_' + vlag).style.color='#' + huidigeTekstKleur;
		document.getElementById('vlag_' + vlag).style.backgroundImage='url(stoffen/thumb/' + huidigeStof + '.jpg)';
	}
}

function wijzigWaardeOptie(veld) {
	if(document.getElementById(veld).value == '') {
		document.getElementById(veld).value = 'ja';
	} else {
		document.getElementById(veld).value = '';
	}
}

function wijzigWaardeOptieOption(veld) {
	document.getElementById(veld).value = document.getElementById(veld + 'Exact').value;
}

function plaatsenInWinkelwagen() {
	document.getElementById('optiesGewensteLengte').value = document.getElementById('optiesGewensteLengteExact').value;
	document.getElementById('totaalPrijs').value = document.getElementById('totaalPrijsExact').value;
	document.formulierSamenstellen.action='index.php?module=winkelwagen&actie=t';
	document.getElementById('formulierSamenstellen').submit();
}

function figuurKleurAanpassen(type) {
	if (type == "verbergen") {
		document.getElementById('samenstellenStap5_kleur').style.display='none';
	} else if (type == "weergeven") {
		document.getElementById('samenstellenStap5_kleur').style.display='block';
	}
}

