var rating1Values = new Array();
var rating2Values = new Array();
var rating3Values = new Array();

/**
 * 
 * @param string id
 * @param array rating
 * @param string lastValueField
 * @return void
 */
var mouseoverStar = function(id,rating,lastValueField) {
	var lastval = document.getElementById(lastValueField).value;
	for(var i=0; i<rating.length; i++)
	{
		if(rating[i][0] <= id) {
			document.getElementById(rating[i][1]).src = absCorrect + 'components/rating/images/star_active.gif';
		}
		if(rating[i][0] > id) {
			document.getElementById(rating[i][1]).src = absCorrect + 'components/rating/images/star_inactive.gif';
		}
	};
	document.getElementById(lastValueField).value = id;
};

/**
 * 
 * @param string formId
 * @param int category
 * @param string objectKey
 * @return void
 */
var sendRating = function(formId, category, objectKey, language, showTemplate) {
	if(showTemplate == undefined)
	{
		showTemplate = 'containershow.html';
	}
	new Ajax.Request(absCorrect + 'components/rating/ajaxRating.html?language=' + language, { parameters: Form.serialize(formId), asynchronous: false,
	onComplete: function(e){
			if(e.responseText.strip() == '1') {
				document.getElementById('newRatingSuccess_' + category + '_' + objectKey).style.display='';
				document.getElementById('newRating_' + category + '_' + objectKey).style.display='none';
			}else if(e.responseText.strip() == '-1'){
				document.getElementById('newRatingFatal_' + category + '_' + objectKey).style.visibility='hidden';
			}else{
				//responsetext is probably 0, which means not all needed data is given
				document.getElementById('newRatingFailure_' + category + '_' + objectKey).style.display='';
			}
	}});
	
	new Ajax.Updater('ratingResults_' + category + objectKey, absCorrect + 'components/rating/' + showTemplate + '?language=' + language + '&category=' + category + '&objectKey=' + objectKey, { method: 'get' });
};

var sendRatingComment = function(formId, category, objectKey, language)
{
	if (document.getElementById('feedbackComment').value == 'Kommentar')
	{
		document.getElementById('feedbackComment').value = '';
	}
	
	if (document.getElementById('feedbackAuthor').value == 'Vorname Name')
	{
		document.getElementById('feedbackAuthor').value = '';
	}
	
	new Ajax.Request(absCorrect + 'components/rating/ajaxRating.html?language=' + language, { parameters: Form.serialize(formId), asynchronous: false,
	onComplete: function(e){ 
			if(e.responseText.strip() == '1') {
				document.getElementById('newRatingSuccess_' + category + '_' + objectKey).style.display='';
				document.getElementById('newRating_' + category + '_' + objectKey).style.display='none';
			}else if(e.responseText.strip() == '-1'){
				document.getElementById('newRatingFatal_' + category + '_' + objectKey).style.visibility='hidden';
			}else{
				//responsetext is probably 0, which means not all needed data is given
				document.getElementById('newRatingFailure_' + category + '_' + objectKey).style.display='';
			}
	}});
	
	new Ajax.Updater('rating_' + category + objectKey, absCorrect + 'components/rating/containershow_comments.html?language=' + language + '&category=' + category + '&objectKey=' + objectKey, { method: 'get', encoding: 'iso-8859-1' });
	// refresh current page from cache
	new Ajax.Request(window.location.href + '?cache=refreshurl', { method: 'get' });
};

var sendRatingPBA = function(formId, category, objectKey, language)
{
	$('ratingButton').disabled = 'disabled';
	
	new Ajax.Request(absCorrect + 'components/rating/ajaxRating.html', {
		parameters: Form.serialize(formId),
		asynchronous: false,
		onComplete: function(e){ 
			if(e.responseText.strip() == '1') {
				document.getElementById('newRatingSuccess_' + category + '_' + objectKey).style.display='';
				document.getElementById('newRating_' + category + '_' + objectKey).style.display='none';
				
			new Ajax.Updater('currentRating',absCorrect + 'components/rating/containershow_pba.html?language='+language+'&category='+category+'&objectKey='+objectKey, { method: 'get', onComplete:function(e){readdiv();} });
			}else if(e.responseText.strip() == '-1'){
				document.getElementById('newRatingFatal_' + category + '_' + objectKey).style.visibility='hidden';
			}else{
				//responsetext is probably 0, which means not all needed data is given
				document.getElementById('newRatingFailure_' + category + '_' + objectKey).style.display='';
			}
			$('ratingButton').disabled = '';
		}
	});
};

var toggleComments = function(elem, category, objectKey)
{
	if (document.getElementById(elem).style.display == 'block')
	{
		document.getElementById(elem).style.display = 'none';
		document.getElementById('showCommentsForm').style.display = '';
		document.getElementById('showCommentsFormCancel').style.display = 'none';
		document.getElementById('newRatingFailure_' + category + '_' + objectKey).style.display = 'none';
		document.getElementById('newRatingFatal_' + category + '_' + objectKey).style.display = 'none';
	}
	else
	{
		document.getElementById(elem).style.display = 'block';
		document.getElementById('showCommentsForm').style.display = 'none';
		document.getElementById('showCommentsFormCancel').style.display = '';
	}
	readdiv();
};

