function goto(url) {
	document.location.href=url;
}

function trim(myString)
{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 

function isDate(txt) {
	var reg=new RegExp("^[0-3][0-9]\/[01][0-9]\/[12][09][0-9][0-9]$");
	return reg.test(txt);
}

function isEmail(txt) {
	var reg=new RegExp("^[a-zA-Z0-9_.-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z0-9]{2,6}$","g");
	return reg.test(txt);
}

function isPhoneNumber(txt) {
	var reg=new RegExp("^[0-9]{10}$","g");
	return reg.test(txt);
}

function isCP(txt) {
	var reg=new RegExp(/^((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}$/);
	return reg.test(txt);
}

function submitNewsletterShortForm() {
	if(isEmail($('input[name=pre_email]').attr('value')))
		$('#newsletterShortForm').submit();
}

function submitNewsletterForm() {
	$('#newsletterForm').submit();
}

function submitCaptchaForm(id) {
	if($('#'+id).find('input[name=captcha]').length) {
		var val=$('#'+id).find('input[name=captcha]').val();
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		ajaxObjects[ajaxIndex].setVar("check",val);
		ajaxObjects[ajaxIndex].requestFile = '/index.php?type=ajax&pack=captcha';
		ajaxObjects[ajaxIndex].onCompletion = function(){ submitCaptchaForm_answer(ajaxIndex,id); };
		ajaxObjects[ajaxIndex].runAJAX();
	}
	else submitForm(id);
}
function submitCaptchaForm_answer(ajaxIndex,id) {
	var data = ajaxObjects[ajaxIndex].response;
	ajaxObjects[ajaxIndex] = false;
	if(data=='ok') submitForm(id);
	else captchaError(id,data);
}

function captchaError(id,data) {
	$('#'+id).append('<div id="captchaError"></div>');
	var $captcha=$('#'+id).find('input[name=captcha]');
	inputError($captcha);
	var top=$captcha.position().top-5;
	var left=$captcha.position().left+20+$captcha.innerWidth();
	var code="$('#captchaError').animate({opacity:0.0,display:'none'},400,function() {$('#captchaError').remove();inputOk($('#"+id+"').find('input[name=captcha]'));});";
	$('#captchaError').css('top',top)
		.css('left',left)
		.html(data)
		.css({opacity:0.0,display:'block'})
		.animate({opacity:1.0},600,function() {
			setTimeout(code,10000);
		});
}

function submitForm(id) {
	var send=true;
	$('#'+id).find('input.mandatory').each(function() {
		if($(this).attr('name')=='email') {
			if(!isEmail($(this).val())) {
				inputError(this);
				send=false;
			}
			else inputOk(this);
		}
		else if($(this).attr('name')=='tel_fixe') {
			if(!isPhoneNumber($(this).val())) {
				inputError(this);
				send=false;
			}
			else inputOk(this);
		}
		else if($(this).attr('name').indexOf('date_')==0) {
			if(!isDate($(this).val())) {
				inputError(this);
				send=false;
			}
			else inputOk(this);
		}
		else if($(this).attr('name')=='cp') {
			if(!isCP($(this).val())) {
				inputError(this);
				send=false;
			}
			else inputOk(this);
		}
		else {
			var val=trim($(this).val());
			if(val.length<=0) {
				inputError(this);
				send=false;
			}
			else inputOk(this);
		}
	});
	if(send) $('#'+id).submit();
}

function inputError(obj) {
	$(obj).css({backgroundColor:'#ffa4a2'});
}

function inputOk(obj) {
	if(obj.style) var bgColor=obj.style.backgroundColor;
	else var bgColor=$(obj).css('backgroundColor');
	if(bgColor=="rgb(255, 164, 162)" || bgColor=='#ffa4a2') {
		$(obj).css({backgroundColor:'#66fF99'});
		$(obj).animate({backgroundColor:'#ffffff'},200);
	}
}

function loadICS(id) {
	document.location.href='index.php?type=pack&pack=fo_event&ics='+id;
}

function dlFile() {
	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	ajaxObjects[ajaxIndex].setVar("referer",document.location.href);
	ajaxObjects[ajaxIndex].requestFile = '/index.php?type=ajax&pack=fo_download';
	ajaxObjects[ajaxIndex].onCompletion = function(){ dlFile_answer(ajaxIndex); };
	ajaxObjects[ajaxIndex].runAJAX();
}
function dlFile_answer(ajaxIndex) {
	var data = ajaxObjects[ajaxIndex].response;
	ajaxObjects[ajaxIndex] = false;
}

function reloadCaptcha() {
		var t=new Date();
		var src='/captcha?t='+t.getTime();
		$('img.captcha').attr('src',src);
}

function prepCarrousels() {
	$('div.diaporama').each(function() {
		var $carrousel=$(this).find('div.carrousel');
		$carrousel.scrollLeft(0);
		var $prev = $(this).find('div.prev img');
		var $next = $(this).find('div.next img');
		var timing=2000;
		var scrollLength=500;
		$prev.click(function() {
			var nextScroll = $carrousel.scrollLeft()-scrollLength;
			if(nextScroll<0) {
				valeur=nextScroll+scrollLength;
				timing=(valeur*timing)/scrollLength;
				nextScroll=0;
			}
			$carrousel.stop();
			$carrousel.animate({scrollLeft:nextScroll}, timing);
		});
		$next.click(function() {
			var nextScroll = $carrousel.scrollLeft()+scrollLength;
			$carrousel.stop();
			$carrousel.animate({scrollLeft:nextScroll}, timing);
		});
	});
}
function prepMouseOver() {
	$('img.mo').each(function() {
		$(this).mouseout(function() {
			var src = $(this).attr('src');
			if(src.indexOf('_on.')>0) {
				$(this).attr('src',src.replace('_on.','_off.'));
			}
		}).mouseover(function() {
			var src = $(this).attr('src');
			if(src.indexOf('_off.')>0) {
				$(this).attr('src',src.replace('_off.','_on.'));
			}
		});
	});
	$('div.mo').each(function() {
		$(this).mouseout(function() {
			var src = $(this).css('backgroundImage');
			if(src.indexOf('_on.')>0) {
				$(this).css('backgroundImage',src.replace('_on.','_off.'));
			}
		}).mouseover(function() {
			var src = $(this).css('backgroundImage');
			if(src.indexOf('_off.')>0) {
				$(this).css('backgroundImage',src.replace('_off.','_on.'));
			}
		});
	});
	$('div#menu div').each(function() {
		if($(this).hasClass('off')) {
			$(this).mouseout(function() {
				$(this).removeClass('on');
				$(this).addClass('off');
			});
			$(this).mouseover(function() {
				$(this).removeClass('off');
				$(this).addClass('on');
			});
		}
	});
}
function prepInput() {
	$('#newsletterShortForm input, #searchForm input').each(function() {
		var $valeur=$(this).attr('value');
		$(this).blur(function() {
			if($(this).attr('value')=='')
				$(this).attr('value',$valeur);
		});
		$(this).focus(function() {
			if($(this).attr('value')==$valeur)
				$(this).attr('value','');
		});
	});
	/*$('#searchForm input').each(function() {
		var $bg=$(this).css('background-image');
		$(this).blur(function() {
			if($(this).attr('value')=='')
				$(this).css('background-image',$bg);
		});
		$(this).focus(function() {
			$(this).css('background-image','none');
		});
	});*/
}

function prepShare() {
	if($('div.share').length) {
		var url=document.location.href;
		var title=$('title').html();
		$('#twitterShare').click(function() {
			url=$('#tinyurl').html();
			GAtrackEvent("Reseaux Sociaux","Reseaux Sociaux - Twitter","Reseaux Sociaux - Twitter : Partage");
			var shareLink = 'http://twitter.com/?status='+encodeURIComponent(url+" "+title);
			window.open(shareLink,'Share_Citwell');
		});
		$('#linkedinShare').click(function() {
			GAtrackEvent("Reseaux Sociaux","Reseaux Sociaux - LinkedIn","Reseaux Sociaux - LinkedIn : Partage");
			var shareLink = 'http://www.linkedin.com/shareArticle?mini=true&url='+encodeURIComponent(url)+'&title='+encodeURIComponent(title)+'&source=Citwell';
			window.open(shareLink,'Share_Citwell');
		});
		$('#viadeoShare').click(function() {
			GAtrackEvent("Reseaux Sociaux","Reseaux Sociaux - Viadeo","Reseaux Sociaux - Viadeo : Partage");
			var shareLink = 'http://www.viadeo.com/shareit/share/?url='+encodeURIComponent(url)+'&title='+encodeURIComponent(title);
			window.open(shareLink,'Share_Citwell');
		});
		$('#facebookShare').click(function() {
			GAtrackEvent("Reseaux Sociaux","Reseaux Sociaux - Facebook","Reseaux Sociaux - Facebook : Partage");
			var shareLink = 'http://www.facebook.com/share.php?u='+encodeURIComponent(url)+'&t='+title;
			window.open(shareLink,'Share_Citwell');
		});
		$('#mailShare').click(function() {
			loadMailPopin();
		});
	}
}

function shareMail() {
	var send=true;
	var myname=trim($('#myname').val());
	if(myname.length<=0) {
		inputError('#myname');
		send=false;
	}
	else inputOk('#myname');
	var myemail=trim($('#myemail').val());
	if(!isEmail(myemail)) {
		inputError('#myemail');
		send=false;
	}
	else inputOk('#myemail');
	var myfriendemail=trim($('#myfriendemail').val());
	if(!isEmail(myfriendemail)) {
		inputError('#myfriendemail');
		send=false;
	}
	else inputOk('#myfriendemail');
	if(send) {
		var title=$('title').html();
		var url=document.location.href;
		$("#cee_load").show("fast").animate({opacity:1},"fast");
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		ajaxObjects[ajaxIndex].setVar("send",'mail');
		ajaxObjects[ajaxIndex].setVar("myname",myname);
		ajaxObjects[ajaxIndex].setVar("myemail",myemail);
		ajaxObjects[ajaxIndex].setVar("friendmail",myfriendemail);
		ajaxObjects[ajaxIndex].setVar("title",title);
		ajaxObjects[ajaxIndex].setVar("url",url);
		ajaxObjects[ajaxIndex].requestFile = 'index.php?type=ajax&pack=share';
		ajaxObjects[ajaxIndex].onCompletion = function(){ answer_shareMail(ajaxIndex);};
		ajaxObjects[ajaxIndex].runAJAX();
	}
}

function submitSearchForm(val) {
	if($('#searchForm input[name=s]').val()!=val) {
		$('#searchForm').submit();
	}
}

function answer_shareMail(ajaxIndex) {
	var data = ajaxObjects[ajaxIndex].response;
	ajaxObjects[ajaxIndex] = false;
	$('div.sharePopin div.formulaire div.btn').remove();
	$('div.sharePopin div.formulaire').append('<div>'+data+'</div>');
	setTimeout('$.fn.ceebox.closebox();',2000);
}

function checkCaptcha() {
	if($('input[name=captcha]').length) {
		alert($('input[name=captcha]').val());return;
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		ajaxObjects[ajaxIndex].setVar("captcha",$('input[name=captcha]').val());
		ajaxObjects[ajaxIndex].requestFile = 'index.php?type=ajax&pack=captcha';
		ajaxObjects[ajaxIndex].onCompletion = function(){ answer_checkCaptcha(ajaxIndex);};
		ajaxObjects[ajaxIndex].runAJAX();
	}
	return false;
}
function answer_checkCaptcha(ajaxIndex) {
	var data = ajaxObjects[ajaxIndex].response;
	ajaxObjects[ajaxIndex] = false;
	if(data=='ok') {
		if($('input[name=captcha]').length) {
			var id=$('input[name=captcha]').closest('form').attr('id');
			submitForm(id);
		}
	}
	return false;
}

function loadMailPopin() {
	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	ajaxObjects[ajaxIndex].setVar("share",'mail');
	ajaxObjects[ajaxIndex].requestFile = 'index.php?type=ajax&pack=share';
	ajaxObjects[ajaxIndex].onCompletion = function(){ answer_loadMailPopin(ajaxIndex);};
	ajaxObjects[ajaxIndex].runAJAX();
}
function answer_loadMailPopin(ajaxIndex) {
	var data = ajaxObjects[ajaxIndex].response;
	ajaxObjects[ajaxIndex] = false;
	$().ceebox();
	$.fn.ceebox.popup(data,{width:400,height:220});
	$('div.sharePopin div.mo').live('mouseout',function() {
		var src = $(this).css('backgroundImage');
		if(src.indexOf('_on.')>0) {
			$(this).css('backgroundImage',src.replace('_on.','_off.'));
		}
	}).live('mouseover',function() {
		var src = $(this).css('backgroundImage');
		if(src.indexOf('_off.')>0) {
			$(this).css('backgroundImage',src.replace('_off.','_on.'));
		}
	});
}

function prepForms() {
	if($('#newsletterShortFormSubmit').length) {
		$('#newsletterShortFormSubmit').click(function() {
			submitNewsletterShortForm();
		});
	}
	if($('#newsletterFormSubmit').length) {
		$('#newsletterFormSubmit').click(function() {
			submitCaptchaForm('newsletterForm');
		});
	}
	if($('#contactFormSubmit').length) {
		$('#contactFormSubmit').click(function() {
			submitCaptchaForm('contactForm');
		});
	}
	if($('#rhFormSubmit').length) {
		$('#rhFormSubmit').click(function() {
			submitCaptchaForm('rhForm');
		});
	}
	if($('#eventFormSubmit').length) {
		$('#eventFormSubmit').click(function() {
			submitCaptchaForm('eventForm');
		});
	}
	if($('#downloadFormSubmit').length) {
		$('#downloadFormSubmit').click(function() {
			submitCaptchaForm('downloadForm');
		});
	}
	if($('#submitSearchForm').length) {
		var val=$('#searchForm input[name=s]').val();
		$('#submitSearchForm').click(function() {
			submitSearchForm(val);
		});
	}
}

function prepMenu() {
	if($('#mOffres').length) {
		$('#mOffres').click(function() {
			goto($('#mOffres a').attr('href'));
		});
	}
	if($('#mReferences').length) {
		$('#mReferences').click(function() {
			goto($('#mReferences a').attr('href'));
		});
	}
	if($('#mActualites').length) {
		$('#mActualites').click(function() {
			goto($('#mActualites a').attr('href'));
		});
	}
	if($('#mEvenements').length) {
		$('#mEvenements').click(function() {
			goto($('#mEvenements a').attr('href'));
		});
	}
	if($('#mApropos').length) {
		$('#mApropos').click(function() {
			goto($('#mApropos a').attr('href'));
		});
	}
}

jQuery.fn.exists = function(){return jQuery(this).length>0;}
$(document).ready(function() {
	prepMenu();
	prepMouseOver();
	prepInput();
	prepShare();
	prepForms();
	prepCarrousels();
});

