




/*
z(n, s, k, e, h, y)
c(o, g)
p(a, c, y)
d = int / int+f

z.c.p.d
*/

var zoneData =
[
		{name:"National",				value:1, duration:"7,14,21", person:"a,c", type: "o,g", code:"n"},
		{name:"East",					value:2, duration:"5,10,4f", person:"a,c", type: "o,g", code:"e"},
		{name:"East 12-25 ans",			value:3, duration:"5,10,4f", person:"y", type: "o", code:"i"},
		{name:"West Kansai",			value:4, duration:"1,2,3,4", person:"a,c", type: "o", code:"k"},
		{name:"West Sanyo",				value:5, duration:"4,8",	 person:"a,c", type: "o", code:"s"},
		{name:"Hokkaido",				value:6, duration:"3,5,4f",  person:"a,c", type: "o,g", code:"h"},
		{name:"Kyushu",					value:7, duration:"3,5",	 person:"a,c", type: "o", code:"y"}

];




var nPass =0;
var total ;
var fraisdos ;


function computePassPrice(xchangerate, commi ){

	if (xchangerate == null || xchangerate == "")
	{
		xchangerate = 1;
	}

	if (commi == null || commi == "")
	{
		commi = 0;
	}



	for(var i in newPriceData) {
		var data = newPriceData[i];
		convertedprice = ( parseFloat(data.price) * parseFloat(xchangerate) /100) ;

		if( data.code != "none")
			document.getElementById(data.code).innerHTML =( Math.ceil( 
				convertedprice
				+ 
				( convertedprice *parseFloat( commi) / 100) 
			) ) + " &#8364;";
	}


}

function LoadPassPrice(){

	for(var i in newPriceData) {
		var data = newPriceData[i];

		if( data.code != "none")
			document.getElementById(data.code).innerHTML = data.price + " " + settings.currency;
	}

}


function select_innerhtml(select, inner) {
	select.innerHTML = "";
	select.outerHTML = select.outerHTML.replace("</SELECT>",inner + "</SELECT>");

}


function videChamp(i){
	if(i.value=="PrÃ©nom..." || i.value=="Nom...")
		document.getElementById(i.id).value = "";
}





//todo:  problÃ¨me Ã  arranger select.value donne le valeur de l'option item choisie, 
// si on change la valeur alors select va vouloir trouver l'valeur de l'option qui possÃ¨de cette valeur 
function check2() {
	//check();
	//transformation
	var b = 0 ;

/*
	for ( b=1 ; b <= nPass ; b++ )
	{
		alert("for"+b);
		alert(document.getElementById('zone'+b).value)
		document.getElementById('zone'+b).value = "oucou";//document.getElementById("zone"+i).name;
		document.getElementById('type'+b).value = "cca" ;//document.getElementById("type"+i).name;
		document.getElementById('duration'+b).value ="ccccc" ;//document.getElementById("duration"+i).name;
		alert(document.getElementById('zone'+b).value);
	}
*/
}




function updatePrix(what) {
	var ar = what.split(',');

	var zone = document.getElementById("zone"+ar[1]).value;

	switch (ar[0])
	{
	case 'z':

		if (document.all)
		{
			select_innerhtml(document.getElementById("type"+ar[1]),addType(zone,document.getElementById("type"+ar[1])));
			select_innerhtml(document.getElementById("duration"+ar[1]),addDuration(zone,document.getElementById("duration"+ar[1])));
		}
		else { 
			document.getElementById('duration'+ ar[1]).innerHTML = addDuration( zone, document.getElementById('duration'+ ar[1]).value );  
			document.getElementById('type'+ ar[1]).innerHTML = addType( zone, document.getElementById('type'+ ar[1]).value );  
		}
		break;

	case 'd':
		break;

	case 't':
		break;


	}
	
	calculePrix();

}


function findPriceCode (code)
{

	for ( var i in newPriceData )
	{
		if( newPriceData[i].code == code) {
			return ""+ newPriceData[i].price;
		}
	}

	return "0";
}


