/*
 * -- BEGIN LICENSE BLOCK ----------------------------------
 *
 * This file is part of Mediaidea Technologies.
 * Copyright (c) 2010 Mediaidea. All rights reserved.
 *
 * -- END LICENSE BLOCK ------------------------------------
 */

var path = document.getElementsByTagName("base")[0].href;
var commonPath = path + "includes/public/common/";
var ajaxPathFile = path + "includes/public/ajaxCtrl/_ajax_ctrl.php";
var isMozilla = (document.getElementById && !document.all) ? 1 : 0;

var checkIconUri = commonPath+"validation/checkbullet.gif";
var spinnerIconUri = commonPath+"validation/spinner_grey.gif";


/**
 * 	Affichage de la fenetre flottante pour le message d'attente.
 */
function show_loader(){
	
	//moveFloatingDiv('loader');
	
	pageDimension = Element.getDimensions("body");
		
	var width	=	pageDimension.width;
	var height  = 	pageDimension.height;
	
    document.getElementById('fullScreenDiv').style.width = width + 'px';
    document.getElementById('fullScreenDiv').style.height = height + 'px';
	
    document.getElementById('loader').style.left = (screen.width/3) + 'px';
    document.getElementById('loader').style.top = (screen.height/3) + 'px';
        
	Element.show('fullScreenDiv');
	Element.show('div_desktop');
	Element.show('loader');
}

/**
 * 	Masque le message d'attente.
 */
function hide_loader(){
	
	Element.hide('fullScreenDiv');
	Element.hide('div_desktop');
	Element.hide('loader');
}


/**
 * 	Affichage le symbole WAIT.
 */
function show_wait(elemId){
	
	var elemParent = elemId+'field';
	var elemValid = elemId+'valid';

	hide_err(elemId);
	Element.removeClassName(elemParent, 'fielderr');
	Element.update(elemValid, '<img src="'+spinnerIconUri+'" alt="spinner" />');
	Element.show(elemValid);
}

/**
 * 	Masquer le symbole WAIT.
 */
function hide_wait(elemId){
	
	var elemValid = elemId+'valid';
	
	Element.hide(elemValid);
}


/**
 *	Affiche le symbole OK.
 */
function show_ok(elemId){
	
	var elemParent = elemId+'field';
	var elemValid = elemId+'valid';
	
	hide_err(elemId);
	Element.removeClassName(elemParent, 'fielderr');
	Element.update(elemValid, '<img src="'+checkIconUri+'" alt="ok" />');
	Element.show(elemValid);
}

/**
 * 	Masque le symbole OK.
 */
function hide_ok(elemId){
	
	var elemValid = elemId+'valid';
	
	Element.hide(elemValid);
}


/**
 * 	Affiche le message d'erreur.
 */
function show_err(elemId, errorMsg){
	
	var elemParent = elemId+'field';
	var elemMessage = elemId+'msg';

	hide_ok(elemId);
	Element.addClassName(elemParent, 'fielderr');
	Element.update(elemMessage, errorMsg);
}

/**
 * 	Masque le message d'erreur.
 */
function hide_err(elemId){
	
	var elemParent = elemId+'field';
	var elemMessage = elemId+'msg';
	
	Element.removeClassName(elemParent, 'fielderr');
	Element.update(elemMessage, '');
}


/**
 *	Switch des images pour les produits.
 */
function switchProductImg(elementUpdate, imgId){
	
	var opt = {
		evalScripts: true,
		parameters: 'img_id='+imgId+'&action=switchImgProduct',
		onComplete: function(requete){
			Element.update(elementUpdate, requete.responseText);
		}
	}
	
	new Ajax.Request(ajaxPathFile, opt);
}

/**
 * Bouton de control pour les quantités.
 */
function control_qte(id, sign){
	switch(sign){
		case '-':	if($(id).value > 0){$(id).value--;}	break;
		case '+':	$(id).value++;						break;
	}
}


function popupCenter(pageURL, title, w, h) {
	var left = (screen.width/2)-(w/2);
	var top = (screen.height/2)-(h/2);
	var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
} 


function TextInputControlLogin(){
	if ($('auth_login').value == "votre identifiant"){
		$('auth_login').value="";
	}
}

function TextInputControlPass(){
	if ($('auth_password').value == "Mot de passe"){
		$('auth_password').value="";
	}
}


function loadComboContent(elemId, elementToUpdate, elemToDisable, paramsToPass){
	
	var opt = {
		evalScripts: true,
		parameters: paramsToPass+'&action=loadComboContent&id='+$(elemId).value,
		onComplete: function(requete){
			$(elementToUpdate).disabled = false;
			Element.update(elementToUpdate, requete.responseText);
		}
	}
	
	new Ajax.Request(ajaxPathFile, opt);
}

function autoComplete(q, q_choice, task, parameter){
	
	new Ajax.Autocompleter(q, q_choice, ajaxPathFile+'?action='+task+parameter, {
		paramName: q, 
		minChars: 1,
		updateElement:function(requete){
			$(q).value = requete.title;
		}
	});
}

//Autocomplete jQuery
function autoCompleteField(fieldID, outputID, action, parameters){
	jQuery("#"+fieldID).autocomplete({
		source: ajaxPathFile+"?action="+action+parameters,
		minLength: 1,
		delay: 0,
		select: function(event, ui) {
			jQuery('#'+outputID).val(ui.item.id);
		}
	})
	.data( "autocomplete" )._renderItem = function( ul, item ) {
		return jQuery( "<li></li>" )
		.data( "item.autocomplete", item )
		.append( "<a>" + item.img + item.label + item.desc + "</a>" )
		.appendTo( ul );
	};
}






function periodicalAction(action, elemToUpdate, updateFrequency, parameters){
	
	var opt = {
		method:'post',
		frequency:updateFrequency,
		parameters: parameters+'&action='+action
	}
	
	new Ajax.PeriodicalUpdater(elemToUpdate, ajaxPathFile, opt);
}