/**
 * onLoad Event handler
 */ 
function mgAddEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}
/**
 * Menue Javascript
 * zustaendig fuer die Mouseover Effeke de Menues
 */
var previoustab="sc1";
var mgTabs = new Array();

function expandcontent(cid, aobject) {
	if ( document.getElementById ) {
		highlighttab(aobject);
		$('sc1').style.display = "none";
		$('sc2').style.display = "none";
		$('sc4').style.display = "none";
		
		$(cid).style.display = "block";
		previoustab = cid;
	}
}

function highlighttab(aobject){
	if ( mgTabs.length < 3 )
		collectMgTabs();
	for ( i = 0; i < mgTabs.length; i++) {
		mgTabs[i].className = "";
	}
	aobject.className = "current";
}

function collectMgTabs() {
	mgTabs[0] = $('mgNaviKino');
	mgTabs[1] = $('mgNaviDvd');
	mgTabs[2] = $('mgNaviTv');
}

function do_onload(){
	collectMgTabs();
}

mgAddEvent(window, 'load', do_onload);

/**
 * Faderfunktione
 * zustaendig fuer den Galeriefader
 */
function fadepic() {
	if ( curpos<100 ) {
		curpos+=10;
		if ( tempobj.filters ) {
			tempobj.filters.alpha.opacity=curpos;
		} else if ( tempobj.style.MozOpacity ) {
			tempobj.style.MozOpacity=curpos/101;
		}
	} else{
		clearInterval(dropslide);
		nextcanvas = (curcanvas=="canvas0")? "canvas0" : "canvas1";
		tempobj = $(nextcanvas);
		tempobj.innerHTML = insertimage(nextimageindex);
		nextimageindex = (nextimageindex<fadeimages.length-1)? nextimageindex+1 : 0;
		var tempobj2 = $(nextcanvas);
		tempobj2.style.visibility="hidden";
		setTimeout("rotateimage()",pause);
	}
}
function insertimage(i) {
	var tempcontainer = fadeimages[i][1]!=""? '<a href="'+fadeimages[i][1]+'" target="'+fadeimages[i][2]+'">' : "";
	tempcontainer += '<img src="'+fadeimages[i][0]+'" border="0">';
	tempcontainer = fadeimages[i][1]!=""? tempcontainer+'</a>' : tempcontainer;
	return tempcontainer;
}
function rotateimage() {
	if (ie4||dom){
		resetit(curcanvas);
		var crossobj = tempobj=ie4? eval("document.all."+curcanvas) : $(curcanvas);
		crossobj.style.zIndex++;
		tempobj.style.visibility = "visible";
		var temp = 'setInterval("fadepic()",50)';
		dropslide = eval(temp);
		curcanvas = (curcanvas=="canvas0")? "canvas1" : "canvas0";
	} else {
		document.images.defaultslide.src = fadeimages[curimageindex][0];
		curimageindex = (curimageindex<fadeimages.length-1)? curimageindex+1 : 0;
	}
}
function resetit(what) {
	curpos=10;
	var crossobj = $(what);
	if ( crossobj.filters ) {
		crossobj.filters.alpha.opacity = curpos;
	} else if (crossobj.style.MozOpacity) {
		crossobj.style.MozOpacity = curpos/101;
	}
}
function startit() {
	var crossobj = $(curcanvas);
	crossobj.innerHTML = insertimage(curimageindex);
	rotateimage();
}

/**
 * Verschiedene Funktionen
 */
