jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
	//this.css("top", "32px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

jQuery.fn.centerHor = function () {
    this.css("position","absolute");
    //this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
	//this.css("top", "10px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

jQuery.fn.centerHor2 = function () {
    this.css("position","relative");
    //this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
	//this.css("top", "32px");
     this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

function validateContactForm(lang)
{
	var name=$("#names").val();
	var email=$("#email").val();

	var valid = 1;
	if(!$("#names").hasClass("modified"))
	{
		valid = 0;
		$("#names").addClass("invalid");
	}
	
	if(!$("#email").hasClass("modified"))
	{
		valid = 0;
		$("#email").addClass("invalid");
	}	
	
		
	
	if(!valid)
	{
		var message = "please fill all the required fields!";
		if(lang=="fr")
		{
			message = "svp remplissez tout les champs requis!";
		}
		$("#formfeedback").html(message);
		$("#formfeedback").addClass("invalid");
		
		if(isMobile())
		{
			alert(message);
		}
		
		return false;
	}
	
	if(!echeck(email))
	{
		$("#email").addClass("invalid");
		var message = "please enter a valid email address!";
		if(lang=="fr")
		{
			message = "svp entrez une courriel valide!";
		}
		$("#formfeedback").html(message);
		$("#formfeedback").addClass("invalid");
		
		if(isMobile())
		{
			alert(message);
		}
		
		return false;
	}
	
  var dataString = $("#contactForm").serialize();
  $("#formfeedback").addClass("loader");
  //alert (dataString);return false;
  $.ajax
  ({
    type: "POST",
    url: "sendEmail.php",
    data: dataString,
    success: function(html)
	{
     	var message = "thank you for contacting us!";
		if(lang=="fr")
		{
			message = "merci de nous avoir contacté!";
		}
		
		if(html == "")
		{
			emailFailed();
		}
		else
		{
			$("#formfeedback").removeClass("loader");
			$("#formfeedback").removeClass("invalid");
			$("#formfeedback").html(message);
			
			if(isMobile())
			{
				alert(message);
			}
		}
		//alert(html)
    },
	error: emailFailed
	
  });
 
	//$("#contactForm").submit();
}

function emailFailed()
{
	var message = "please try again later!";
	if(lang=="fr")
	{
		message = "svp essayez de nouveau!";
	}
	
	$("#formfeedback").removeClass("loader");
	$("#formfeedback").addClass("invalid");
	$("#formfeedback").html(message);
	
	if(isMobile())
	{
		alert(message);
	}
}

function echeck(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1){
		return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		 return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		 return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		 return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		 return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		 return false;
	 }

	 return true;				
}

function isMobile()
{
	//alert(navigator.userAgent);
	return ( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)) );
	//return false;
}


var $g_CurrGalleryIndex = 0;
var $galleries = new Array();
$galleries[0] ="romance";
$galleries[1] ="anticipation";
$galleries[2] ="glamour";
$galleries[3] ="ceremony";
$galleries[4] ="celebration";
$galleries[5] ="concepts";
$galleries[6] ="casual";
$galleries[7] ="ambiance";
$galleries[8] ="publications";


var $frenchGalleries = new Array();
$frenchGalleries[0] ="romance";
$frenchGalleries[1] ="anticipation";
$frenchGalleries[2] ="glamour";
$frenchGalleries[3] ="cérémonie";
$frenchGalleries[4] ="célébration";
$frenchGalleries[5] ="concepts";
$frenchGalleries[6] ="avant mariage";
$frenchGalleries[7] ="ambiance";
$frenchGalleries[8] ="publications";





function loadNextGallery()
{
	if($g_CurrGalleryIndex == "babies")
		return;
		
	var $nextIndex = ($g_CurrGalleryIndex+1)%($galleries.length);
	//alert("loadnext " + $nextIndex + " " + $galleries[$nextIndex]);
	loadGallery($nextIndex);
}

function loadPreviousGallery()
{
	if($g_CurrGalleryIndex == "babies")
		return;
	
	var $nextIndex = $g_CurrGalleryIndex-1 >= 0 ? $g_CurrGalleryIndex-1 : ($galleries.length-1);
	//alert("loadprev " + $nextIndex + " " + $galleries[$nextIndex]);
	loadGallery($nextIndex);
}


function loadGallery($index)
{
	$('#galleria').hide();
	
	if($index == "babies")
	{
		$g_CurrGalleryIndex = $index;
		$galleryName = $index;
		$frenchGalleryName = "bébés";
	}
	else
	{
		// Some validation
		if($index < 0)
			$index = 0;
		if($index >= $galleries.length)
			$index = $galleries.length-1;
				
		$g_CurrGalleryIndex = $index;
		$galleryName = $galleries[$g_CurrGalleryIndex];
		$frenchGalleryName = $frenchGalleries[$g_CurrGalleryIndex];
	}
	
	if($g_Lang=="fr")
	{
		$("#galleryLoader").html("chargement de la gallerie '" + $frenchGalleryName + "'..." );
	}
	else
	{
		$("#galleryLoader").html("preparing gallery '" + $galleryName + "'..." );
	}
	
	$("#galleryLoader").show();
	
	
	//alert("loading gallery " + $galleryName + " at index: "  + $g_CurrGalleryIndex);			
	//hidegallery();
	//this.bind("loadfinish", function(e) {
	//if ( e.index == 0) {
		
	//}
	//});	
	
	$(".current").removeClass("current");
	// alert('readGalleries.php?gallery=' + $galleryName);
	 var $time = new Date().getTime();
	 $.get('readGalleries.php?t=' + $time + '&gallery=' + $galleryName, function(data)
	 {
		  // Do not hide if data is empty
		 //alert(data);
		 var gallery = Galleria.get(0);
		 //alert(gallery);
		 if(data != "error")
		 {			
			gallery.load(data);
			
			// do this after first image is loaded for better effect
			$("#noGalleries").hide();
			$('#galleria').show();				
		 }
	 }, "json");
}
