Frame 1
_global.RsDataProviderClass = function () {
this.init();
};
RsDataProviderClass.prototype.init = function () {
var _local1 = this;
_local1.items = new Array();
_local1.uniqueID = 0;
_local1.views = new Array();
};
RsDataProviderClass.prototype.addView = function (viewRef) {
this.views.push(viewRef);
var _local1 = {event:"updateAll"};
viewRef.modelChanged(_local1);
};
RsDataProviderClass.prototype.addItemAt = function (index, value) {
var _local1 = index;
var _local2 = this;
if (!_local2.checkLocal()) {
return(undefined);
}
if (_local1 < 0) {
return(undefined);
}
if (_local1 < _local2.getLength()) {
_local2.items.splice(_local1, 0, "tmp");
}
_local2.items[_local1] = new Object();
if (typeof(value) == "object") {
_local2.items[_local1] = value;
}
_local2.items[_local1].__ID__ = _local2.uniqueID++;
var _local3 = {event:"addRows", firstRow:_local1, lastRow:_local1};
_local2.updateViews(_local3);
return(undefined);
};
RsDataProviderClass.prototype.addItem = function (value) {
var _local1 = this;
if (!_local1.checkLocal()) {
return(undefined);
}
_local1.addItemAt(_local1.getLength(), value);
return(undefined);
};
RsDataProviderClass.prototype.removeItemAt = function (index) {
var _local1 = index;
var _local2 = this;
if (!_local2.checkLocal()) {
return(undefined);
}
if ((_local1 < 0) || (_local1 >= _local2.getLength())) {
return(undefined);
}
var tmpItm = _local2.items[_local1];
_local2.items.splice(_local1, 1);
var _local3 = {event:"deleteRows", firstRow:_local1, lastRow:_local1};
_local2.updateViews(_local3);
return(tmpItm);
};
RsDataProviderClass.prototype.removeAll = function () {
var _local1 = this;
if (!_local1.checkLocal()) {
return(undefined);
}
_local1.items = new Array();
_local1.updateViews({event:"deleteRows", firstRow:0, lastRow:_local1.getLength() - 1});
return(undefined);
};
RsDataProviderClass.prototype.replaceItemAt = function (index, itemObj) {
var _local1 = index;
var _local2 = this;
if (!_local2.checkLocal()) {
return(undefined);
}
if ((_local1 < 0) || (_local1 >= _local2.getLength())) {
return(undefined);
}
var _local3 = _local2.getItemID(_local1);
_local2.items[_local1] = itemObj;
_local2.items[_local1].__ID__ = _local3;
_local2.updateViews({event:"updateRows", firstRow:_local1, lastRow:_local1});
return(undefined);
};
RsDataProviderClass.prototype.getLength = function () {
return(this.items.length);
};
RsDataProviderClass.prototype.getItemAt = function (index) {
return(this.items[index]);
};
RsDataProviderClass.prototype.getItemID = function (index) {
return(this.items[index].__ID__);
};
RsDataProviderClass.prototype.sortItemsBy = function (fieldName, order) {
var _local1 = this;
if (!_local1.checkLocal()) {
return(undefined);
}
_local1.items.sortOn(fieldName);
if (order == "DESC") {
_local1.items.reverse();
}
_local1.updateViews({event:"sort"});
return(undefined);
};
RsDataProviderClass.prototype.updateViews = function (eventObj) {
var _local2 = this;
var _local3 = eventObj;
var _local1 = 0;
while (_local1 < _local2.views.length) {
_local2.views[_local1].modelChanged(_local3);
_local1++;
}
};
_global.RecordSet = function (columnNames) {
var _local1 = this;
if (_local1.mTitles != null) {
_local1.views = new Array();
return(undefined);
}
_local1.init();
if (_local1.serverInfo == null) {
_local1.mTitles = columnNames;
return(undefined);
}
if (_local1.serverInfo.version != 1) {
NetServices.trace("RecordSet", "warning", 100, "Received incompatible recordset version from server");
return(undefined);
}
_local1.mTitles = _local1.serverInfo.columnNames;
_local1.mRecordsAvailable = 0;
_local1.setData(((_local1.serverInfo.cursor == null) ? 0 : (_local1.serverInfo.cursor - 1)), _local1.serverInfo.initialData);
if (_local1.serverInfo.initialData.length != _local1.serverInfo.totalCount) {
_local1.mRecordSetId = _local1.serverInfo.id;
if (_local1.mRecordSetId != null) {
_local1.serviceName = ((_local1.serverInfo.serviceName == null) ? "RecordSet" : (_local1.serverInfo.serviceName));
_local1.mTotalCount = _local1.serverInfo.totalCount;
_local1.mDeliveryMode = "ondemand";
_local1.mAllNotified = false;
_local1.mOutstandingRecordCount = 0;
} else {
NetServices.trace("RecordSet", "warning", 102, "Missing some records, but there's no recordset id");
}
}
_local1.serverInfo = null;
return(undefined);
};
RecordSet.prototype = new RsDataProviderClass();
Object.registerClass("RecordSet", RecordSet);
RecordSet.prototype._setParentService = function (service) {
this.gateway_conn = service.nc;
};
RecordSet.prototype.getRecordSetService = function () {
var _local1 = this;
if (_local1.mRecordSetService == null) {
if (_local1.gateway_conn == null) {
_local1.gateway_conn = NetServices.createGatewayConnection();
} else if (_global.netDebugInstance != undefined) {
_local1.gateway_conn = _local1.gateway_conn.clone();
}
if (_global.netDebugInstance != undefined) {
_local1.gateway_conn.setupRecordset();
_local1.gateway_conn.setDebugId("RecordSet " + _local1.mRecordSetId);
}
_local1.mRecordSetService = _local1.gateway_conn.getService(_local1.serviceName, _local1);
if (_local1.mRecordSetService == null) {
NetServices.trace("RecordSet", "warning", 101, "Failed to create recordset service");
_local1.mRecordSetService = 0;
}
}
return(_local1.mRecordSetService);
};
RecordSet.prototype.getColumnNames = function () {
return(this.mTitles);
};
RecordSet.prototype.getLength = function () {
var _local1 = this;
if (_local1.mRecordSetID != null) {
return(_local1.mTotalCount);
}
return(_local1.items.length);
};
RecordSet.prototype.getItemAt = function (index) {
var _local1 = index;
var _local2 = this;
if (_local2.mRecordSetId == null) {
return(_local2.items[_local1]);
}
if ((_local1 < 0) || (_local1 >= _local2.getLength())) {
NetServices.trace("RecordSet", "warning", 104, ("getItemAt(" + _local1) + ") index out of range");
return(null);
}
_local2.requestRecord(_local1);
var _local3 = _local2.items[_local1];
if (_local3 == 1) {
return("in progress");
}
return(_local3);
};
RecordSet.prototype.setField = function (index, fieldName, value) {
var _local1 = index;
var _local2 = this;
if (!_local2.checkLocal()) {
return(undefined);
}
if ((_local1 < 0) || (_local1 >= _local2.getLength())) {
return(undefined);
}
_local2.items[_local1][fieldName] = value;
_local2.updateViews({event:"updateRows", firstRow:_local1, lastRow:_local1});
return(undefined);
};
RecordSet.prototype.filter = function (filterFunction, context) {
var _local3 = this;
if (!_local3.checkLocal()) {
return(undefined);
}
var result = new RecordSet(_local3.mTitles);
var _local2 = 0;
while (_local2 < _local3.getLength()) {
var _local1 = _local3.getItemAt(_local2);
if (((_local1 != null) && (_local1 != 1)) && (filterFunction(_local1, context))) {
result.addItem(_local1);
}
_local2++;
}
return(result);
};
RecordSet.prototype.sort = function (compareFunc) {
var _local1 = this;
if (!_local1.checkLocal()) {
return(undefined);
}
_local1.items.sort(compareFunc);
_local1.updateViews({event:"sort"});
return(undefined);
};
RecordSet.prototype.isLocal = function () {
return(this.mRecordSetID == null);
};
RecordSet.prototype.isFullyPopulated = function () {
return(this.isLocal());
};
RecordSet.prototype.getNumberAvailable = function () {
var _local1 = this;
if (_local1.isLocal()) {
return(_local1.getLength());
}
return(_local1.mRecordsAvailable);
};
RecordSet.prototype.setDeliveryMode = function (mode, pagesize, numPrefetchPages) {
var _local1 = this;
var _local2 = pagesize;
var _local3 = mode;
_local1.mDeliveryMode = _local3;
_local1.stopFetchAll();
if (_local3 == "ondemand") {
return(undefined);
}
if (_local2 == null) {
_local2 = _local1.views[0].getRowCount();
if (_local2 == null) {
_local2 = 25;
}
}
if (_local3 == "page") {
if (numPrefetchPages == null) {
numPrefetchPages = 0;
}
_local1.mPageSize = _local2;
_local1.mNumPrefetchPages = numPrefetchPages;
} else if (_local3 == "fetchall") {
_local1.stopFetchAll();
_local1.startFetchAll(_local2);
} else {
NetServices.trace("RecordSet", "warning", 107, "SetDeliveryMode: unknown mode string");
}
return(undefined);
};
RecordSet.prototype.getRecords_Result = function (info) {
var _local1 = this;
var _local2 = info;
_local1.setData(_local2.Cursor - 1, _local2.Page);
_local1.mOutstandingRecordCount = _local1.mOutstandingRecordCount - _local2.Page.length;
_local1.updateViews({event:"updateRows", firstRow:_local2.Cursor - 1, lastRow:((_local2.Cursor - 1) + _local2.Page.length) - 1});
if ((_local1.mRecordsAvailable == _local1.mTotalCount) && (!_local1.mAllNotified)) {
_local1.updateViews({event:"allRows"});
_local1.mRecordSetService.release();
_local1.mAllNotified = true;
_local1.mRecordSetID = null;
_local1.mRecordSetService = null;
}
};
RecordSet.prototype.release_Result = function () {
};
RecordSet.prototype.arrayToObject = function (anArray) {
var _local3 = anArray;
if (this.mTitles == null) {
NetServices.trace("RecordSet", "warning", 105, "getItem: titles are not available");
return(null);
}
var result = new Object();
var _local1 = 0;
while (_local1 < _local3.length) {
var _local2 = this.mTitles[_local1];
if (_local2 == null) {
_local2 = ("column" + _local1) + 1;
}
result[_local2] = _local3[_local1];
_local1++;
}
return(result);
};
RecordSet.prototype.setData = function (start, dataArray) {
var _local1 = this;
var _local3 = 0;
while (_local3 < dataArray.length) {
var _local2 = _local3 + start;
var rec = _local1.items[_local2];
if ((rec != null) && (rec != 1)) {
NetServices.trace("RecordSet", "warning", 106, "Already got record # " + recordIndex);
} else {
_local1.mRecordsAvailable = _local1.mRecordsAvailable + 1;
}
_local1.items[_local2] = _local1.arrayToObject(dataArray[_local3]);
_local1.items[_local2].__ID__ = _local1.uniqueID++;
_local3++;
}
};
RecordSet.prototype.requestOneRecord = function (index) {
var _local1 = this;
var _local2 = index;
if (_local1.items[_local2] == null) {
_local1.getRecordSetService().getRecords(_local1.mRecordSetId, _local2 + 1, 1);
_local1.mOutstandingRecordCount++;
_local1.items[_local2] = 1;
_local1.updateViews({event:"fetchRows", firstRow:_local2, lastRow:_local2});
}
};
RecordSet.prototype.requestRecord = function (index) {
var _local1 = this;
if (_local1.mDeliveryMode != "page") {
_local1.requestOneRecord(index);
return(undefined);
}
var _local2 = int(index / _local1.mPageSize) * _local1.mPageSize;
var _local3 = (_local2 + (_local1.mPageSize * (_local1.mNumPrefetchPages + 1))) - 1;
_local1.requestRecordRange(_local2, _local3);
return(undefined);
};
RecordSet.prototype.requestRecordRange = function (index, lastIndex) {
var _local1 = index;
var _local2 = this;
var highestRequested = -1;
if (_local1 < 0) {
_local1 = 0;
}
if (lastIndex >= _local2.getLength()) {
lastIndex = _local2.getLength() - 1;
}
while (_local1 <= lastIndex) {
while ((_local1 <= lastIndex) && (_local2.items[_local1] != null)) {
_local1++;
}
var _local3 = _local1;
while ((_local1 <= lastIndex) && (_local2.items[_local1] == null)) {
_local2.mOutstandingRecordCount++;
_local2.items[_local1] = 1;
_local1++;
}
var last = (_local1 - 1);
if (_local3 <= last) {
_local2.getRecordSetService().getRecords(_local2.mRecordSetId, _local3 + 1, (last - _local3) + 1);
highestRequested = last;
_local2.updateViews({event:"fetchRows", firstRow:_local3, lastRow:last});
}
}
return(highestRequested);
};
RecordSet.prototype.startFetchAll = function (pagesize) {
var _local1 = this;
_local1.mDataFetcher.disable();
_local1.mDataFetcher = new RsDataFetcher(_local1, pagesize);
};
RecordSet.prototype.stopFetchAll = function () {
this.mDataFetcher.disable();
this.mDataFetcher = null;
};
RecordSet.prototype.checkLocal = function () {
if (this.isLocal()) {
return(true);
}
NetServices.trace("RecordSet", "warning", 108, "Operation not allowed on partial recordset");
return(false);
};
_global.RsDataFetcher = function (recordSet, increment) {
var _local1 = this;
_local1.mRecordSet = recordSet;
_local1.mRecordSet.addView(_local1);
_local1.mIncrement = increment;
_local1.mNextRecord = 0;
_local1.mEnabled = true;
_local1.doNext();
};
RsDataFetcher.prototype.disable = function () {
var _local1 = this;
_local1.mEnabled = false;
_local1.mRecordSet.removeView(_local1);
};
RsDataFetcher.prototype.doNext = function () {
var _local1 = this;
if (!_local1.mEnabled) {
return(undefined);
}
while (true) {
if (_local1.mNextRecord >= _local1.mRecordSet.getLength()) {
return(undefined);
}
_local1.mHighestRequested = _local1.mRecordSet.requestRecordRange(_local1.mNextRecord, (_local1.mNextRecord + _local1.mIncrement) - 1);
_local1.mNextRecord = _local1.mNextRecord + _local1.mIncrement;
if (_local1.mHighestRequested > 0) {
return(undefined);
}
}
return(_local1);
};
RsDataFetcher.prototype.modelChanged = function (eventObj) {
var _local1 = this;
var _local2 = eventObj;
if (((_local2.event == "updateRows") && (_local2.firstRow <= _local1.mHighestRequested)) && (_local2.lastRow >= _local1.mHighestRequested)) {
_local1.doNext();
}
if (_local2.event == "allRows") {
_local1.disable();
}
};
_global.NetServiceProxyResponder = function (service, methodName) {
this.service = service;
this.methodName = methodName;
};
NetServiceProxyResponder.prototype.onResult = function (result) {
var _local3 = result;
var _local1 = this.service.client;
_local3._setParentService(this.service);
var _local2 = this.methodName + "_Result";
if (typeof(_local1[_local2]) == "function") {
_local1[_local2](_local3);
} else if (typeof(_local1.onResult) == "function") {
_local1.onResult(_local3);
} else {
NetServices.trace("NetServices", "info", 1, (_local2 + " was received from server: ") + _local3);
}
};
NetServiceProxyResponder.prototype.onStatus = function (result) {
var _local1 = result;
var _local2 = this.service.client;
var _local3 = this.methodName + "_Status";
if (typeof(_local2[_local3]) == "function") {
_local2[_local3](_local1);
} else if (typeof(_local2.onStatus) == "function") {
_local2.onStatus(_local1);
} else if (typeof(_root.onStatus) == "function") {
_root.onStatus(_local1);
} else if (typeof(_global.System.onStatus) == "function") {
_global.System.onStatus(_local1);
} else {
NetServices.trace("NetServices", "info", 2, (((_local3 + " was received from server: ") + _local1.class) + " ") + _local1.description);
}
};
Object.registerClass("NetServiceProxy", NetServiceProxy);
_global.NetServiceProxy = function (nc, serviceName, client) {
var _local1 = this;
if (nc != null) {
_local1.nc = nc;
_local1.serviceName = serviceName;
_local1.client = client;
}
};
NetServiceProxy.prototype._setParentService = function (service) {
this.nc = service.nc;
this.client = service.client;
};
NetServiceProxy.prototype.__resolve = function (methodName) {
var _local1 = this;
var _local2 = arguments;
f = function () {
var _local1 = this;
var _local2 = arguments;
if (_local1.client != null) {
_local2.unshift(new NetServiceProxyResponder(_local1, methodName));
} else if (typeof(_local2[0].onResult) != "function") {
NetServices.trace("NetServices", "warning", 3, "There is no defaultResponder, but no responder was given in call to " + methodName);
_local2.unshift(new NetServiceProxyResponder(_local1, methodName));
}
_local2.unshift((_local1.serviceName + ".") + methodName);
return(_local1.nc.call.apply(_local1.nc, _local2));
};
return(f);
};
NetConnection.prototype.getService = function (serviceName, client) {
var _local1 = new NetServiceProxy(this, serviceName, client);
return(_local1);
};
NetConnection.prototype.setCredentials = function (userid, password) {
this.addHeader("Credentials", false, {userid:userid, password:password});
};
NetConnection.prototype.RequestPersistentHeader = function (info) {
var _local1 = info;
this.addHeader(_local1.name, _local1.mustUnderstand, _local1.data);
};
NetConnection.prototype.ReplaceGatewayUrl = function (newUrl) {
this.connect(newUrl);
};
NetConnection.prototype.clone = function () {
var _local1 = new NetConnection();
_local1.connect(this.uri);
return(_local1);
};
if (_global.NetServices == null) {
_global.NetServices = new Object();
NetServices.gatewayUrl = gatewayUrl;
}
NetServices.setDefaultGatewayUrl = function (url) {
NetServices.defaultGatewayUrl = url;
};
NetServices.setGatewayUrl = function (url) {
NetServices.gatewayUrl = url;
};
NetServices.createGatewayConnection = function (url) {
var _local1 = url;
if (_local1 == undefined) {
if (NetServices.isHttpUrl(_root._url)) {
_local1 = NetServices.gatewayUrl;
if (_local1 == undefined) {
_local1 = NetServices.defaultGatewayUrl;
if (_local1 != undefined) {
if (NetServices.isHttpUrl(_local1)) {
var _local2 = _local1.indexOf("/", 8);
if (_local2 >= 0) {
_local1 = _local1.substring(_local2);
}
}
var _local3 = NetServices.getHostUrl();
if (_local3 != null) {
_local1 = _local3 + _local1;
}
}
}
} else {
_local1 = NetServices.defaultGatewayUrl;
}
}
if (_local1 == undefined) {
NetServices.trace("NetServices", "warning", 4, "createGatewayConnection - gateway url is undefined");
return(null);
}
var nc = new NetConnection();
nc.connect(_local1);
return(nc);
};
NetServices.getHostUrl = function () {
var _local2 = _root;
if (!NetServices.isHttpUrl(_local2._url)) {
return(null);
}
var _local1 = _local2._url.indexOf("/", 8);
if (_local1 < 0) {
return(null);
}
return(_local2._url.substring(0, _local1));
};
NetServices.isHttpUrl = function (url) {
return((url.indexOf("http://") == 0) || (url.indexOf("https://") == 0));
};
NetServices.trace = function (who, severity, number, message) {
var _local1 = (((((who + " ") + severity) + " ") + number) + ": ") + message;
trace(_local1);
NetDebug.traceNetServices(who, severity, number, message);
};
NetServices.getVersion = function () {
return(1);
};
MovieClip.prototype.drawRect = function (x, y, w, h, cornerRadius) {
var _local1 = cornerRadius;
if (arguments.length < 4) {
return(undefined);
}
if (_local1 > 0) {
var _local2;
var _local3;
var cx;
var cy;
var px;
var py;
if (_local1 > (Math.min(w, h) / 2)) {
_local1 = Math.min(w, h) / 2;
}
_local2 = (Math.PI/4);
this.moveTo(x + _local1, y);
this.lineTo((x + w) - _local1, y);
_local3 = -1.5707963267949;
cx = ((x + w) - _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = (y + _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = ((x + w) - _local1) + (Math.cos(_local3 + _local2) * _local1);
py = (y + _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
_local3 = _local3 + _local2;
cx = ((x + w) - _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = (y + _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = ((x + w) - _local1) + (Math.cos(_local3 + _local2) * _local1);
py = (y + _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
this.lineTo(x + w, (y + h) - _local1);
_local3 = _local3 + _local2;
cx = ((x + w) - _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = ((y + h) - _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = ((x + w) - _local1) + (Math.cos(_local3 + _local2) * _local1);
py = ((y + h) - _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
_local3 = _local3 + _local2;
cx = ((x + w) - _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = ((y + h) - _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = ((x + w) - _local1) + (Math.cos(_local3 + _local2) * _local1);
py = ((y + h) - _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
this.lineTo(x + _local1, y + h);
_local3 = _local3 + _local2;
cx = (x + _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = ((y + h) - _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = (x + _local1) + (Math.cos(_local3 + _local2) * _local1);
py = ((y + h) - _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
_local3 = _local3 + _local2;
cx = (x + _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = ((y + h) - _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = (x + _local1) + (Math.cos(_local3 + _local2) * _local1);
py = ((y + h) - _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
this.lineTo(x, y + _local1);
_local3 = _local3 + _local2;
cx = (x + _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = (y + _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = (x + _local1) + (Math.cos(_local3 + _local2) * _local1);
py = (y + _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
_local3 = _local3 + _local2;
cx = (x + _local1) + ((Math.cos(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
cy = (y + _local1) + ((Math.sin(_local3 + (_local2 / 2)) * _local1) / Math.cos(_local2 / 2));
px = (x + _local1) + (Math.cos(_local3 + _local2) * _local1);
py = (y + _local1) + (Math.sin(_local3 + _local2) * _local1);
this.curveTo(cx, cy, px, py);
} else {
this.moveTo(x, y);
this.lineTo(x + w, y);
this.lineTo(x + w, y + h);
this.lineTo(x, y + h);
this.lineTo(x, y);
}
return(undefined);
};
MovieClip.prototype.setBrightness = function (level, wide) {
var _local1 = this;
_local1.brightness = (_local1.brightness ? (_local1.brightness) : (new Color(_local1)));
var _local2 = Math.round(level * (wide ? 1 : 2.55));
_local1.levels = {ra:100, rb:_local2, ga:100, gb:_local2, ba:100, bb:_local2, aa:100, ab:_local2};
_local1.brightness.setTransform(_local1.levels);
};
_focusrect = 0;
_quality = "best";
stage.scalemode = "noscale";
stage.align = "tl";
stagelistentimemax = 1000;
stagelisten = new object();
stagelisten.controller = this;
stagelisten.onresize = function () {
if ((!stagerefreshon) and ((getTimer() - stagelistentime) > stagelistentimemax)) {
stagerefreshon = 1;
stagelistentime = getTimer();
stageclear();
remoteupdate();
}
};
stage.addlistener(stagelisten);
stageclear = function () {
var _local1 = this;
for (i in _local1) {
if (typeof(_local1[i]) == "movieclip") {
removeMovieClip(_local1[i]);
}
}
};
stagerefresh = function () {
stagelisten.onresize();
};
config = [];
config.appname = "4chan.evilloop.com";
config.appversion = "";
config.updatetime = 30000;
config.threadmax = 10;
config.itemmax = 6;
config.orientation = "h";
config.menuh = 40;
config.animpower = 4;
config.snapfactor = 4;
config.alpha = 50;
config.doubleclick = 444;
config.past = [];
config.pastmax = 1800000 /* 0x1B7740 */;
config.channels = ["a", "b", "c", "d", "e", "g", "gif", "h", "hr", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "wg", "ic", "cm", "y"];
config.channelheaders = [];
config.channelheaders.a = "Anime";
config.channelheaders.b = "Random";
config.channelheaders.c = "Anime/Cute";
config.channelheaders.d = "Hentai/Alternative";
config.channelheaders.e = "Ecchi";
config.channelheaders.g = "Technology";
config.channelheaders.gif = "Animated GIF";
config.channelheaders.h = "Hentai";
config.channelheaders.hr = "High Resolution";
config.channelheaders.k = "Weapons";
config.channelheaders.m = "Mecha";
config.channelheaders.n = "Nature & Wildlife";
config.channelheaders.o = "Auto";
config.channelheaders.p = "Photo";
config.channelheaders.r = "Request";
config.channelheaders.s = "Sexy Beautiful Women";
config.channelheaders.t = "Torrents";
config.channelheaders.u = "Yuri";
config.channelheaders.v = "Video Games";
config.channelheaders.w = "Anime/Wallpapers";
config.channelheaders.wg = "Wallpapers/General";
config.channelheaders.ic = "Artwork/Critique";
config.channelheaders.cm = "Cute/Male";
config.channelheaders.y = "Yaoi";
config.channel = "b";
if (typeof(channel) != "undefined") {
config.channel = channel;
}
setchanconfig = function () {
if (config.channel == "a") {
config.channelsource = "http://zip.4channel.org/a/imgboard.html";
config.prethumb = "http://data.4channel.org/a/thumb/";
config.prelink = "http://zip.4channel.org/a/res/";
}
if (config.channel == "b") {
config.channelsource = "http://img.4chan.org/b/imgboard.html";
config.prethumb = "http://img.4chan.org/b/thumb/";
config.prelink = "http://img.4chan.org/b/res/";
}
if (config.channel == "c") {
config.channelsource = "http://zip.4channel.org/c/imgboard.html";
config.prethumb = "http://data.4channel.org/c/thumb/";
config.prelink = "http://zip.4channel.org/c/res/";
}
if (config.channel == "d") {
config.channelsource = "http://img.4chan.org/d/imgboard.html";
config.prethumb = "http://data.4chan.org/d/thumb/";
config.prelink = "http://img.4chan.org/d/res/";
}
if (config.channel == "e") {
config.channelsource = "http://cgi.4chan.org/e/imgboard.html";
config.prethumb = "http://cgi.4chan.org/e/thumb/";
config.prelink = "http://cgi.4chan.org/e/res/";
}
if (config.channel == "g") {
config.channelsource = "http://zip.4channel.org/g/imgboard.html";
config.prethumb = "http://data.4channel.org/g/thumb/";
config.prelink = "http://zip.4channel.org/g/res/";
}
if (config.channel == "gif") {
config.channelsource = "http://orz.4chan.org/gif/imgboard.html";
config.prethumb = "http://orz.4chan.org/gif/thumb/";
config.prelink = "http://orz.4chan.org/gif/res/";
}
if (config.channel == "h") {
config.channelsource = "http://orz.4chan.org/h/imgboard.html";
config.prethumb = "http://tmp.4chan.org/h/thumb/";
config.prelink = "http://orz.4chan.org/h/res/";
}
if (config.channel == "hr") {
config.channelsource = "http://orz.4chan.org/hr/imgboard.html";
config.prethumb = "http://orz.4chan.org/hr/thumb/";
config.prelink = "http://orz.4chan.org/hr/res/";
}
if (config.channel == "k") {
config.channelsource = "http://zip.4channel.org/k/imgboard.html";
config.prethumb = "http://data.4channel.org/k/thumb/";
config.prelink = "http://zip.4channel.org/k/res/";
}
if (config.channel == "m") {
config.channelsource = "http://zip.4channel.org/m/imgboard.html";
config.prethumb = "http://data.4channel.org/m/thumb/";
config.prelink = "http://zip.4channel.org/m/res/";
}
if (config.channel == "n") {
config.channelsource = "http://zip.4channel.org/n/imgboard.html";
config.prethumb = "http://data.4channel.org/n/thumb/";
config.prelink = "http://zip.4channel.org/n/res/";
}
if (config.channel == "o") {
config.channelsource = "http://zip.4channel.org/o/imgboard.html";
config.prethumb = "http://data.4channel.org/o/thumb/";
config.prelink = "http://zip.4channel.org/o/res/";
}
if (config.channel == "p") {
config.channelsource = "http://zip.4channel.org/p/imgboard.html";
config.prethumb = "http://data.4channel.org/p/thumb/";
config.prelink = "http://zip.4channel.org/p/res/";
}
if (config.channel == "r") {
config.channelsource = "http://img.4chan.org/r/imgboard.html";
config.prethumb = "http://data.4chan.org/r/thumb/";
config.prelink = "http://img.4chan.org/r/res/";
}
if (config.channel == "s") {
config.channelsource = "http://orz.4chan.org/s/imgboard.html";
config.prethumb = "http://tmp.4chan.org/s/thumb/";
config.prelink = "http://orz.4chan.org/s/res/";
}
if (config.channel == "t") {
config.channelsource = "http://img.4chan.org/t/imgboard.html";
config.prethumb = "http://data.4chan.org/t/thumb/";
config.prelink = "http://img.4chan.org/t/res/";
}
if (config.channel == "u") {
config.channelsource = "http://img.4chan.org/u/imgboard.html";
config.prethumb = "http://data.4chan.org/u/thumb/";
config.prelink = "http://img.4chan.org/u/res/";
}
if (config.channel == "v") {
config.channelsource = "http://zip.4channel.org/v/imgboard.html";
config.prethumb = "http://data.4channel.org/v/thumb/";
config.prelink = "http://zip.4channel.org/v/res/";
}
if (config.channel == "w") {
config.channelsource = "http://zip.4channel.org/w/imgboard.html";
config.prethumb = "http://data.4channel.org/w/thumb/";
config.prelink = "http://zip.4channel.org/w/res/";
}
if (config.channel == "wg") {
config.channelsource = "http://cgi.4chan.org/wg/imgboard.html";
config.prethumb = "http://cgi.4chan.org/wg/thumb/";
config.prelink = "http://cgi.4chan.org/wg/res/";
}
if (config.channel == "ic") {
config.channelsource = "http://img.4chan.org/ic/imgboard.html";
config.prethumb = "http://data.4chan.org/ic/thumb/";
config.prelink = "http://img.4chan.org/ic/res/";
}
if (config.channel == "cm") {
config.channelsource = "http://zip.4channel.org/cm/imgboard.html";
config.prethumb = "http://data.4channel.org/cm/thumb/";
config.prelink = "http://zip.4channel.org/cm/res/";
}
if (config.channel == "y") {
config.channelsource = "http://img.4chan.org/y/imgboard.html";
config.prethumb = "http://data.4chan.org/y/thumb/";
config.prelink = "http://img.4chan.org/y/res/";
}
};
setchanconfig();
consoleformat = new textformat("Trebuchet MS", 18, 16777215, 0, 0, 0);
doconsoleformat = function (paramtext) {
var _local1 = paramtext;
_local1.setnewtextformat(consoleformat);
_local1.background = 1;
_local1.backgroundcolor = 2236962 /* 0x222222 */;
_local1.border = 1;
_local1.bordercolor = 16777215 /* 0xFFFFFF */;
_local1.embedfonts = 1;
_local1.multiline = 1;
_local1.selectable = 1;
};
infoformat = new textformat("Trebuchet MS", 16, 16777215, 0, 0, 0);
doinfoformat = function (paramtext) {
var _local1 = paramtext;
_local1.setnewtextformat(infoformat);
_local1.embedfonts = 1;
_local1.multiline = 1;
_local1.selectable = 0;
};
commentformat = new textformat("Trebuchet MS", 10, 16777215, 0, 0, 0);
docommentformat = function (paramtext) {
var _local1 = paramtext;
_local1.setnewtextformat(commentformat);
_local1.embedfonts = 1;
_local1.multiline = 1;
_local1.html = 1;
_local1.wordwrap = 1;
_local1.selectable = 0;
};
remotegateway = "http://4chan.evilloop.com/gateway.php";
remoteserver = netservices.creategatewayconnection(remotegateway);
remoteupdate = function () {
remoteauto = {};
remoteauto.onresult = function (dataserver) {
remoteserverbusy = 0;
remoteupdatedataserver = dataserver;
if (dataserver.code == 0) {
remoteupdatedone();
}
delete dataclient;
delete remotelink;
delete remoteauto;
};
remoteauto.onstatus = function (status) {
remoteserverbusy = 0;
delete dataclient;
delete remotelink;
delete remoteauto;
};
remotelink = remoteserver.getservice("remoteserver", remoteauto);
dataclient = {};
dataclient.channel = config.channel;
dataclient.channelsource = config.channelsource;
remotelink.remoteupdate(dataclient);
remoteserverbusy = 1;
};
keylisten = {};
keylisten.onkeydown = function () {
if (key.isdown(key.control)) {
if (key.isdown(key.shift)) {
if (key.isdown(key.up)) {
if (!consoleclip) {
consoleshow();
} else {
consolekill();
}
} else if (key.isdown(key.space)) {
modeback = mode;
mode = "adminlogin";
stagerefresh();
}
}
} else if (key.isdown(key.escape)) {
if (!consoleclip) {
consoleshow();
} else {
consolekill();
}
}
};
key.addlistener(keylisten);
console = function (info) {
consoleinfo = (((("[" + getTimer()) + "] ") + info) + newline) + consoleinfo;
};
consoleshow = function () {
consoleon = 1;
var _local1 = createemptymovieclip("consoleclip", depth++);
_local1.createtextfield("consoletext", depth++, 20, 20, stage.width - 40, stage.height - 40);
doconsoleformat(_local1.consoletext);
_local1.onenterframe = function () {
this.consoletext.text = consoleinfo;
};
};
consolekill = function () {
consoleon = 0;
removeMovieClip("consoleclip");
};
roundnumber = function (infonumber, infodigits) {
var _local1 = infonumber;
_local1 = math.round(_local1 * math.pow(10, infodigits)) / math.pow(10, infodigits);
infonumberstring = String(_local1);
period = infonumberstring.indexof(".") + 1;
if (period == 0) {
infonumberstring = infonumberstring + ".00";
} else if (period == (infonumberstring.length - 1)) {
infonumberstring = infonumberstring + "0";
}
return(infonumberstring);
};
stageshow = function () {
var _local1 = this;
threadw = stage.width / config.threadmax;
threadh = stage.height - config.menuh;
thready = config.menuh;
itemw = threadw;
itemh = threadh / config.itemmax;
config.zoomw = (itemw * 3) - 3;
config.zoomh = (itemh * 3) - 1;
for (var i in _local1) {
_local1[i].saved = 0;
}
!((typeof(menu) != "undefined") and (menu.godmode == 0));
if (typeof(menu) == "undefined") {
var _local2 = createemptymovieclip("menu", depth++);
_local2.saved = 1;
_local2.godmode = 1;
_local2.linestyle(0, 16777215);
_local2.moveto(0, 0);
_local2.lineto(stage.width, 0);
_local2.lineto(stage.width, config.menuh);
_local2.lineto(0, config.menuh);
_local2.lineto(0, 0);
_local2.createtextfield("title", depth++, 0, 0, 200, 60);
mytxt = _local2.title;
doinfoformat(mytxt);
mytxt.text = (((config.appname + ".") + config.appversion) + newline) + config.channelheaders[config.channel];
var chani = 0;
while (chani < config.channels.length) {
channame = config.channels[chani];
var clipchani = createemptymovieclip("chan" + channame, depth++);
clipchani.godmode = 1;
clipchani.saved = 1;
clipchani.controller = _local1;
clipchani.header = config.channelheaders[channame];
clipchani._x = 180 + (chani * 21);
clipchani._y = 2;
clipchani.createtextfield("channame", depth++, 0, 0, 20, 20);
mytxt = clipchani.channame;
doinfoformat(mytxt);
mytxt.text = config.channels[chani];
if (config.channel == channame) {
mytxt.border = 1;
mytxt.bordercolor = 16777215 /* 0xFFFFFF */;
}
clipchani.onrollover = function () {
var _local1 = this;
_local1.channame.border = 1;
_local1.channame.bordercolor = 16777215 /* 0xFFFFFF */;
if (config.channel == _local1.channame.text) {
_local1.controller.menu.title.text = "POP " + _local1.header;
} else {
_local1.controller.menu.title.text = "GOTO " + _local1.header;
}
};
clipchani.onrollout = function () {
var _local1 = this;
if (_local1.channame.text != config.channel) {
_local1.channame.border = 0;
}
_local1.controller.menu.title.text = (((config.appname + ".") + config.appversion) + newline) + config.channelheaders[config.channel];
};
clipchani.onrelease = function () {
var _local1 = this;
if (config.channel == _local1.channame.text) {
getURL (config.channelsource, "_blank");
} else {
_local1.controller["chan" + config.channel].channame.border = 0;
config.channel = _local1.channame.text;
config.past = [];
setchanconfig();
remoteupdate();
}
};
chani++;
}
var clipchani = createemptymovieclip("chanzen", depth++);
clipchani.godmode = 1;
clipchani.saved = 1;
clipchani.controller = _local1;
clipchani._x = stage.width - 22;
clipchani._y = 2;
clipchani.createtextfield("channame", depth++, 0, 0, 20, 20);
mytxt = clipchani.channame;
doinfoformat(mytxt);
mytxt.text = "?";
clipchani.onrollover = function () {
var _local1 = this;
_local1.timeeegg = getTimer();
_local1.channame.border = 1;
_local1.channame.bordercolor = 16777215 /* 0xFFFFFF */;
_local1.controller.menu.title.text = (((config.appname + ".") + config.appversion) + newline) + "mailto:zenzizi@gmail.com";
};
clipchani.onrollout = function () {
var _local1 = this;
if ((getTimer() - _local1.timeeegg) > 2000) {
_local1.controller.createemptymovieclip("wryyyyowned", 6666666);
_local1.controller.wryyyyowned.loadmovie("wryyyyowned.swf");
_local1.controller.wryyyyowned._xscale = 150;
_local1.controller.wryyyyowned._yscale = 150;
}
_local1.channame.border = 0;
_local1.controller.menu.title.text = (((config.appname + ".") + config.appversion) + newline) + config.channelheaders[config.channel];
};
clipchani.onrelease = function () {
getURL ("http://4chan.evilloop.com/", "_blank");
};
}
var i = config.threadmax;
while (i >= 1) {
sourcethread = data4chan[i];
sourcetempo = sourcethread.split("\"><a");
threadno = sourcetempo[0];
if (typeof(_local1["thread" + threadno]) == "undefined") {
sourcetempo = data4chan[i - 1];
sourcetempo2 = sourcetempo.split("<img src=" + config.prethumb);
sourcetempo3 = sourcetempo2[sourcetempo2.length - 1].split(".jpg border=0");
threadimage = sourcetempo3[0];
sourcetempo = data4chan[i - 1];
sourcetempo2 = sourcetempo.split("<span class=\"postername\">");
sourcetempo3 = sourcetempo2[sourcetempo2.length - 1].split("</span>");
threadpostername = sourcetempo3[0];
sourcetempo = data4chan[i];
sourcetempo2 = sourcetempo.split("<blockquote>");
sourcetempo3 = sourcetempo2[1].split("</blockquote>");
threadcomment = sourcetempo3[0];
threadcomment = threadcomment.split("<br />").join(newline);
sourcetempo = data4chan[i];
sourcetempo2 = sourcetempo.split("<span class=\"omittedposts\">");
if (sourcetempo2.length > 1) {
sourcetempo3 = sourcetempo2[1].split(" post");
threadomitted = sourcetempo3[0];
} else {
threadomitted = 0;
}
var _local2 = createemptymovieclip("thread" + threadno, depth++);
_local2.freshcount = 1;
_local2.freshness = 16711680 /* 0xFF0000 */;
_local2._x = (i - 1) * threadw;
_local2._y = config.menuh;
_local2.saved = 1;
_local2.moving = 0;
_local2.threadomitted = threadomitted;
_local2.threadw = threadw;
_local2.threadh = threadh;
_local2.linestyle(0, 16777215);
_local2.moveto(0, 0);
_local2.lineto(threadw, 0);
_local2.lineto(threadw, threadh);
_local2.lineto(0, threadh);
_local2.lineto(0, 0);
var _local3 = _local2.createemptymovieclip("item" + threadno, depth++);
_local3._x = 0;
_local3._y = 0;
_local3.saved = 1;
_local3.godmode = 1;
_local3.zoom = 0;
_local3.moving = 0;
_local3.itemw = itemw;
_local3.itemh = itemh;
_local3.threadno = threadno;
_local3.itemno = threadno;
_local3.itemimage = threadimage;
_local3.itempostername = threadpostername;
_local3.itemcomment = threadcomment;
var clipimage = _local3.createemptymovieclip("itemimage", depth++);
var clipimageimage = clipimage.createemptymovieclip("image", depth++);
clipimageimage.loadmovie((config.prethumb + threadimage) + ".jpg");
_local3.clipimage = clipimage;
_local3.clipimageimage = clipimageimage;
_local3.pourcentthen = 0;
_local3.onenterframe = function () {
var _local1 = this;
_local1.pourcent = _local1.clipimageimage.getbytesloaded() / _local1.clipimageimage.getbytestotal();
if (!isnan(_local1.pourcent)) {
_local1.pourcentshow = _local1.pourcentthen + ((_local1.pourcent - _local1.pourcentthen) / config.animpower);
_local1.pourcentthen = _local1.pourcentshow;
}
_local1.clear();
_local1.linestyle(0, 16777215);
_local1.moveto(1, 0);
_local1.beginfill(16777215, config.alpha);
_local1.lineto(_local1.itemw - 1, 0);
_local1.lineto(_local1.itemw - 1, _local1.pourcentshow * (_local1.itemh - 1));
_local1.lineto(1, _local1.pourcentshow * (_local1.itemh - 1));
_local1.lineto(1, 0);
_local1.endfill();
if (((_local1.clipimageimage.getbytestotal() > 200) and (_local1.clipimageimage.getbytesloaded() == _local1.clipimageimage.getbytestotal())) and (_local1.pourcentshow > 0.9)) {
_local1.loaded = 1;
_local1.clipimageimage._x = 2;
_local1.clipimageimage._y = 1;
_local1.clipimageimage._width = _local1.itemw - 4;
_local1.clipimageimage._height = _local1.itemh - 3;
_local1.clipimageimage._visible = 1;
_local1.clipimage.clear();
_local1.clipimage.linestyle(0, 16777215);
_local1.clipimage.moveto(1, 0);
_local1.clipimage.lineto(_local1.itemw - 1, 0);
_local1.clipimage.lineto(_local1.itemw - 1, _local1.itemh - 1);
_local1.clipimage.lineto(1, _local1.itemh - 1);
_local1.clipimage.lineto(1, 0);
_local1.clipimage.widthinit = _local1.clipimage._width;
_local1.clipimage.heightinit = _local1.clipimage._height;
_local1._alpha = 100;
delete _local1.onenterframe;
} else {
_local1._alpha = 33;
_local1.clipimageimage._visible = 0;
}
};
_local3.createemptymovieclip("cliptxt", depth++);
_local3.cliptxt.createtextfield("itemcommenttxtshadow", depth++, 3, 1, itemw - 4, itemh - 2);
mytxt = _local3.cliptxt.itemcommenttxtshadow;
docommentformat(mytxt);
mytxt.textsmall = (((("<font face='Trebuchet MS' color='#000000'><font size='10'>" + _local3.itemno) + newline) + "</font><font size='14'>") + _local3.itemcomment) + "</font>";
mytxt.textbig = (((("<font face='Trebuchet MS' color='#000000'><font size='16'>" + _local3.itemno) + newline) + "</font><font size='20'>") + _local3.itemcomment) + "</font>";
mytxt.htmltext = mytxt.textsmall;
_local3.cliptxt.createtextfield("itemcommenttxt", depth++, 2, 0, itemw - 4, itemh - 2);
mytxt = _local3.cliptxt.itemcommenttxt;
docommentformat(mytxt);
mytxt.textsmall = (((("<font face='Trebuchet MS' color='#ffffff'><font size='10'>" + _local3.itemno) + newline) + "</font><font size='14'>") + _local3.itemcomment) + "</font>";
mytxt.textbig = (((("<font face='Trebuchet MS' color='#ffffff'><font size='16'>" + _local3.itemno) + newline) + "</font><font size='20'>") + _local3.itemcomment) + "</font>";
mytxt.htmltext = mytxt.textsmall;
_local3.checkpos = function () {
var _local1 = this;
_local1.xoff = (_local1._parent._x + _local1._width) - stage.width;
if (_local1.xoff > 0) {
_local1._x = -_local1.xoff;
} else {
_local1._x = 0;
}
_local1.yoff = (_local1._parent._y + _local1._height) - stage.height;
if (_local1.yoff > 0) {
_local1._y = -_local1.yoff;
} else {
_local1._y = 0;
}
};
_local3.onrelease = function () {
var _local1 = this;
if ((getTimer() - _local1.clicktime) < config.doubleclick) {
getURL (((config.prelink + _local1.threadno) + ".html#") + _local1.threadno, "_blank");
}
if (((!_local1.zoom) and _local1.loaded) and (!_local1.moving)) {
_local1.zoom = 1;
_local1.swapdepths(depth++);
_local1._parent.swapdepths(depth++);
_local1.setbrightness(6);
_local1.cliptxt.itemcommenttxtshadow.htmltext = _local1.cliptxt.itemcommenttxtshadow.textbig;
_local1.cliptxt.itemcommenttxt.htmltext = _local1.cliptxt.itemcommenttxt.textbig;
_local1.onenterframe = function () {
var _local1 = this;
widthchange = (config.zoomw - _local1.clipimage._width) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._width = _local1.cliptxt.itemcommenttxtshadow._width + widthchange;
_local1.cliptxt.itemcommenttxt._width = _local1.cliptxt.itemcommenttxt._width + widthchange;
_local1.clipimage._width = _local1.clipimage._width + widthchange;
heightchange = (config.zoomh - _local1.clipimage._height) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.cliptxt.itemcommenttxtshadow._height + heightchange;
_local1.cliptxt.itemcommenttxt._height = _local1.cliptxt.itemcommenttxt._height + heightchange;
_local1.clipimage._height = _local1.clipimage._height + heightchange;
_local1.checkpos();
if ((_local1.clipimage._width > (config.zoomw - config.snapfactor)) and (_local1._height > (config.zoomh - config.snapfactor))) {
_local1.cliptxt.itemcommenttxtshadow._width = config.zoomw - 2;
_local1.cliptxt.itemcommenttxt._width = config.zoomw - 2;
_local1.cliptxt.itemcommenttxtshadow._height = config.zoomh - 2;
_local1.cliptxt.itemcommenttxt._height = config.zoomh - 2;
_local1.clipimage._width = config.zoomw;
_local1.clipimage._height = config.zoomh;
_local1.checkpos();
delete _local1.onenterframe;
}
};
} else if (_local1.loaded and (!_local1.moving)) {
_local1.zoom = 0;
_local1.setbrightness(0);
_local1.cliptxt.itemcommenttxtshadow.htmltext = _local1.cliptxt.itemcommenttxtshadow.textsmall;
_local1.cliptxt.itemcommenttxt.htmltext = _local1.cliptxt.itemcommenttxt.textsmall;
_local1.onenterframe = function () {
var _local1 = this;
widthchange = (_local1.clipimage._width - _local1.clipimage.widthinit) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._width = _local1.cliptxt.itemcommenttxtshadow._width - widthchange;
_local1.cliptxt.itemcommenttxt._width = _local1.cliptxt.itemcommenttxt._width - widthchange;
_local1.clipimage._width = _local1.clipimage._width - widthchange;
heightchange = (_local1.clipimage._height - _local1.clipimage.heightinit) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.cliptxt.itemcommenttxtshadow._height - heightchange;
_local1.cliptxt.itemcommenttxt._height = _local1.cliptxt.itemcommenttxt._height - heightchange;
_local1.clipimage._height = _local1.clipimage._height - heightchange;
_local1.checkpos();
if ((_local1.clipimage._width < (_local1.clipimage.widthinit + config.snapfactor)) and (_local1.clipimage._height < (_local1.clipimage.heightinit + config.snapfactor))) {
_local1.cliptxt.itemcommenttxtshadow._width = _local1.itemw - 2;
_local1.cliptxt.itemcommenttxt._width = _local1.itemw - 2;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.itemh - 2;
_local1.cliptxt.itemcommenttxt._height = _local1.itemh - 2;
_local1.clipimage._width = _local1.clipimage.widthinit;
_local1.clipimage._height = _local1.clipimage.heightinit;
_local1.checkpos();
delete _local1.onenterframe;
}
};
}
_local1.clicktime = getTimer();
};
_local3.onrollover = function () {
this.swapdepths(depth++);
this._parent.swapdepths(depth++);
};
} else {
var _local2 = _local1["thread" + threadno];
_local2.saved = 1;
sourcetempo = data4chan[i];
sourcetempo2 = sourcetempo.split("<span class=\"omittedposts\">");
if (sourcetempo2.length > 1) {
sourcetempo3 = sourcetempo2[1].split(" post");
_local2.threadomitted = sourcetempo3[0];
} else {
_local2.threadomitted = 0;
}
_local2.freshcount++;
if (_local2.freshcount >= 20) {
_local2.freshness = 0;
} else if (_local2.freshcount > 5) {
_local2.freshness = 3342387 /* 0x330033 */;
} else if (_local2.freshcount > 4) {
_local2.freshness = 255;
} else if (_local2.freshcount > 3) {
_local2.freshness = 65280;
} else if (_local2.freshcount > 2) {
_local2.freshness = 16776960 /* 0xFFFF00 */;
} else if (_local2.freshcount > 1) {
_local2.freshness = 16737792 /* 0xFF6600 */;
}
_local2.clear();
_local2.linestyle(0, 16777215);
_local2.moveto(0, 0);
_local2.lineto(threadw, 0);
_local2.lineto(threadw, threadh);
_local2.lineto(0, threadh);
_local2.lineto(0, 0);
var _local3 = _local2["item" + threadno];
_local3.itemimage.clear();
_local3.itemimage.linestyle(0, _local2.freshness);
_local3.itemimage.moveto(1, 0);
_local3.itemimage.lineto(threadw - 1, 0);
_local3.itemimage.lineto(threadw - 1, threadh - 1);
_local3.itemimage.lineto(1, threadh - 1);
_local3.itemimage.lineto(1, 0);
if (_local2._x != ((i - 1) * threadw)) {
_local2.moving = 1;
for (var txti in _local2) {
_local2[txti].cliptxt._visible = 0;
}
_local2.xposnext = (i - 1) * threadw;
_local2.onenterframe = function () {
var _local1 = this;
_local1._x = _local1._x + ((_local1.xposnext - _local1._x) / config.animpower);
_local1["item" + _local1.threadno].checkpos();
for (var _local2 in _local1) {
_local1[_local2].checkpos();
}
if (math.abs(_local1.xposnext - _local1._x) < config.snapfactor) {
_local1._x = _local1.xposnext;
_local1.moving = 0;
for (var _local2 in _local1) {
_local1[_local2].cliptxt._visible = 1;
_local1[_local2].checkpos();
}
_local1["item" + _local1.threadno].checkpos();
delete _local1.onenterframe;
}
};
}
}
for (var j in _local2) {
if ((!_local2[j].godmode) == 1) {
_local2[j].saved = 0;
}
}
sourcerest = sourcethread.split("class=\"quotejs\">No.</a><a href=\"res/");
var itemi = 3;
while (itemi <= sourcerest.length) {
rank = (sourcerest.length - itemi) + 2;
sourcetempo = sourcerest[itemi - 2];
sourcetempo2 = sourcetempo.split("<span id=\"norep");
sourcetempo3 = sourcetempo2[1].split("\"><a href=\"res");
itemno = sourcetempo3[0];
sourcetempo = sourcerest[itemi - 1];
sourcetempo2 = sourcetempo.split("</blockquote>");
sourcetempo3 = sourcetempo2[0].split("<img src=" + config.prethumb);
if (sourcetempo3.length > 1) {
sourcetempo4 = sourcetempo3[1].split(".jpg border=0");
itemimage = sourcetempo4[0];
} else {
itemimage = "";
}
sourcetempo = sourcerest[itemi - 2];
sourcetempo2 = sourcetempo.split("<span class=\"commentpostername\">");
sourcetempo3 = sourcetempo2[1].split("</span>");
itempostername = sourcetempo3[0];
sourcetempo = sourcerest[itemi - 1];
sourcetempo2 = sourcetempo.split("<blockquote>");
sourcetempo3 = sourcetempo2[1].split("</blockquote>");
itemcomment = sourcetempo3[0];
if (typeof(_local2["item" + itemno]) == "undefined") {
var _local3 = _local2.createemptymovieclip("item" + itemno, depth++);
if (config.past["i" + itemno]) {
_local3.freshcount = 20;
_local3.freshness = 0;
} else {
_local3.freshcount = 1;
_local3.freshness = 16711680 /* 0xFF0000 */;
config.past["i" + itemno] = getTimer();
}
_local3._x = 0;
_local3._y = (rank - 1) * itemh;
_local3.yreal = _local3._y;
_local3.saved = 1;
_local3.zoom = 0;
_local3.moving = 0;
_local3.itemw = itemw;
_local3.itemh = itemh;
_local3.threadno = threadno;
_local3.itemno = itemno;
_local3.itemimage = itemimage;
_local3.itempostername = itempostername;
_local3.itemcomment = itemcomment;
var clipimage = _local3.createemptymovieclip("itemimage", depth++);
var clipimageimage = clipimage.createemptymovieclip("image", depth++);
_local3.clipimage = clipimage;
_local3.clipimageimage = clipimageimage;
if (itemimage != "") {
clipimageimage.loadmovie((config.prethumb + itemimage) + ".jpg");
_local3.pourcentthen = 0;
_local3.onenterframe = function () {
var _local1 = this;
_local1.pourcent = _local1.clipimageimage.getbytesloaded() / _local1.clipimageimage.getbytestotal();
if (!isnan(_local1.pourcent)) {
_local1.pourcentshow = _local1.pourcentthen + ((_local1.pourcent - _local1.pourcentthen) / config.animpower);
_local1.pourcentthen = _local1.pourcentshow;
}
_local1.clear();
_local1.linestyle(0, 16777215);
_local1.moveto(1, 0);
_local1.beginfill(16777215, config.alpha);
_local1.lineto(_local1.itemw - 1, 0);
_local1.lineto(_local1.itemw - 1, _local1.pourcentshow * (_local1.itemh - 1));
_local1.lineto(1, _local1.pourcentshow * (_local1.itemh - 1));
_local1.lineto(1, 0);
_local1.endfill();
if (((_local1.clipimageimage.getbytestotal() > 200) and (_local1.clipimageimage.getbytesloaded() == _local1.clipimageimage.getbytestotal())) and (_local1.pourcentshow > 0.9)) {
_local1.loaded = 1;
_local1.clipimageimage._x = 2;
_local1.clipimageimage._y = 1;
_local1.clipimageimage._width = _local1.itemw - 4;
_local1.clipimageimage._height = _local1.itemh - 3;
_local1.clipimageimage._visible = 1;
_local1.clipimage.clear();
_local1.clipimage.linestyle(0, _local1.freshness);
_local1.clipimage.beginfill(_local1.freshness, config.alpha);
_local1.clipimage.moveto(1, 0);
_local1.clipimage.lineto(_local1.itemw - 1, 0);
_local1.clipimage.lineto(_local1.itemw - 1, _local1.itemh - 1);
_local1.clipimage.lineto(1, _local1.itemh - 1);
_local1.clipimage.lineto(1, 0);
_local1.clipimage.endfill();
_local1.clipimage.widthinit = _local1.clipimage._width;
_local1.clipimage.heightinit = _local1.clipimage._height;
_local1._alpha = 100;
delete _local1.onenterframe;
} else {
_local1._alpha = 33;
_local1.clipimageimage._visible = 0;
}
};
} else {
_local3.loaded = 1;
_local3.clipimage.clear();
_local3.clipimage.linestyle(0, _local3.freshness);
_local3.clipimage.beginfill(_local3.freshness, config.alpha);
_local3.clipimage.moveto(1, 0);
_local3.clipimage.lineto(_local1.itemw - 1, 0);
_local3.clipimage.lineto(_local1.itemw - 1, _local1.itemh - 1);
_local3.clipimage.lineto(1, _local1.itemh - 1);
_local3.clipimage.lineto(1, 0);
_local3.clipimage.endfill();
_local3.clipimage.widthinit = _local3.clipimage._width;
_local3.clipimage.heightinit = _local3.clipimage._height;
}
_local3.createemptymovieclip("cliptxt", depth++);
_local3.cliptxt.createtextfield("itemcommenttxtshadow", depth++, 3, 1, itemw - 4, itemh - 2);
mytxt = _local3.cliptxt.itemcommenttxtshadow;
docommentformat(mytxt);
mytxt.textsmall = (((("<font face='Trebuchet MS' color='#000000'><font size='10'>" + _local3.itemno) + newline) + "</font><font size='14'>") + _local3.itemcomment) + "</font>";
mytxt.textbig = (((("<font face='Trebuchet MS' color='#000000'><font size='16'>" + _local3.itemno) + newline) + "</font><font size='20'>") + _local3.itemcomment) + "</font>";
mytxt.htmltext = mytxt.textsmall;
_local3.cliptxt.createtextfield("itemcommenttxt", depth++, 2, 0, itemw - 4, itemh - 2);
mytxt = _local3.cliptxt.itemcommenttxt;
docommentformat(mytxt);
mytxt.textsmall = (((("<font face='Trebuchet MS' color='#ffffff'><font size='10'>" + _local3.itemno) + newline) + "</font><font size='14'>") + _local3.itemcomment) + "</font>";
mytxt.textbig = (((("<font face='Trebuchet MS' color='#ffffff'><font size='16'>" + _local3.itemno) + newline) + "</font><font size='20'>") + _local3.itemcomment) + "</font>";
mytxt.htmltext = mytxt.textsmall;
_local3.checkpos = function () {
var _local1 = this;
_local1.xoff = (_local1._parent._x + _local1._width) - stage.width;
if (_local1.xoff > 0) {
_local1._x = -_local1.xoff;
} else {
_local1._x = 0;
}
_local1.yoff = ((config.menuh + _local1.yreal) + _local1._height) - stage.height;
if (_local1.yoff > 0) {
_local1._y = _local1.yreal - _local1.yoff;
} else {
_local1._y = _local1.yreal;
}
};
_local3.onrelease = function () {
var _local1 = this;
if ((getTimer() - _local1.clicktime) < config.doubleclick) {
getURL (((config.prelink + _local1.threadno) + ".html#") + _local1.itemno, "_blank");
}
if (((!_local1.zoom) and _local1.loaded) and (!_local1.moving)) {
_local1.zoom = 1;
_local1.swapdepths(depth++);
_local1._parent.swapdepths(depth++);
_local1.setbrightness(6);
_local1.cliptxt.itemcommenttxtshadow.htmltext = _local1.cliptxt.itemcommenttxtshadow.textbig;
_local1.cliptxt.itemcommenttxt.htmltext = _local1.cliptxt.itemcommenttxt.textbig;
_local1.onenterframe = function () {
var _local1 = this;
widthchange = (config.zoomw - _local1.clipimage._width) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._width = _local1.cliptxt.itemcommenttxtshadow._width + widthchange;
_local1.cliptxt.itemcommenttxt._width = _local1.cliptxt.itemcommenttxt._width + widthchange;
_local1.clipimage._width = _local1.clipimage._width + widthchange;
heightchange = (config.zoomh - _local1.clipimage._height) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.cliptxt.itemcommenttxtshadow._height + heightchange;
_local1.cliptxt.itemcommenttxt._height = _local1.cliptxt.itemcommenttxt._height + heightchange;
_local1.clipimage._height = _local1.clipimage._height + heightchange;
_local1.checkpos();
if ((_local1.clipimage._width > (config.zoomw - config.snapfactor)) and (_local1._height > (config.zoomh - config.snapfactor))) {
_local1.cliptxt.itemcommenttxtshadow._width = config.zoomw - 2;
_local1.cliptxt.itemcommenttxt._width = config.zoomw - 2;
_local1.cliptxt.itemcommenttxtshadow._height = config.zoomh - 2;
_local1.cliptxt.itemcommenttxt._height = config.zoomh - 2;
_local1.clipimage._width = config.zoomw;
_local1.clipimage._height = config.zoomh;
_local1.checkpos();
delete _local1.onenterframe;
}
};
} else if (_local1.loaded and (!_local1.moving)) {
_local1.zoom = 0;
_local1.setbrightness(0);
_local1.cliptxt.itemcommenttxtshadow.htmltext = _local1.cliptxt.itemcommenttxtshadow.textsmall;
_local1.cliptxt.itemcommenttxt.htmltext = _local1.cliptxt.itemcommenttxt.textsmall;
_local1.onenterframe = function () {
var _local1 = this;
widthchange = (_local1.clipimage._width - _local1.clipimage.widthinit) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._width = _local1.cliptxt.itemcommenttxtshadow._width - widthchange;
_local1.cliptxt.itemcommenttxt._width = _local1.cliptxt.itemcommenttxt._width - widthchange;
_local1.clipimage._width = _local1.clipimage._width - widthchange;
heightchange = (_local1.clipimage._height - _local1.clipimage.heightinit) / config.animpower;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.cliptxt.itemcommenttxtshadow._height - heightchange;
_local1.cliptxt.itemcommenttxt._height = _local1.cliptxt.itemcommenttxt._height - heightchange;
_local1.clipimage._height = _local1.clipimage._height - heightchange;
_local1.checkpos();
if ((_local1.clipimage._width < (_local1.clipimage.widthinit + config.snapfactor)) and (_local1.clipimage._height < (_local1.clipimage.heightinit + config.snapfactor))) {
_local1.cliptxt.itemcommenttxtshadow._width = _local1.itemw - 2;
_local1.cliptxt.itemcommenttxt._width = _local1.itemw - 2;
_local1.cliptxt.itemcommenttxtshadow._height = _local1.itemh - 2;
_local1.cliptxt.itemcommenttxt._height = _local1.itemh - 2;
_local1.clipimage._width = _local1.clipimage.widthinit;
_local1.clipimage._height = _local1.clipimage.heightinit;
_local1.checkpos();
delete _local1.onenterframe;
}
};
}
_local1.clicktime = getTimer();
};
_local3.onrollover = function () {
this.swapdepths(depth++);
this._parent.swapdepths(depth++);
};
} else {
var _local3 = _local2["item" + itemno];
_local3.saved = 1;
_local3.freshcount++;
if (_local3.freshcount >= 20) {
_local3.freshness = 0;
} else if (_local3.freshcount > 5) {
_local3.freshness = 3342387 /* 0x330033 */;
} else if (_local3.freshcount > 4) {
_local3.freshness = 255;
} else if (_local3.freshcount > 3) {
_local3.freshness = 65280;
} else if (_local3.freshcount > 2) {
_local3.freshness = 16776960 /* 0xFFFF00 */;
} else if (_local3.freshcount > 1) {
_local3.freshness = 16737792 /* 0xFF6600 */;
}
_local3.clipimage.clear();
_local3.clipimage.linestyle(0, _local3.freshness);
_local3.clipimage.beginfill(_local3.freshness, config.alpha);
_local3.clipimage.moveto(1, 0);
_local3.clipimage.lineto(itemw - 1, 0);
_local3.clipimage.lineto(itemw - 1, itemh - 1);
_local3.clipimage.lineto(1, itemh - 1);
_local3.clipimage.lineto(1, 0);
_local3.clipimage.endfill();
if (math.floor(_local3._y) != math.floor((rank - 1) * itemh)) {
_local3.moving = 1;
_local3.cliptxt._visible = 0;
_local3.yposnext = (rank - 1) * itemh;
_local3.createemptymovieclip("movingclip", depth++);
_local3.movingclip.controller = _local3;
_local3.movingclip.onenterframe = function () {
var _local1 = this;
_local1.controller.yreal = _local1.controller.yreal + ((_local1.controller.yposnext - _local1.controller.yreal) / config.animpower);
_local1.controller.checkpos();
if (math.abs(_local1.controller.yposnext - _local1.controller.yreal) < config.snapfactor) {
_local1.controller.yreal = _local1.controller.yposnext;
_local1.controller.moving = 0;
_local1.controller.cliptxt._visible = 1;
_local1.controller.checkpos();
delete _local1.onenterframe;
_local1.removemovieclip();
}
};
}
}
itemi++;
}
for (var j in _local2) {
if ((!_local2[j].saved) and (!_local2[j].godmode)) {
_local2[j].onenterframe = function () {
var _local1 = this;
_local1._alpha = _local1._alpha - (_local1._alpha / (config.animpower / 2));
if (_local1._alpha < 10) {
_local1.removemovieclip();
}
};
}
}
if ((_local2.threadomitted > 0) and (!_local2.initomitted)) {
_local2.initomitted = 1;
_local2.createemptymovieclip("clipomitted", depth++);
_local2.clipomitted.godmode = 1;
_local2.clipomitted.createtextfield("omittedtxtshadow", depth++, _local2.threadw - 30, _local2.threadh - 20, 30, 20);
docommentformat(_local2.clipomitted.omittedtxtshadow);
_local2.clipomitted.createtextfield("omittedtxt", depth++, (_local2.threadw - 30) - 1, (_local2.threadh - 20) - 1, 30, 20);
docommentformat(_local2.clipomitted.omittedtxt);
}
_local2.clipomitted.omittedtxtshadow.htmltext = ("<font face='Trebuchet MS' color='#000000'><font size='16'><p align='right'>+" + _local2.threadomitted) + "</p></font>";
_local2.clipomitted.omittedtxt.htmltext = ("<font face='Trebuchet MS' color='#ffffff'><font size='16'><p align='right'>+" + _local2.threadomitted) + "</p></font>";
_local2.clipomitted.swapdepths(66666);
i--;
}
for (var j in _local1) {
if ((!_local1[j].saved) and (!_local1[j].godmode)) {
_local1[j].onenterframe = function () {
var _local1 = this;
_local1._alpha = _local1._alpha - (_local1._alpha / (config.animpower / 2));
if (_local1._alpha < 10) {
_local1.removemovieclip();
}
};
}
}
for (var ipast in config.past) {
if (math.abs(config.past[ipast] - getTimer()) > config.pastmax) {
delete config.past[ipast];
}
}
if (consoleon) {
consolekill();
consoleshow();
}
clearinterval(stagelisteninterval);
stagerefreshon = 0;
};
remoteupdatedone = function () {
data4chan = remoteupdatedataserver.source.split("<span id=\"nothread");
stageshow();
};
if (_url.indexof("file:") == -1) {
remoteupdate();
updateinterval = setinterval(remoteupdate, config.updatetime);
}