$(document).ready(function()
{
	sbContact.init();
	$("#contactSB").click(function()
	{
		sbContact.set();
	});
});
function __log(pMess)
{
    if (window.console && window.console.log)
    	window.console.log(pMess);
}
function __info(pMess)
{
    if (window.console && window.console.info)
    	window.console.info(pMess);
}
function __warn(pMess)
{
    if (window.console && window.console.warn)
    	window.console.warn(pMess);
}
function __error(pMess)
{
    if (window.console && window.console.error)
    	window.console.error(pMess);
}
function __debug(pMess)
{
    if (window.console && window.console.debug)
    	window.console.debug(pMess);
}

var sbContact = (function()
{
	return {
		idG:		"sb-conteneur",
		idClose:	"sb-contact-close",
		idMask:		"sb-contact-mask",
		idContact:	"sb-contact",
		bloc1:		"sb-contact-bloc1",
		bloc2:		"sb-contact-bloc2",
		bloc3:		"sb-contact-bloc3",
		content:	"",
		response:	"response",
		form:		{
						id:		"formContact",
						area:		{
										name:		"name",
										firstName:	"firstname",
										mail:		"mail",
										message:	"message",
										subject:	"subject",
										ville:		"ville",
										CP:			"CP",
										tel:		"tel",
										societe:	"societe"
									},
						reg:		{
										name:		/^(.{40})$/i,
										firstName:	/^(.{40})$/i,
										mail:		/^([_a-z0-9-]+(\.[_a-z0-9-]+)*)@([_a-z0-9-]+(\.[_a-z0-9-]+)*)\.([a-z]{2,6})$/i
									},
						mess:		{
										name1:		"Vous devez remplir le champ 'nom' ",
										subject:		"Vous devez remplir le champ 'objet' ",
										name2:		"Le nom n'est pas au bon format",
										firstName1:	"Vous devez remplir le champ 'prénom' ",
										firstName2:	"Le 'prénom' n'est pas au bon format ",
										mail1: 		"Vous devez remplir le champ 'e-mail'",
										mail2:		"L'e-mail n'est pas au bon format",
										message:	"Vous devez remplir le champ 'message'",
										tel:		"Vous devez remplir le champ 'téléphone'",
										ville:		"Vous devez remplir le champ 'Ville'",
										CP:			"Vous devez remplir le champ 'CP'",
									},
						alert:		""

					},
		init : function()
		{
			makeSB();
		},
		set : function()
		{
			var o = sbContact;
			$("body").prepend(o.content);
			placeHauteur();
			$("#"+o.idG).fadeIn();
			$("#"+o.idClose).click(function()
			{
				o.remove();
			});
			$("#"+o.idMask).click(function()
			{
				o.remove();
			});
		},
		remove:	function()
		{
			var o = sbContact;
			$("#"+o.idG).fadeOut("slow", function()
			{
				$(this).remove();
			});
			
		},
		actVerif: function()
		{
			var o = sbContact;
			verif();
			if(  o.form.alert == "" )
			{
			    send();
			}
			else
			{
			    alert(o.form.alert);	
			}
		}
	}
	function placeHauteur()
	{
		var o = sbContact;
		var $myheight = 0;
		if($.browser.msie)
		{
			$myheight = $(window).height();
		}
		else
		{
			$myheight = window.innerHeight;
		}
		
		var $newHeight = Math.round(($myheight/2)-(305/2));
		$("#"+o.idContact).css("top",$newHeight+"px");
		
	}
	function makeSB()
	{
		var o = sbContact;
		var m = "";
		m += "<div id='"+o.idG+"' >";//1
		m += "<div id='"+o.idContact+"' >";//2
		m += "<div id='sb-contact-blocs' >";//3
		m += "<span id='"+o.idClose+"' >x</span>";
		m += "<div id='"+o.bloc1+"' class='bloc_content' >";//4
		m += makeBloc1();
		m += "</div>";//4
		m += "<div id='"+o.bloc2+"' class='bloc_content' >";//5
		m += makeBloc2();
		m += "</div>";//5
		m += "<div id='"+o.bloc3+"' class='bloc_content' >";//6
		m += makeBloc3();
		m += "</div>";//6
		m += "<div class='clear'></div>"
		m += "</div>";//3
		m += "</div>";//2
		m += "<div id='"+o.idMask+"'></div>";
		m += "</div>";//1
		o.content = m;
	}
	function makeBloc3()
	{
		var o = sbContact;
		m = "";
		m += "<h1>Coordonn&eacute;es</h1>";
		m += "<br /><br /><br /><h1>léonard_ multimedia</h1>";
		m += "<p>26 rue jacques prévert<br />69 140 rillieux la pape<br />";
		m += "tél : 09 745 337 85 <br />";
		m += "fax : 09 721 132 16<br />";
		m += "</p>";
		return m;
	}
	function makeBloc2()
	{
		var options = 	new Array(
							"cahier des charges",
							"site vitrine - blog",
							"site Internet",
							"site e-commerce",
							"webmastering . réferencement",
							"formation",
							"consulting",
							"stratégies sur les medias sociaux",
							"marketing web",
							"autres"
						);
		var o = sbContact;
		m = "";
		m += "<h1>Formulaire de contact</h1>"
		m += "<form name='"+o.form.id+"' id='"+o.form.id+"' action='contact.php' method='post' >";
		m += "<span class='bloc1'>";
		m += "<label for='name'>Nom</label><br /><input type='text' name='name' id='name' class='input' /><br />";
		m += "<label for='firstname'>Pr&eacute;nom</label><br /><input type='text' name='firstname' id='firstname' class='input' /><br />";
		m += "<label for='mail'>email</label><br /><input type='text' name='mail' id='mail' class='input' /><br />";
		m += "<label for='societe'>Soci&eacute;t&eacute;</label><br /><input type='text' name='societe' id='societe' class='input' /><br />";
		m += "<label for='adresse'>Adresse</label><br /><input type='text' name='adresse' id='adresse' class='input' /><br />";
		m += "<label for='CP'>Code Postal</label><br /><input type='text' name='CP' id='CP' class='input' /><br />";
		m += "<label for='ville'>Ville</label><br /><input type='text' name='ville' id='ville' class='input' /><br />";
		m += "<label for='tel'>Tel</label><br /><input type='text' name='tel' id='tel' class='input' /><br />";
		m += "</span>";
		m += "<span class='bloc2'>";
		m += "<label for='subject'>objet</label><br />";
		m += "<select type='text' name='subject' id='subject' class='input' >";
		for(var i=0,l=options.length;i<l; i++)
			m += "<option value='"+i+"'>"+ options[i] +"</option>";
		m += "</select>";
		m += "<label for='message'>message</label><br /><textarea name='message' id='message'></textarea><br /><br />";
		m += "<input type='button' value='envoyer' onclick='sbContact.actVerif()' class='inputButton submit'/>";
		m += "</span>";
		m += "<div class='clear'></div>"
		m += "</form>";
		return m;
	}
	function makeBloc1()
	{
		var o = sbContact;
		m = "";
		m += '<iframe width="303" height="313" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.fr/maps?f=q&amp;source=s_q&amp;hl=fr&amp;geocode=&amp;q=leonard+multimedia&amp;sll=45.754408,4.84892&amp;sspn=0.111031,0.264187&amp;ie=UTF8&amp;hq=leonard+multimedia&amp;hnear=&amp;ll=45.833225,4.910545&amp;spn=0.10795,0.264187&amp;z=13&amp;iwloc=A&amp;cid=1240826037972259039&amp;output=embed"></iframe><br /><small><a href="http://maps.google.fr/maps?f=q&amp;source=embed&amp;hl=fr&amp;geocode=&amp;q=leonard+multimedia&amp;sll=45.754408,4.84892&amp;sspn=0.111031,0.264187&amp;ie=UTF8&amp;hq=leonard+multimedia&amp;hnear=&amp;ll=45.833225,4.910545&amp;spn=0.10795,0.264187&amp;z=13&amp;iwloc=A&amp;cid=1240826037972259039" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>';
		m += "";
		return m;
	}
	
	function verif()
	{
		var o = sbContact;
		var mess = "";
		
		// vérifie le "Nom"
		if($("#"+o.form.area.name).val() == "")
		{
			mess += o.form.mess.name1+"\n";
		}
		else
		{
			if(o.form.reg.name.test($("#"+o.form.area.name).val()))
			{
				mess += o.form.mess.name2+"\n";
			}
		}
		// vérifie le "Prénom"
		if($("#"+o.form.area.firstName).val() == "")
		{
			mess += o.form.mess.firstName1+"\n";
		}
		else
		{
			if(o.form.reg.firstName.test($("#"+o.form.area.firstName).val()))
			{
				mess += o.form.mess.firstName2+"\n";
			}
		}
		// vérifie l' "Objet"
		if($("#"+o.form.area.subject).val() == "")
		{
			mess += o.form.mess.subject+"\n";
		}
		
		// vérifie l' "adresse e-mail"
		if($("#"+o.form.area.mail).val() == "")
		{
			mess += o.form.mess.mail1+"\n";
		}
		else
		{
			if(!o.form.reg.mail.test($("#"+o.form.area.mail).val()))
			{
				mess += o.form.mess.mail2+"\n";
			}
		}
		// vérifie le tel
		if($("#"+o.form.area.tel).val() == "")
		{
			mess += o.form.mess.tel+"\n";
		}
		// vérifie l'adresse
		if($("#"+o.form.area.adresse).val() == "")
		{
			mess += o.form.mess.adresse+"\n";
		}
		// vérifie la ville
		if($("#"+o.form.area.ville).val() == "")
		{
			mess += o.form.mess.ville+"\n";
		}
		// vérifie le CP
		if($("#"+o.form.area.CP).val() == "")
		{
			mess += o.form.mess.CP+"\n";
		}
		// vérifie le "message"
		if($("#"+o.form.area.message).val() == "")
		{
			mess += o.form.mess.message+"\n";
		}
		
		o.form.alert = mess;
	}
	function send()
	{
		var o = sbContact;
		var m = new Object();
		
		for(var x in o.form.area)
		{
			if( o.form.area[x] != o.form.area.newsLetter)
				m[o.form.area[x]] = $("#"+o.form.area[x]).val();
			else
				m[o.form.area[x]] = $("#"+o.form.area[x]).is(':checked');
		}
	/*	var $m= "";
		for(var t in m)
		{
			$m += m[t]+" => "+t+"<br />";
		}
		__log($m);*/
		$("#"+o.bloc2).html("<p id='attente'><img src='./js/contact/loading.gif' width='30' height='30' alt='loading'/></p>");
		$.ajax({
		   type: "GET",
		   data: m,
		   dataType: "html",
		  url: "js/contact/ajax/mail.php",
		 // processData: false,
		 error:function (xhr, ajaxOptions, thrownError){
		   	$("#"+o.bloc2).html("<p id='response'>"+"Une erreur s'est produite.<br /> Veuillez réessayer plus tard"+"</p>");
		   	/*-------------------------- à virer */
		   	//$("#"+o.bloc2).html("<p id='response'>"+'Merci, votre message a bien été envoyé.<br />'+"</p>");
		   	/*-------------------------- / à virer */
		   	
                                                  /* alert(xhr.status);
                                                   alert(thrownError);
		   										var mess = "";
		   										for(var i in xhr)
		   										{
		   											mess += i+" => "+xhr[i];
		   										}
		   										alert(mess);*/

                                           },
		  success: function(data)
		  {
		   $("#"+o.bloc2).html("<p id='response'>"+data+"</p>");
		  }
		});
	}

})();
