// namespace
if (typeof ITM3 == "undefined" || !ITM3) {
var ITM3 = {};
}
function querystring( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
// initiate header functionality
ITM3.SetUp =
{
Main: function() {
if (window.attachEvent) {
window.attachEvent("onload", this.pageInit);
}
else if (window.addEventListener) {
window.addEventListener("load", this.pageInit, false);
}
},
pageInit: function() {
ITM3.Pages.SetCookies();
ITM3.UIBehaviours.InitialiseRollovers();
ITM3.UIBehaviours.InitialiseRankingClicks();
ITM3.UIBehaviours.InitialiseTogglerBoxes();
ITM3.SetUp.InitialiseShowFeedback();
ITM3.SetUp.InitialiseHomepage();
},
InitialiseHomepage: function() {
$(document).ready(function(){
querystring("context") == "play" ? openGame() :
querystring("context") == "informed" ? openGameInformed() :
querystring("context") == "trailer" ? openTrailer() : null;
});
}
,
InitialiseShowFeedback: function() {
}
};
ITM3.Game =
{
QuitGame: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/quit.aspx";
},
Breakdown: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/breakdown.aspx";
},
Bankrupt: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/bankrupt.aspx";
},
CloseGame: function() {
document.getElementById("itm3").close();
},
ShowPlayerGuide: function() {
window.open("/" + ITM3.Pages.GetLanguage() + "/playerguide/default.aspx");
},
LevelComplete: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx";
},
UnknownFatalError: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx";
},
SwitchAnimationsOn: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx?Config=config.xml";
},
SwitchAnimationsOff: function() {
document.location = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx?Config=config_lite.xml";
}
};
ITM3.Pages =
{
SetCookies: function() {
var chkcookie = ('itm3CookieCheck');
document.cookie = "chkcookie=" + chkcookie + "; path=/";
},
GetLanguage: function() {
return new String(document.location).match(new RegExp(".*?\/(\\w\\w-\\w\\w)"))[1];
}
}
ITM3.UIBehaviours = {
InitialiseRollovers: function() {
var elements = this.getElementsByClassName('ui-rollover', '', document);
for (var i = 0; i < elements.length; i++) {
this.addEvent(elements[i], "mouseover", function(e) { ITM3.UIBehaviours.Rollover(e, this); });
this.addEvent(elements[i], "mouseout", function(e) { ITM3.UIBehaviours.Rolloff(e, this); });
}
},
InitialiseRankingClicks: function() {
var elements = this.getElementsByClassName('ranking-table-row', 'tr', document);
for (var i = 0; i < elements.length; i++) {
if ($(elements[i]).find("a").size() > 0) {
this.addEvent(elements[i], "click", function(e) { ITM3.UIBehaviours.RankingTableClick(e, this) });
elements[i].className = "ranking-table-row-active";
}
}
},
InitialiseTogglerBoxes: function() {
$(".IntegerField").addClass('togglerField').before("
-
").after("+
");
$(document).find(".plus").click(
function() {
currentValue = parseInt($(this).siblings(".togglerField").val());
if (!(currentValue >= 0)) {
currentValue = 0;
}
$(this).siblings(".togglerField").val(currentValue + 1)
}
);
$(document).find(".minus").click(
function() {
var currentValue = parseInt($(this).siblings(".togglerField").val());
if (currentValue > 0) {
$(this).siblings(".togglerField").val(currentValue - 1)
}
}
);
}
,
RankingTableClick: function(e, el) {
document.location = el.getElementsByTagName('A')[0].href;
},
Rollover: function(e, el) {
if (el.src.indexOf("-over.") == -1) {
el.src = el.src.replace(/(.gif|.jpg)/g, "-over$1");
};
},
Rolloff: function(e, el) {
if (el.src.indexOf("-over.") >= 0) {
el.src = el.src.replace(/-over(.gif|.jpg)/g, "$1");
};
},
addEvent: function(obj, type, fn) {
if (obj.attachEvent) {
obj['e' + type + fn] = fn;
obj[type + fn] = function() { obj['e' + type + fn](window.event); }
obj.attachEvent('on' + type, obj[type + fn]);
} else
obj.addEventListener(type, fn, false);
},
getElementsByClassName: function(className, tag, elm) {
if (document.getElementsByClassName) {
getElementsByClassName = function(className, tag, elm) {
elm = elm || document;
var elements = elm.getElementsByClassName(className),
nodeName = (tag) ? new RegExp("\\b" + tag + "\\b", "i") : null,
returnElements = [],
current;
for (var i = 0, il = elements.length; i < il; i += 1) {
current = elements[i];
if (!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function(className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace) ? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for (var j = 0, jl = classes.length; j < jl; j += 1) {
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try {
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function(className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag),
current,
returnElements = [],
match;
for (var k = 0, kl = classes.length; k < kl; k += 1) {
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
}
for (var l = 0, ll = elements.length; l < ll; l += 1) {
current = elements[l];
match = false;
for (var m = 0, ml = classesToCheck.length; m < ml; m += 1) {
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(className, tag, elm);
}
}
function openTrailer() {
vfo.write('videotrailer');
tb_show(null, "/" + ITM3.Pages.GetLanguage() + "/trailer/default.aspx#TB_inline?height=353&width=508&inlineId=hiddenModalContent&modal=true", false);
}
function closeIframe() {
parent.tb_close();
}
function hideCloseBtn() {
if ($("#thirdPartyCloseBtn")) {
$("#thirdPartyCloseBtn").remove();
}
}
function openGame() {
if (ITM3.Pages.GetLanguage() != "ru-rux") {
tb_show(null, "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx?TB_iframe=true&height=507&width=758&modal=true", false);
var closeObj = $("Cerrar esta ventana");
$("#TB_window").append(closeObj);
} else {
var playWindow = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx";
window.open(playWindow, "gamewindow", "menubar=0,resizable=0,scrollbars=0,statusbar=0,toolbar=0,width=787,height=519");
}
}
function openGameRegisterMode() {
tb_show(null, "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx?Register=true&TB_iframe=true&height=507&width=758&modal=true", false);
}
function openGameInformed() {
if (ITM3.Pages.GetLanguage() != "ru-rux") {
tb_show(null, "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx?informed=forced&placeValuesBeforeTB_=savedValues&TB_iframe=true&height=507&width=758&modal=true", false);
} else {
var playWindow = "/" + ITM3.Pages.GetLanguage() + "/game/default.aspx";
window.open(playWindow, "gamewindow", "menubar=0,resizable=0,scrollbars=0,statusbar=0,toolbar=0,width=787,height=519");
}
}
function leaveFeedbackLink() {
}
// kick off here
ITM3.SetUp.Main();