﻿function trimAll(s)
{
	var objRegExp = /^(\s*)$/;			//all spaces
	if(objRegExp.test(s))
	{
		s = s.replace(objRegExp, '');
		if( s.length == 0){return s;}
	}
	objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;		//leading & trailing spaces
	if(objRegExp.test(s)){s = s.replace(objRegExp, '$2');}
	return s;
}

function stripChars(s, bag)
{
var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function removeString(s, t)
{
	var i = s.indexOf(t);
	var r = "";
	if (i == -1) return s;
	r += s.substring(0,i) + removeString(s.substring(i + t.length), t);
	return r;
}

function stripSQL(p)
{
	var s = p.value;
	var b = "/\\*\"\#\$!?();";
	s = stripChars(s, b);
	s = removeString(s, "select ");
	s = removeString(s, "delete ");
	s = removeString(s, "insert ");
	s = removeString(s, "drop ");
	s = trimAll(s);
	s = sanitize(s);
	p.value = s;
}

function sanitize(s)
{
	s = s.replace(/\&/g, "&amp;")
	s = s.replace(/</g, "&lt;")
	s = s.replace(/>/g, "&gt;")
	s = s.replace(/\"/g, "&quot;")
	s = s.replace(/\'/g, "&#39;")
	s = s.replace(/%/g, "&#37;")
	s = s.replace(/\(/g, "&#40;")
	s = s.replace(/\)/g, "&#41;")
	s = s.replace(/\+/g, "&#43;")
	//s = s.replace(/-/g, "&#45;")
	//s = s.replace(/\n/g, "<br>")
	return(s)
}

function validatereg()
{
	var frm = document.regform;
	var msg = "";
	//stripSQL(frm.firstname);
	//stripSQL(frm.lastname);
	//stripSQL(frm.company);
	//stripSQL(frm.title);
	//stripSQL(frm.address1);
	//stripSQL(frm.address2);
	//stripSQL(frm.address3);
	//stripSQL(frm.address4);
	//stripSQL(frm.phone);
	//stripSQL(frm.fax);
	stripSQL(frm.email);
	//stripSQL(frm.custom1);
	//stripSQL(frm.custom2);
	//stripSQL(frm.custom3);
	//if(frm.firstname.value == ""){msg = msg + "Prénom \n";}
	//if(frm.lastname.value == ""){msg = msg + "Nom \n";}
	//if(frm.title.value == ""){msg = msg + "Titre \n";}
	//if(frm.company.value == ""){msg = msg + "Établissement \n";}
	//if(frm.address1.value == ""){msg = msg + "Adresse \n";}
	//if(frm.address2.value == ""){msg = msg + "Ville \n";}
	//if(frm.address3.value == ""){msg = msg + "Code postal \n";}
	//if(frm.address4.value == ""){msg = msg + "Province \n";}
	//if(frm.phone.value == ""){msg = msg + "Téléphone \n";}
	//if(frm.fax.value == ""){msg = msg + "Télécopieur \n";}
	if(frm.email.value == ""){msg = msg + "Courriel \n";}
	else if(frm.email.value.indexOf("@") == -1 || frm.email.value.indexOf(".") == -1 || frm.email.value.length < 7){msg = msg + "Courriel invalide \n";}
	if(!frm.accpt.checked){msg = msg + "Acceptation \n";}
	//if(frm.custom1.value == ""){msg = msg + "Custom \n";}
	//if(frm.custom2.value == ""){msg = msg + "Catégorie \n";}
	//if(frm.custom3.value == ""){msg = msg + "Invité par \n";}
	if (msg == "")
	{
		//frm.target = "_self"
		frm.action = "http://www.degustations-sopexa.com/reg5.php"
		frm.submit();
	}
	else
	{
		msg = "S.V.P. complétez les informations suivantes:\n\n"  + msg;
		alert(msg);
	}
}
