/**
 * +----------------------------------------------------------------------------+
 * | Version française															|
 * +----------------------------------------------------------------------------+
 * | Copyright (©) 2004-2009 DS - DataSouk										|
 * | Auteur: DS developpement <dev@datasouk.fr>									|
 * | contributeur(s) : salem Aguemoun <salem@datasouk.fr>						|
 * |............................................................................|
 * | Ce logiciel est un programme informatique servant à :						|
 * | la gestion documentaire.													|
 * | Il permet l'administration de document de tous types en permettant :		|
 * | - la définition des modèles de document (propriétés)						|
 * | - la saisie des documents (valeur des propriétés)							|
 * | - la recherche de documents par des critères portés sur les propriétés		|
 * |............................................................................|
 * | Ce logiciel est régi par la licence CeCILL soumise au droit français et	|
 * | respectant les principes de diffusion des logiciels libres. Vous pouvez	|
 * | utiliser, modifier et/ou redistribuer ce programme sous les conditions		|
 * | de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA		|
 * | sur le site "http://www.cecill.info".										|
 * |																			|
 * | En contrepartie de l'accessibilité au code source et des droits de copie,	|
 * | de modification et de redistribution accordés par cette licence, il n'est	|
 * | offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,	|
 * | seule une responsabilité restreinte pèse sur l'auteur du programme,  le	|
 * | titulaire des droits patrimoniaux et les concédants successifs.			|
 * | 																			|
 * | A cet égard l'attention de l'utilisateur est attirée sur les risques		|
 * | associés au chargement,  à l'utilisation,  à la modification et/ou au		|
 * | développement et à la reproduction du logiciel par l'utilisateur étant 	|
 * | donné sa spécificité de logiciel libre, qui peut le rendre complexe à 		|
 * | manipuler et qui le réserve donc à des développeurs et des professionnels	|
 * | avertis possédant  des  connaissances  informatiques approfondies.  Les	|
 * | utilisateurs sont donc invités à charger  et  tester  l'adéquation  du		|
 * | logiciel à leurs besoins dans des conditions permettant d'assurer la		|
 * | sécurité de leurs systèmes et ou de leurs données et, plus généralement, 	|
 * | à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 		|
 * | 																			|
 * | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez		|
 * | pris connaissance de la licence CeCILL, et que vous en avez accepté les	|
 * | termes.																	|
 * +----------------------------------------------------------------------------+
 * | English version															|
 * +----------------------------------------------------------------------------+
 * | Copyright (©) 2004-2009 DS - DataSouk										|
 * | Author: DS - developpement <dev@datasouk.fr>								|
 * | contributor(s) : salem Aguemoun											|
 * |............................................................................|
 * | This software is a computer program whose purpose is to :					|
 * | document management.														|
 * | It allows the administration of document of all types while allowing :		|
 * | - the definition of the models of document (properties)					|
 * | - seizure of the documents (value of the properties)						|
 * | - the document retrieval by criteria related to the properties				|
 * |............................................................................|
 * | This software is a computer program whose purpose is to [describe			|
 * | functionalities and technical features of your software].					|
 * |																			|
 * | This software is governed by the CeCILL license under French law and		|
 * | abiding by the rules of distribution of free software. You can use,		|
 * | modify and/ or redistribute the software under the terms of the CeCILL		|
 * | license as circulated by CEA, CNRS and INRIA at the following URL			|
 * | "http://www.cecill.info".													|
 * |																			|
 * | As a counterpart to the access to the source code and rights to copy,		|
 * | modify and redistribute granted by the license, users are provided only	|
 * | with a limited warranty  and the software's author, the holder of the		|
 * | economic rights, and the successive licensors have only limited			|
 * | liability.																	|
 * |																			|
 * | In this respect, the user's attention is drawn to the risks associated		|
 * | with loading, using, modifying and/or developing or reproducing the		|
 * | software by the user in light of its specific status of free software,		|
 * | that may mean that it is complicated to manipulate, and that also			|
 * | therefore means that it is reserved for developers and experienced			|
 * | professionals having in-depth computer knowledge. Users are therefore		|
 * | encouraged to load and test the software's suitability as regards their	|
 * | requirements in conditions enabling the security of their systems			|
 * | and/or data to be ensured and,  more generally, to use and operate it		|
 * | in the same conditions as regards security.								|
 * |																			|
 * | The fact that you are presently reading this means that you have had		|
 * | knowledge of the CeCILL license and that you accept its terms.				|
 * +----------------------------------------------------------------------------+
 * $Id: v 1.00 2006/10/01 00:00:00 salem $
 */

/**
 * Global public javascript for DS
 * @package DS
 * @subpackage Javascript
 * @version $Id: v 1.00 2009/06/03 00:00:00 salem $
 * @since Class available since the release 1.00
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @see headers.php
 */

/**
 * Initialize events for colorbox
 * @package DS
 * @subpackage Javascript
 * @version $Id: v 1.00 2009/06/03 00:00:00 salem $
 * @since Class available since the release 1.00
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @see headers.php
 */