function jumpbox(x) {
	if(x == "nothing") {
		document.forms[0].reset();
		document.forms[0].elements[0].blur();
		return;
	} else {
		location.href = x;
	}
}
function openViewer(winName, winWidth, winHeight) {
	window.open('', winName, 'width=' + winWidth + ',height=' + winHeight + ',left=10,top=10,menubar=no,toolbar=no,location=no,resizable=yes,status=no,scrollbars=yes');
}
function open_chat() {
	window.open("http://forum.moviegod.de/chat/flashchat.php","Chatwin","width=728,height=500,top=0,left=0,menubar=no,resizable=no,toolbar=no,location=no,status=no,scrollbars=no");
}
// steuervariablen für die werbeplätze
var mgAdClaims = new Array();
var mgAdClaims2Hide = new Array();
// registriert eien falk werbeplatz
// dessen Anzeige-claim eingeblendet werden soll
function mgRegisterClaim(wp) {
	// DEBUG
	//alert('claim ' + wp + ' wird registriert');
	trigger = mgAdClaims.length;
	mgAdClaims[trigger] = wp;
}
// blendet onLoad gesteuert
// die gewünschten Anzeige-Claims ein
function mgDisplayAdClaims() {
	// DEBUG
	// alert('Display AdClaims');
	// für alle registrierten claims
	while ( wp = mgAdClaims.shift() ) {
		// DEBUG
		//alert('claim für wp: ' + wp + ' wird abgearbeitet');
		// wenn nicht die versteckt variable für diesen werbeplatz gesetzt
		if ( !mgShouldHideClaim(wp) ) {
			// die beiden divs erkennen
			id1 = 'mgWP_' + wp + '_claim';
			id2 = 'mgWP_' + wp;
			id3 = 'mgWP_' + wp + '_div';
			try {
				// wenn kein werbemittel ausgeliefert wurde
				if ( $(id2).offsetHeight < 20 ) {
					$(id1).hide();
					$(id2).hide();
					try {
						$(id3).hide();
					}
					catch(e) {}
				// es kam ein werbemittel
				} else {
					$(id1).style.display='block';
					$(id2).style.marginBottom='8px';
				}
			}
			catch (e) {}
		}
	}
	return true;
}
// sagt ob ein claim versteckt oder angezeigt werden soll
// true versteckt false anzeigen
function mgShouldHideClaim(wp) {
	for ( i = 0; i < mgAdClaims2Hide.length; i++ ) {
		wp_to_hide = mgAdClaims2Hide[i];
		if ( wp == wp_to_hide ) {
			// DEBUG
			//alert('claim für wp: ' + wp + ' soll versteckt werden (' + wp_to_hide + ')');
			return true;
		}
	}
	// DEBUG
	//alert('claim für wp: ' + wp + ' soll angezeigt werden');
	return false;
}
// restzeichen anzeige

function track_count(fieldObj,countFieldName,maxChars) {
	var countField = eval("fieldObj.form."+countFieldName);
	var diff = maxChars - fieldObj.value.length;

	// Need to check & enforce limit here also in case user pastes data
	if (diff < 0) {
		fieldObj.value = fieldObj.value.substring(0,maxChars);
		diff = maxChars - fieldObj.value.length;
	}
	countField.value = diff;
}
// eingabe beschränken
function limit_text(fieldObj,maxChars) {
	var result = true;
	if (fieldObj.value.length >= maxChars)
		result = false;
  
	if (window.event)
		window.event.returnValue = result;
	return result;
}
/**
 * Sponsored LinkList Class
 */
function mgSponsoredLinkList(partner, keyword) {
    this.partner   = partner;
    this.keyword   = keyword;
    this.trigger   = 0;
    this.highlight = false;
    this.sLinkList = new Array();
    this.hasNext=function() {
    if ( this.trigger < this.sLinkList.length ) {
            return true;
        }
        return false;
    }
    this.getNext=function() {
        if ( this.hasNext() ) {
            return this.sLinkList[this.trigger++];
        }
        return false;
    }
    this.getRemainders=function() {
        return this.sLinkList.length - this.trigger;
    }
    this.normalizeYahoo=function(zSr) {	
        for ( k = 6; (k < zSr.length); k += 6 ) {
            // erzeuge neues sponsored link object
            var Link = new mgSponsoredLink(zSr[k+3], zSr[k+4], zSr[k+2], zSr[k], this.bolding);
            this.sLinkList[this.sLinkList.length] = Link;
        }
    }
    this.normalizeGoogle=function(ads) {		
        for ( i = 0; i < ads.length; i++ ) {
            // erzeuge neues sponsored link object
            var Link = new mgSponsoredLink(ads[i].line1, ads[i].visible_url, ads[i].url, ads[i].line2 + ' ' + ads[i].line3);
            this.sLinkList[this.sLinkList.length] = Link;
        }
    }
}
/**
 * Sponsored Link Class
 */
function mgSponsoredLink( title, display_url, link_url, description ) {
    this.title = title;
    this.displayUrl = display_url;
    this.linkUrl = link_url;
    this.description = description;
    this.getDescription=function(maxLength) {
        if ( maxLength > 0 ) {
            return mgSubStringWord(this.description, maxLength, '...');
        }
        return this.description;
    }		
}
// utility functions
function mgSubStringWord(string, maxLength, postFix) {
    if ( string.length > maxLength ) {
        while ( string.substr(maxLength, 1) != ' ' ) {
            if ( maxLength >= string.length ) {
                return string;
            }
            maxLength++;
        }
        return string.substr(0, maxLength) + postFix;
    }
    return string;
}	

function mgEscapeDoubleQuotes(s) {
	var str = String(s);
	return str.replace(/"/g, '&quot;');
}

function mgTextBolding( stringText, stringToBold ) {
    var regex = new RegExp("(" + stringToBold + ")","ig");
    return stringText.replace(regex, "<b>$1</b>");
}