// JavaScript Document

current_loc = document.location.href;
if (current_loc.substr(7,3) == "www")
	http_root = 'http://www.chambresdhotes-soleillade.com';
else
	http_root = 'http://chambresdhotes-soleillade.com';

function preLoadImg()
{
	var args = preLoadImg.arguments;
	var imgArray = new Array();
	for (var i=0; i<args.length; i++)
	{
		imgArray[i] = new Image();
		imgArray[i].src = args[i];
	}
}

function popup(url,w,h)
{
	window.open(url,'','top=0,scrollbars=yes,width='+w+',height='+h+'');
}

function swapImg(iId,nSrc)
{
	var img = document.getElementById(iId);
	img.src = nSrc;
}

function timeSwapImg(iId,n,time)
{
	var src = imgs[n];
	swapImg(iId,src);
	n = (n == 1) ? 0 : 1;
	setTimeout("timeSwapImg('"+iId+"',"+n+","+time+")",time);
}

function changePic(n,max_p)
{
	var pic_src = document.getElementById('pics_ch').src;
	var pic_name = pic_src.replace(http_root+'/images/chambres/','');
	var ch_n = pic_name.charAt(3);
	var pic_n = pic_name.charAt(5);
	var pic_next = Number(pic_n)+1;
	var pic_pre = Number(pic_n)-1;
	var p_act = (n == 1) ? pic_next : pic_pre;

	document.getElementById('pics_ch').src = 'images/chambres/ch_'+ch_n+'_'+p_act+'.png';

	if (p_act == max_p)
	{
		document.getElementById('post').href = 'javascript:void(0);';
		document.getElementById('pre').href = 'javascript:changePic(0,'+max_p+');';
	}
	else { if (p_act == 1)
	{
		document.getElementById('pre').href = 'javascript:void(0);';
		document.getElementById('post').href = 'javascript:changePic(1,'+max_p+');';
	}
	else
	{
		document.getElementById('pre').href = 'javascript:changePic(0,'+max_p+');';
		document.getElementById('post').href = 'javascript:changePic(1,'+max_p+');';
	} }
}

function validStr(str,type,car)
{	
	if (type == 0)
	var carOk = 'abcdefghijklmnopqrstuvwxyz\351\350\352\340\342\357\356\364\371\373\347ABCDEFGHIJKLMNOPQRSTUVWXYZ- ';
	else if (type == 1)
		var carOk = '0123456789';
	else if (type == 2)
		var carOk = car;
	var carLen = carOk.length;
	var strLen = str.length;
	var valid = true;
	for (var i=0; i<strLen; i++)
	{	
		for (var j=0; j<carLen; j++)
		{
			if (str.charAt(i) == carOk.charAt(j))
				break;
		}
		if (j == carLen)
		{	
			valid = false;
			break;
		}
	}
   	return valid;
}

function validEmail(str)
{	
	var valid = true;
	if (str.indexOf('@') == '-1')
    		valid = false;
	else
	{	
		var part = str.split('@');
		if (part[1].indexOf('.') == '-1')
			valid = false;
		else if (part[0] == '')
			valid = false;
		else
		{   
			var partDom = part[1].split('.');
			var ext = partDom.pop();
			if (ext.length > 4 || ext.length < 2)
				valid = false;
			else
			{	
				for (var i=0; i<partDom.length; i++)
				{
					if (partDom[i] == '')
					{	
						valid = false;
						break;
					}
				}
				if (valid)
				{	
					var carUserOk = 'abcdefghijklmnopqrstuvwxyz0123456789!#$%&\'*+/=?^_`{|}~-.()';
					var carDomOk = 'abcdefghijklmnopqrstuvwxyz0123456789.-';
					if (!validStr(part[0],2,carUserOk))
						valid = false;
					else if (!validStr(part[1],2,carDomOk))
						valid = false;
				}
			}
        }
    }
	return valid;
}

function validForm()
{
	var valid = true;
	if (document.form_contact.mail.value == '')
	{
		alert('Vous devez renseigner votre e-mail.');
		valid = false;
		document.form_contact.mail.focus();
	}
	else if (!validEmail(document.form_contact.mail.value))
	{
		alert('Votre e-mail semble invalide.');
		valid = false;
		document.form_contact.mail.focus();
	}
	else if (document.form_contact.message.value.length < 20)
	{
		alert('Votre message doit comporter au moins 20 caractères.');
		valid = false;
		document.form_contact.message.focus();
	}
	return valid;
}

