// Media Centre
var init = {
	vis : false,
	pl : false,
	art : false,
	slovo: false	
};

// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 
function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} 

function getRef(elm) {	//взима обекта на даден елемент
	var returnElm;
	if (typeof elm == "string") {
		if (document.getElementById(elm)){
			returnElm = document.getElementById(elm);
		} else if(getByClass(elm)){
			returnElm = getByClass(elm);
		} else {
			alert("getRef: argument not exist(" + elm + ")!");
			return false;
		}
	} else {returnElm = elm;}
	return returnElm;
}

function isElement(elmRef) {		// проверява дали съществува елемент с такова име
	return (document.getElementById(elmRef)) ? true :  false;
}

function setOpacity(elmID, opt) { // sets Opacity feature of elmID in opt%
	elm = getRef(elmID);
	elm.style.MozOpacity = opt/100;
	elm.style.Opacity = opt/100;
	elm.filters.alpha.opacity=opt;
}

function hideElm(elmID){
	var d = getRef(elmID);
	d.style.display = "none";
}

function showElm(elmID, elmDisplay) {	//скрива всички елементи от класа на дадения и после го показва
	if (!elmDisplay) elmDisplay = "block";
	//alert("showElm: " + elmID);
	var d = getRef(elmID);
	hideByClass(d.className);
	d.style.display = elmDisplay;	
	
	//alert("showElm: " + d.id + "'s display: " + d.style.display);
} 

function toggleElm(elmID, elmDisplay){		//ако елемента се вижда го скрива, ако е скрит - го показва
	//alert("toggleDiv");
	if (!elmDisplay) elmDisplay = "block";	//стойност по подразбиране - блоков елемент (div)
	//alert("toggleDiv, divID: " + divID + "; divDisplay: " + divDisplay);
	
	var elm = getRef(elmID);
	//if (elm.style.display == null) alert("element display: null");
	if (elm.style.display == elmDisplay) elm.style.display = "none";
	else elm.style.display = elmDisplay;	
}

function getByClass(cName) {		//връща масив с всички елементи от даден клас и таг
	// tagName == "*";
	var returnArr = [];
	var elms = document.getElementsByTagName('*');
	var reg = new RegExp('(^|\\s)' + cName + '(\\s|$)');
	for (var i=0; i<elms.length; i++) {
		if (reg.test(elms[i].className)) {returnArr.push(elms[i]);}
	}
	return (returnArr.length>0)? returnArr : false;
}

function isClass(refName) {	//проверява дали даденото име е име на клас
	if (getByClass(refName).length<1) {return false;}
	else {return true;}
}

function hideByClass(cName) {  		//скриване на всички елементи от даден клас
	//alert("hideGroup: " + cName);
	var elms = getByClass(cName);	
	for (i=0; i<elms.length; i++){
		if (elms[i].style.display != "none") elms[i].style.display = "none";
	}	
}

function hideByLg(lg) {				//скрива всички елементи с клас различен от езика lg
	var lgArr = new Array("bg", "en", "ru");
	for (var i=0; i<lgArr.length; i++) {
		if (lgArr[i] != lg) {hideByClass(lgArr[i]);}
	}	
}

function toggleGroup (elmID, elmDisplay){	//като toggleElm, но скрива всички останали елементи от класа
	if (!elmDisplay) elmDisplay = "block";	//стойност по подразбиране - блоков елемент (div)
	//alert("toggleGroup, divID: " + divID + "; divDisplay: " + divDisplay);
	
	var elm = getRef(elmID);
	//if (elm.style.display == null) alert("element display: null");
	if (elm.style.display == elmDisplay) elm.style.display = "none";
	else {
		hideByClass(elm.className);
		elm.style.display = elmDisplay;	
	}
}
//************************  Край на нови функции   ****************************

function hideDiv (divID){
	var d = document.getElementById(divID);
	d.style.display = "none";
}

function showDiv (divID, divDisplay) {
	if (divDisplay == null) divDisplay = "block";
	
	var d = document.getElementById(divID);
	d.style.display = divDisplay;	
	//alert("showDiv: " + divID, divDisplay);
} 

function toggleDiv (divID, divDisplay){		//ако елемента се вижда го скрива, ако е скрит - го показва
	//alert("toggleDiv");
	if (divDisplay == null) divDisplay = "block";
	//alert("toggleDiv, divID: " + divID + "; divDisplay: " + divDisplay);
	
	var elm = document.getElementById(divID);
	//if (elm.style.display == null) alert("element display: null");
	if (elm.style.display == divDisplay) elm.style.display = "none";
	else elm.style.display = divDisplay;	
}

function hideGroup (groupArr) {  		//скриване на всички елементи от група groupArr
	//alert("hideGroup: " + groupArr);
	
	for (i=0; i<groupArr.length; i++){
		var d = document.getElementById(groupArr[i]);
		//alert(i + ". hide: " + groupArr[i] + ", display: " + d.style.display);
		if (d.style.display != "none") d.style.display = "none";
	}	
}

function switchTo (divID){
	//alert("switchTo: " + divID);
	
	Spry.Data.updateRegion("google");
	Spry.Data.updateRegion("audio");
	Spry.Data.updateRegion("archmusic");
	showElm(divID);		//показва нужния елемент
}

