// JavaScript Document

function toggleMenuItem(submenuID) {
	var objSubmenu = document.getElementById('mmi_'+submenuID);
	if (!objSubmenu) return false;
	objSubmenu.style.display = (objSubmenu.style.display=='block')?'none':'block';
}


window.size = function() {
	var w = 0;
	var h = 0;
	if(window.innerWidth) {										// All Browsers except MS Internet Explorer
		w = window.innerWidth;
		h = window.innerHeight;
	}
	 else if (!(document.documentElement.clientWidth == 0)) {	// MS Internet Explorer (strict mode)
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
	 }
	  else {													// MS Internet Explorer (quirks mode)
			w = document.body.clientWidth;
			h = document.body.clientHeight;
	  }
	return {
		width: w,
		height: h
	};
}



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function TPaginatedBelt(beltID, htmlBeltID, beltContainerSize) {
	this.id = beltID;
	this.htmlBeltID = htmlBeltID;
	if (beltContainerSize == null) beltContainerSize = 715;
	this.pagesSelector = this.htmlBeltID+'_page';	// HTML ID od DIVov s posameznimi stranimi; New property
	this.innerTop = '24px';								// Position of page top edge; New property 
	this.containerSize = beltContainerSize;
	this.currentPageID = 0;
	this.pages = -1;
	this.oldPage = null;
	this.newPage = null;

	
	this.scrollTimer = null;
	
	this.swap = function(pageDelta) {
		if (this.pages == -1) {
			var i = -1;
			do {
				i++;
			} while (document.getElementById(this.pagesSelector+String(i)) != null);
			this.pages = i-1;
		}
		
		this.oldPage = document.getElementById(this.pagesSelector+this.currentPageID);
// if (this.oldPage == null) alert('this.oldPage (familiy'+this.currentPageID+') je NULL');

		this.currentPageID += pageDelta;
		if (this.currentPageID < 0) this.currentPageID = this.pages;
		if (this.currentPageID > this.pages) this.currentPageID = 0;
		this.newPage = document.getElementById(this.pagesSelector+this.currentPageID);
// if (this.newPage == null) alert('this.newPage (familiy'+this.currentPageID+') je NULL');

		this.oldPage.style.display = 'block';
		this.newPage.style.display = 'block';
		this.oldPageWidth = this.oldPage.offsetWidth;
		this.newPageWidth = this.newPage.offsetWidth;
		
/*
		if (pageDelta < 0) {
			var newPagePosition = (this.newPageWidth) * (-1);
			this.newPage.style.left = newPagePosition+'px';
			var oldPagePosition = 0;
			this.oldPage.style.left = oldPagePosition+'px';
		}
		 else {
			var newPagePosition = this.oldPageWidth;
			this.newPage.style.left = newPagePosition+'px';
			var oldPagePosition = 0;
			this.oldPage.style.left = oldPagePosition+'px';
		 }
*/


// Pred zacetkom animacije:
		if (pageDelta < 0) {
			var newPagePosition = (this.containerSize) * (-1);
			this.newPage.style.left = newPagePosition+'px';
			var oldPagePosition = Math.round((this.containerSize - this.oldPageWidth)/2);
			this.oldPage.style.left = oldPagePosition+'px';
		}
		 else {
			var newPagePosition = this.containerSize;
			this.newPage.style.left = newPagePosition+'px';
			var oldPagePosition = Math.round((this.containerSize - this.oldPageWidth)/2);
			this.oldPage.style.left = oldPagePosition+'px';
		 }

		this.newPagePosition = newPagePosition;
		this.oldPagePosition = oldPagePosition;

/*
for (var i=0; i<=this.pages; i++) {
	document.getElementById('familiy'+i).style.display = 'none';
}
*/

// Na koncu animacije:
		var newPagePosition = Math.round((this.containerSize - this.newPageWidth)/2);
//		this.newPage.style.left = newPagePosition+'px';
		if (pageDelta < 0) oldPagePosition = this.containerSize;
		 else oldPagePosition =  this.oldPageWidth * (-1);
//		this.oldPage.style.left = oldPagePosition+'px';

		this.newPageTargetPosition = newPagePosition;
		this.oldPageTargetPosition = oldPagePosition;

// alert(this.newPageWidth);

		if (pageDelta > 0) this.scrollTimer = setInterval(this.id+'.moveRight('+(pageDelta*100)+')', 100);
		 else this.scrollTimer = setInterval(this.id+'.moveLeft('+(pageDelta*100)+')', 100); 
	}

	this.moveRight = function () {
//		var currentPosition = (parseInt(this.oldPage.style.left)) || 0;
//		currentPosition -= 100;
		var delta = Math.round((this.oldPagePosition - this.oldPageTargetPosition)/2);
//		if (delta > 75) delta = 75;
		this.oldPagePosition -= delta;
		if (this.oldPagePosition < this.oldPageTargetPosition) this.oldPagePosition = this.oldPageTargetPosition;
		this.oldPage.style.top = this.innerTop;
		this.oldPage.style.left = this.oldPagePosition+'px';

//		var currentPosition = (parseInt(this.newPage.style.left)) || 0;
//		currentPosition -= 100;
		var delta = Math.round((this.newPagePosition - this.newPageTargetPosition)/2);
//		if (delta > 75) delta = 75;
		this.newPagePosition -= delta;
		if (this.newPagePosition < this.newPageTargetPosition) this.newPagePosition = this.newPageTargetPosition;
		this.newPage.style.top = this.innerTop;
		this.newPage.style.left = this.newPagePosition+'px';
	
		if (this.newPagePosition == this.newPageTargetPosition && this.oldPagePosition == this.oldPageTargetPosition) this.myStopScroll();
//		if (currentPosition < 0) this.myStopScroll();
//		if (currentPosition > this.containerSize) this.myStopScroll();
	}
	
	this.moveLeft = function () {		//     old -->			[new] --> old -->
//		var currentPosition = (parseInt(this.newPage.style.left)) || 0;
//		currentPosition += 100;
		var delta = Math.round((this.newPageTargetPosition - this.newPagePosition)/2);
		this.newPagePosition += delta;
		if (this.newPagePosition > this.newPageTargetPosition) this.newPagePosition = this.newPageTargetPosition;
		this.newPage.style.top = this.innerTop;
		this.newPage.style.left = this.newPagePosition+'px';
	
//		var currentPosition = (parseInt(this.oldPage.style.left)) || 0;
//		currentPosition += 100;
		var delta = Math.round((this.oldPageTargetPosition - this.oldPagePosition)/2);
		this.oldPagePosition += delta;
		if (this.oldPagePosition > this.oldPageTargetPosition) this.oldPagePosition = this.oldPageTargetPosition;
		this.oldPage.style.top = this.innerTop;
		this.oldPage.style.left = this.oldPagePosition+'px';

		if (this.newPagePosition == this.newPageTargetPosition && this.oldPagePosition == this.oldPageTargetPosition) this.myStopScroll();
//		if (currentPosition > this.containerSize) this.myStopScroll();
//		if (currentPosition > this.containerSize) this.myStopScroll();
	}
	

	this.scrollLeft = function () {
		this.myStopScroll();
		this.swap(-1);
//		this.scrollTimer = setInterval(this.id+'.move(+10)', 100);
	}

	this.scrollRight = function () {
		this.myStopScroll();
		this.swap(+1);
//		this.scrollTimer = setInterval(this.id+'.move(-10)', 100);
	}
	
	this.stopScroll = function () {
//		clearInterval(this.scrollTimer);
	}

	this.myStopScroll = function () {
		clearInterval(this.scrollTimer);
//		this.currentPageHandle.style.display = 'block';
//		if (this.previousPageHandle != null) this.previousPageHandle.style.display = 'none';
	}
}



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function adjustPageGraphics(mainImageHeight) {
	var objPageGraphics = document.getElementById('leadIn');
	if (!objPageGraphics) alert('Ni');
	if (!objPageGraphics) return false;
	objPageGraphics.style.height = (mainImageHeight + 50)+'px';
}



