function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages_fr() {
	if (document.images) {
		btn1_ImageMap_01_over = newImage("images/menu_fr_btn1_over.gif");
		btn2_ImageMap_02_over = newImage("images/menu_fr_btn2_over.gif");
		btn3_ImageMap_03_over = newImage("images/menu_fr_btn3_over.gif");
		btn4_ImageMap_04_over = newImage("images/menu_fr_btn4_over.gif");
		btn5_ImageMap_05_over = newImage("images/menu_fr_btn5_over.gif");
		btn6_ImageMap_06_over = newImage("images/menu_fr_btn6_over.gif");
		btn7_ImageMap_07_over = newImage("images/menu_fr_btn7_over.gif");
		preloadFlag = true;
	}
}

function preloadImages_en() {
	if (document.images) {
		btn1_ImageMap_01_over = newImage("images/menu_en_btn1_over.gif");
		btn2_ImageMap_02_over = newImage("images/menu_en_btn2_over.gif");
		btn3_ImageMap_03_over = newImage("images/menu_en_btn3_over.gif");
		btn4_ImageMap_04_over = newImage("images/menu_en_btn4_over.gif");
		btn5_ImageMap_05_over = newImage("images/menu_en_btn5_over.gif");
		btn6_ImageMap_06_over = newImage("images/menu_en_btn6_over.gif");
		btn7_ImageMap_07_over = newImage("images/menu_en_btn7_over.gif");
		preloadFlag = true;
	}
}

function NewWindow(mypage, myname, w, h, scroll, resizable) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable+''
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

function ajax_connexion_string() {
	var xhr_object = null;
	if (window.XMLHttpRequest) { // Firefox
		xhr_object = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Internet Explorer
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	} else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	return xhr_object;
}

var prevLinksID = '';

function showLinks(linksID) {
	if (prevLinksID != '')
		document.getElementById(prevLinksID).style.display = 'none';
	
	document.getElementById(linksID).style.display = '';
	prevLinksID = linksID;
}

function addToMailingList() {
	
	closePanel("mailing_msg_tr");
	var email = document.getElementById('mailing_email').value;
	
	if (email == '') {
		msg = 'Vous devez inscrire votre adresse courriel';
		// alert(msg);
		document.getElementById('mailing_msg_div').innerHTML = msg;
		document.getElementById('mailing_msg_tr').style.display = '';
		setTimeout('closePanel("mailing_msg_tr")',5000);
	} else {
		xhr_object = ajax_connexion_string();
		xhr_object.open("POST", "includes/add_to_mailing_list.php", true);
		xhr_object.onreadystatechange = function anonymous() {
			if (xhr_object.readyState == 4) {
				// alert(xhr_object.responseText);
				if (xhr_object.responseText == 'OK') {
					msg = 'Un message de confirmation vous à été envoyé par courriel';
					// alert(msg);
					document.getElementById('mailing_msg_div').innerHTML = msg;
					document.getElementById('mailing_msg_tr').style.display = '';
					setTimeout('closePanel("mailing_msg_tr")',5000);
				} else {
					if (xhr_object.responseText == 'invalid') {
						msg = 'Cette adresse courriel est invalide';
						// alert(msg);
						document.getElementById('mailing_msg_div').innerHTML = msg;
						document.getElementById('mailing_msg_tr').style.display = '';
						setTimeout('closePanel("mailing_msg_tr")',5000);
					} else {
						msg = 'Cette adresse est déjà dans notre base de données';
						// alert(msg);
						document.getElementById('mailing_msg_div').innerHTML = msg;
						document.getElementById('mailing_msg_tr').style.display = '';
						setTimeout('closePanel("mailing_msg_tr")',5000);
					}
				}			
			}
		}
	}
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "email=" + escape(email);
	xhr_object.send(data);
}

function closePanel(elemID) {
	document.getElementById(elemID).style.display = 'none';
}

function objVal(ID, obj) {
	
	var elems = new Array();
	var obj = document.getElementById(ID);
	var i;
	var count = 0;
	for (i=0; i<obj.options.length; i++) {
		if (obj.options[i].selected) {
			elems[count] = obj.options[i].value;
			count++;
		}
	}
	
	return elems;
}

var pTimer;