function calculePrix() {

	//mise Ã  jour prix pass	
	total = 0;
	// somme
	for (i=1; i<= nPass; i++) {

		//crÃ©er pass code
		
		var code =  zoneData[document.getElementById('zone'+ i).value - 1].code;
		code = code +	document.getElementById('type'+ i).value;
		
		if(code[0]=='i'){ //cas spécial, enfant et east 12-25ans
			code = code + 'a'
		}
		else{
		code = code +  	(document.getElementById('child'+ i).checked == 0? 'a': 'c');
		}
		
		code = code + 	document.getElementById('duration'+ i).value;

		document.getElementById('prix'+ i).value  = findPriceCode(code);

		document.getElementById('code'+ i).value  = code;
		//alert(code);

		total = total +  parseInt( document.getElementById('prix'+ i).value);
	}
	calculeFraisDossier();
	//fraisdos = fraisdos.toFixed(2);
	if (total !=0){
	total = total + fraisdos;
	}
	document.getElementById('total').value = "Totaal: "+total.toFixed(2).replace( '.' , ',' );
	document.getElementById('orders/price').value = total.toFixed(2).replace( '.' , ',' );
	
}

function calculeFraisDossier(){
	fraisdos =0;
	if (total !=0){
		if (nPass> 0 && nPass<4){
			fraisdos =  parseFloat(document.getElementById('minhandling').innerHTML);
		}
		else{
		fraisdos =  parseFloat(document.getElementById('minhandling').innerHTML);
			for (i=4; i<= nPass; i++) {
				fraisdos = fraisdos + parseFloat(document.getElementById('handlingf').innerHTML);
			}
		}
		fraisdos = fraisdos*121/100; //TVA
		
		document.getElementById('fdos').value="Dossierskosten: " +fraisdos.toFixed(2).replace( '.' , ',' );
		document.getElementById('orders/handlingfee').value = fraisdos.toFixed(2).replace( '.' , ',' );

	}
}


function addZoneList(zone) {


	var sHtml = "";

	for(var i in zoneData) {
		var data = zoneData[i];

		if (zone == data.value)
		{
			sHtml = sHtml +'<option value="'+data.value+'" selected>'+data.name+'</option>';
		}
		else 
			sHtml = sHtml +'<option value="'+data.value+'">'+data.name+'</option>';
	}
	return sHtml;
}



function addType(zone,selected) {
	var sHtml = "";
	var data = zoneData[zone-1];
	var ar = data.type.split(',');
	var s="";
	for (var i in ar)
	{
		if (ar[i]=='o') {
			if (selected =='o') 
				s = "selected";
			sHtml = sHtml +'<option value="'+ar[i]+'" '+s+' >Ordinary</option>';
		}

		else if (ar[i]=='g') {
			if (selected =='g')
				s = "selected";
			sHtml = sHtml +'<option value="'+ar[i]+'"  '+s+' >First Class</option>';
		}

		s = "";

	}


	return sHtml;

}



function addDuration(zone, selected) {


	var sHtml = "<option value=\"0\"></option>";
	var data = zoneData[zone-1];
	
	var ar = data.duration.split(',');
	var s = "";

	for (var i in ar)
	{
		var n = parseInt(ar[i]);


		if (selected == n)
				s = "selected";

		if(ar[i]=="4f") {
			n = 4;
			if (selected == "4f")
				s = "selected";
			sHtml = sHtml +'<option value="'+"4f"+'" '+s+' >4-flex dagen </option>';
		}
		else if (n==1) {
			sHtml = sHtml +'<option value="'+n+'" '+s+'>'+n+' dag </option>';
		}
		else {
			sHtml = sHtml +'<option value="'+n+'" '+s+'>'+n+' dagen </option>';
		}

		s="";
		
	}


	return sHtml;

}

function isHuman() {
	document.getElementById('isHuman').value = "EUREXEUREXEUREX";
}

