// 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:"/Fronend/Images/blank.gif"
	},
	
	initialize:function(a){
		this.setOptions(a);
		this.initImages();
	},	
	
	initImages:function(){
		var f=this;
		var g=new RegExp("\\.png$","i");
		var h=new Array();
		if($type(f.options.selector)==false){
			h.extend($$("img","input"));
		}else if(f.options.selector){
			if($type(f.options.selector.each)=="function"){
				f.options.selector.each(function(a){
					h.extend(a.getElements("img")).extend(a.getElements("input"));
				})
			}else{
				h.extend(f.options.selector.getElements("img")).extend(f.options.selector.getElements("input"));
			}
		}
		h.each(function(a){
			var b=a.src.substr(a.src.lastIndexOf("/")+1);
			var c=a.id||b.replace("_n.","").replace("_N.","");
			var d=(b.toLowerCase().lastIndexOf("_n.")!=-1);
			var e=(b.toLowerCase().lastIndexOf("_o.")!=-1);
			if(d||e){
				f.options.imageOut[c]=new Image();
				f.options.imageOut[c].src=a.src.substr(0,a.src.lastIndexOf("/")+1)+b.replace("_o.","_n.").replace("_O.","_N.");
				f.options.imageOver[c]=new Image();
				f.options.imageOver[c].src=a.src.substr(0,a.src.lastIndexOf("/")+1)+b.replace("_n.","_o.").replace("_N.","_O.");
			}
			if(Browser.Engine.trident4&&b.test(g)){
				a.set("styles",{
					width:a.offsetWidth,
					height:a.offsetHeight,
					filter:"progid:"+f.options.f+"(src='"+a.src+"', sizingMethod='scale');"
				});
				a.src=f.options.pngFixPath;
			}
			if(e){
				a.addClass("imgSelected");
			}
			if(d||e){
				a.store("imgid",c);
				a.onmouseover=function(){
					try{
						f.setImage(this,f.options.imageOver[this.retrieve("imgid")].src);
					}catch(err){
					}
				};
				a.setSelected=function(){
					try{
						f.setImage(this,f.options.imageOver[this.retrieve("imgid")].src);
						this.addClass("imgSelected");
					}catch(err){
					}
				};
				a.onmouseout=function(){
					try{
						f.setImage(this,f.options.imageOut[this.retrieve("imgid")].src);
					}catch(err){
					}
				};
				a.reset=function(){
					try{
						this.removeClass("imgSelected");
						f.setImage(this,f.options.imageOut[this.retrieve("imgid")].src);
					}catch(err){
					}
				}
			}			
		});
	},
	setImage:function(a,b){
		if(a.hasClass("imgSelected")){
			return;
		}
		if(Browser.Engine.trident4){
			if(a.filters[this.options.f]&&a.filters[this.options.f].src.test(pngRegExp)){
				a.filters[this.options.f].src=b;
			}else{
				a.src=b;
			}
		}else{
			a.src=b;
		}
	}
});
imagePreset.implement(new Chain,new Events,new Options);
window.addEvent("domready",function(){
	new imagePreset();
});