// imagePreset. Developed in Sutrixmedia. MIT Style License.
var imagePreset = new Class({
	options: {
		imageOut: new Object(),
		imageOver: new Object(),
		f: "DXImageTransform.Microsoft.AlphaImageLoader",
		selector: Class.empty,
		pngFixPath: "images/_blank.gif"
	},

	initialize: function(options){
		this.setOptions(options);
		this.initImages();
	},
	
	initImages: function() {	
		var fn = this;
		var pngRegExp = new RegExp("\\.png$", "i");
		
		// collect objects
		var imgArr = new Array();
		if ($type(fn.options.selector) == false) {
			imgArr.extend($$("img", "input"));
		} else if (fn.options.selector) {
			if ($type(fn.options.selector.each) == "function") {
				fn.options.selector.each(function(el){
					imgArr.extend(el.getElements("img")).extend(el.getElements("input"));
				});
			} else {
				imgArr.extend(fn.options.selector.getElements("img")).extend(fn.options.selector.getElements("input"));
			}
		}
		
		// apply settings to all images & inputs
		imgArr.each(function(item){
			var image = item.src.substr(item.src.lastIndexOf("/") + 1);
			var id = item.id || image.replace("_n.", "").replace("_N.", "");
			var hover = (image.toLowerCase().lastIndexOf("_n.") != -1);
			var selected = (image.toLowerCase().lastIndexOf("_o.") != -1);
			
			// preload
			if (hover || selected) {
				fn.options.imageOut[id] = new Image();
				fn.options.imageOut[id].src = item.src.substr(0, item.src.lastIndexOf("/")+1)+image.replace("_o.", "_n.").replace("_O.", "_N.");
				fn.options.imageOver[id] = new Image();
				fn.options.imageOver[id].src = item.src.substr(0, item.src.lastIndexOf("/")+1)+image.replace("_n.", "_o.").replace("_N.", "_O.");
			};
			
			// PNG Fix for IE<7
			if (Browser.Engine.trident4 && image.test(pngRegExp)) {
				item.set("styles", {
					width: item.offsetWidth,
					height: item.offsetHeight,
					filter: "progid:"+fn.options.f+"(src='"+item.src+"', sizingMethod='scale');"
				});
				item.src = fn.options.pngFixPath;
			};
			
			// set selected
			if (selected) {
				item.addClass("imgSelected");
			}
			
			// add event hover images
			if (hover || selected) {
				item.set("id", id);
				item.onmouseover = function(){
					try {
						fn.setImage(this, fn.options.imageOver[this.id].src);
					} catch(err) {}
				};
				item.setSelected = function(){
					try {
						fn.setImage(this, fn.options.imageOver[this.id].src);
						this.addClass("imgSelected");
					} catch(err) {}
				};
				item.onmouseout = function(){
					try {
						fn.setImage(this, fn.options.imageOut[this.id].src);
					} catch(err) {}
				};
				item.reset = function(){
					try {
						this.removeClass("imgSelected");
						fn.setImage(this, fn.options.imageOut[this.id].src);
					} catch(err) {}
				};
			};
		});
	},
	
	// set on / off images
	setImage: function (obj, src) {
		if (obj.hasClass("imgSelected")) {
			return;
		}
		if (Browser.Engine.trident4) {
			if (obj.filters[this.options.f] && obj.filters[this.options.f].src.test(pngRegExp)) {
				obj.filters[this.options.f].src = src;
			} else {
				obj.src = src;
			}
		} else {
			obj.src = src;
		}
	}
});
imagePreset.implement(new Chain, new Events, new Options);
function initImageForm(){
	if(!$$('li.cf-box-group')[0]) return true;
	$$('li.cf-box-group').each(function(li,i){
		var input = li.getFirst();
		input.addEvent('click',function(e){
			var arrInput=$$('li.cf-box-group');
			for(var j=0;j<arrInput.length;j++){
				if(i==j){
					arrInput[j].getFirst().set('checked','checked');
				}
				else{
					arrInput[j].getFirst().set('checked','');
				}
			}
		});
	});
}
function initFunc(){
	if(!$$('ul.nav')[0]) return true;
	var arrivees = $$('ul.nav').getChildren();
	if(!arrivees){
		Cookie.dispose('index');
		return;
		}
	else{
		
		if(!$$('div.bgWelcome')[0]){
		}
		else{
			Cookie.dispose('index');
		}
		var index=Cookie.read('index');
		if(index!=null){
			setTimeout(function(){
				$$('ul.nav li').each(function(li,i){
					var newSrc = li.getElement('img').getProperty('src').replace('_a.gif', '_n.gif');
					li.getElement('img').setProperty('src', newSrc);
					if(i==index){
						li.getElement('img').set('id','');
						var newSrc = li.getElement('img').getProperty('src').replace('_n.gif', '_a.gif');
						li.getElement('img').setProperty('src', newSrc);
					}
				});},100);
		}	
	}
	$$('ul.nav li').each(function(li,i){	
		li.addEvent('click', function(evt){
			Cookie.write('index',i);
		});
	});
}
window.addEvent("domready", function(){	
	new imagePreset();
	initImageForm();
	initFunc();
});
