/* @version $Rev: 1751 $ */
function agof2sktg(agof) {
	var skgt = '';
	var agofFirstLiterals = agof.substring(0, 3);
	switch (agof.substring(0, 1)) {
	case 'r':
		skgt = 'RedCont';
		if (agofFirstLiterals == 'ruk' || agof == 'ren_tvprog') {
			sktg = 'Service';
		} else if (agofFirstLiterals == 'rer') {
			sktg = 'UnterhaltungGames';
		} else if (agof === 'ren_wwm') {
			sktg = 'Infotainment';
		}
		break;
	case 'u':
		sktg = 'Community';
		break;
	case 'k':
		if (agofFirstLiterals == 'kco') {
			sktg = 'Community';
		} else {
			sktg = 'Service';
		}
		break;
	case 's':
		sktk = 'Service';
		break;
	case 'g':
		sktg = 'UnterhaltungGames';
		break;
	case 'e':
		sktg = 'Ecommerce';
		break;
	case 'd':
		sktg = 'Diverses';
		break;
	}
	return sktg;
}


function reloadIVW() {
/*	if (_location == 'at') {
		var pixel = document.getElementById("oewapixel");
		if (pixel != null) {
			var ref = document.referrer;
			if ((reloadIVW.arguments) && (reloadIVW.arguments.length == 2)) {
				var _agof = reloadIVW.arguments[0];
				var imgurl = 'http://rtl.oewabox.at/cgi-bin/ivw/CP/'
						+ agof2sktg(_agof) + '?r=' + escape(document.referrer)
						+ '&d=' + (new Date()).getTime();
			} else if ((typeof _initialOEWA) == 'string') {
				var imgurl = _initialOEWA + '?r=' + escape(document.referrer)
						+ '&d=' + (new Date()).getTime();
			} else {
				var pos = pixel.src.indexOf("?");
				var imgurl = pixel.src.substring(0, pos) + '?r='
						+ escape(document.referrer) + '&d='
						+ (new Date()).getTime();
			}
			pixel.src = imgurl;
			return;
		}
	}
*/	var pixel = document.getElementById("ivwpixel");
	if (pixel != null) {
		var ref = document.referrer;
		if ((reloadIVW.arguments) && (reloadIVW.arguments.length == 2)) {
			var _agof = reloadIVW.arguments[0];
			var _ivw = reloadIVW.arguments[1];
			var imgurl = "http://sportde.ivwbox.de/cgi-bin/ivw/CP/" + _agof + ';'
					+ _ivw + '?r=' + ref + '&d='
					+ Math.round(1000000 * Math.random());
		} else if (((typeof _initialAGOF) == 'string')
				&& ((typeof _initialIVW) == 'string')) {
			var imgurl = "http://sportde.ivwbox.de/cgi-bin/ivw/CP/" + _initialAGOF
					+ ';' + _initialIVW + '?r=' + ref + '&d='
					+ Math.round(1000000 * Math.random());
		} else {
			var pos = pixel.src.indexOf("&");
			var imgurl = pixel.src.substring(0, pos) + "&d="
					+ Math.round(1000000 * Math.random());
			imgurl = imgurl.replace(/r=&/, "r=" + ref + "&");
		}
		pixel.src = imgurl;
	}
	adReload.reloadAll();
}

var adReload = {};

adReload._ord = 0;

adReload.reloadAll = function() {
	if (typeof(ip_stopadreload) != undefined && ip_stopadreload === true) {
		return false;
	}
	try {
	    adReload.ord();
	    adReload.halfpage();
	    adReload.rectangle();
	    adReload.banner();
	    adReload.sky();
    } catch (e) {
    	return e;
    }
	return true;
};

adReload.ord = function () {
	adReload._ord = Math.round(1000000 * Math.random());
};