var textLimitRatingComment = function(txtArea, maxlen)
{
	if (txtArea.value.length > maxlen)
	{
		txtArea.value = txtArea.value.substring(0, maxlen);
	}

	var left = 1000 - txtArea.value.length;
	document.getElementById('charsLeft').innerHTML = left;
};

var moviedetail_navigationid = 0;
var pathToDetail = '';

/**
 * Opens the correct detail page
 * @param int id
 * @param boolean webcast
 * @return boolean
 */
var showDetail = function(id, webcast, screensize, lang)
{
	if (!lang) lang = 'de';
	
	var navtext = '';
	if(moviedetail_navigationid != 0 && moviedetail_navigationid != '%navigationid%')
	{
		navtext = '&navigationid=' + moviedetail_navigationid;
	}
	if(webcast)
	{
		//window.open(absCorrect + pathToDetail +'detailview.html?language='+ lang +'&objects.mid=' + id + navtext, 'webcast');
		window.open(absCorrect +'en/video.html?'+'objects.mid=' + id + navtext, 'webcast');
	}
	else
	{
		if (moviedetail_target == 'detailview')
		{
			moviedetail_target = 'detailview_floatbox';
		}
	
		if(moviedetail_target == 'detailview_floatbox')
		{
			var floatBoxPagePath = absCorrect + 'de/floatbox_bpv.html?language='+ lang +'&objects.mid=' + id;
			
			switch(screensize)
			{
				case 'small':
					fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
					break;
				case 'big':
					fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
					break;
				case 'wide':
					fb.start({ href: floatBoxPagePath, rev: 'width:550 height:510' });
					break;
				case 'xwide':
					fb.start({ href: floatBoxPagePath, rev: 'width:854 height:685' });
					break;
				case 1:
					fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
					break;
				case 2:
					fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
					break;
				case 3:
					fb.start({ href: floatBoxPagePath, rev: 'width:550 height:510' });
					break;
				case 4:
					fb.start({ href: floatBoxPagePath, rev: 'width:854 height:685' });
					break;
			}
		}
		else
		{
			if(moviedetail_target == 'detailview')
			{
				document.location.href = absCorrect + pathToDetail + 'show_movie_' + detailLanguage + '.html?objects.mid=' + id + navtext;
			}
			else if(moviedetail_target == 'detailview_norating')
			{
				document.location.href = absCorrect + pathToDetail + 'show_movie_' + detailLanguage + '_norating.html?objects.mid=' + id + navtext;
			}
		}
	}
	return false;
};

function flashShowDetail(id, screensize, lang)
{
	if (!lang) lang = 'de';
	
	var floatBoxPagePath = absCorrect + 'de/floatbox_bpv.html?language='+ lang +'&objects.mid=' + id;
	
	switch(screensize)
	{
		case 'small':
			fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
			break;
		case 'big':
			fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
			break;
		case 'wide':
			fb.start({ href: floatBoxPagePath, rev: 'width:550 height:510' });
			break;
		case 'xwide':
			fb.start({ href: floatBoxPagePath, rev: 'width:854 height:685' });
			break;
		case 1:
			fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
			break;
		case 2:
			fb.start({ href: floatBoxPagePath, rev: 'width:480 height:540' });
			break;
		case 3:
			fb.start({ href: floatBoxPagePath, rev: 'width:550 height:510' });
			break;
		case 4:
			fb.start({ href: floatBoxPagePath, rev: 'width:854 height:685' });
			break;
	}
}

var detailLanguage;
function getCurrentLanguage()
{
	return detailLanguage;
}

function setCurrentLanguage(lang)
{
	detailLanguage = lang;
}

var navigationid = 0;

/**
 * 
 * @param int pageid
 * @param string paramsGET
 * @return void
 */
var showPageInTab = function(pageid, paramsGET, currentVoid)
{
		if (pageid) {
		var params = 'ajaxpage=yes&cache=no&content.void=' + pageid;
		if(navigationid != undefined && navigationid != '%navigationid%')
		{
			params += '&navigationid=' + navigationid;
		}
		if(icmslanguage != undefined)
		{
			params += '&language=' + icmslanguage;
		}
		if(paramsGET != undefined)
		{
			params += '&' + paramsGET;
		}
		
		if($('tabview'))
		{
			$('tabview').innerHTML = '';
			$('tabview').addClassName('tabview_loader');
		
			var ajaxUrl = absCorrect + 'de/dyn_output.html';
			new Ajax.Updater($('tabview'),ajaxUrl, { 
					method: 'get', 
					evalScripts: true, 
					evalJS: 'force', 
					encoding: 'iso-8859-1',
					parameters: params,
					onComplete: function(response){
					$('tabview').removeClassName('tabview_loader');
				}
			});
		}
		else 
		{
			$('tabview_' + pageid).innerHTML = '';
			$('tabview_' + pageid).addClassName('tabview_loader');
			
			var ajaxUrl = absCorrect + 'de/dyn_output.html';
			new Ajax.Updater($('tabview_' + pageid),ajaxUrl, { 
					method: 'get', 
					evalScripts: true, 
					evalJS: 'force', 
					encoding: 'iso-8859-1',
					parameters: params,
					onComplete: function(response){
					$('tabview_' + pageid).removeClassName('tabview_loader');
				}
			});
		}
		
		if(currentVoid != undefined)
		{
			document.cookie = 'tabInfoFor' + currentVoid + '=' + pageid;
		}
	}
};