function DsInitColorbox(){
	$.fn.colorbox.settings.opacity = 0.95;
	$.fn.colorbox.settings.speed = 500;
	$.fn.colorbox.settings.slideshowSpeed = 2000;
	//$.fn.colorbox.settings.initialWidth = "10";
	//$.fn.colorbox.settings.initialHeight = "10";
	$(".row .mpg").colorbox({iframe:true, width:"382px", height:"359px"});
	$(".row .pdf").colorbox({iframe:true, width:"800px", height:"600px"});
	$(".notice .jpg").colorbox({slideshow:true, slideshowAuto:false});
	//$(".row .hlm").colorbox({iframe:true, width:"900px", height:"600px"});
	$(".notice .pdf").colorbox({iframe:true, width:"800px", height:"600px"});
	//$(".notice .hlm").colorbox({iframe:true, width:"900px", height:"600px"});
	//$(".value .hlm").colorbox({iframe:true, width:"900px", height:"600px"});
}

/**
* Initialize events for slidetab for msie
* @package DS
* @subpackage Javascript
* @version $Id: v 1.00 2009/06/03 00:00:00 salem $
* @since Class available since the release 1.00
* @access public
* @author DS developpement <dev@datasouk.fr>
* @see headers.php
*/
function DsInitSlidetab(speed, txtin, txtout) {
	$(".slidetab .slidetabswitch").slideUp(speed);
	$(".slidetab .slidetabtitle")
		.hover(function(){$(this).css("cursor", "pointer");})
		.click(function(){$(this).parent().children(".slidetabswitch").slideToggle(speed,function(){
			$(this).filter(":visible").parent().children(".slidetabtitle").html(txtout);
			$(this).filter(":hidden").parent().children(".slidetabtitle").html(txtin);
			});
		})
	;
	/*	$(".slidetab .slidetabswitch").slideUp(speed);
	$(".slidetab .slidetabtitle").hover(
		function(){$(this).css("cursor", "pointer").parent().children(".slidetabswitch:hidden").slideDown(speed);}
	);
	$(".slidetab").hover(
		function(){$(this).children(".slidetabswitch:hidden").slideDown(speed);},
		function(){$(this).children(".slidetabswitch:visible").slideUp(speed);}
	);
	*/
}

/**
* Initialize events for slideselect
* @package DS
* @subpackage Javascript
* @version $Id: v 1.00 2009/06/03 00:00:00 salem $
* @since Class available since the release 1.00
* @access public
* @author DS developpement <dev@datasouk.fr>
* @see headers.php
*/
function DsInitSlideselect(speed) {
	$(".slideselect .slideselectswitch li").hide().filter(".selected").show();
	$(".slideselect").hover(function(){
			$(this).children("ul").children("li").css("cursor", "pointer");
			$(this).children("ul").children("li:hidden").slideDown(speed);
		}, function(){
			$(this).children("ul").children("li:visible").slideUp(speed).filter(".selected").slideDown(speed);
		}
	);
	$(".slideselect .slideselectswitch li").click(function(){
			$(this).parent().parent().children("input").val($(this).attr("rel")).parents("form").submit();
		}
	);
}

/**
* Initialize events for tooltip
* @abstract 
* @return true
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2009/06/03 00:00:00 salem $
* @since Method available since Release 1.00
*/
function DsInitTooltip() {
	xOffset = -80;
	yOffset = -30;
	$(".tooltip").hover(function(e){
		this.t = this.title;
		this.title = "";
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip").css("top",(e.pageY - yOffset) + "px").css("left",(e.pageX + xOffset) + "px").fadeIn("fast");
		},function(){
	            this.title = this.t;
	            $("#tooltip").remove();
	});
   $(".tooltip").mousemove(function(e){
       $("#tooltip").css("top",(e.pageY - yOffset) + "px").css("left",(e.pageX + xOffset) + "px");
   });
};

/**
 * Show and hide element selected with id
 * @abstract 
 * @param sring id html identifier of element to show
 * @return true
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @version $Id: v 1.00 2006/10/01 00:00:00 salem $
 * @since Method available since Release 1.00
 */
function Menu(id) {
	$("#menu .menu_float").hide(10);
	if (id) $("#"+id).show();
}

/**
* switch state for HTML element wich have class "hidden" with fade effect
* @abstract 
* @param string id identifier of ul tag
* @return
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2006/10/01 00:00:00 salem $
* @since Method available since Release 1.00
* @see menu.php
*/
function SwitchShow(id, speed) {
	var Obj = $("#"+id);
	if (Obj.hasClass("hidden")) {
		Obj.show(speed).removeClass("hidden");
	} else {
		Obj.hide(speed).addClass("hidden");
	}
}

/**
* switch state for HTML element wich have class "hidden" with slide effect
* @abstract 
* @param string id identifier of ul tag
* @return
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2006/10/01 00:00:00 salem $
* @since Method available since Release 1.00
* @see menu.php
*/
function SwitchSlide(id, speed) {
	var Obj = $("#"+id);
	if (Obj.hasClass("hidden")) {
		Obj.slideDown(speed).removeClass("hidden");
	} else {
		Obj.slideUp(speed).addClass("hidden");
	}
}