adReload.halfpage = function () {
	var urls = [];
	var i = 0;
	if (adSlotsDelivered['300x250,300x600'] && adSlotsDelivered['300x250,300x600'].length > 0) $.each(adSlotsDelivered['300x250,300x600'], function(idx, val) {
		if (val == undefined) {
	    	return;
	    }
	    var url = val.url;
	    delete (val.ord);
	    $.each(val, function(k, v) {
	        if (k == 'url' || k == 'u') {
	            return;
	        }
	        url = url + k + '=' + v + ';';
	    });
	    if (typeof n_pbt != 'undefined' && n_pbt != '') {
	        url = url + n_pbt + ';';
	    }
	    if (typeof AD_VISBILITY_PARAM === 'boolean' && AD_VISBILITY_PARAM === true ) {
	    	url += (typeof adVisibility == 'function' ? adVisibility($('.pageRectangleAd.isAdVisible').eq(i)) : '');
	    }
	    
	    url = url + 'u=' + val.u + ';ord=' + adReload._ord;
	    urls[i] = url;
	    i = i + 1;
	});
	if (i == 1) {
		$('.halfpage .media').html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + urls[0] + '?"></script>'));
	} else if (i == 2) {
		$('.halfpage .media').each(function(i) {
			$(this).html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + urls[i] + '?"></script>'));
		});
	}
};

adReload.rectangle = function () {
	var urls = [];
	var i = 0;
	if (adSlotsDelivered['300x250'] && adSlotsDelivered['300x250'].length > 0) $.each(adSlotsDelivered['300x250'], function(idx, val) {
		if (val == undefined) {
	    	return;
	    }
	    var url = val.url;
	    delete (val.ord);
	    $.each(val, function(k, v) {
	        if (k == 'url' || k == 'u') {
	            return;
	        }
	        url = url + k + '=' + v + ';';
	    });
	    if (typeof n_pbt != 'undefined' && n_pbt != '') {
	        url = url + n_pbt + ';';
	    }
	    if (typeof AD_VISBILITY_PARAM === 'boolean' && AD_VISBILITY_PARAM === true ) {
	    	url += (typeof adVisibility == 'function' ? adVisibility($('.pageRectangleAd.isAdVisible').eq(i)) : '');
	    }
	    
	    url = url + 'u=' + val.u + ';ord=' + adReload._ord;
	    urls[i] = url;
	    i = i + 1;
	});
	if (i == 1) {
		$('.rectangel .media, .artikelrectangel .media').html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + urls[0] + '?"></script>'));
	} else if (i == 2) {
		$('.rectangel .media, .artikelrectangel .media').each(function(i) {
			$(this).html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + urls[i] + '?"></script>'));
		});
	}
};

adReload.banner = function () {
	    var banner = adSlotsDelivered['468x60'];
	    if (banner == undefined) {
	    	return;
	    }
	    var url = banner.url;
	    delete (banner.ord);
	    $.each(banner, function(k, v) {
	        if (k == 'url' || k == 'u') {
	            return;
	        }
	        url = url + k + '=' + v + ';';
	    });
	    if (typeof n_pbt != 'undefined' && n_pbt != '') {
	        url = url + n_pbt + ';';
	    }
	    if (typeof AD_VISBILITY_PARAM === 'boolean' && AD_VISBILITY_PARAM === true ) {
	    	url += (typeof adVisibility === 'function' ? adVisibility($('#bannerDummy.isAdVisible').filter(':last')) : '');	    
	    }
	    
	    url = url + 'u=' + banner.u + ';ord=' + adReload._ord;
	    $('#banner').html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + url + '?"></script>'));
};