function addPass() {
	
	//if (nPass==0)
		//document.getElementById('pass0').innerHTML ="";

	var zone = 1;
	var checked = 0;
	var days = 0;
	var type = 'o';

	if( nPass > 0) {
		if (document.getElementById('zone'+nPass)){
			checked= document.getElementById('child'+nPass).checked;
			zone = document.getElementById('zone'+nPass).value;
			days = document.getElementById('duration'+nPass).value;
			type = document.getElementById('type'+nPass).value;
		}
	}

	nPass++;
	
	document.getElementById('nPass').value = nPass;



	var espace="";
	if (nPass < 10)
	{
		espace = " &nbsp; ";
	}

	// couleur impair
	var style1=17;
	var style2=6;
	var style3=5;
	var style4=4;
	var style7=7;
	var backinputprice = "";
	var rowalt="";

	if ( nPass%2 == 0) //couleur pair
	{
		backinputprice = "background-color:#F6F6F6";
		style1 = 16;
		style2 = 13;
		style3 = 12;
		style4 = 11;
		rowalt = 'class="alternaterow"';
	}


var sHtml = 
		'<table class="crudtablestyle" style="width: 900px" id="pass'+nPass+'" cellpadding="0" cellspacing="0"><tr '+rowalt+' style="text-align:center">'
	+	'<td style="width: 33px;"><a  style="text-decoration:none; border:none;" href="javascript:delPass('+nPass+');"><img alt="delete" style="border:none;" src="pics/deleteico.gif" /></a> </td>'
	+	'<td> <strong>Passagier '+nPass+espace+'</strong>'
	+	'<input type="text" onFocus="javascript:this.value=\'\'" name="prenom'+nPass+'" id="prenom'+nPass+'" value="Voornaam..." style="width: 110px"/>  '
	+	'<input type="text" onFocus="javascript:this.value=\'\'" name="nom'+nPass+'" id="nom'+nPass+'" value="Achternaam..." style="width: 110px"/></td>'
	+	'<td style="width: 70px;">'
	+	'<input  name="child'+nPass+'" id="child'+nPass+'" type="checkbox" onClick=\'updatePrix("c,'+nPass+'");\' /></td>'
	+	'<td style="width: 130px;" >'
	+	'<select class="input_style" name="zone'+nPass+'" id="zone'+nPass+'" style="width: 110px" onChange=\'javascript:updatePrix("z,'+nPass+'");\'>'
	+		addZoneList(zone)
	+	'</select></td>'
	+	'<td style="width: 90px;" >'
	+	'<select class="input_style" name="duration'+nPass+'" id="duration'+nPass+'" style="width: 70px" onChange=\'javascript:updatePrix("d,'+nPass+'");\'>'
	+		addDuration(zone,days)
	+	'</select></td>'
	+	'<td style="width: 120px;">'
	+	'<select class="input_style" name="type'+nPass+'" id="type'+nPass+'" style="width: 100px" onChange=\'javascript:updatePrix("t,'+nPass+'");\'>'
	+		addType(zone,type)
	+	'</select></td>'
	+	'<td style="width: 80px; padding-right:10px" ><input align="absmiddle" style="width:40px; border:0px; text-align:right; '+backinputprice+'" value="0" name="prix'+nPass+'" id="prix'+nPass+'"/>,00 '+settings.currency+'</td>'
	+	'</tr></table><input type="hidden" id="code'+nPass+'" name="code'+nPass+'" value="" >'
	;

/*
	var sHtml =  
			'<table class="crudtablestyle2" style="width: 886px" id="pass'+nPass+'" class="style'+style7+'" cellpadding="0" cellspacing="0"><tr '+rowalt+'>'
	+		'<td class="style'+style1+'" style="height: 38px; width: 33px;">&nbsp;&nbsp;&nbsp; <a  style="text-decoration:none; border:none;" href="javascript:delPass('+nPass+');"><img style="border:none;" src="pics/deleteico.gif" width="19" height="20" /></a> </td>'
	+		'<td class="style'+style2+'" style="height: 38px"> <strong>Traveller '+nPass+ espace+'&nbsp; &nbsp;'
	+		'<input type="text" name="prenom'+nPass+'" id="prenom'+nPass+'" value="First Name..." style="width: 110px"/>&nbsp; '
	+		'<input type="text" name="nom'+nPass+'" id="nom'+nPass+'" value="Last Name..." style="width: 110px"/></strong></td>'
	+		'<td style="width: 70px; height: 38px" class="style'+style3+'">'
	+		'<input  name="child'+nPass+'" id="child'+nPass+'" type="checkbox" onClick=\'updatePrix("c,'+nPass+'");\' /></td>'
	+		'<td style="width: 130px; height: 38px" class="style'+style3+'">'
	+		'<select class="input_style" name="zone'+nPass+'" id="zone'+nPass+'" style="width: 110px" onChange=\'javascript:updatePrix("z,'+nPass+'");\'>'
	+		addZoneList(zone)
	+		'</select></td>'
	+		'<td style="width: 90px; height: 38px" class="style'+style3+'">'
	+		'<select class="input_style" name="duration'+nPass+'" id="duration'+nPass+'" style="width: 70px" onChange=\'javascript:updatePrix("d,'+nPass+'");\'>'
	+		addDuration(zone,days)
	+		' </select></td>'
	+		'<td style="width: 120px; height: 38px" class="style'+style3+'">'
	+		'<select class="input_style" name="type'+nPass+'" id="type'+nPass+'" style="width: 100px" onChange=\'javascript:updatePrix("t,'+nPass+'");\'>'
	+		addType(zone,type)
	+		'</select></td>'
	+		'<td style="width: 80px; height: 38px; padding-right:10px"  class="style'+style4+'"><input align="absmiddle" style="width:40px; border:0px; text-align:right;'+ backinputprice +'" value="0" name="prix'+nPass+'" id="prix'+nPass+'"/>,00 â‚¬</td>'
	+		'</tr></table><input type="hidden" id="code'+nPass+'" name="code'+nPass+'" value="" >'
	;
*/


/*
	var TRnode = document.createElement('TR');
	TRnode.setAttribute('id','pass'+nPass);

	//TRnode.innerHTML = sHtml;
	var tradd = document.getElementById('tr_add');
	
	tradd.parentNode.insertBefore(TRnode,tradd );

	// doit fait aprÃ¨s que le noeud TR soit ajoutÃ© au document sinon sHtml sera jamais processÃ© (reconnais pas la ligne de table)
	document.getElementById('pass'+nPass).innerHTML = sHtml;
*/



	var list = document.getElementById("passList");
	var span = document.createElement("SPAN");
	span.innerHTML=sHtml; 
	list.appendChild(span);


	calculePrix();

}