/**
* show / hide html element
* @abstract 
* @param string id identifier of ul tag
* @return
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2006/10/01 00:00:00 salem $
* @since Method available since Release 1.00
* @see menu.php
*/
function Hide2Visible(id) {
	var Obj = $("#"+id);
	if (Obj.css("display") != "block") {
			Obj.css("display","block");
	} else {
		Obj.css("display","none");
	}
}

/**
* display ul tag on out evenement
* @abstract 
* @param string id identifier of ul tag
* @return
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2006/10/01 00:00:00 salem $
* @since Method available since Release 1.00
* @see menu.php
*/
function Visible2Hide(id) {
	var Obj = $("#"+id);
	if (Obj.css("display") != "none") {
			Obj.css("display","none");
	} else {
		Obj.css("display","block");
	}
}

/**
* switch state of element hide/show
* @abstract 
* @param string id identifier of ul tag
* @return
* @access public
* @author DS developpement <dev@datasouk.fr>
* @version $Id: v 1.00 2006/10/01 00:00:00 salem $
* @since Method available since Release 1.00
* @see menu.php
*/
function SwitchData(id) {
	Obj = $("#"+id);
	if (Obj.hasClass("hidden")) {
		Obj.show(1000).removeClass("hidden");
	} else {
		Obj.hide(500).addClass("hidden");
	}
}

function SwitchImg(id, src1, src2) {
	Obj = $("#"+id);
	if (Obj.attr("src") == src1) {
		Obj.attr("src", src2);
	} else {
		Obj.attr("src", src1);
	}
}

/**
 * open / close notice
 * @abstract 
 * @param string id identifier of ul tag
 * @param string src1 source of image
 * @param string src2 source of image
 * @return
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @version $Id: v 1.00 2006/10/01 00:00:00 salem $
 * @since Method available since Release 1.00
 * @see menu.php
 */
function DSNotice(id, src1, src2) {
	Data = $("#notice"+id+" .data");
	DataState = Data.hasClass("hidden");
	Img = $("#link_access_img"+id);
	
	// hide all notices
	$(".results .notice .data").hide(500).addClass("hidden");
	$(".results .link_access_img").each(function(){
		$(this).attr("src", src1);
	});
	// hide all row links
	$(".results .row .mpg").fadeOut(500).addClass("hidden");

	// show selected if hidden
	if (DataState) {
		Data.show(1000).removeClass("hidden");
		Img.attr("src", src2);
	// hide all row links
	} else {
		$(".results .row .mpg").fadeIn(1000).removeClass("hidden");
	}
}

 /**
  * open / close notice
  * @abstract 
  * @param string id identifier of ul tag
  * @return
  * @access public
  * @author DS developpement <dev@datasouk.fr>
  * @version $Id: v 1.00 2006/10/01 00:00:00 salem $
  * @since Method available since Release 1.00
  * @see menu.php
  */
function GalleryNotice(id) {
	Data = $("#notice"+id+" .data");
	DataState = Data.hasClass("hidden");
	
	// hide all notices
	$(".results .notice .data:visible").hide(500).addClass("hidden");
	
	// show selected if hidden
	Data.show(1000).removeClass("hidden");
}

/**
 * switch selected checbox
 * @abstract 
 * @param string name class name to select 
 * @return
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @version $Id: v 1.00 2006/10/01 00:00:00 salem $
 * @since Method available since Release 1.00
 * @see
 */
function CheckSwitch(id) {
	$("."+id).each(function(i){
		if ($(this).attr("checked")) {
			$(this).attr("checked","");
			$(this).parent().removeClass("selected");
		} else {
			$(this).attr("checked","checked");
			$(this).parent().addClass("selected");
		}
	});
}

/**
 * switch selected checbox
 * @abstract 
 * @param string name class name to select 
 * @return
 * @access public
 * @author DS developpement <dev@datasouk.fr>
 * @version $Id: v 1.00 2006/10/01 00:00:00 salem $
 * @since Method available since Release 1.00
 * @see
 */
function CheckSwitchAll(id) {
	var Obj = $("#"+id);
	if (Obj.hasClass("selected")) {
		$("#"+id+" input").each(function(i){
				$(this).attr("checked","");
				$(this).parent().removeClass("selected");
		});
		Obj.removeClass("selected");
	} else {
		$("#"+id+" input").each(function(i){
			$(this).attr("checked","checked");
			$(this).parent().addClass("selected");
		});
		Obj.addClass("selected");
	}
}

function DSValue(id,value) {
	$("#"+id).attr("value", value);
}
		 
function DsCheckbox(id) {
	$("."+id+" li input").each(function(){
		if ($(this).attr("checked")) {
			$(this).parent().addClass("selected");
		} else {
			$(this).parent().removeClass("selected");
		}
	}).click(function() {
		if ($(this).attr("checked")) {
			$(this).parent().addClass("selected");
		} else {
			$(this).parent().removeClass("selected");
		}
	})
}

function DSResultPages(tn, page) {
	$("#results_cursor").val(page);
	$("#send"+tn).click();
}