function tbOnClick(href) {	// teaserBox.onClick
	if (href == '') return false;
	window.location.href = href;
}





/////// TNewsScroller ////////////////////////////////////////////
function TNewsScroller() {
	this.id = 'breakingNews';
	this.step = 10;

	this.initialized = false;
	this.moveTimer = null;
	this.currentX = 0;
	this.defaultLeft = 650;	// 640 je širina okenca za prikaz novice
	this.newsBlockHandles;
	this.newsCount = 0;
	this.currentBlock = 0;
	this.currentBlockHandle = null;

	this.init = function () {
		this.newsBlockHandles = new Array();
		this.currentBlock = 0;
		var i = 0;
		var newsBlockHandle;
		do {
			i++;
			newsBlockHandle = document.getElementById('breakingNews'+i);
			if (!newsBlockHandle) break;
			this.newsBlockHandles[this.newsBlockHandles.length] = {
				handle: newsBlockHandle,
				width: newsBlockHandle.offsetWidth,
				left: parseInt(newsBlockHandle.offsetLeft) || this.defaultLeft
			};
		} while (i < 100);
		this.newsCount = this.newsBlockHandles.length;
// console.log('this.newsCount: '+ this.newsCount);
		if (this.newsCount > 0) this.setActiveBlock(0);
		this.initialized = true;
	}

	this.setActiveBlock = function(blockID) {
// console.log('this.setActiveBlock('+ blockID+')');
		if (this.currentBlockHandle != null) this.currentBlockHandle.style.display = 'none';		// Še od prejšnjega activeBlock-a
		this.currentBlockHandle = document.getElementById('breakingNews'+blockID);
		if (!this.currentBlockHandle) {
			this.stopScroll();
			return false;
		}
// console.log('setActiveBlock: '+ blockID);
//		this.currentX = parseInt(this.currentBlockHandle.offsetLeft) || this.defaultLeft;
		this.currentX = this.defaultLeft;
		this.currentBlockHandle.style.display = 'block';
		this.newsWidth = this.currentBlockHandle.offsetWidth;
	}

	this.move = function() {
//		console.log(this.id+'.move(); Current Block: '+this.currentBlock+'; Left:'+this.currentX+'; newsWidth:'+this.newsWidth);
		if (this.currentBlock > this.newsCount || !this.currentBlockHandle) {	// Extra varovalka
			this.stopScroll();
			return false;
		}

		this.currentX -= this.step;
		if (this.currentX + this.newsWidth < 0) {
			this.currentBlock += 1;
			if (this.currentBlock > this.newsCount) this.currentBlock = 0;
			this.setActiveBlock(this.currentBlock);
		}
		if (this.currentBlockHandle != null) this.currentBlockHandle.style.left = this.currentX+'px';
	}
	
	// this.startScroll() in this.stopScroll() sta ločeni zato, da ju je možno u easy bindat na this.containerHandle.onmouseover in onmouseout eventa.

	this.startScroll = function() {
		if (!this.initialized) this.init();
		if (!this.initialized) return false;
		this.moveTimer = setInterval(this.id+'.move();', 250);
	}
	
	this.stopScroll = function() {
		clearTimeout(this.moveTimer);
	}

	this.onClick = function (linkURL) {
		// Enaka funkcija je definirana v tem .js malo bolj zgoraj: function tbOnClick(href)
		window.location.href = linkURL;
	}
}

