/* tmt base object */

var tmt=new function() {}

tmt.constructor.prototype.Reveal=function(q) {

	var objScripts=document.getElementsByTagName('script');
	if (objScripts.length>0) {
		var input=objScripts.item(objScripts.length-1).previousSibling;
		if (input) document.write(Decode(input.value.split('\r').join('').split('\n').join(''),q));
	}

	function Decode(s,q) {
		var a=s.split(',');
		var k=parseInt(a[q],16);
		for (var i=0; i<q; i++) a[i]=String.fromCharCode(parseInt(a[i],16)-k);
		a[q]='';
		for (var i=q+1; i<a.length; i++) a[i]=String.fromCharCode(parseInt(a[i],16)-k);
		return a.join('');
	}
}

tmt.CreateXMLHttp=function() {

	if (typeof(XMLHttpRequest)!='undefined') {
		return new XMLHttpRequest();
	}
	else if (window.createRequest) {
		return window.createRequest();
	}
	else {
		/*@cc_on @if (@_jscript_version>=5)
		try {
			return new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch (e) {
			try {
				return new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch (e) {}
		}
		@end @*/
	}
	return null;
}

tmt.InsertFlash=function(strSrc,strId,strWidth,strHeight,strVersion,strBgColor) {

	if (typeof(SWFObject)!='undefined') {
		var objScripts=document.getElementsByTagName('script');
		if (objScripts.length>0) {
			var objContainer=objScripts.item(objScripts.length-1).parentNode;
			if (objContainer) {
				var objSWF=new SWFObject(strSrc,strId,strWidth,strHeight,(strVersion ? strVersion : '1'),strBgColor);
				objSWF.addParam('wmode',(strBgColor ? 'opaque': 'transparent'));
				objSWF.write(objContainer);
			}
		}
	}
}

tmt.StartTermite=function(strHome,strHTTPPort) {

	/* from MS begin */
	function HasRuntimeVersion(v)
	{
	  var va = GetVersion(v);
	  var i;
	  var a = navigator.userAgent.match(/\.NET CLR [0-9.]+/g);
	  if (a != null)
	    for (i = 0; i < a.length; ++i)
	      if (CompareVersions(va, GetVersion(a[i])) <= 0)
			return true;
	  return false;
	}
	function GetVersion(v)
	{
	  var a = v.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
	    return a.slice(1);
	}
	function CompareVersions(v1, v2)
	{
	  for (i = 0; i < v1.length; ++i)
	  {
	    var n1 = new Number(v1[i]);
	    var n2 = new Number(v2[i]);
	    if (n1 < n2)
	      return -1;
	    if (n1 > n2)
	      return 1;
	  }
	  return 0;
	}
	/* from MS end */

	if (strHome.indexOf('/')==0 && location.protocol=='https:') strHome='http://'+location.hostname+(strHTTPPort ? ':'+strHTTPPort : '')+strHome;
	if (HasRuntimeVersion('2.0.0')) location.replace(strHome+'/termite'); else window.open(strHome,'','width=480,height=400');
}
