/* package-version: 2010-09-02-B-axa-direct-2.2 */
(function($){

	$.fn.inputReplace = function(){
		
		var _elements = this;
		
		_elements.each(function(){
			//console.debug($(this));
			_replaceElement(this);
		});
		
		
		/**
		*** replacing input selectors, type = {file, radio, checkbox}
		**/
		
		function _replaceElement(e) {
			var type = $(e).attr("type");
			var inputClass = $(e).attr("class");
			var state = $(e).attr("checked");

			if(inputClass == undefined) { var iClass = 'Replace'; }
			else {
				if(inputClass.indexOf(" ") == -1) { var iClass = inputClass; }	
				else { var temp = inputClass.split(" "); var iClass = temp[0]; }
			}
				
			if(type == 'file') { 
				$(e).wrap('<div class="jsIRbgFile_'+iClass+' jsIRbgFile"></div>').after('<input type="text" class="jsIRtxt_'+iClass+' jsIRtxt" />'); 
			}
			else if(type == 'checkbox') {  
				if((state == 'checked') || (state == true)) { $(e).wrap('<div class="jsIRbgCheck_'+iClass+'_Active jsIRbgCheckActive">'); }  
				else { $(e).wrap('<div class="jsIRbgCheck_'+iClass+' jsIRbgCheck">'); }
				$(e).click(function(){ _changeState(this); });
			}
			else if(type == 'radio') {  
				if((state == 'checked') || (state == true)) { $(e).wrap('<div class="jsIRbgRadio_'+iClass+'_Active jsIRbgRadioActive">'); }   
				else { $(e).wrap('<div class="jsIRbgRadio_'+iClass+' jsIRbgRadio">'); }
				$(e).click(function(){ _changeState(this); });
			}
		}
		
		
		/**
		*** changing css classes on clicked input
		**/
		
		function _changeState(e) {
			var state2 = $(e).attr("checked"); 
			var class2 = $(e).attr("class");
			
			if(class2.indexOf(" ") == -1) { var class2 = class2; }	
			else { var temp = class2.split(" "); var class2 = temp[0]; }
			
			if($(e).attr("type") == 'radio') { 
				$("input[name="+$(e).attr("name")+"]").each(function(){
					$(this).parent().removeClass("jsIRbgRadioActive").removeClass("jsIRbgRadio_"+class2+"_Active").addClass("jsIRbgRadio_"+class2).addClass("jsIRbgRadio");
				});
				$(e).parent().removeClass("jsIRbgRadio").removeClass("jsIRbgRadio_"+class2).addClass("jsIRbgRadio_"+class2+"_Active").addClass("jsIRbgRadioActive");
			}
			if($(e).attr("type") == 'checkbox') { 
				if((state2 == 'checked') || (state2 == true)) {
					$(e).parent().removeClass("jsIRbgCheck").removeClass("jsIRbgCheck_"+class2).addClass("jsIRbgCheck_"+class2+"_Active").addClass("jsIRbgCheckActive"); }
				else {
					$(e).parent().removeClass("jsIRbgCheckActive").removeClass("jsIRbgCheck_"+class2+"_Active").addClass("jsIRbgCheck_"+class2).addClass("jsIRbgCheck"); }
			}
		}
		
	}

})(jQuery)