function select_innerhtml(select, inner) {
	select.innerHTML = "";
	select.outerHTML = select.outerHTML.replace("</SELECT>",inner + "</SELECT>");

}



function delPass(toBeDeleted) {
	var slotlibre=0;
	var valueZero;

	var i;

	// au moins un pass 
	if ( nPass == 1) 
		return;


	for (i=toBeDeleted; i< nPass; i++) {
			j = i+1;

				//copie
			var zone = document.getElementById('zone'+ j).value;
			document.getElementById('zone'+ i).value    =  zone;

			if (document.all) //windows ie 
			{
				document.getElementById('duration'+ i).innerHTML="";
				document.getElementById('duration'+ i).outerHTML= document.getElementById('duration'+ i).outerHTML.replace("</SELECT>",addDuration( zone, document.getElementById('duration'+ j).value ) + "</SELECT>");
				document.getElementById('type'+ i).innerHTML="";
				document.getElementById('type'+ i).outerHTML= document.getElementById('type'+ i).outerHTML.replace("</SELECT>",addType( zone, document.getElementById('type'+ j).value ) + "</SELECT>");

			}
			else {
				document.getElementById('duration'+ i).innerHTML = addDuration( zone, document.getElementById('duration'+ j).value );  
				document.getElementById('type'+ i).innerHTML = addType( zone, document.getElementById('type'+ j).value );  

			}

			

			document.getElementById('code'+ i).value    =  document.getElementById('code'+ j).value;

			document.getElementById('prenom'+ i).value =  document.getElementById('prenom'+ j).value;
			document.getElementById('nom'+ i).value    =  document.getElementById('nom'+ j).value;

			document.getElementById('child'+ i).checked  =  document.getElementById('child'+ j).checked;
	
	}
	
	var trnode = document.getElementById('pass'+nPass);
	var parent = trnode.parentNode;

	parent.removeChild(trnode);

	nPass--;
	document.getElementById('nPass').value = nPass;
		

	calculePrix();
}
