﻿var films = { 

init:function() {
if (!document.getElementById || !document.createTextNode){return;}

films.langOnLoad();
$('.caption').hide();
$(document.body).removeClass('hideCaptOnStart');
/* main logic */
/* if no QT, then add class to body tag */
/* if quicktime is not found */
if (!films.checkQT()) {

$(document.body).addClass('no_qt');
document.getElementById('visib').setAttribute('id','');

/* load the page and attach events */
$("#movie_noq").load("films_noqt.html",function() {
$('#QTinstrEn').hide();
$('#QTinstrRu').hide();
films.switchLangOnLoadAuxPagesIE();
$('.openQTInstr').click(function(e) {
if (films.isEn()) $('#QTinstrEn').show();
if (films.isRu()) $('#QTinstrRu').show();
return false;
});
$('.openAllDownlds').click(function(e) {
films.loadAllDownlds();
return false;
});
});

films.toggleOnHover();
return;
}

/* if quicktime is found */
/* change DOM for film display */

films.showCaption();
films.toggleOnHover();

var aList = $('#menuLeft').find('a');
aList.each( function() {
/* 	alert (this.getAttribute('id')); */
	if(this.getAttribute('id') != null && this.getAttribute('id').length == 5)  {
	$(this).click(films.captionSwitcher);
	}
});

$('#downloadLink').click(films.showDownload);
$('#closeDownl').click(films.closeDownload);
$('.openAllDownlds').click(films.loadAllDownlds);
$('#dMOV').click( function() { return false; });
},
/* end of init */

loadAllDownlds:function() {
$(document.body).addClass('allDownlds');
films.hideDownloadSection();
films.hideCaption();
$('#movie').remove();
/* clone the left menu */
menuLeftD = document.getElementById('menuLeft').cloneNode(true);
menuLeftD.setAttribute('id','menuLeftD');
document.getElementById('content').insertBefore( menuLeftD, document.getElementById('menuLeft') );

/* keep only 2 first li on the left, remove the rest */
var aList = $('#menuLeft').find('li');
aList.each( function(i) {
if (i==1) $(this).html("<a href=\"films.html\">"+films.setFilmsStringInMenu()+"</a>");
if (i>1) $(this).remove();
});
$('.openAllDownlds').html('');
/* in the clone list fill in first 2 li with copyright stuff */
var aListD = $('#menuLeftD').find('li');
aListD.each( function(i) {
if (i==0) { 
$(this).html($('#copyrightSection').html());
this.setAttribute('id','dCopyrightInfo');
}
if (i==1) {
$(this).load("films_dInstr.html",function() {
films.switchLangOnLoadAuxPagesIE();
});
this.setAttribute('id','dInstr');
}
});

/* take titles and add links and sizes */
var aListL = $('#menuLeftD').find('a');
aListL.each( function() {
var id = this.getAttribute('id');
	if(id != null && id.length == 5)  {
	f=id.substring(1);
	var mov='films_mov/'+f+'.mov';
	var movmb = films.getMbs(f,1);
	var wmv='films_wmv/'+f+'.wmv';
	var wmvmb = films.getMbs(f,2);
	/* add table code to en and ru spans */
	$(this).find('span').each( function() {
	$(this).html("<table><tr><td class=\"f\">"+$(this).html()+"</td><td  class=\"s\"><a href=\""+mov+"\">"+movmb+"mb</a></td><td class=\"t\"><a href=\""+wmv+"\">"+wmvmb+"mb</a></td><td><tr><table>");
	});
	
	/* remove <a> tag from titles */
	var pp = this.parentNode;
	var ablock = $(this).html();
	$(this).remove();
	$(pp).html(ablock);
	/* remove normal click from links */
	$(pp).find('td').click(function() {return false;});
	}
	
});
/* fix language for ie */
var cur = document.body.getAttribute('lang');
if(window.filmsIE) filmsIE.langSwitcher(cur);
},

setLanguage:function() {
document.body.setAttribute('lang','en');
},
isEn:function() {
if (document.body.getAttribute('lang') == 'en') {return true;} 
else {return false;} 
},
isRu:function() {
if (document.body.getAttribute('lang') == 'ru') {return true;} 
else {return false;} 
},

setFilmsStringInMenu:function() {
var a = '';
if (films.classFuncs('check',document.body,'no_qt')) { 
if (films.isEn()) {a='Films';} else {a='Фильмы';}
} else {
if (films.isEn()) {a='Return to Films';} else {a='Вернуться к фильмам';}
}
return a;
},

showMovie:function() {
$('#movie').show();
},
hideDownloadSection:function() {
$('#downloadSection').hide();
},
showDownloadSection:function() {
$('#downloadSection').show();
films.toggleCopyrightSection();
},

toggleCopyrightSection:function() {
var c = films.readCookie('cright');
        
        if (c == 1) {
        	$('#copyrightSection').hide();
        	} else {
        		$('#copyrightSection').show();
        		films.createCookie('cright', 1);
        	}
},

hideCaption:function() {
$('#visib').find('.caption').hide();
},
showCaption:function() {
$('#visib').find('ul').append($('#downloadLink'));
$('#visib').find('.caption').show();
},
hideDownloadLink:function() {
$('#downloadLink').hide();
},
showDownloadLink:function() {
$('#downloadLink').show();
},
hidePlayerControls:function() {
$('#playerControls').hide();
},
showPlayerControls:function() {
$('#playerControls').show();
},

hideQTinstr:function() {
$('#QTinstrEn').hide();
$('#QTinstrRu').hide();
},
showQTinstr:function() {
$('#QTinstrEn').show();
$('#QTinstrRu').show();
},

/* loads film and switches captions */
captionSwitcher:function() {
if (document.getElementById('downloadSection').style.display!='none')
films.closeDownload();

if (this.parentNode.getAttribute('id') == 'visib'){return};

var filmId=this.getAttribute('id');
films.hideCaption();

document.getElementById('visib').setAttribute('id','');
this.parentNode.setAttribute('id','visib');

films.showCaption();
/* var hCaption = this.parentNode.getElementsByTagName('LI')[0].offsetHeight; */
/* document.getElementById('downloadLink').style.top=hCaption+314+'px'; */

films.loadFilm(filmId);

},

loadFilm:function(f) {
f=f.substring(1);
f=/* 'films_mov/'+ */f+'.mov';
document.movie1.SetURL(f);
document.movie1.Stop();
document.movie1.SetAutoPlay(false);
},

/* deals with downloadSection & set download files */
showDownload:function() {
films.hideCaption();
films.hideDownloadLink();
films.hidePlayerControls();
var f = document.getElementById('visib').getElementsByTagName("a")[0].getAttribute('id');
f=f.substring(1);
var fm='films_mov/'+f+'.mov';
var mb = films.getMbs(f,1);
var cc= document.getElementById('dMOV');
cc.setAttribute('href',fm);
$('#mbHolder').html(' ('+mb+'Mb)');

films.showDownloadSection();
},

closeDownload:function() {
films.hideDownloadSection();
films.showCaption();
films.showDownloadLink();
films.showPlayerControls();
},

toggleOnHover:function() {
        $('.hover').hover(function() {
                $(this).addClass("ieHover");
        }, function() {
                $(this).removeClass("ieHover");
        });
},

getMbs:function(nr,pl) {
var mb = 0;
switch( nr ) {
case '2552':
mb = (pl==1) ? '3.2':'3.3';
break;
case '2553':
mb = (pl==1) ? '13.0':'13.2';
break;
case '2554':
mb = (pl==1) ? '9.7':'10.0';
break;
case '2555':
mb = (pl==1) ? '2.5':'2.6';
break;
case '2556':
mb = (pl==1) ? '4.4':'4.4';
break;
case '2557':
mb = (pl==1) ? '3.5':'3.6';
break;
case '2558':
mb = (pl==1) ? '4.6':'4.7';
break;
case '2559':
mb = (pl==1) ? '5.4':'5.5';
break;
case '2560':
mb = (pl==1) ? '1.1':'1.1';
break;
case '2561':
mb = (pl==1) ? '3.8':'4.0';
break;
case '2562':
mb = (pl==1) ? '3.9':'3.9';
break;
case '2563':
mb = (pl==1) ? '2.2':'2.3';
break;
case '2564':
mb = (pl==1) ? '3.2':'3.3';
break;
}
return mb;
},

/* language on/off is manipulated by css span[lang] and div[lang] */
langOnLoad:function() {
        $('.langswitch').click(function()
        {
                films.switchLang(this.getAttribute("lang"));
                return false;
        });
        if (films.readCookie('lang') == null) {
        	films.setLanguage();
        	films.createCookie('lang', 'en', 365);
        	films.switchLang('en');
        	if(window.filmsIE) {
				filmsIE.langSwitcher('en');
				} 
        	} else {

        films.switchLang(films.readCookie('lang'));
		if(window.filmsIE) {
			filmsIE.langSwitcher(films.readCookie('lang'));
		} 
		}
},


switchLang:function(l) {
          var cur = document.body.getAttribute('lang');
          if (cur == l) return ; 
          else {
          	document.body.setAttribute('lang',l);
          /* 	for IE */
          	if(window.filmsIE) {
        		filmsIE.langSwitcher(l);
        	}
        	films.createCookie('lang', l, 365);
        	}
},

/* move 'download' to a proper position upon lang switch */

createCookie:function (name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
},

readCookie:function(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
},
eraseCookie:function (name)
{
	films.createCookie(name,"",-1);
},
switchLangOnLoadAuxPagesIE:function() {
          var l = document.body.getAttribute('lang');
/*           alert( document.body.getAttribute('lang')); */
          	if(window.filmsIE) {
        		filmsIE.langSwitcher(l);
        	}
},

classFuncs:function(a,o,c1,c2){
		switch (a){
			case 'swap':
				o.className=!DOMhelp.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!DOMhelp.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				var found=false;
				var temparray=o.className.split(' ');
				for(var i=0;i<temparray.length;i++){
					if(temparray[i]==c1){found=true;}
				}
				return found;
			break;
		}
	},

/* check for QuickTime */
checkQT:function() {
var haveqt = false;

try{
/* call IE vbs script */
haveqt = isQT();
}
catch(err){
if (navigator.plugins) {
for (i=0; i < navigator.plugins.length; i++ ) {
if (navigator.plugins[i].name.indexOf
("QuickTime") >= 0)
{ haveqt = true; }
}
}
if ((navigator.appVersion.indexOf("Mac") > 0)
&& (navigator.appName.substring(0,9) == "Microsoft")
&& (parseInt(navigator.appVersion) < 5) )
{ haveqt = true; }
}
return haveqt;
}

}

$(document).ready(films.init);
