/**
 * Javascripts généraux.
 */

var main_page = 'http://localhost:8080/MesSerrures';

function main_ol() {
	document.getElementById('srch_words').onkeypress = startKbSearch;
}

/*
 * Vérifie que le referrer est le même site que celui qui appele la page.
 */
function checkReferrer() {
	if (document.referrer == null 
		|| document.referrer == '' 
		|| !document.referrer.contains(main_page)) {
		window.location = main_page;
	}
}

/*
 * Construit une image à partir de l'url source
 * @param String url: url de l'image
 */
function buildImage(url) {
	var inc = document.createElement("img");
	inc.src = url;
	return inc;
}

/*
 * Construit une iframe à partir de l'url source
 * @param String url: url du fichier HTML qui sert de source à l'iFrame
 */
function buildIframe(url) {
	var inc = document.createElement("iframe");
	inc.src = url;
	inc.style.border = 0;
	inc.style.width = '500px';
	inc.style.height = '500px';
	return inc;
}

/*
 * Construit une vidéo à partir de l'url source
 * @param String url: url de la vidéo
 */
function buildPlayer(url) {
	var inc = document.createElement("span");
	inc.innerHTML = "<object type=\"application/x-shockwave-flash\" data=\"http://hercule.prive.lba-sa.fr/imagesfmvideos/player_flv_multi.swf\" width=\"480\" height=\"360\"><param name=\"movie\" value=\"http://hercule.prive.lba-sa.fr/imagesfmvideos/player_flv_multi.swf\" /><param name=\"FlashVars\" value=\"flv=" + url + "&autoload=1&autoplay=1&loop=0&showstop=1&showvolume=1$amp;autonext=1&showplayer=always&showfullscreen=1&buffermessage=Chargement _n_&showopen=1\" /></object>";
	return inc;
}



/*
 * Fonction qui efface le texte par défaut de la zone de recherche.
 * @param Object obj: objet <input type="text" /> source
 * @param String text: texte par défaut
 */
function clearSearch(obj, text) {
	var search = obj.value;
	if (search == text) {
		obj.value = '';
	}
}

/*
 * Fonction qui affiche une image dans la zone de prévisualisation.
 * @param Object sobj: objet <img /> source
 * @param Object tobj: objet <img /> cible
 */
function switchImage(div, trg) {
	var sobj = div.childNodes[1];
	var source = sobj.src;
	if (source != null && source.length > 0) {
		trg.src = source;
		document.getElementById('viewer_title').innerHTML = sobj.title;
	}
}

/*
 * Fonction qui affiche une image dans le popup d'affichage des images.
 * @param Object obj: objet <a /> source
*/ 
function displayImage(obj) {
	var sobj = obj.childNodes[1];
	var source = sobj.src;
	if (source != null && source.length > 0) {
		lightboxAppendContent(sobj.title, buildImage(source));
		lightboxDisplay();
	}
}

/*
 * Fonction qui affiche un fichier HTML dans le popup d'affichage des images.
 * @param String title: titre du lightbox
 * @param String source: fichier HTML à inclure
*/ 
function displayHelp(title, url) {
	if (url != null && url.length > 0) {
		lightboxAppendContent(title, buildIframe(url));
		lightboxDisplay();
	}
}

/*
 * Fonction qui affiche une vidéo dans le popup d'affichage des images.
 * @param String title: titre du lightbox
 * @param String source: fichier FLV
*/ 
function displayMovie(title, url) {
	if (url != null && url.length > 0) {
		lightboxAppendContent(title, buildPlayer(url));
		lightboxDisplay();
	}
}

/*
 * Fonction qui soumet le formulaire d'appel à la page de promotion.
 */
function submitPromo() {
	document.promotion_form.submit();
}

/*
 * Fonction qui soumet le formulaire d'appel à la page de nouveauté.
 */
function submitNew() {
	document.nouveaute_form.submit();
}

/*
 * Fonction qui soumet le formulaire d'appel à la page de nouveauté.
 */
function submitAccount() {
	document.compte_form.submit();
}

/*
 * Fonction qui soumet le formulaire d'appel à la page staique.
 */
function submitStatic() {
	document.static_form.submit();
}

/*
 * Fonction qui soumet le formulaire de recherche.
 */
function submitSearch(type, brand, words, parent) {
	document.search_form.search_type.value  = type;
	document.search_form.search_brand.value = brand;
	document.search_form.search_words.value = words;
	document.search_form.search_parent.value= parent;
	document.search_form.submit();
}

/*
 * Soumet le formulaire de recherche dans la barre de recherche.
 */
//function startSearch() {
//	var query = document.getElementById('srch_words').value;
//	submitSearch(
//			document.getElementById('srch_type').value,
//			document.getElementById('srch_brand').value,
//			(query != 'recherche ...') ? query : '',
//			null)
//}

function startKbSearch(e) {
	if (!e) var e = window.event;
	if (e.keyCode == 13) startSearch();
}

function startSearch () {
	var type = document.getElementById('srch_type').value;
	var query = document.getElementById('srch_words').value;
	var brand = document.getElementById('srch_brand').value;
	if (type == 1 && (query != 'recherche ...' || query != '')) {
		submitSearch(2, null, query, null);
	}
	else if (type == 2 && brand != 'Choisissez une marque') {
		submitSearch(2, brand, null, null);
	}
	else if (type == 0 && (query != 'recherche ...' || query != '')) {
		submitSearch(0, null, query, null);
	}
}
function displaySearch () {
	var type = document.getElementById('srch_type').value;
	if (type <= 1) {
		document.getElementById('srch_brand').style.display = 'none';
		document.getElementById('srch_words').style.display = 'inline';
	}
	else {
		document.getElementById('srch_brand').style.display = 'inline';
		document.getElementById('srch_words').style.display = 'none';
	}
}

/*
 * Peuple la select des fournisseurs dans la barre de recherche.
 */
function buildFournis() {
	var select = document.getElementById('srch_brand');
	var opt = document.createElement('OPTION');
	opt.Value = 0;
	opt.innerHTML = 'Choisissez une marque';
	select.appendChild(opt);
	var fournis = json_fournis[0];
	for (var i = 0; i < fournis.length; i++) {
		opt = document.createElement('OPTION');
		opt.value = fournis[i];
		opt.innerHTML = json_fournisnames[fournis[i]];
		select.appendChild(opt);
	}		
}

/*
 * Affiche la fenetre d'enregistrement du panier.
 */
function displaySavecart (bool) {
	document.getElementById('save_cart').style.display = (bool) ? 'block' : 'none';
}

/**
 * Affiche un message de confirmation d'ajout au panier.
 * @param String objid
 * @param String msg
 */
function alertAddCart (objid, msg) {
	obj = document.getElementById(objid);
	var coords = findPosition(obj);
	var popup = document.getElementById('add_cart');
	popup.innerHTML = msg;
	popup.style.top = (coords[0] - 5) + 'px';
	popup.style.left = (coords[1] - 250) + 'px';
	popup.style.display = 'block';
	setTimeout("hideAlertAddCart ()", 1000); 
}
function hideAlertAddCart () {
	var popup = document.getElementById('add_cart');
	popup.style.display = 'none';
}
// Ne pas supprimer
function ieResize () {}
