// JavaScript Document
/* 
Copyright: SUMO interactive <http://www.sumointeractive.com>
Author: SUMO interactive, Stéphane Balet, Geneva, Switzerland
Version: 1.0 - 07.2010
*/
g_searchInputBaseValue="";
g_searchInputBaseColor="";
g_oldSearchString="";
g_currentSearchString="";
g_arFrmElements = new Array("yourname", "yourmail", "friendname", "friendmail");
g_currentSelectedWorkStart=0;
g_counter = 0;
g_bolClosable=true;

$(document).ready(function(){
	if ($('#map').length) {
		loadGoogle();
	}
	if ($('.jsLink').length) {
		$('.jsLink').click(function(event) {
			event.preventDefault();							   
		});
	}
	if ($('#input_search').length) {
		g_searchInputBaseValue = $('#input_search').val();
		g_searchInputBaseColor = $('#input_search').css('color');
		$('#input_search').focus(function(event) {
    	   $(this).css('color', 'white');
		   if ($(this).val()==g_searchInputBaseValue) {
				$(this).val("");   
		   }
		   // en focus si terme déjà entré, rouvrir le suggest
		   if ($(this).val()!="") {
			   if ($("#autoSuggest_wrapper").html()) {
				   toggleAutoSuggest("up",true);
		 	  }
		   }
		});
		$('#input_search').blur(function(event) {
			//$(this).css('color', 'black');
			if (g_bolClosable) {
				setTimeout("toggleAutoSuggestDown()", 250);
				if ($(this).val()==g_searchInputBaseValue || $(this).val()=="") {
					$(this).val(g_searchInputBaseValue); 
					$(this).css('color',g_searchInputBaseColor); 
				}
			}
		});
		$('#searchWrapper').mouseover(function(event) {
			g_bolClosable = false;
		});
		$('#searchWrapper').mouseout(function(event) {
			g_bolClosable = true;
		});
		$('#searchWrapper').click(function(event) {
			event.stopPropagation();
		});
	}
	bindEvents('.projectPreviewWrapper');
	if ($('#moreProjects').length) {
		$('#moreProjects').click(function(event) {
			getMoreProjects();
		});
	}
	if ($('.btn_backToTop').length) {
		$('.btn_backToTop').click(function(event) {
    	    backToTop();
		});
	}
});
function bindEvents(elements) {
	
	if ($(elements+' img').length) {
		$(elements+' img').mouseover(function() {
			$(this).css('opacity',0.5);
		});
		$(elements+' img').mouseout(function() {
			$(this).animate({opacity: 1}, 500);
		});
	}
}

function toggleAutoSuggestDown(){
	toggleAutoSuggest("down",true);
}

function getMoreProjects() {
	g_currentSelectedWorkStart+=18;
	var cacheKiller = new Date().getTime();
	var currentDiv = 'post' + g_counter;
	$.getJSON("/_services/moreProjects.php?id="+cacheKiller, {start:g_currentSelectedWorkStart, strSessionKey:g_strProjectsSessionKey},function(data) {
		$('#projects').append('<div style="display:none" id="' + currentDiv +'">' + data.html + '</div>');
		
		$('#post'+g_counter).slideDown('fast', function() {
			var pos = $(this).offset();
			$('body').scrollTo(pos.top,800);
			bindEvents('#'+currentDiv+' .projectPreviewWrapper');
			
		});
		if (data.bolIsLastPage) {
			$('#moreProjects').remove();
		}
		g_counter += 1;
		
	});	
}

function autoSuggest () {
	var str = ltrim($('#input_search').val());
	if (str =='' || str==' ') {
		toggleAutoSuggest("down",false);
		return false;
	} else {
		if (g_currentSearchString!=str && str.length>=1) {
			g_oldSearchString = g_currentSearchString;
			g_currentSearchString = str;
			$("#autoSuggest_wrapper").load("/_services/autoSuggest.php", {'q':str}, function(response, status, xhr) {
				if (status == "success" && response!="") {
					toggleAutoSuggest("up",true);
				} else {
					if(response=="") {
						toggleAutoSuggest("down",true);
					}
				}
			});
		}
	}			
}
function ltrim(aString) {
	return aString.replace(/^\s+/, "");
}

