var lastLoaded = 0;
var lastImgLoaded = -1;


function selectThumb(i)
{
	$('#thumbs img').fadeTo(0, 0.38);
	$('#thumbs img').eq(i).fadeTo(0, 1);
}


function loadImage(img, i)
{
	if(lastLoaded == i)return;

	$('#big_image img').fadeTo('normal', 0);

	img = str_replace('thumb_', '', img);
		
	image = new Image();
	image.src = img;
	
	selectThumb(i);

	lastLoaded = i;
	lastImgLoaded = img;

	image.onload = imageLoaded;
}

function imageLoaded()
{		
	$('#big_image img').fadeTo(0, 0).attr('src', lastImgLoaded);
	$('#big_image img').fadeTo('normal', 1);	
}


function str_replace (search, replace, subject, count) {
    // Replaces all occurrences of search in haystack with replace
    //
    // version: 909.322
    // discuss at: http://phpjs.org/functions/str_replace
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
    // +   improved by: Philip Peterson
    // +   improved by: Simon Willison (http://simonwillison.net)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   bugfixed by: Anton Ongson
    // +      input by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    tweaked by: Onno Marsman
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   input by: Oleg Eremeev
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Oleg Eremeev
    // %          note 1: The count parameter must be passed as a string in order
    // %          note 1:  to find a global variable in which the result will be given
    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
    // *     returns 1: 'Kevin.van.Zonneveld'
    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
    // *     returns 2: 'hemmo, mars'
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}




function formVerify(lang)
{
	// message
	msg = "Please fill the field: ";
	if(lang == 'fr')msg = "Merci de remplir le champ: ";

	msg2 = "Please fill a valid email address";
	if(lang == 'fr')msg2 = "Merci de remplir une adresse email valide";

	// inputs
	inputs = 'FirstName, LastName, Email, Message';
	inputs = inputs.split(', ');
	
	for(i=0; i < inputs.length; i++)
	{
		input = inputs[i];
		val = $.trim($('#form #'+input).val());
		parent = $('#form #'+input).parents('tr').children('td.label').text();

		if(val.length == 0)
		{
			alert(msg+' '+parent);			
			$('#form #'+input).focus();
			
			return false;
		}

		if(input == 'Email')
		{
			var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
			if(!emailPattern.test(val))
			{
				alert(msg2);
				$('#form #'+input).focus();

				return false;
			}
		}

	}


	return true;
	
}