function search() {
	searchAnim("");
	clearTimeout(pTimer);
	pTimer = setTimeout("performSearch();", 1000);
}

function searchYear(ID) {
	var reg = /^\d{4}$/;
	if (document.getElementById(ID).value.length == 4) {
		if (document.getElementById(ID).value.search(reg) == -1)
			document.getElementById(ID).value = "";
		else
			performSearch();
	}
}

function verifyYear(ID) {
	var reg = /^\d{4}$/;
	if (document.getElementById(ID).value.search(reg) == -1)
		document.getElementById(ID).value = "";
}

function performSearch() {
	
	document.getElementById("searchResultsTitle").style.visibility = "hidden";
	
	searchAnim("");
	
	verifyYear("year_start");
	verifyYear("year_end");
	
	var name			= document.getElementById("name").value;
	var realisateurs	= document.getElementById("realisateurs").value;
	var acteurs			= document.getElementById("acteurs").value;
	var DVD				= document.getElementById("DVD").checked;
	var BLURAY			= document.getElementById("BLURAY").checked;
	var VHS				= document.getElementById("VHS").checked;
	var year_start		= document.getElementById("year_start").value;
	var year_end		= document.getElementById("year_end").value;
	var sugg7e			= document.getElementById("sugg7e").checked;
	
	var genreObj		= document.getElementById("genre");
	var countryObj		= document.getElementById("country");
	var languagesObj	= document.getElementById("languages");
	var subtitlesObj	= document.getElementById("subtitles");
	
	var genre			= objVal("genre", genreObj);
	var country			= objVal("country", countryObj);
	var languages		= objVal("languages", languagesObj);
	var subtitles		= objVal("subtitles", subtitlesObj);
	
	
	
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", "includes/search_av.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			var ch = xhr_object.responseText.split("::::::::::");
			document.getElementById("numResults").innerHTML = ch[0];
			document.getElementById("searchResults").innerHTML = ch[1];
			document.getElementById("searchResultsTitle").style.visibility = "visible";
			searchAnim("none");
		}
	}
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "name=" + name + "&realisateurs=" + realisateurs + "&acteurs=" + acteurs + "&DVD=" + DVD + "&BLURAY=" + BLURAY + "&VHS=" + VHS + "&year_start=" + year_start + "&year_end=" + year_end + "&genre=" + genre + "&country=" + country + "&languages=" + languages + "&subtitles=" + subtitles + "&sugg7e=" + sugg7e;
	xhr_object.send(data);
}

function activateSearch(type) {
	if (type == "advanced") {
		document.getElementById("adv").style.display = "";
		document.getElementById("basic_search_btn").style.display = "";
		document.getElementById("advanced_search_btn").style.display = "none";
	} else {
		document.getElementById("adv").style.display = "none";
		document.getElementById("basic_search_btn").style.display = "none";
		document.getElementById("advanced_search_btn").style.display = "";
		
		document.getElementById("DVD").checked = true;
		document.getElementById("BLURAY").checked = true;
		document.getElementById("VHS").checked = false;
		document.getElementById("year_start").value = "";
		document.getElementById("year_end").value = "";
		document.getElementById("sugg7e").checked = false;
		document.getElementById("genre").value = "";
		document.getElementById("country").value = "";
		document.getElementById("languages").value = "";
		document.getElementById("subtitles").value = "";
		
		performSearch();
	}
}

function searchAnim(st) {
	document.getElementById('searchInProgress').style.display = st;
}

function reloadSearch(id, val) {
	opener.resetSearchParam();
	opener.document.getElementById(id).value = val;
	opener.performSearch();
	self.close();
}

function resetSearchParam() {
	document.getElementById("name").value = "";
	document.getElementById("realisateurs").value = "";
	document.getElementById("acteurs").value = "";
	document.getElementById("DVD").checked = true;
	document.getElementById("BLURAY").checked = true;
	document.getElementById("VHS").checked = false;
	document.getElementById("year_start").value = "";
	document.getElementById("year_end").value = "";
	document.getElementById("sugg7e").checked = false;
	document.getElementById("genre").value = "";
	document.getElementById("country").value = "";
	document.getElementById("languages").value = "";
	document.getElementById("subtitles").value = "";
}