/**
 *
 * @author Ardeleanu Ionut
 * @langversion JAVASCRIPT
 *
 * http://www.neokinetics.ro
 * iardeleanu@neokinetics.ro
 *
 */
function StyleSheet(){
 	var JSObject = this;
	
	
	/*****************************************************************************************/
	/*                                      INIT STYLESHEET                                  */
	/*****************************************************************************************/
	/**
	 * initialize Pictures, Mouse, Inputs events
	 * method type: LOCAL
	 * params: @DOMDoc : DOM Document of the window or thickbox
	 */
	this.init = function(DOMDoc) {
 		
		this.loadPictures();
		this.initMouseEvents(DOMDoc);
		this.initFocusEvents(DOMDoc);
		
	}
 
 
 	/*****************************************************************************************/
	/*                                   LOAD BUTTONS PICTURES                               */
	/*****************************************************************************************/
	/**
	 * loads buttons pictures for mouse events effects
	 * method type: LOCAL
	 * params: none
	 */
	this.loadPictures = function() {
		
		var btn_selected_bg = new Image();
		btn_selected_bg.src = JSInterface.localpath + "includes/images/buttons/btn_selected_bg.gif";
		
		var btn_selected_left = new Image();
		btn_selected_left.src = JSInterface.localpath + "includes/images/buttons/btn_selected_left.gif";
		
		var btn_selected_right = new Image();
		btn_selected_right.src = JSInterface.localpath + "includes/images/buttons/btn_selected_right.gif";
		
		var btn_unselected_bg = new Image();
		btn_unselected_bg.src = JSInterface.localpath + "includes/images/buttons/btn_unselected_bg.gif";
		
		var btn_unselected_left = new Image();
		btn_unselected_left.src = JSInterface.localpath + "includes/images/buttons/btn_unselected_left.gif";
		
		var btn_unselected_right = new Image();
		btn_unselected_right.src = JSInterface.localpath + "includes/images/buttons/btn_unselected_right.gif";
		
		var btnRepeat = new Image();
		btnRepeat.src = JSInterface.localpath + "includes/images/buttons/btnRepeat.png";
		
		var btnRightSide = new Image();
		btnRightSide.src = JSInterface.localpath + "includes/images/buttons/btnRightSide.png";
		
		var form_btn_bg = new Image();
		form_btn_bg.src = JSInterface.localpath + "includes/images/buttons/form_btn_bg.gif";
				
		var form_btn_over_bg = new Image();
		form_btn_over_bg.src = JSInterface.localpath + "includes/images/buttons/form_btn_over_bg.gif";
		
		var form_btn_press_bg = new Image();
		form_btn_press_bg.src = JSInterface.localpath + "includes/images/buttons/form_btn_press_bg.gif";
		
		var advanced_search_icon_up = new Image();
		advanced_search_icon_up.src = JSInterface.localpath + "includes/images/buttons/btnMore_up.gif";
		
		var advanced_search_icon_down = new Image();
		advanced_search_icon_down.src = JSInterface.localpath + "includes/images/buttons/btnMore_down.gif";
	}
 
 
 	/*****************************************************************************************/
	/*                                   INIT MOUSE EVENTS on Buttons                        */
	/*****************************************************************************************/
	/**
	 * initialize mouse events like mouseover, mouseout, mouseleave on buttons
	 * method type: LOCAL
	 * params: @DOMDoc : DOM Document of the window or thickbox
	 */
	this.initMouseEvents = function(DOMDoc) {
	
		$('input:button',DOMDoc).bind("mouseover", function(){
													$(this).addClass('form_btn_over');
												});
		$('input:button',DOMDoc).bind("mouseout", function(){
													$(this).removeClass('form_btn_over');
												});
		$('input:button',DOMDoc).bind("mouseleave", function(){
													$(this).removeClass('form_btn_over');
												});
		
		
		$('.formButton',DOMDoc).bind("mouseover", function(){
													$('.img_btn_left',this).addClass("img_btn_over_left");
													$('.img_btn',this).addClass("img_btn_over");
													$('.img_btn_right',this).addClass("img_btn_over_right");
												});
		$('.formButton',DOMDoc).bind("mouseout", function(){
													$('.img_btn_left',this).removeClass("img_btn_over_left");
													$('.img_btn',this).removeClass("img_btn_over");
													$('.img_btn_right',this).removeClass("img_btn_over_right");
												});
	}
	
	
	
	/*****************************************************************************************/
	/*                                   INIT FOCUS EVENTS on Inputs                         */
	/*****************************************************************************************/
	/**
	 * initialize focus event  on inputs, textareas, selects
	 * method type: LOCAL
	 * params: @DOMDoc : DOM Document of the window or thickbox
	 */
	this.initFocusEvents = function(DOMDoc) {
	
		//atach actions (change css class): focusin and focusout for inputs
		$('input:text.inputTextRecherche',DOMDoc).each(function(){JSObject.changeCSSClass("input:text",this);}) 
		$('input:password.inputTextRecherche',DOMDoc).each(function(){JSObject.changeCSSClass("input:text",this);}) 
		$('input:file.inputTextRecherche',DOMDoc).each(function(){JSObject.changeCSSClass("input:file",this);}) 
		
		//atach actions (change css class): focusin and focusout for textarea
		$('textarea.inputTextRecherche',DOMDoc).each(function(){JSObject.changeCSSClass("textarea",this);}) 
		
		//atach actions (change css class) for selects
		$('select.inputTextRecherche',DOMDoc).each(function(){JSObject.changeCSSClass("select",this);})
		
	}
	
	
	
	/*****************************************************************************************************/
	/*                              FUNCTION CHANGE CSS CLASS  -  SELECT, TEXTAREA, INPUT                */          
	/*****************************************************************************************************/
	this.changeCSSClass = function(type, obj){
		switch (type){
			
			case "input:text":
				
			case "input:file":
			
			case "textarea":
			
				
				$(obj).removeClass('inputTextEdit');
				
				if ($(obj).val() == "JJ/MM/AAAA" || $(obj).val() == "Mot de passe" || $(obj).val() == "Email"){
				 	$(obj).removeClass('inputTextEdit');
				}
				
				$(obj).unbind("focus");
				$(obj).bind("focus",function(){
					$(obj).removeClass('inputTextEdit');
					$(obj).addClass('inputTextEdit');
				})
				
				if ($(obj).val().length > 0){
					$(obj).addClass('inputTextEdit');
				}
				
				
				$(obj).unbind("blur");
				$(obj).bind("blur",function(){
					if ($(obj).val() == "JJ/MM/AAAA"){
						$(obj).removeClass('inputTextEdit');	
					}
				})
				break;
			
			case "select":
			
				if (obj.selectedIndex > 0){
					$(obj).addClass('inputTextEdit');
				}
				
				$(obj).unbind("change");
				$(obj).bind("change",function(){
					$(obj).removeClass('inputTextEdit');
					if (obj.selectedIndex > 0){
						$(obj).addClass('inputTextEdit');
					}
					
				}) 
				
				break;
				
			default : break;
		}
	}
 
}
