﻿document.domain = "gpotato.eu";
document.write("<link rel=\"shortcut icon\" href=\"http://simg.gpotato.eu/common/favicon.ico\" />");

function AddImagePath()
{
    for (var i = 0; i < arguments.length; i++)
    {
        var table = arguments[i];
        for (var j = 0; j < table.length; j++)
        {
            table[j] = S_BASE_IMG + table[j];
        }
    }
}

function FnGetObjById(sID, obj)
{
    if (!obj) obj = document;

    return document.getElementById(sID);
}

function FnGetObjByClassName(element, tagname, classname)
{
    var alldescendants = (element || document.body).getElementsByTagName(tagname);
    for (var i = 0; i < alldescendants.length; i++)
    {
        if (classname == null || alldescendants[i].className.indexOf(classname) > -1)
        {
            return alldescendants[i];
        }
    }
    return null;
}

function FnGetArrByClassName(element, tagname, classname)
{
    var descendants = new Array();
    var alldescendants = (element || document.body).getElementsByTagName(tagname);
    for (var i = 0; i < alldescendants.length; i++)
    {
        if (classname == null || alldescendants[i].className.indexOf(classname) > -1)
        {
            descendants.push(alldescendants[i]);
        }
    }
    return descendants;
}

/*=============================================================================
use : flash write
@Param : string Object URL, int Width, int Height[, string Variable, string Background Color, string Window Mode]
=============================================================================*/
function ObFlashString(sObjURL, nWidth, nHeight, sVars, sBgColor, sWinMod, sObjId)
{
    if (sObjId == null || sObjId == "") sObjId = sObjURL.split("/")[sObjURL.split("/").length - 1].split(".")[0];
    if (sVars == null) sVars = '';
    if (sBgColor == null) sBgColor = '#FFFFFF';
    if (sWinMod == null) sWinMod = 'transparent';

    // flash code definition
    var flashStr = "	<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'";
    flashStr += "			codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'";
    flashStr += "			width='" + nWidth + "'";
    flashStr += "			height='" + nHeight + "'";
    flashStr += "			id='" + sObjId + "'";
    flashStr += "			align='middle'>";

    flashStr += "		<param name='allowScriptAccess' value='always' />";
    flashStr += "		<param name='transparent' value='true' />";
    flashStr += "		<param name='movie' value='" + sObjURL + "' />";
    flashStr += "		<param name='FlashVars' value='" + sVars + "' />";
    flashStr += "		<param name='wmode' value='" + sWinMod + "' />";
    flashStr += "		<param name='menu' value='false' />";
    flashStr += "		<param name='quality' value='high' />";
    flashStr += "		<param name='bgcolor' value='" + sBgColor + "' />";


    flashStr += "		<embed src='" + sObjURL + "'";
    flashStr += "		       flashVars='" + sVars + "'";
    flashStr += "		       wmode='" + sWinMod + "'";
    flashStr += "		       menu='false'";
    flashStr += "		       quality='high'";
    flashStr += "		       bgcolor='" + sBgColor + "'";
    flashStr += "		       width='" + nWidth + "'";
    flashStr += "		       height='" + nHeight + "'";
    flashStr += "		       name='" + sObjId + "'";
    flashStr += "		       align='middle'";
    flashStr += "		       allowScriptAccess='always'";
    flashStr += "		       type='application/x-shockwave-flash'";
    flashStr += "		       pluginspage='http://www.macromedia.com/go/getflashplayer' />";
    flashStr += " </object>";

    // flash code print
    return flashStr;
}


/*=============================================================================
use : flash write
@Param : string Object URL, int Width, int Height[, string Variable, string Background Color, string Window Mode]
=============================================================================*/
function ObFlashWrite(sObjURL, nWidth, nHeight, sVars, sBgColor, sWinMod, sObjId)
{
    document.write(ObFlashString(sObjURL, nWidth, nHeight, sVars, sBgColor, sWinMod, sObjId));
}

function FnOpenViewer(sUrl, nW, nH)
{
    try
    {
        var w = window.open(sUrl, "VIEWER", "modal=1, width=" + nW + ", height=" + nH);
    }
    catch (e)
    {
        var w = window.open(sUrl, "VIEWER", "modal=1, width=" + nW + ", height=" + nH);
        w.focus();
    }
}

function FnShowStatus(sType)
{
    FnGetObjById("DivLayout").style.display = "block";
}

function FnGetObjXMLHttpRequest()
{

    var objReq = false;
    if (window.XMLHttpRequest)
    {
        objReq = new XMLHttpRequest();
    } else if (window.ActiveXObject)
    {
        try
        {
            objReq = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e1)
        {
            try
            {
                objReq = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2)
            {
                return null;
            }
        }
    }
    return objReq;
}

function FnGetCommonHtml(sUrl)
{
    var objReq = FnGetObjXMLHttpRequest();
    objReq.open("GET", sUrl, false);
    objReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    objReq.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
    objReq.setRequestHeader("Pragma", "no-cache");
    objReq.send("");

    document.write(objReq.responseText);
}


