String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
if ( SiSTeR == undefined )
{
var SiSTeR = {};
}
SiSTeR.Version = '0.1';
SiSTeR.Copyright = 'Patent-pending, Copyright © 2003-2007, SiSTeR Technologies';
SiSTeR.Config = SiSTeR.Config != undefined ? SiSTeR.Config : {};
SiSTeR.Config.set = function(v,d)
{ //set configuration directives without overriding user-definitions
this[v] = this[v] != undefined ? this[v] : d;
}
SiSTeR.Config.set("enablefullscreen",false);
SiSTeR.Config.set("enablelogging",true);
SiSTeR.Config.set("autoplay",true);
SiSTeR.Config.set("height",280);
SiSTeR.Config.set("width",320);
SiSTeR.Config.set("containerid","SiSTeR");
SiSTeR.Config.set("pubid","auto");
SiSTeR.Config.set("publisher_profile",SiSTeR.Config.pubid);
SiSTeR.Config.set("displaylogo",false);
SiSTeR.Config.set("title",'vcl-title.jpg');
SiSTeR.uniqid = "7b14b04c5c42d850828e3672cbb4afe2177ea524";
SiSTeR.Path = '';
SiSTeR.Init = function() {};
SiSTeR.Require = function(s)
{
document.write('');
}
SiSTeR.Players =
{
_p:{},
load: function(s)
{
if ( this._p[s] != undefined && typeof this._p[s] == 'function' )
{
this._p[s]();
}
},
register: function(s,f)
{
this._p[s] = f;
}
}
SiSTeR.getElementById = function (element)
{
var elements = new Array();
for (var i = 0; i < arguments.length; i++)
{
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
SiSTeR.Event =
{
observers: false,
_observeAndCache: function(element, name, observer, useCapture)
{
if (!this.observers) this.observers = [];
if (element.addEventListener)
{
this.observers.push([element, name, observer, useCapture]);
element.addEventListener(name, observer, useCapture);
} else if (element.attachEvent) {
this.observers.push([element, name, observer, useCapture]);
element.attachEvent('on' + name, observer);
}
},
unloadCache: function()
{
if (!SiSTeR.Event.observers) return;
for (var i = 0, length = Event.observers.length; i < length; i++)
{
SiSTeR.Event.stopObserving.apply(this, Event.observers[i]);
SiSTeR.Event.observers[i][0] = null;
}
SiSTeR.Event.observers = false;
},
observe: function(element, name, observer, useCapture)
{
element = SiSTeR.getElementById(element);
useCapture = useCapture || false;
if (name == 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.attachEvent))
name = 'keydown';
SiSTeR.Event._observeAndCache(element, name, observer, useCapture);
},
stopObserving: function(element, name, observer, useCapture)
{
element = SiSTeR.getElementById(element);
useCapture = useCapture || false;
if (name == 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.detachEvent))
name = 'keydown';
if (element.removeEventListener)
{
element.removeEventListener(name, observer, useCapture);
} else if (element.detachEvent) {
try {
element.detachEvent('on' + name, observer);
} catch (e) {}
}
}
}
SiSTeR.ParsedURL =
{
'url':null,
'basename':null,
'domain':null,
'dirname':null,
'querystring':null,
'query':null,
'parse': function(u)
{
this.url = u;
this.basename = u.substring(u.lastIndexOf('/') + 1,u.indexOf('?'));
this.domain = u.substring(u.indexOf('http://') + 7).substring(0,u.substring(u.indexOf('http://') + 7).indexOf('/'));
this.dirname = u.substring(u.indexOf('http://') + 7 + this.domain.length,u.lastIndexOf('/')+1);
this.querystring= u.substring((u.indexOf('?')) + 1);
this.query = new Object();
var separator = ',';
var query = this.querystring;
if ( query.length < 1 )
{
return false;
}
var keypairs = new Object();
var n = 1;
while (query.indexOf('&') > -1)
{
keypairs[n] = query.substring(0,query.indexOf('&'));
query = query.substring((query.indexOf('&')) + 1);
n++;
}
keypairs[n] = query;
for (i in keypairs)
{
var keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
var keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
while (keyValue.indexOf('+') > -1)
{
keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
}
keyValue = unescape(keyValue);
if (this.query[keyName])
{
this.query[keyName] = this.query[keyName] + separator + keyValue;
} else {
this.query[keyName] = keyValue;
}
}
return this;
}
}
SiSTeR.Log = function(o)
{
if ( !SiSTeR.Config.enablelogging )
return true;
if (o == undefined)
o = {};
var t = new Image();
var d = new Date();
var a = [];
a.push([SiSTeR.Path,'tracker.php?ts=',d.getTime()].join(''));
if ( o.e != undefined )
a.push(['e=',o.e].join(''));
if ( o.i != undefined )
a.push(['i=',o.i].join(''));
if ( o.m != undefined )
{
a.push(['m=',o.m].join(''));
} else {
a.push(['m=',SiSTeR.uniqid].join(''));
}
a.push(['p=',o.p == undefined ? (SiSTeR.Config.publisher_profile != undefined ? SiSTeR.Config.publisher_profile : SiSTeR.Config.pubid) : o.p].join(''));
t.src = a.join('&');
return true;
}
SiSTeR.Load = function()
{
var s = document.getElementsByTagName("scr" + "ipt");
for(var i=0;i