// Detect if the browser is IE or not.
// If it is not IE
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0
var menuCount;
var menuWidth;
var menuArrow;  
var currentPage;
var newPosition;
var timeOut;
var direction;
var speed;

var fadeTimeOut;
var oldContent;
var newContent;

var reCaptchaKey = "6LdLIMsSAAAAALnk3mU3-aWVXBjdDwCiUeRHpgBw";

function init() {
	//init menu
	menuCount = 4;
	menuWidth = 200;
	menuArrow = document.getElementById('menu_arrow');
	menuArrow.style.marginLeft = "0px";
	arrowLeft = 0;
	newPosition = 0;
	direction = 1;
	speed=20;  
	currentPage = 0;
	
	oldContent = document.getElementById('content0');
	newContent = document.getElementById('content0');
	
	//init content
	for(var i=0; i<menuCount; i++){
		document.getElementById('content'+i).style.display = "none";
		document.getElementById('content'+i).style.opacity = 0.0;
		newContent.style.filter = 'alpha(opacity=0)';
	}
	newContent.style.display = "block";
	newContent.style.opacity = 1.0;
	newContent.style.filter = 'alpha(opacity=100)';
}

function moveArrow(position){  
	currentPage = position;
	clearTimeout(timeOut);
	newPosition = menuWidth*position;
	if(this.marginLeftToInt(menuArrow.style.marginLeft) != newPosition){
		this.setContent(position);
		if(newPosition >= this.marginLeftToInt(menuArrow.style.marginLeft)){
			direction = 1;
		}
		else{
			direction = -1;
		}
		this.move();
	}
}

function move()
{
	timeOut = setTimeout("move()",0);
	var n = this.marginLeftToInt(menuArrow.style.marginLeft)+speed*direction;
	menuArrow.style.marginLeft = n+"px";
	if (this.marginLeftToInt(menuArrow.style.marginLeft) == newPosition)
	{
		clearTimeout(timeOut);
	}
}

function marginLeftToInt(string){
	return parseInt(string.replace("px", ""));
}

function setContent(number){
	clearTimeout(fadeTimeOut);
	for(var j=0; j<7; j++){
		if(j != number && document.getElementById('popup'+j).style.display == "block"){
			this.hidePopup(j);
		}
	}
	
	newContent = document.getElementById('content'+number);
	this.fadeContent();
}

function fadeContent(){
	if (oldContent.style.opacity == 1.0){
		newContent.style.display = "block";
	}
	
	var oldOp = parseFloat(oldContent.style.opacity)-0.1;
	oldOp = Math.round(oldOp*10);
	oldOp /= 10;
	oldContent.style.opacity = oldOp;
	oldContent.style.filter = 'alpha(opacity=' + oldOp*100 + ')';
	
	var newOp = parseFloat(newContent.style.opacity)+0.1;
	newOp = Math.round(newOp*10);
	newOp /= 10;
	newContent.style.opacity = newOp;
	newContent.style.filter = 'alpha(opacity=' + newOp*100 + ')';
	
	fadeTimeOut = setTimeout("fadeContent()",1);
	
	if (oldContent.style.opacity == 0.0)
	{
		clearTimeout(fadeTimeOut);
		oldContent.style.display = "none";
		oldContent = newContent;
	}
}

function showPopup(number){	       
	if(currentPage == 1){
		for(var j=0; j<7; j++){
			if(j != number && document.getElementById('popup'+j).style.visibility == "visible"){
				this.hidePopup(j);
			}
		}
		
		var popup = document.getElementById('popup'+number);
		popup.style.top = (tempY-2)+"px";
		popup.style.left = (tempX-2)+"px";
		popup.style.visibility = "visible";       
	}
}

function hidePopup(number){
	var popup = document.getElementById('popup'+number);
	popup.style.visibility = "hidden";
}

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  return true
}


////////////////////////////////////// Form request ///////////////////////////////////
var SUBMIT_FILE = "http://www.kasual.biz/assets/php/submitForm.php";
var SUBMIT_JOBS_FILE = "http://www.kasual.biz/assets/php/submitJobsForm.php";
var VERIFY_CAPTCHA_FILE = "http://www.google.com/recaptcha/api/verify";

function getXMLHttp()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

function submitContactForm(lang){
	var response_error = "The form is not correctly filled.";
	if(lang == "fr"){
		response_error = "Le formulaire n'est pas rempli correctement.";
	}
	
	var name = document.getElementById('name').value;
	var from = document.getElementById('email').value;
	var message = document.getElementById('message').value;
	
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	
	
	if(name != "" && from != "" && message != "" && emailPattern.test(from) && jcap()){
		var xmlHttp = getXMLHttp();

		  xmlHttp.onreadystatechange = function()
		  {
		    if(xmlHttp.readyState == 4)
		    {
		      HandleResponse(xmlHttp.responseText);
		    }
		  }

		  xmlHttp.open("GET", SUBMIT_FILE+"?name="+name+"&from="+from+"&message="+this.urlencode(message)+"&lang="+lang, true); 
		  xmlHttp.send(null);
	}
	else{
		alert(response_error);
	}
}

function submitJobsForm(lang){
	alert('envoi');
	var response_error = "The form is not correctly filled.";
	if(lang == "fr"){
		response_error = "Le formulaire n'est pas rempli correctement.";
	}
	var privatekey = reCaptchaKey;
	var remoteip = document.getElementById('user_ip').value;
	var challenge = Recaptcha.get_challenge();
	var response = Recaptcha.get_response();
	
	var formDataCaptcha = new FormData();
	formDataCaptcha.append("privatekey", privatekey);
	formDataCaptcha.append("remoteip", remoteip);
	formDataCaptcha.append("challenge", challenge);
	formDataCaptcha.append("response", response);
	
	alert('testCaptcha');
	var oXHRCaptcha = new XMLHttpRequest();
	oXHRCaptcha.open("POST", VERIFY_CAPTCHA_FILE);
	oXHRCaptcha.onload = function(oEvent) {  
	    if (oXHRCaptcha.status == 200){
			alert("Captcha done !");
			/*var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			if(name != "" && from != "" && message != "" && emailPattern.test(from)){
				var formData = new FormData();
				formData.append("name", name);
				formData.append("from", from);
				formData.append("message", message);
				formData.append("file", file.files[0]);
				formData.append("lang", lang);

				var oXHR = new XMLHttpRequest();
				oXHR.open("POST", SUBMIT_JOBS_FILE);
				oXHR.onload = function(oEvent) {  
					if (oXHR.status == 200) {  
						alert(oXHR.responseText);  
					} else {  
						alert("Error " + oXHR.status + " occurred uploading your file.");
					}  
				};
				oXHR.send(formData);
			}
			else{
				alert(response_error);
			}*/
	    } else {  
			alert("Bad Captcha !");
	    }  
	};
	oXHRCaptcha.send(formDataCaptcha);
	
	alert('end');
}

function HandleResponse(response)
{
	alert(response);
	Recaptcha.destroy();
  //document.getElementById('ResponseDiv').innerHTML = response;
}

function urlencode(str) {
    return escape(str.replace(/%/g, '%25').replace(/\+/g, '%2B')).replace(/%25/g, '%');
}


 function showRecaptcha(element) {
   Recaptcha.create(reCaptchaKey, element, {
     theme: "red",
     callback: Recaptcha.focus_response_field});
 }