jQuery.fn.center = function()
{
    return this.each(function()
    {
        var thisElement = jQuery(this),
            left = ($(window).width() / 2 - thisElement.width() / 2),
            top = ($(window).height() / 2 - thisElement.height() / 2)
            thisElement.
                css(
                {
                    left: left > 0 ? left : 0,
                    top: top > 0 ? top : 0
                });
    });
}

function addHandler(id, eventName, handler)
{    
    var elem = document.getElementById(id);
    
    if( id == "window") elem = window;
    
    if( null == elem || typeof( elem ) == 'undefined' )
        return;    
    
    if (elem.addEventListener)
    {
        elem.addEventListener(eventName, handler, false);
    }
    else if (elem.attachEvent)
    {
        elem.attachEvent("on" + eventName, handler);
    }
    else
    {
        var origHandler = elem["on" + eventName];
        if (origHandler)
        {
            var h = new object();
            h.origHandler = origHandler;
            h.newHandler = handler;
            h.both = new function(e) { this.origHandler(e); this.handler(e); };
            elem["on" + eventName] = h.both;
        }
        else
        {
            elem["on" + eventName] = handler;
        }
    }
}

function PrecacheImages(a)
{
    $(a).each(function()
    {
        var img = $(this).attr("src"),
            replacer = (img.match(/_on\./) != null ? "_on" : "_off"),
            cachedImage = new Image();
        img = img.replace(replacer, (replacer == "_on" ? "_off" : "_on"));
        cachedImage.src = img;
    });
}

$(function()
{
    PrecacheImages("#Submenu img");

    $("a[href]").click(function()
    {
        $(this).click(function()
        {
            $(this).blur();
        });
    });
    
    $(".go_top_button a").live("click",function()
    {
        $("#Content")[0].scrollIntoView();
        return false;
    });
});

function ShowNewsIframe(){
    $("#DvNewsLoader").css("visibility","hidden");
    $("#DvNews").css("visibility","visible");
}
function HideNewsIframe(){
    $("#DvNews").css("visibility","hidden");
    $("#DvNewsLoader").css("visibility","visible");
}

/* FAN IMAGES */
function viewPopup(nRegNo) {
    if(!checkLogin()) return;
    
	ratingCnt = 0;
	ratingRate = 0;
	regNo = 0;
	isRating = false;
	isRatingNow = false;
	isLoad = false;
	
	$("#DownloadImg").unbind('click').click(function() {
		location.href = "Handler.ashx?RNO=" + nRegNo + "&TYPE=DownloadImg";
	});
	
    $("#PREVIEW").replaceWith("<img id='PREVIEW' src='http://simg.gpotato.eu/allods/common/ajax-loader.gif' />");
	$("#Popup .explain").text("Texte werden geladen...");
	$("#Popup .nickname").text("Nickname wird geladen...");
    $("#RatingMsg").text("Bewertung wird geladen...");
    $(".avg img").each(function(i) {
		$(this).attr("src", "http://simg.gpotato.eu/allods/common/community/fanimages/rate_ic3.png");
    });

	$("#arrowLeftImg").unbind('click').click(function() {
		viewPopupByArrow(nRegNo, "prev");
	});
	$("#arrowRightImg").unbind('click').click(function() {
		viewPopupByArrow(nRegNo, "next");
	});

	$.ajax({
	    type: "POST",
		url: "Handler.ashx",
		data: {RNO: nRegNo, TYPE: 'GetInfo'},
		success: function(sRtn) {
		    var oRtn = parseJSON(sRtn);
		    if (sRtn == "nologin") location.href = "http://de.gpotato.eu/User/Index.aspx?url=UserLogin.aspx" + encodeURI("?RTN=" + encodeURI(location.href));

		    $("#PREVIEW").attr("src", oRtn.ImgUrl);
		    $("#Popup .explain").html(oRtn.Caption);
		    $("#Popup .nickname").html(oRtn.NickNm);
		    $("#RatingMsg").text(oRtn.RatingCnt + " Bewertungen");

		    ratingCnt = oRtn.RatingCnt;
		    ratingRate = oRtn.RatingRate;
		    regNo = nRegNo;
		    isRating = oRtn.IsRating;
		    
		    isLoad = true;

		    setRatingDefault();
		}
	});

    openPopup();
}
String.prototype.trim = function() {
	return this.replace(/(^[\s　]+)|([\s　]+$)/g, "").replace(/　/g, "");
}
String.prototype.removeTag = function() {
	return this.replace(/<[^>]+>/g, "").replace(/　/g, " ");
}
String.prototype.padLeft = function(nTotalWidth, sPaddingChar) {
	var sRtnVal = this.toString();
	var nRtnLen = sRtnVal.length;

	if(nRtnLen < nTotalWidth) {
		for(var i = 0; i < nTotalWidth - nRtnLen; i++)
			sRtnVal = sPaddingChar + sRtnVal;
	}

	return sRtnVal;
};

String.prototype.padRight = function(nTotalWidth, sPaddingChar) {
	var sRtnVal = this.toString();
	var nRtnLen = sRtnVal.length;

	if(nRtnLen < nTotalWidth) {
		for(var i = 0; i < nTotalWidth - nRtnLen; i++)
			sRtnVal = sRtnVal + sPaddingChar;
	}

	return sRtnVal;
};

