
window.onload = init;

function init(){

	var key = ['d', 'm', 'i', 'n' , 'i', 's', 'r', 'a', 'c', 'i', 'o', 't', 'a'];
	var addrr = key[12] + key[0] + key[1] + key[2] + key[3] + key[4] + key[5] + key[11] + key[6] + key[7] + key[8] +  key[9] +  key[10] + complete(); 	
	var elements = $('aemail', 'fname', 'sname', 'email', 'message', 'svalues', 'lopd', 'send', 'gmap');
		
	if(elements[0]) elements[0].innerHTML = '<a h' + 'ref="ma' + 'ilto:' + addrr + '">' + addrr + '</a>';			
		
	if(elements[1] && elements[2] && elements[3] && elements[4] && elements[5] && elements[6] && elements[7]){
		var svalues = elements[5].value.split('|');
		Event.observe(elements[1], 'focus', function(){ if(this.value == svalues[0]) this.value = ''; });		
		Event.observe(elements[1], 'blur', function(){ this.value = this.value.trim(); if(this.value == '') this.value = svalues[0]; });
		Event.observe(elements[2], 'focus', function(){  if(this.value == svalues[1]) this.value = ''; });		
		Event.observe(elements[2], 'blur', function(){ this.value = this.value.trim(); if(this.value == '') this.value = svalues[1]; });
		Event.observe(elements[3], 'focus', function(){  if(this.value == svalues[2]) this.value = ''; });		
		Event.observe(elements[3], 'blur', function(){ this.value = this.value.trim(); if(this.value == '') this.value = svalues[2]; });
		Event.observe(elements[4], 'focus', function(){ if(this.value == svalues[3]) this.value = ''; });
		Event.observe(elements[4], 'blur', function(){ this.value = this.value.trim(); if(this.value == '') this.value = svalues[3]; });		
		elements[6].checked = false;
		elements[7].onclick = sendContact;		
	}
	
	if(elements[8]){		
		if(GBrowserIsCompatible()){
			window.onunload = end;
			var map = new GMap2(elements[8]);
			map.addControl(new GSmallMapControl());
			var point = new GLatLng(39.85930303527277, 4.263060092926025);
			var marker = new GMarker(point);			
			map.setCenter(point, 12);
			map.addOverlay(marker);
			var title = "<span style=\"color:#ab000c;font-size:16px;font-weight:bold;\">Retols Irla</span><p style=\"color:#000000;\">C/ Biniarroca, Parcel&middot;la 2, local 13<br />Pol. industrial de Sant Llu&iacute;s</p>";
			marker.openInfoWindowHtml(title);			
			GEvent.addListener(marker, 'click', function(){
				marker.openInfoWindowHtml(title);
			});
		}	
	}
}

function end(){
	if(typeof(GUnload) != 'undefined')
		GUnload();
}

function complete(){
	return ('\x40' + window.location.hostname.replace(/www./,''));
}

String.prototype.trim = function(){
	var str = null;
	var whitespace = new RegExp("^\\s+","gm");	
	str = this.replace(whitespace, "");	
	whitespace = new RegExp("\\s+$","gm");		
	return str.replace(whitespace, "");
}

function checkEmail(strng){
    var emailFilter=/^.+@.+\..{2,6}$/;
    if(!(emailFilter.test(strng))){ 
       return false;
    }else{
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
         if(strng.match(illegalChars)){
       		return false;
       }
    }
	return true;
}

function sendContact(){
	var elements = $('fname', 'sname', 'email', 'message', 'lopd', 'lang');
	var svalues = document.getElementById('svalues').value.split('|');
	var params = '';
	if(elements[0].value != svalues[0])
		params += '&fname=' + encodeURIComponent(elements[0].value);
	if(elements[1].value != svalues[1])
		params += '&sname=' + encodeURIComponent(elements[1].value);	
	if(elements[2].value != svalues[2])
		params += '&email=' + encodeURIComponent(elements[2].value);
	if(elements[3].value != svalues[3])
		params += '&message=' + encodeURIComponent(elements[3].value);	
	params += '&lopd=' + (elements[4].checked ? 'yes' : 'no') + '&lang=' + elements[5].value;
	
	new Ajax.Request('/php/contactform.php', { 
			method: 'post', 
			parameters: params,
			onException: function(header, value){ },
			onComplete: function(transport, json){ 
				switch(result[0])
				{	
					case 0:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;
					case 1:
						elements[0].value = svalues[0];
						elements[1].value = svalues[1];
						elements[2].value = svalues[2];
						elements[3].value = svalues[3];
						document.getElementById('res').innerHTML = '<span class="ok">' + result[1] + '</span>';
						break;
					case -1:
						elements[0].focus();
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;
					case -2:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[1].focus();						
						break;					
					case -3:
						elements[2].focus();					
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;
					case -4:
						elements[3].focus();					
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;						
					case -5:
						elements[4].focus();					
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;												
				}
			} 
	});	
}