function toggleAutoSuggest(dir,bolInit) {
	if (dir=="up") {
		$('#autoSuggest_wrapper').slideDown('fast');
		if ($('.autoSuggestEntry_wrapper').length!=0) {
			$(".autoSuggestEntry_wrapper:last-child").css('border-bottom','none');
		}
		$('#topWrapper').fadeTo('slow', 0.3);
		$('#contentWrapper').fadeTo('slow', 0.3);
		$('.footerBlock').fadeTo('slow', 0.3);
		$('.hr').fadeTo('slow', 0.3);
		$('body').click(function(event) {
			toggleAutoSuggest("down", false);
			g_bolClosable = true;
		});
	} else {
		if (bolInit) {
			$('#input_search').val(g_searchInputBaseValue);
		}
		$('#autoSuggest_wrapper').slideUp('fast');
		$('#topWrapper').fadeTo('slow', 1);
		$('#contentWrapper').fadeTo('slow', 1);
		$('.footerBlock').fadeTo('slow', 1);
		$('.hr').fadeTo('slow', 1);
		$('body').unbind('click');
	}
}
function loadGoogle() {
	var myLatlng = new google.maps.LatLng(46.189371,6.131174);
	var myOptions = {
		zoom: 16,
		center: myLatlng,
		mapTypeId: google.maps.MapTypeId.SATELLITE
	}
	var map = new google.maps.Map(document.getElementById("map"), myOptions);	
	setMarker(map);
}
function setMarker(map) {
	var myLatLng = new google.maps.LatLng(46.189371,6.131174);
	var image = new google.maps.MarkerImage('/_i/layout/marker.png',
    	new google.maps.Size(60, 46),
    	new google.maps.Point(0,0),
    	new google.maps.Point(25, 46)
	);

	var shadow = new google.maps.MarkerImage('/_i/layout/marker_shadow.png',
		new google.maps.Size(60, 46),
    	new google.maps.Point(0,0),
    	new google.maps.Point(25,46 )
	);
	var shape = {
		coord: [1, 1, 1, 135, 65, 65, 135, 1],
		type: 'poly'
	};
	var marker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      icon: image,
	  shape: shape,
	  shadow: shadow
  	});
	var contentString = '<div id="content">'+
    '<div id="siteNotice">'+
    '</div>'+
    '<h1 id="firstHeading" class="firstHeading">GVA Studio</h1><p>Route des Acacias 43<br />1227 Acacias Geneva<br />Switzerland';

	var infowindow = new google.maps.InfoWindow({
    	content: contentString
	});	
	
	google.maps.event.addListener(marker, 'click', function() {
	  infowindow.open(map,marker);
	});
}


function showSlide() {
	$('#imgHolder').addClass('loading');
	clearImages();
	var newUrl = g_baseUrl+"large/img_"+g_currentImgNum+".jpg";
	var image = new Image();
  	$(image)
		.load(function () {
			$(this).hide();
			$('#imgHolder')
				.append(this);
			$(this).fadeIn();
		})
		.error(function () {
		  // notify the user that the image could not be loaded
		})
	.attr('src', newUrl);	
}


function backToTop() {
	$('html,body').animate({scrollTop: 0}, 400);	
}



function checkFormToSend() {
	error = false;
	$.each (g_arFrmElements, function (key, value) {
		 if ($("#"+value).val()=="") {
			$("#l_"+value).css("color","#ff0000"); 
			error = true;
		 }
		 if(value.substr(-4)=="mail") {
			 if (!checkMail($("#"+value).val())) {
			 	$("#l_"+value).css("color","#ff0000");
				error = true;
			 }
		 }
	});
	if (error) return false;
	else return true;
}


function printMsg(msg) {
	$('#pfSendResult').html(msg);
	$('#pfSendResult').slideDown('fast');
	setTimeout(function(){ $("#pfSendResult").slideUp('fast') }, 2000);
}


function debug(txt) {
	if(g_bolDebug==true) {
		$('#pf_value').text(txt);
		$('#pf_value').css("display","block");
		setTimeout(function(){ $("#pf_value").fadeOut() }, 1000);
	}
}


function checkMail(elem) {
	var s = (elem!=null)?elem:"";
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(s);
}

