/*
*  Extens Solucions S.L.
*  reserves.js
*/

var nzimmer = 1;

function bildzimmer(tpz, bid, aid){
	bild = document.getElementById(bid).src = '_img/fotos/thtipus/' + tpz + '.jpg';
	alink = document.getElementById(aid).href = tpz + '.php';
}

function setNZimmer(pwv, lang){
	wv = (pwv) ? pwv : parseInt(document.forms[0].nhabitacions.value);
	if(wv > 1)
		 wievielzimmer(wv, 'blbox', lang);
}

function wievielzimmer(wv, mblck, lang){
	var	params, idv = document.getElementById(mblck);
	if(nzimmer < wv){//af
		for(x = (nzimmer+1); x <= wv; x++){
			var neu = document.createElement('div');
			neu.className = "zimmer";
			neu.id = "zimmer" + x;
 			idv.appendChild(neu);
 			params = 'idx=' + x + "&tph=" + encodeURIComponent(_tph) + "&tpp=" + encodeURIComponent(_tpp);
 			params += "&lang=" + encodeURIComponent(lang)
			params += "&de=" + encodeURIComponent(_de) + "&me=" + encodeURIComponent(_me) + "&ds=" + encodeURIComponent(_ds) + "&ms=" + encodeURIComponent(_ms);
 			getZimmer('_php/subzimmer.php', params, neu.id)
		}
	}else{//el
		document.getElementById('cale').style.visibility = 'hidden';
		document.getElementById('cals').style.visibility = 'hidden';
		nremove = nzimmer - wv;
		for(x = idv.childNodes.length; x > 1; x--){
			if(!idv.childNodes[x]) 
				continue; 
			else{
				str = null;
				if(idv.childNodes[x].id)
					str = idv.childNodes[x].id.substring(0, 6);
			}
			if(str == 'zimmer'){
				idv.removeChild(idv.childNodes[x]);
				nremove--;
				if(nremove == 0) break;
			}
		}
	}
	
	nzimmer = parseInt(wv);
}

function getZimmer(url, params, tute){
	var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();
	if(x){
		x.onreadystatechange = function(){
			el = document.getElementById(tute);
			document.getElementById('ldimg').style.visibility = 'visible';
			setZimmerProgress(0);
			if (x.readyState == 4){
				if(x.status == 200){
					el.innerHTML = x.responseText;
					document.getElementById('ldimg').style.visibility = 'hidden';
				 }else{
					x.abort();
					setZimmerProgress(x.status);
				}
			}
		}
		if(params != null) url += "?" +  params;
		x.open("GET", url, true);
		x.send(null);
	}
}

function setZimmerProgress(error){
	document.getElementById('ldimg').src = error ? imgfailed.src : imgloading.src;
}

function checkAndSubmit(fm){
	
	
	var strerr = null, daterr = null;
	var err = document.getElementById('errmsg');
	if(fm.nom.value.length <= 0){
		err.style.color = '#FF0000';
		err.innerHTML = smmsg;
		document.getElementById('lb' + fm.nom.id).className = 'red';
		fm.nom.focus();
		return;
	}else{
		err.style.color = '#4D4D4D';
		document.getElementById('errmsg').innerHTML = smobligatorio;
		document.getElementById('lb' + fm.nom.id).className = 'grau';
	}

	if(fm.llinatges.value.length <= 0){
		err.style.color = '#FF0000';
		err.innerHTML = smmsg;
		document.getElementById('lb' + fm.llinatges.id).className = 'red';
		fm.llinatges.focus();
		return;
	}else{
		err.style.color = '#4D4D4D';
		document.getElementById('errmsg').innerHTML = smobligatorio;
		document.getElementById('lb' + fm.llinatges.id).className = 'grau';
	}
	
	if(fm.telef.value.length < 5){
		err.style.color = '#FF0000';
		err.innerHTML = smtelef;
		document.getElementById('lb' + fm.telef.id).className = 'red';
		fm.telef.focus();
		return;
	}else{
		err.style.color = '#4D4D4D';
		document.getElementById('errmsg').innerHTML = smobligatorio;
		document.getElementById('lb' + fm.telef.id).className = 'grau';
	}	
	
	error = checkEmail(fm.email.value)
	if(error){
		err.style.color = '#FF0000';
		err.innerHTML = error;
		document.getElementById('lb' + fm.email.id).className = 'red';
		fm.email.focus();
		return;
	}else{
		err.style.color = '#4D4D4D';
		document.getElementById('errmsg').innerHTML = smobligatorio;
		document.getElementById('lb' + fm.email.id).className = 'grau';
	}

	if(!fm.legal.checked){
		remarkBox();
		return;
	}

	nzm = fm.nhabitacions.value;
	for(x = 1; x <= nzm; x++){
		tph = document.getElementById('tphabitacio' + x);
		nad = document.getElementById('adults' + x)
		nfi = document.getElementById('fillets' + x)
		de = document.getElementById('dentrada' + x).value + "-" + document.getElementById('mentrada' + x).value;  
		ds = document.getElementById('dsortida' + x).value + "-" + document.getElementById('msortida' + x).value;
		daterr = checkDates(de, ds);
		if(daterr){
			document.getElementById('lbdentrada' + x).className = 'red';
			alert(daterr);
			return false;
		}else{
			document.getElementById('lbdentrada' + x).className = 'grau';
		}		
		strerr = checkNGuests(tph.value, nad.value, nfi.value);
		if(strerr){
			document.getElementById('lbadults' + x).className = 'red';
			document.getElementById('lbfillets' + x).className = 'red';
			alert(strerr);
			return false;
		}else{
			document.getElementById('lbadults' + x).className = 'grau';
			document.getElementById('lbfillets' + x).className = 'grau';
		}
	}

	fm.submit();
}


function checkDates(date, datm){
	var str = null, de, ds;
	dte = date.split('-');
	dts = datm.split('-');
	if((new Date(dte[2], (parseInt(dte[1]) - 1), dte[0], 0, 0, 0)).getTime() > (new Date(dts[2], (parseInt(dts[1]) - 1), dts[0], 0, 0, 0)).getTime()) 
		str = dentrada;
	return str;
}

function checkNGuests(tph, na, nf){
	var str = null;
	switch(tph){
		case 'hs':
		case 'hsh':
		case 'a34':
			if(na == 3 && nf > 0){
				str = res234;
			}else if(na == 2 && nf > 2 ){
				str = res234;
			}
			break;
		case 'a2':
		case 'hd':
			if(na > 2){
				str = res2;
			}else if(na == 2 && nf > 0){
				str = res2;
			}if(na < 2 && nf > 2){
				str = res2;
			}
			break;
	}
	return str;
}

