//CONSTANTES
var APP_PATH = "typo3conf/ext/phpscript/";

//AJAX
var xmlHttp = false;

function createHttp()
{
	try {
		xmlHttp = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
      	xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
           xmlHttp = false;
        }  
      }
    }
}

function displayTypeFile(elem, typeVideo, typeEmoticon, typeTxt, typeAudio, typeFile)
{
	if (elem == typeTxt)
	{
		document.getElementById("fileDiv").style.display = 'none';
		document.getElementById("linkWraper").style.display = 'none';
		document.getElementById("emoticonWraper").style.display = 'none';
		document.getElementById("fileWraper").style.display = 'none';
		document.getElementById("message").focus();
	}
	else
	{
		document.getElementById("fileDiv").style.display = 'block';
		if (elem == typeVideo)
		{
			document.getElementById("fileWraper").style.display = 'none';
			document.getElementById("emoticonWraper").style.display = 'none';
			document.getElementById("linkWraper").style.display = 'block';
			document.getElementById("linkVid").focus();
		}
		else
		{
			if (elem == typeEmoticon)
			{
				document.getElementById("linkWraper").style.display = 'none';
				document.getElementById("fileWraper").style.display = 'none';
				document.getElementById("emoticonWraper").style.display = 'block';
			}
			else
			{
				if (elem == typeAudio)
				{
					document.getElementById("linkWraper").style.display = 'none';
					document.getElementById("fileWraper").style.display = 'block';
					document.getElementById("fileAudio").style.display = 'block';
					document.getElementById("fileDocument").style.display = 'none';
					document.getElementById("filePicture").style.display = 'none';
					document.getElementById("emoticonWraper").style.display = 'none';
					document.getElementById("fichier").focus();
				}
				else
				{
					if (elem == typeFile)
					{
						document.getElementById("linkWraper").style.display = 'none';
						document.getElementById("fileWraper").style.display = 'block';
						document.getElementById("fileAudio").style.display = 'none';
						document.getElementById("fileDocument").style.display = 'block';
						document.getElementById("filePicture").style.display = 'none';
						document.getElementById("emoticonWraper").style.display = 'none';
						document.getElementById("fichier").focus();
					}
					else
					{
						document.getElementById("linkWraper").style.display = 'none';
						document.getElementById("emoticonWraper").style.display = 'none';
						document.getElementById("fileWraper").style.display = 'block';
						document.getElementById("fileAudio").style.display = 'none';
						document.getElementById("fileDocument").style.display = 'none';
						document.getElementById("filePicture").style.display = 'block';
						document.getElementById("fichier").focus();
					}
				}
			}
		}
	}
}


function searchFieldChange()
{
	document.getElementById("page").value = 1;
	document.getElementById("nbPage").value = '';
}

function getSearchResult(page, admin)
{
	if (page > 0)
	{
		document.getElementById("page").value = page;
	}
	if (admin == 1)
	{
		displaySearchMessageResultAdmin();
	}
	else
	{
		displaySearchMessageResult();
	}
}

function displaySearchMessageResult()
{
	var firstname = trim(document.getElementById("firstname").value);
	var age = trim(document.getElementById("age").value);
	var country = trim(document.getElementById("petitionSelectCountry").value);
	var region = trim(document.getElementById("petitionSelectRegion").value);
	var type = trim(document.getElementById("type").value);
	var sort = trim(document.getElementById("sort").value);
	var start = trim(document.getElementById("start").value);
	var language = trim(document.getElementById("language").value);
	var page = trim(document.getElementById("page").value);
	var nbPage = trim(document.getElementById("nbPage").value);

	if (firstname == document.getElementById("firstnameBase").value)
	{
		firstname = '';
	}

	var url = APP_PATH + "view/buildHTMLSearchResultPublic";
	url = url + ".php?firstname=" + encodeURIComponent(firstname) + "&age=" + encodeURIComponent(age) +
				"&country=" + encodeURIComponent(country) + "&region=" + encodeURIComponent(region) + "&type=" + encodeURIComponent(type) +
				"&sort=" + encodeURIComponent(sort) + "&language=" + encodeURIComponent(language) + "&start=" + encodeURIComponent(start) +
				"&page=" + encodeURIComponent(page) + "&nbPage=" + encodeURIComponent(nbPage);	

	createHttp();
	xmlHttp.onreadystatechange = loadResultSearchMessage;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	return false;
}