adReload.sky = function () {
    var sky = adSlotsDelivered['120x600'];
    if (sky == undefined) {
    	return;
    }
    var url = sky.url;
    delete (sky.ord);
    $.each(sky, function(k, v) {
        if (k == 'url' || k == 'u') {
            return;
        }
        url = url + k + '=' + v + ';';
    });
    if (typeof n_pbt != 'undefined' && n_pbt != '') {
        url = url + n_pbt + ';';
    }
    if (typeof AD_VISBILITY_PARAM === 'boolean' && AD_VISBILITY_PARAM === true ) {
    	url += (typeof adVisibility === 'function' ? adVisibility($('#bannerDummy.isAdVisible').filter(':last')) : '');
    }
    
    url = url + 'u=' + sky.u + ';ord=' + adReload._ord;
    if ($('#skyscraper').size() > 0) {
         $('#skyscraper').html('').html(writeCapture.sanitize('<script type="text/javascript" src="' + url + '?"></script>'));
    } else if ($('#ip_wallsky').size() > 0) {
    	$('#ip_wallsky').remove();
    	$('body').append(writeCapture.sanitize('<script type="text/javascript" src="' + url + '?"></script>'));
    }
};

function IvwPlaybutton() {
	var _agof, _ivw, _r;
	if ((IvwPlaybutton.arguments) && (IvwPlaybutton.arguments.length == 2) && typeof IvwPlaybutton.arguments[0] == 'string' && typeof IvwPlaybutton.arguments[1] == 'string') {
   		_agof = IvwPlaybutton.arguments[0];
   		_ivw = IvwPlaybutton.arguments[1];
   	} else if (((typeof _initialAGOF) == 'string') && ((typeof _initialIVW) == 'string')) {
   		_agof = _initialAGOF;
   		_ivw = _initialIVW;
	}

	if (((typeof _agof) == 'string') && ((typeof _ivw) == 'string')) {
            _r = {agof:_agof+'_', ivw: _ivw.replace(/\/sportde\//, '/sportde/videoabrufe/')};
	} else {
            _r = {agof:'', ivw:''};
        }
	return _r;
}

function evalKeySubmit(event, frm) {
	if (event && (event.which == 13 || event.keyCode == 13)) {
		frm.submit();
	} else {
		return true;
	}
	return true;
}
/**
 * reagiert auf Return-Taste. Ruft UserLogin auf. 
 * nur bei Kommentaren
 * @param event
 * @param frm
 * @return
 */
function evalKeySubmitLogin(event, frm) {
	if (event && (event.which == 13 || event.keyCode == 13)) {
		loginUser();
	} else {
		return true;
	}
	return true;
} 
 
 
 function evalKeySubmitLoginPage(event, frm) {
		if (event && (event.which == 13 || event.keyCode == 13)) {
			loginUserPage();
		} else {
			return true;
		}
		return true;
	} 
 
 
/**
 * Layout für Dialoge
 */
var layout = new Array();
layout["standard"] = {
	overlay : {
		'background-color' : 'black',
		'opacity' : '0.5'
	},
	modal : true,
	width : 671,
	height : 'auto',
	resizable : false,
	draggable : true,
	position : [ 174, 155 ],
	closeOnEscape : false
};

function showDialog(id, art) {

	if (id.charAt(0) != '#') {
		id = '#' + id;
	}
	if (typeof art == 'undefined') {
		var art = 'standard';
	}
	if (typeof layout[art] == 'object') {
		showLayer = layout[art];
	} else {
		showLayer = layout['standard'];
	}

	$(id).dialog(showLayer).show();
	$(id).attr('title', ''); // verhindert tooltip im FF
	$(id).dialog('open');
}

/**
 * schließte Dialog
 * @param id
 * @return
 */
function closeDialog(id) {
	if (id.charAt(0) != '#') {
		id = '#' + id;
	}
	$(id).dialog('close');
	$(id).hide();
}

/**
 * öffnet Dialog
 * @param name
 * @return
 */
function opendialog(name) {
	$('#'+name).dialog({
//		dialogClass: 'dialog',
		modal: true,
		width: 671,
		height: 'auto',
		minHeight: 0,
		resizable: false,
		draggable: true,
		position: [174, 155]
	}).show();
	$('#'+name).dialog('open');

	$(document).pngFix();
}


/**
 * öffnet Seite in Popup 
 * @param x_ Breite
 * @param y_ Höhe
 * @param url_ Url
 * @return
 */
function popup_x_y(x_,y_,url_) {
	var screen_height = screen.height;
	var screen_width = screen.width;
	if (isNaN(screen_height)) screen_height = 768;	
	if (isNaN(screen_width)) screen_width = 1024;	
	var max_window_height = Math.floor(screen_height-50);
	
	if (y_ > max_window_height) {
		y_ = max_window_height;
		default_scrollbars 	= "yes";
		x_ = Math.floor(screen_width-20);
	} else
	{
		default_scrollbars 	= "no";
	}
	
	parameter='height='+y_+',width='+x_+',top=20,left=20,toolbar=no,menubar=no,location=no,scrollbars='+(default_scrollbars)+',statusbar=no';
	if (popup_x_y.arguments) { parameter+=((popup_x_y.arguments.length>=4)&&(typeof(popup_x_y.arguments[3])!='undefined')) ? ','+popup_x_y.arguments[3] : ''; }
	window.open(url_,'',parameter);
}

/**
 * Email validieren  
 * @param s email 
 * @return bool
 */
function validateEmail(s) {
    var a = false;
    var res = false;
    
    if(typeof(RegExp) == 'function') {
        var b = new RegExp('abc');
        if(b.test('abc') == true){a = true;}
    }
    
    if(a == true) {
        reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_\\ö\\ä\\ü\\Ö\\Ä\\Ü]+)'+ '(\\@)([a-zA-Z0-9\\-\\ö\\ä\\ü\\Ö\\Ä\\Ü\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');
        res = (reg.test(s));
    } else {
        res = (s.search('@') >= 1 && s.lastIndexOf('.') > s.search('@') && s.lastIndexOf('.') >= s.length-5);
    }

    return(res);
}

/**
 * Graut das Element aus. Buttons nicht mehr klickbar
 * @param id
 * @return
 */
function showAjaxLoadOverlay(id) {
	if (id.charAt(0) != '#') {
		id = '#' + id;
	}
	// /$.scrollTo(id, 300, {axis:'y'});
	var width = $(id).width();
	var height = $(id).height();
	$(id).append(
			'<div class="ajaxload" style="width:' + width + 'px;height:'
					+ height + 'px;">&nbsp;</div>');
}

/**
 * wertet Formular aus und loggt user per ajax ein. Seite wird nicht neu geladen
 * nur bei Kommentaren!
 * @return
 */
function loginUser() {
	//$('form#login').submit();return false;
	
	var nickname = $('form#login #nickname').val();
	var password = $('form#login #password').val();

	$.ajax({
		type: "POST",
		url: "/user/auth/login/format/json/",
		data: '&nickname='+nickname+'&password='+password,
		dataType: 'json',
		success: function(msg){
			if(msg.loginSuccess == false) {
				//$('#dialog-login').html();
				$('#dialog-error-headline').html('<strong>'+msg.fehler+'</strong>');
				$('#dialog-error-content').html('<p>'+msg.loginerror+'</p>');
				opendialog('dialog-error');
			} else {
				// alle ok -> Kommentare neu laden. Auf der Seite ändert sich sonst nichts!
				reloadMediasetComments();
			}
		}
	});	
}
 
 function loginUserPage(loginId) {
		//$('form#login').submit();return false;
		
		if (typeof loginId == 'undefined') {
			var loginId = 'login';
		}
		
		var nickname = $('form#'+loginId+' #nickname').val();
		var password = $('form#'+loginId+' #password').val();

		$.ajax({
			type: "POST",
			url: "/user/auth/login/format/json/",
			data: '&nickname='+nickname+'&password='+password,
			dataType: 'json',
			success: function(msg){
				if(msg.loginSuccess == false) {
					//$('#dialog-login').html();
					$('#dialog-error-headline').html('<strong>'+msg.fehler+'</strong>');
					$('#dialog-error-content').html('<p>'+msg.loginerror+'</p>');
					opendialog('dialog-error');
				} else {
					// alle ok -> Seite neu laden
					location.reload();
				}
			}
		});	
	}


 function setDialogtitle(id,title) { if(id.charAt(0) !=  '#') { id = '#' + id; };  $(id).attr('title', title);};

 function seiteversenden_submit() { 
	 var comment = "";
	 if ($("#versenden_comment").val() != null) {
		 comment = $("#versenden_comment").val();
	 };
	 data = {
			 emailfrom: $("#emailfrom").attr("value"),
			 emailto: $("#emailto").attr("value"), 
			 url: location.href, title: $("#title").attr("value"), 
			 meta: $("#meta").attr("value"), 
			 comment: comment
	};	
	$("#seitensendendialog").load("/versenden/seite/versenden/", data);	
	return false;
};

function openKontaktForm() {
    $.ajax({
        type: "POST",
        url: "/kontakt/index/index/format/html/",
        success: function(msg){
            if(msg != 'false') {
                $('#dialog-kontakt').html(msg);
                opendialog('dialog-kontakt');
            } else {
                //alert('Fehler.');
            }
        }
    }); 
    return false;
}
/**
 * adVisibility
 * 
 * @param obj element
 * @return string
 */
function adVisibility(elem)
{
	if ($(elem).length === 0) return ''; 
	
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();
    var docViewLeft = $(window).scrollLeft();
    var docViewRight = docViewLeft + $(window).width();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();
    var elemLeft = $(elem).offset().left;
    var elemRight = elemLeft + $(elem).width();
	
    var elemVisibleTop, elemVisibleLeft, elemVisibleBottom, elemVisibleRight;
	
	if (elemTop >= docViewTop) {
		if (elemTop < docViewBottom) {
			elemVisibleTop = elemTop;
		} else {
			elemVisibleTop = false;
		}
	} else { // elemTop < docViewTop
		elemVisibleTop = docViewTop;
	}

	if (elemLeft >= docViewLeft) {
		if (elemLeft < docViewRight) {
			elemVisibleLeft = elemLeft;
		} else {
			elemVisibleLeft = false;
		}
	} else { // elemLeft < docViewLeft
		elemVisibleLeft = docViewLeft;
	}

	if (elemBottom <= docViewBottom) {
		if (elemBottom >= docViewTop) {
			elemVisibleBottom = elemBottom;
		} else { // elemBottom < docViewTop
			elemVisibleBottom = false;
		}
	} else { // elemBottom > docViewBottom
		elemVisibleBottom = docViewBottom;
	}
	
	if (elemRight <= docViewRight) {
		if (elemRight > docViewLeft) {
			elemVisibleRight = elemRight;
		} else { // elemRight < docViewLeft
			elemVisibleRight = false;
		}
	} else { // elemRight > docViewRight
		elemVisibleRight = docViewRight;
	}

	if (elemVisibleTop === false || elemVisibleLeft === false || elemVisibleBottom === false || elemVisibleRight === false) {
		return 'ip_v=0;';
	} else {
		var elemVisibility = Math.round((elemVisibleRight-elemVisibleLeft)/$(elem).width() * (elemVisibleBottom-elemVisibleTop)/$(elem).height()*100); 
		return 'ip_v=' + (elemVisibility==100 ? '1' : '0') +';';
	}
}

var PlayerlayerConfig = {
    containerId: 'sportplayerlayer',
    ivwbox: 'sportde.ivwbox.de',
    defaultFarbwelt: 'sport',
    // damit das Matching passt, muessen zunaechst die spezielleren tags angegeben werden
    // ['<ivw/tag>', '<vlPage>,<vlPlaylist>']
    // 'x,x' = keine Playlist
    playlistFallback: [
		['/sportde/formel_1', '28,42'],
		['/sportde/boxen', '27,41'],
		['/sportde', '26,40']
    ]
};