String.format = function() {
	if(arguments.length == 0) return null;

	var sInput = arguments[0];

	for(var i = 1; i < arguments.length; i++) {
		var objRE = new RegExp('\\{' + (i-1) + '\\}','gm');
		sInput = sInput.replace(objRE, arguments[i]);
	}

	return sInput;
}
function parseJSON(sJSON) {
    try {
        return eval('(' + sJSON + ')');
    }
    catch(e) {
        return null;
    }
}
function getCookie(cookieName, subCookieName) {
	var cookieVal = document.cookie;

	var cookieStartAt = cookieVal.indexOf(" " + cookieName + "=");
	var cookieEndAt;

	if(subCookieName == null)
		subCookieName = "";

	cookieName		= cookieName.trim();
	subCookieName	= subCookieName.trim();

	if(cookieStartAt == -1)
		cookieStartAt = cookieVal.indexOf(cookieName + "=");

	if(cookieStartAt != -1) {
		cookieStartAt 	= cookieVal.indexOf("=", cookieStartAt) + 1
		cookieEndAt	= cookieVal.indexOf("; ", cookieStartAt);

		if(cookieEndAt == -1)
			cookieEndAt = cookieVal.length;

		cookieVal = cookieVal.substring(cookieStartAt, cookieEndAt);

		if(subCookieName == "") {
			cookieVal = unescape(cookieVal);
		}
		else {
			cookieStartAt = cookieVal.indexOf("&" + subCookieName + "=");

			if(cookieStartAt == -1)
				cookieStartAt = cookieVal.indexOf(subCookieName + "=");

			if(cookieStartAt != -1) {
				cookieStartAt 	= cookieVal.indexOf("=", cookieStartAt) + 1
				cookieEndAt	= cookieVal.indexOf("&", cookieStartAt);

				if(cookieEndAt == -1)
					cookieEndAt = cookieVal.length;

				cookieVal = unescape(cookieVal.substring(cookieStartAt, cookieEndAt));
			}
			else {
				cookieVal = null;
			}
		}
	}
	else {
		cookieVal = null;
	}

	return cookieVal;
}
function checkLogin() {
	if(!getCookie("ACCINFO", "ACCNO")) {
		return false;
	}
	else {
		return true;
	}
}
function checkTxtLen(o, nMaxLen, oLabel) {
	var nTxtLen = fixNewline(o.value).length;
	if(nTxtLen > nMaxLen) {
		alert(String.format("Maximale Textlänge beträgt {0}.", nMaxLen));
		o.value = fixNewline(o.value).substring(0, nMaxLen);
	}

	nTxtLen = fixNewline(o.value).length;
	
	if(oLabel == null) oLabel = $(".txtNowLen span");
	oLabel.text(nTxtLen);
}
function fixNewline(sTxt) {
	if (sTxt.indexOf("\r\n") != -1)
		return sTxt;
	else if (sTxt.indexOf("\r") != -1)
		return sTxt.replace (/\r/g, "\r\n");
	else if (sTxt.indexOf("\n") != -1)
		return sTxt.replace(/\n/g, "\r\n");
	else
		return sTxt;
}

function convertJsonToPara(json) {
	var sPara = "";
	for(var s in json) {
		if(sPara != "") sPara += "&";
		sPara += s + "=" + encodeURIComponent(json[s]);
	}
	return sPara;
}
function writeFlashUp(sConfig, sPara, sId) {
	if(sId == null || sId == "") sId = "FileManager";
	sConfig.PARAM = convertJsonToPara(sPara);

	var nWidth = 0;
	var nHeight = 0;
	
	if(sConfig.PREVIEW && sConfig.PREVIEW == "Y") {
		nWidth = sConfig.PVW;
		nHeight = sConfig.PVH;
	}
	else {
		nWidth = sConfig.BTNW;
		nHeight = sConfig.BTNH;
	}
	
	ObFlashWrite("/Common/Swf/FileManager.swf", nWidth, nHeight, convertJsonToPara(sConfig), null, null, "FileManager");
}
function getBytesStr(nByte)
{
	var sUnit, sVal;

	sUnit = "b";
	sVal  = nByte;

	if(sVal > 1024) {
		sVal = Math.round((parseInt(sVal)/1024)*100)/100;
		sUnit = "kb";
	} else {
		return sVal + sUnit;
	}

	if(sVal > 1024) {
		sVal = Math.round((parseInt(sVal)/1024)*100)/100;
		sUnit = "mb";
	} else {
		return sVal + sUnit;
	}
	
	if(sVal > 1024) {
		sVal = Math.round((parseInt(sVal)/1024)*100)/100;
		sUnit = "gb";
	} else {
		return sVal + sUnit;
	}	
}

function getFlashObj(sId) {
	if(window.document[sId]) {
		return window.document[sId];
	}
	if(navigator.appName.indexOf("Microsoft Internet") == -1) {
		if(document.embeds && document.embeds[sId])
			return document.embeds[sId];
	}
	else {
		return document.getElementById(sId);
	} 
}
/* END - FAN IMAGES */