function displaySearchMessageResultAdmin()
{
	var firstname = trim(document.getElementById("firstname").value);
	var age = trim(document.getElementById("age").value);
	var country = trim(document.getElementById("petitionSelectCountry").value);
	var region = trim(document.getElementById("petitionSelectRegion").value);
	var type = trim(document.getElementById("type").value);
	var sort = trim(document.getElementById("sort").value);
	var start = trim(document.getElementById("start").value);
	var language = trim(document.getElementById("language").value);
	var page = trim(document.getElementById("page").value);
	var nbPage = trim(document.getElementById("nbPage").value);

	if (firstname == document.getElementById("firstnameBase").value)
	{
		firstname = '';
	}

	var url = APP_PATH + "view/buildHTMLSearchResultAdmin";
	url = url + ".php?firstname=" + encodeURIComponent(firstname) + "&age=" + encodeURIComponent(age) +
				"&country=" + encodeURIComponent(country) + "&region=" + encodeURIComponent(region) + "&type=" + encodeURIComponent(type) +
				"&sort=" + encodeURIComponent(sort) + "&language=" + encodeURIComponent(language) + "&start=" + encodeURIComponent(start) +
				"&page=" + encodeURIComponent(page) + "&nbPage=" + encodeURIComponent(nbPage);	

		createHttp();
		xmlHttp.onreadystatechange = loadResultSearchMessage;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	return false;
}

function loadResultSearchMessage()
{
  if (xmlHttp.readyState == 4)
  {
  	document.getElementById("searchMessageResult").innerHTML = xmlHttp.responseText;
  }
}

function selectEmoticonImage(o) {
	for (var i = 1; i < 7; i++) {
		if (document.getElementById("emoticonImg_"+i) != o && document.getElementById("emoticonImg_"+i).className != '') { document.getElementById("emoticonImg_"+i).className = ''; }
		else if (document.getElementById("emoticonImg_"+i) == o) { document.getElementById("emoticonImg_"+i).className = "selected"; }
	}
}

function selectTypeFileLabel(o) {
	var labels = document.getElementById("typesSelector").getElementsByTagName("label");
	if (labels.length > 0) {
		for (var i = 0; i < labels.length; i++) {
			if (labels[i].htmlFor == o.id) { labels[i].className = "field_label_selected"; }
			else if (labels[i].className == "field_label_selected") { labels[i].className = "field_label"; }
		}
	}
}

function selectTypeFileLabelByType(typeFile) {
	var elem;
	for (var i = 1; i < 5; i++)
	{
		elem = document.getElementById("typeFile_" + i);
		if (elem.value == typeFile)
		{
			selectTypeFileLabel(elem);
			i = 6;
		}
	}
}

function selectEmoticonImage(o) {
	for (var i = 1; i < 7; i++) {
		if (document.getElementById("emoticonImg_"+i) != o && document.getElementById("emoticonImg_"+i).className != '') { document.getElementById("emoticonImg_"+i).className = ''; }
		else if (document.getElementById("emoticonImg_"+i) == o) { document.getElementById("emoticonImg_"+i).className = "selected"; }
	}
}

function getInputLabel(o) {
	var out = "?";
	if (o.name.indexOf("captcha") > -1) {
		out = "Captcha";
	} else {
		if (o.name.indexOf("emoticonRadio") > -1) {
			out = "Emoticon";
		}
		else {
			var labels = o.parentNode.getElementsByTagName("label");
			if (labels.length > 0) { out = labels[0].innerHTML; }
			while (out.indexOf("<") > -1) {
				var t1 = out.indexOf("<");
				var t2 = out.indexOf(">");
				out = out.substring(0, t1) + out.substring(t2+1, out.length);
			}
			while (out.indexOf("(") > -1) {
				var t1 = out.indexOf("(");
				var t2 = out.indexOf(")");
				out = out.substring(0, t1) + out.substring(t2+1, out.length);
			}
			while (out.indexOf("*") > -1) {
				var t1 = out.indexOf("*");
				out = out.substring(0, t1) + out.substring(t1+1, out.length);
			}
			while (out.indexOf("  ") > -1) {
				var t1 = out.indexOf("  ");
				out = out.substring(0, t1) + out.substring(t1+1, out.length);
			}
		}
	}
	return "- "+out;
}

