
window.onload = init;

function init(){
	var elements = $('fname', 'sname', 'email', 'message', 'send', 'posmap', 'flwobject', 'lopd');
	
	if(elements[0] && elements[1] && elements[2] && elements[3] && elements[4]){
		Event.observe(elements[1], 'blur', function(){ this.value = this.value.trim(); });
		Event.observe(elements[2], 'blur', function(){ this.value = this.value.trim(); });
		Event.observe(elements[3], 'blur', function(){ this.value = this.value.trim(); });
		Event.observe(elements[4], 'blur', function(){ this.value = this.value.trim(); });
		elements[4].onclick = sendContact;
		elements[7].checked = false;		
	}				
	
	if(elements[5]){
		if(GBrowserIsCompatible()){
			window.unload = end;
			var map = new GMap2(elements[5]);
			map.addControl(new GOverviewMapControl());
			map.addControl(new GSmallMapControl());			
			var point = new GLatLng(39.85981364524359, 4.26295280456543);
			var marker = new GMarker(point);			
			map.setCenter(point, 16);
			map.addOverlay(marker);
			var title = "Carptintería Francisco Gomila";
			marker.openInfoWindowHtml(title);			
			GEvent.addListener(marker, 'click', function(){
				marker.openInfoWindowHtml(title);
			});
		}	
	}
	if(elements[6])
	{
		var	section = document.getElementById('section');
		if(section.value == '0')		
			swffile = 'empresa.swf';
		else if(section.value == '1')
			swffile = 'carpinteria.swf';
		else if(section.value == '2')
			swffile = 'cocinas.swf';
		else if(section.value == '3')
			swffile = 'parquet.swf';
		else if(section.value == '4')		
			swffile = 'muebles.swf';
		else
			swffile = null;
		if(swffile){
			var flashvars = { };		
			var params = { wmode: "transparent" };
			var attributes = { style: "margin-bottom:14px;" };			
			swfobject.embedSWF('/media/' + swffile, "flwobject", "320", "260", "9.0.0", "/media/expressInstall.swf", flashvars, params, attributes);
		}
	}
	
}

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

function showMap(show){
	initCSSWindow('inhaber', 'backwindow', 'gpanel');
	document.getElementById('inhaber').style.display = show ? 'block' : 'none';	
}

function initCSSWindow(container, window, cswindow){
	var elements = $(container, window, cswindow);  
	if(elements[0] && elements[1]){
		var sizes = getPageSizeWithScroll();
		elements[0].style.height = sizes.height + 'px';
		elements[1].style.height = sizes.height + 'px';
	}
	if(elements[2])
		elements[2].style.marginTop = (100 + getPageOffsets().y) + 'px';
}

function getPageSizeWithScroll(){
	if(window.innerHeight && window.scrollMaxY){
		pageWidth = window.innerWidth + window.scrollMaxX;
		pageHeight = window.innerHeight + window.scrollMaxY;
	}else if(document.body.scrollHeight > document.body.offsetHeight){
		pageWidth = document.body.scrollWidth;
		pageHeight = document.body.scrollHeight;
	}else{
		pageWidth = document.body.offsetWidth + document.body.offsetLeft;
		pageHeight = document.body.offsetHeight + document.body.offsetTop;
	}
	return { width: pageWidth, height: pageHeight };
}

function getPageOffsets(){
	var scrOfX = 0, scrOfY = 0;
	if(typeof( window.pageYOffset ) == 'number' ){
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	}else if( document.body && ( document.body.scrollLeft || document.body.scrollTop)){//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	}else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop)){ //IE6 standards
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return { x: scrOfX, y: scrOfY };	
}

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', 'lang', 'lbfname', 'lbsname', 'lbemail', 'lbmessage', 'plopd', 'lopd');
	var params = '';
	params += '&fname=' + encodeURIComponent(elements[0].value);
	params += '&sname=' + encodeURIComponent(elements[1].value);	
	params += '&email=' + encodeURIComponent(elements[2].value);
	params += '&message=' + encodeURIComponent(elements[3].value);	
	params += '&lopd=' + (elements[10].checked ? 'yes' : 'no');
	params += '&lang=' + elements[4].value;
	new Ajax.Request('/php/contactform.php', { 
			method: 'post', 
			parameters: params,
			onComplete: function(transport, json){ 
				elements[5].className = null;
				elements[6].className = null;
				elements[7].className = null;
				elements[8].className = null;
				elements[9].className = null;				
				switch(result[0])
				{	
					case 0:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						break;
					case 1:						
						elements[0].value = '';
						elements[1].value = '';
						elements[2].value = '';
						elements[3].value = '';
						document.getElementById('res').innerHTML = result[1];
						break;
					case -1:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[5].className = 'failed';					
						elements[0].focus();						
						break;
					case -2:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[6].className = 'failed';
						elements[1].focus();						
						break;					
					case -3:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[7].className = 'failed';
						elements[2].focus();
						break;
					case -4:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[8].className = 'failed';
						elements[3].focus();
						break;
					case -5:
						document.getElementById('res').innerHTML = '<span class="failed">' + result[1] + '</span>';
						elements[9].className = 'failed';
						break;
				}
			} 
	});	
}