function toggleTo (divID, groupArr){
	//alert("toggleTo, divID: " + divID + ", groupArr: " + groupArr);
	
		//скрива елементите от групата без дадения
	var elm = document.getElementById(divID);
	for (i=0; i<groupArr.length; i++){
		var d = document.getElementById(groupArr[i]);
		if (d.style.display != "none" && groupArr[i]!=divID) d.style.display = "none";
		//alert(i + ". hidden: " + groupArr[i] + ", display: " + d.style.display);
	}
		//alert("toggleTo after for-cicle");
	//показване на зададения елемент
	toggleDiv(divID, "block");
	//alert(divID + "' display: " + elm.style.display);
	
}

function swMenu(filter, divID) {
	switchTo(divID);
	//alert("swMenu - filter: " + filter + ", divID: " + divID);
	switch (filter) {
		case "ffVis": {
			if (!init.vis) {
				dsVissarion.setURL("script/VissarionVideo.xml");
				dsVissarion.loadData();
				init.vis = true
			}
			showElm("googleVis");
			//alert("dsVis current row: " + dsVissarion.getCurrentRow);
			//alert("dsVis: set current row");
			dsVissarion.setCurrentRow(0);
			break;
		}
		case "ffPL": {
			if (!init.pl) {
				//alert("load dsPL");
				dsPL.setURL("script/CommunityVideo.xml");
				dsPL.loadData();
				init.pl = true
			}
			showElm("googlePL");
			//alert("dsPL: set current row");
			dsPL.setCurrentRow(0);
			break;
		}
		case "ffAC": {
			if (!init.art) {
				dsArt.setURL("script/ArtVideo.xml");
				dsArt.loadData();
				init.art = true
			}
			showElm("googleArt");
			dsSlovo.setCurrentRow(0);
			break;
		}
		case "ffSlovo": {
			if (!init.slovo) {
				dsSlovo.setURL("script/VissarionSlovo.xml");
				dsSlovo.loadData();
				init.slovo = true
			}
			showElm("slovoMenu");
			dsSlovo.setCurrentRow(0);
			break;
		}
		default: alert("navigation.js error: wrong filter in swMenu, filter: " + filter);
	}
}

function swPlace(elmRef, newParent) {	
//елементи с ID или от клас elmRef  ще се преместват в newParent ('body' по подразбиране)
	var oParent = getRef(newParent)? getRef(newParent) : document.body;	//body по подразбиране
	//alert("swPlace, newParent: " + oParent.nodeName);
	var elm = getRef(elmRef);	
	
	elm.parentNode.removeChild(elm);	
	oParent.appendChild(elm);
}

function makeFullscreen(elm, offsetX, clear, offsetY){
	var obj = getRef(elm);
	var posX = (offsetX)? offsetX : 0;
	var posY = (offsetY)? offsetY : 0;
	clear = true||false ? clear : false;
	
	if(!clear){						//задаване на стиловете
		obj.style.position = "absolute";
		obj.style.top = posY + "px";
		obj.style.left = posX + "px";
		obj.style.height = pageHeight() - posY + "px";
		obj.style.width = pageWidth() - posX + "px";
	}else{							//изключване на стиловете
		obj.style.position = "";
		obj.style.top = "";
		obj.style.left = "";
		obj.style.height = "";
		obj.style.width = "";
	}
}

function getKey(e){	//връща символа/номера на натиснат клавиш
	var keynum = e.keyCode;		//номера на символа на натиснатия клавиш
	if(window.event){ // IE
	  keynum = e.keyCode;
	}else if(e.which) { // Netscape/Firefox/Opera
	  keynum = e.which;
	}

	var keychar = String.fromCharCode(keynum);
	//alert("getKey called (unicode): " + keynum);
	//alert("key char: " + keychar);
	return keynum;	//връща номера
}

function swFullscreen(elmRef, root){	//разтегля елемента на цял екран (като премахва основния елемент, root, и прикрепя дадения директно към body)
	var elm = getRef(elmRef);
	var oRoot = getRef(root);
	var oParent = elm.parentNode;
	
	var closeWidth = 18;
	var oClose = document.createElement("div");
	oClose.id = "closeBtn";
	switch (lg){	//добавяне на title
		case "en": {oClose.title = "Close fullscreen"; break;}
		case "ru": {oClose.title = "Закройте полный экран"; break;}
		case "bg": {oClose.title = "Затваряне на режим цял екран"; break;}
		default: {alert("Error in language!");}
	}
	document.body.appendChild(oClose);

	swPlace(elm);
	makeFullscreen(elm, closeWidth);
	document.body.removeChild(oRoot);
	
	window.onresize = function(){
		makeFullscreen(elm, closeWidth);
	}
	
	oClose.onclick = function(){
		document.body.appendChild(oRoot);
		makeFullscreen(elm, closeWidth, true);	//изключва стиловете
		swPlace(elm, oParent);
		this.parentNode.removeChild(this);
		window.onresize = function(){};
	
	}
}
	
	
function playFullscreen(elmID) {	//служебна - свързва бутона за fullscreen с действието
	//alert("playFullscreen by: " + elmID);
	var obj = getRef(elmID);	
	switch (lg){	//добавяне на title
		case "en": {obj.title = "Fullscreen"; break;}
		case "ru": {obj.title = "Полный экран"; break;}
		case "bg": {obj.title = "Цял екран (fullscreen)"; break;}
		default: {alert("Error in language!");}
	}
	
	obj.onclick = function() {
		swFullscreen("displayWrap", "container");
	}
}

function switchLG(lang){
	if (lg != lang) lg=lang;
	Spry.Data.updateAllRegions();
}

// Служебни на Макромедиа
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}