function checkMessage(typeVideo, typeEmoticon, typeTxt)
{
	var erreurs = new Array();
	var c = 0;
	var typeFile;
	if (document.getElementById("firstname").value.length < 3) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("firstname"));
	}
	if (document.getElementById("lastname").value.length < 3) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("lastname"));
	}
	if (document.getElementById("email").value.length < 3) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("email"));
	}
	if (document.getElementById("age").value.length < 1) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("age"));
	}
	if (document.getElementById("petitionSelectCountry").value.length < 1) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("petitionSelectCountry"));
	}
	if (document.getElementById("langue").value.length == 0) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("langue"));
	}
	var i;
	for (i=1; i < 6; i++)
	{
		typeFile = document.getElementById("typeFile_" + i);
		if (typeFile.checked)
		{
			typeFile = typeFile.value;
			i = 7; //on sort car un type de fichier a été sélectionné
		}
	}
	if (i > 6)
	{
//alert(typeFile + " | " + typeEmoticon + " | " + typeVideo);
		switch (Number(typeFile))
		{
			case  typeEmoticon :
				if (!radioChecked(document.getElementsByName("emoticonRadio")))
				{
					if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
					c++;
					erreurs[c] = getInputLabel(document.getElementById("emoticonRadio_1"));
				}
				break;
			case typeVideo :
				if (document.getElementById("linkVid").value.length < 5)
				{
					if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
					c++;
					erreurs[c] = getInputLabel(document.getElementById("linkVid"));
				}
				break;
/*
			case typeTxt:
				break;
*/
			default :
				if (document.getElementById("fichier").value.length < 5)
				{
					if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
					c++;
					erreurs[c] = getInputLabel(document.getElementById("fichier"));
				}
				break;
			}
	}
	else
	{
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
			c++;
		erreurs[c] = getInputLabel(document.getElementById("errorMsgTypeFile")); //typeFile_1
	}
	if (document.getElementById("agree").checked == false) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("agree"));
	}
	if (document.getElementById("captcha").value.length < 3) {
		if (!erreurs[0]) { erreurs[0] = document.getElementById("errorMsgFields").value; }
		c++;
		erreurs[c] = getInputLabel(document.getElementById("captcha"));
	}
	ShowErrors(erreurs);
	if (c == 0)
	{
		document.getElementById('resetButton').display = "none";
		document.getElementById('addButton').display = "none";
		document.getElementById('uploading').display = "block";
		document.getElementById('resetButton').style.display = "none";
		document.getElementById('addButton').style.display = "none";
		document.getElementById('uploading').style.display = "block";
		return true;
	}
	return false;
}

function radioChecked(o)
{
	for (var i = 0; i < o.length; i++)
	{
		if (o[i].checked)
		{
			return true;
		}
	}
	return false;
}

function doClick(o)
{
	var as = o.getElementsByTagName('a') ;
	if (as.length)
	{
		for (var i=0; i<as.length; i++)
      	{
      		if (as[i].href)
      		{
      			document.location.href = as[i].href;
      			return;
      		}
      	}
	}
}

//ouvre un pop-up
function ouvrirPop(url)
{
	ouvpop = window.open(url, "test pop-up");
}


//enlève les espaces en début et fin de chaine
function trim(stringToTrim)
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}


//affiche les erreurs en un bloc
function ShowErrors(erreurs)
{	
	if (erreurs.length > 0)
	{		
		var msg = '';
		for (i = 0; i < erreurs.length; i = i + 1)
		{
			msg = msg + '\r\n' + erreurs[i];
		}		
		alert(msg);				
	}
}