var breakingNews = new TNewsScroller();

/////// TNewsScroller ////////////////////////////////////////////




///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AC_RunActiveContent.js (od tle naprej); Je pa nekoliko modificirana...
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}


// Modified (da podpira tudi FlashReplacement)
function AC_Generateobj(replacementContainer /* nov parameter */, objAttrs, params, embedAttrs) { 
	var str = '';
	if (isIE && isWin && !isOpera) {
		str += '<object ';
		for (var i in objAttrs) {
			str += i + '="' + objAttrs[i] + '" ';
		}
		str += '>';
		for (var i in params) {
			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
		}
		str += '</object>';
	}
	else {
		str += '<embed ';
		for (var i in embedAttrs) {
			str += i + '="' + embedAttrs[i] + '" ';
		}
		str += '> </embed>';
	}
	
	if (replacementContainer != null) replacementContainer.innerHTML = str;			// Modified here
	 else document.write(str);
}

/*
function AC_FL_RunContent(){		// glej function insertFlash()
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
*/

/*
function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
*/

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
	var ret = new Object();
	ret.embedAttrs = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();
	for (var i=0; i < args.length; i=i+2){
		var currArg = args[i].toLowerCase();    
		
		switch (currArg){	
			case "classid":	break;
			case "pluginspage":
				ret.embedAttrs[args[i]] = args[i+1];
				break;
			case "src":
			case "movie":	
				args[i+1] = AC_AddExtension(args[i+1], ext);
				ret.embedAttrs["src"] = args[i+1];
				ret.params[srcParamName] = args[i+1];
				break;
			case "replaceobj":	break;	// Modified; Z replaceObj parametrom povemo, kateri container naj bo replaced with Flash; Zato ga tle, pri izgradnji Flash parametrov, ignoriramo...
			case "onafterupdate":
			case "onbeforeupdate":
			case "onblur":
			case "oncellchange":
			case "onclick":
			case "ondblclick":
			case "ondrag":
			case "ondragend":
			case "ondragenter":
			case "ondragleave":
			case "ondragover":
			case "ondrop":
			case "onfinish":
			case "onfocus":
			case "onhelp":
			case "onmousedown":
			case "onmouseup":
			case "onmouseover":
			case "onmousemove":
			case "onmouseout":
			case "onkeypress":
			case "onkeydown":
			case "onkeyup":
			case "onload":
			case "onlosecapture":
			case "onpropertychange":
			case "onreadystatechange":
			case "onrowsdelete":
			case "onrowenter":
			case "onrowexit":
			case "onrowsinserted":
			case "onstart":
			case "onscroll":
			case "onbeforeeditfocus":
			case "onactivate":
			case "onbeforedeactivate":
			case "ondeactivate":
			case "type":
			case "codebase":
			case "id":
				ret.objAttrs[args[i]] = args[i+1];
				break;
			case "width":
			case "height":
			case "align":
			case "vspace": 
			case "hspace":
			case "class":
			case "title":
			case "accesskey":
			case "name":
			case "tabindex":
				ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
				break;
			default:
				ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
		}
	}
	ret.objAttrs["classid"] = classid;
	if (mimeType) ret.embedAttrs["type"] = mimeType;
	return ret;
}


function insertFlash() {
	var replacementContainer = null;
	for (var i=0; i < arguments.length; i=i+2) {
		if (arguments[i] == 'replaceObj') {
			replacementContainer = document.getElementById(arguments[i+1]);
		}
	}
	var ret = AC_GetArgs(arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash");
	AC_Generateobj(replacementContainer, ret.objAttrs, ret.params, ret.embedAttrs);
}

