
function showMessage(type, text)
{
	var newel=document.createElement("div");
	var panel=document.getElementById("message_panel");
	var message = null;
	panel.innerHTML = '';

	if (type=='ok')
	{
		newel.className = 'success';
	}
	else if (type=='error')
	{
		newel.className = 'error';
	}
	else if (type=='warning')
	{
		newel.className = 'warning';
	}
	else
	{
		newel.className = 'info';
	}
	newel.innerHTML = text;
	panel.appendChild(newel);
	//panel.scrollTop = 0;
	scroll(0,0);
}

function validarEmail(valor) 
 {
     if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
	 {
            return (true)
     } else {
    showMessage('error', alert_mail);
    return (false);
  }
}

function getPersonVal(field, index)
{
	var frm = document.forms['form1'];
	var el = 'person['+index+']['+field+']';
	return frm.elements[el.toString()].value;
}

function comprobar()
{
	document.getElementById("message_panel").innerHTML = '';

	var frm = document.forms['form1'];

	var persons = selectedRadio(frm.room);
	if (persons == -1)
	{
		persons = 1;
	}
	else 
	{
		persons = parseInt(getRel(frm.room[persons]));
	}
	for (var i=0; i < persons; i++)
	{
		if (!(getPersonVal('name', i) && getPersonVal('idcard', i) && getPersonVal('province', i) && getPersonVal('phone', i) && validarEmail(getPersonVal('email', i))!=false && getPersonVal('birthday', i)))
		{
			showMessage('error', alert_fields);
			return false;
		}
	}

	if (selectedRadio(frm.room)==-1 || selectedRadio(frm.date)==-1 || selectedRadio(frm.payment)==-1)
	{
		showMessage('error', alert_fields);
		return false;
	}

	if(frm.imagecode.value=="")
	{
		showMessage('error', alert_code);  
		return false;
	}
  return true;  
}

function selectedRadio(radiogroup)
{
	if(radiogroup.length)
	{
		for(i=0;i<radiogroup.length;i++)
		{
			if(radiogroup[i].checked) return i;
		}
	}
	else 
	{
		if(radiogroup.checked)
		{
			return 0;
		}
	}
	
	return -1;
}

function getRel(obj)
{
	if(obj.getAttribute('rel'))
	{
		return obj.getAttribute('rel');
	}
	else 
	{
		return 0;
	}
}


function changePrice(addPrice)
{
	var priceBox = document.getElementById('price_box');
	var currentPrice = parseFloat(priceBox.firstChild.nodeValue);
	priceBox.firstChild.nodeValue = currentPrice + addPrice;
}

function recalculatePrice()
{
	var price = offerPrice;
	var frm = document.forms['form1'];
	var persons = selectedRadio(frm.room);
	if (persons == -1)
	{
		persons = 1;
	}
	else 
	{
		persons = parseInt(getRel(frm.room[persons]));
	}

	if(frm.transportation)
	{
		var transp = selectedRadio(frm.transportation);
		if (transp != -1)
		{
			price += parseInt(getRel(frm.transportation[transp]));
		}
	}

	var extrs = frm.elements['extras[]'];
	if (extrs && !extrs.length)
	{
		if (extrs.checked == true)
		{
			price = price + parseFloat(getRel(extrs));
		}
	}
	else if (extrs && extrs.length)
	{
		for (var i=0; i<extrs.length; i++)
		{
			if (extrs[i].checked == true)
			{
				price = price + parseFloat(getRel(extrs[i]));
			}
		}
	}

	if (frm.elements['insurance'].checked)
	{
		price += parseFloat(getRel(frm.elements['insurance']));
	}

	price = price * persons;
	var priceBox = document.getElementById('price_box');
	priceBox.firstChild.nodeValue = price.toString();
	
}

function addPersonalBlock(copyfrom, writeto) 
{
	var newFields = document.getElementById(copyfrom).cloneNode(true);
	newFields.id = copyfrom+'box'+counter;
	newFields.style.display = 'block';
	var newField = newFields.getElementsByTagName('INPUT');//newFields.childNodes;
	var passg = newFields.getElementsByTagName('STRONG');
	passg[0].innerHTML = passanger_num_title+' ' + (counter+1);
	var id = 'id' + counter;
	for (var i=0;i<newField.length;i++) {
		var theName = newField[i].name;
		if (theName)
		{
			newField[i].name = theName.replace(/\[\]/, "[" + counter +"]");
		}
	}
	var insertHere = document.getElementById(writeto);
	//assign validation
	insertHere.appendChild(newFields);
	var fields = document.getElementById(copyfrom+'box'+counter).getElementsByTagName('INPUT');
	for (var i=0;i<fields.length;i++) {
		if (fields[i].name)
		{
			check.register($(fields[i]));
		}
	}
	counter++;
}

function removePersonalBlock(removefrom, block)
{
	//unassign validation
	var fields = block.getElementsByTagName('INPUT');
	for (var i=0;i<fields.length;i++) {
		if (fields[i].name)
		{
			fields[i].getProperty("class").split(' ').each(function(classX) 
			{
				if(classX.match(/^validate(\[.+\])$/)) {
					check.dispose($(fields[i]));
				}
			}
			);
		}
	}
	document.getElementById(removefrom).removeChild(block);
	counter--;
}

function remakePersonalBoxes(room)
{
	if (!counter)
	{
		counter = 0;
	}
	var persons = parseInt(getRel(room));
	var personBlock = document.getElementById('personalinfo');
	if (counter < persons)
	{
		var total = persons-counter;
		for (var i=0; i < total; i++)
		{
			addPersonalBlock('peronalbox', 'personalinfo');
		}
	}
	else if (counter > persons)
	{
		var blocks = personBlock.getElementsByTagName('DIV');
		if (blocks.length)
		{
			var start = blocks.length;
			for (var i=start; i > persons; i--)
			{
				removePersonalBlock('personalinfo', blocks[i-1]);
			}
		}
	}
}

function requestSent()
{
	document.getElementById('submit22').disabled=true;
	showMessage('warning', alert_sent);
}
function requestSucceded()
{
	showMessage('ok', alert_ok);
}
function requestFailed()
{
	showMessage('error', alert_fields);
	document.getElementById('submit22').disabled=false;
}