
var flv_dragObject = null;
var flv_mouseOffset = null;
var timer_tt =0;
var timer_mo =0;
var mouse_over = 0;
var flv_started = new Array();
var flv_finished = new Array();


function gj_video(ident, global_lang) {
    var prefix = 'http://video.gigajob.com/';
    var name = '';
    switch(ident) {
    case 'ggu1_192':
	if (global_lang == "de") {
	    name = 'GGU_v9de_192x108_200.flv';
	}
	else {
	    name = 'GGU_v10en_192x108_200.flv';
	}
	break;

    case 'ggu1_640':
	if (global_lang == "de") {
	    name = 'GGU_v9de_640x360_800.flv';
	}
	else {
	    name = 'GGU_v10en_640x360_800.flv';
	}
	break;
    }

    return prefix + name;
}


function flv_player(target, player_id, file, width, height, autostart) {
    var image = file.replace(/flv/, 'jpg'); 
    var flashvars = {
	file: file,
	width: width,
	height: height,
	backcolor: 'yellow',
	skin: '/static/video/skin_simple2.swf',
	frontcolor: 'cccccc',
	backcolor: '323232',
	lightcolor: 'ffffff',
	enablejs: true,
	autostart: autostart,
	javascriptid: target
    };
    
    var params = {
	allowscriptaccess: 'always',
	wmode: 'opaque'
    };
    
    var attributes = {
	id: player_id,
	name: player_id
    };
    
    swfobject.embedSWF('/static/video/mediaplayer4.2.95.swf', target, width, height + 20, '8.0.0', '', flashvars, params, attributes);
}


function flv_player_open_into_popup(title, player_id, file, width, height, autostart) {
    flv_player_command('player1', 'STOP');
    clearOverlay('player1');
    flv_player_popup(title, player_id + '_popup', file, width, height, autostart);
}


function flv_player_popup(title, player_id, file, width, height, autostart) {
    if (document.getElementById('flv_player_div_' + player_id)) {
	clearOverlay(player_id);
	flv_player_command(player_id, 'PLAY');
	return;
    }

    el = document.createElement('div');
    el.id = 'flv_player_div_' + player_id;
    el.style.left = 150+'px';
    el.style.top = 120+'px';
	el.style.top = videopos;
    el.style.width = width + 2+'px';
    el.style.height = height + 20 + 2+'px';
    el.style.zIndex = 5;
    el.style.position = 'absolute';
    el.style.backgroundColor = 'white';
    el.innerHTML = '<table border="0" cellspacing="0" cellpadding="0" style="border:1px solid #ffffff"><tr id="fly_player_popup_dragbar_' + player_id + '" width="100%" height="20"><td background='+global_imgpath+'/images/video_dragbar.gif><table border="0" cellspacing="0" cellpadding="4" width="100%"><tr width="100%"><td style="cursor:move"><span style="color:#ffffff;font-family:Arial; font-size:9pt; font-weight:bold;">' + title + '</span></td><td align="right" style="cursor:move"><a href="javascript:closePopup(\'flv_player_div_' + player_id + '\');"><img src='+global_imgpath+'/images/close_button2.gif border="0"></a></td></tr></table></td></tr><tr><td colspan="1" style="padding:1px;background-color:#333333"><div id="flv_player_target_' + player_id + '"></div></td></tr></table>';
    
    var body = document.getElementsByTagName('body')[0];
    body.appendChild(el);

    flv_player('flv_player_target_' + player_id, player_id, file, width, height, autostart);
    
    document.onmousemove = mouseMove;
    document.onmouseup = mouseUp;

    var dragbar = document.getElementById('fly_player_popup_dragbar_' + player_id);
    makeDraggable(dragbar, el);
}


function flv_player_command(player_id, command, arg) {
    var player = document.getElementById(player_id);
    player.sendEvent(command, arg);
}


function playerReady(thePlayer) {
    var player_id = thePlayer.id;
    var player = window.document[player_id];
    addListeners(player);

    if(!player_id.match(/_popup/)) {
	createTeaserOverlay(player_id);
    }
}

function addListeners(player) {
    player.addModelListener('STATE', 'stateListener');
}


function stateListener(obj) {
    var player = window.document[obj.id];
    var file = player.getConfig().file;

    if (obj.newstate == 'COMPLETED') {
	if (flv_finished[obj.id] != 1) {
	    flv_finished[obj.id] = 1;
	    // log finished
	    x_ajax_log_video_play('FINISHED', file);
	}
	createFinishOverlay(obj.id);
    }
    if (obj.newstate == 'PLAYING') {
	if (flv_started[obj.id] != 1) {
	    flv_started[obj.id] = 1;
	    // log started
	    x_ajax_log_video_play('STARTED', file);
	}
	clearOverlay(obj.id);
    }
}



function closePopup(name) {
    var body = document.getElementsByTagName('body')[0];
    body.removeChild(document.getElementById(name));
    document.onmousemove = getMouseXY;

}


function createOverlay(player_id, overlay_code, zindex, full_overlay, darken) {
    var opacity = 0.7;
    var float_mode = false;
    if(player_id.match(/_popup/)) float_mode = true;

    var player = document.getElementById(player_id);
    var width = player.offsetWidth;
    var height = player.offsetHeight;
    var id_prefix = 'flv_player_' + player_id + '_overlay';

    if (!full_overlay) {
	height -= 20;
    }

    if (document.getElementById(id_prefix + '1') != null) {
	return;
    }

    if (float_mode) {
	// popup
	var left = 1;
	var top = 23;
	zindex += 5;
    }
    else {
	// embedded
	var reference = player;
	var left = reference.offsetLeft;
	var top = reference.offsetTop;
    }

    var target_node = player.parentNode;

    if (darken) {
	// transparent background ("el")
	el = document.createElement('div');
	el.style.position = 'absolute';
	el.style.left = left+'px';
	el.style.top = top+'px';
	el.style.zIndex = zindex + 1;
	if (typeof(el.style.opacity) != 'undefined') {
	    el.style.opacity = opacity;
	}
	else if (typeof(el.style.filter) != 'undefined') {
	    el.style.filter = 'Alpha(opacity=' + opacity * 100 + ')';
	}
	else if (typeof(el.style.MozOpacity) == 'undefined') {
	    el.style.MozOpacity = opacity;
	}

	el.id = id_prefix + '1';
	code = '<table cellspacing=0 width="'+width+'" height="'+height+'"><tr width="100%" bgcolor="#000000"><td></td></tr></table>';
	el.innerHTML = code;
	target_node.appendChild(el);
    }

    // overlay content ("el2")
    el2 = document.createElement('div');
    el2.style.position = 'absolute';
    el2.style.left = left+'px';
    el2.style.top = top+'px';
    el2.style.zIndex = zindex + 2;
    el2.id = id_prefix + '2';
	el2.innerHTML = overlay_code;
    target_node.appendChild(el2);
}


function clearOverlay(player_id) {
    var id_prefix = 'flv_player_' + player_id + '_overlay';
    ol = document.getElementById(id_prefix + '1');
    if (ol) ol.parentNode.removeChild(ol);
    ol = document.getElementById(id_prefix + '2');
    if (ol) ol.parentNode.removeChild(ol);
}


function get_play_link(player_id) {
    return 'javascript:clearOverlay(\'' + player_id + '\');flv_player_command(\'' + player_id + '\', \'PLAY\');';
}


function createFinishOverlay(player_id) {
    var width = document.getElementById(player_id).width;
    var height = document.getElementById(player_id).height;
    var play_link = get_play_link(player_id);

    if (height > 300) {
	// big version
	var code = '<table cellspacing=0 width="'+width+'" height="'+height+'" border="0">';
	code += '<tr><td><img src='+global_imgpath+'/images/blank.gif width="1" height="50" alt="" border="0"></td></tr>';
	code += '<tr><td class="big_bg" align="left"><div style="margin-bottom:15px"><a class="big_link" href="'+flv_tunnel_application+'">'+flv_tunnel_application_text+'</a></div><div><a class="big_link" href="'+flv_tunnel_offer+'">'+flv_tunnel_offer_text+'</a></div></td></tr>';
	code += '<tr><td bgcolor="#000000"><img src='+global_imgpath+'/images/blank.gif width="1" height="50" alt="" border="0"></td></tr>';
	code += '<tr><td  align="center"><a href="'+play_link+'"><img src='+global_imgpath+'/images/'+global_lang+'/replay_big.gif width="183" height="33" alt="" border="0"></a>';
	code += '</td></tr>';
	code += '<tr><td style="height:100%">&nbsp;</td></tr>';
	code += '</table>';
    }
    else {
	// small version
	var code = '<table cellspacing=0 width="'+width+'" height="'+height+'" border="0">';
	code += '<tr><td><img src='+global_imgpath+'/images/blank.gif width="1" height="10" alt="" border="0"></td></tr>';
	code += '<tr><td class="small_bg" align="left"><div style="margin-bottom:10px"><a class="small_link" href="'+flv_tunnel_application+'">'+flv_tunnel_application_text+'</a></div><div><a class="small_link" href="'+flv_tunnel_offer+'">'+flv_tunnel_offer_text+'</a></div></td></tr>';
	code += '<tr><td bgcolor="#000000"><img src='+global_imgpath+'/images/blank.gif width="1" height="10" alt="" border="0"></td></tr>';
	code += '<tr><td align="center"><a href="'+play_link+'"><img src='+global_imgpath+'/images/'+global_lang+'/replay_small.gif width="132" height="23" alt="" border="0"></a>';
	code += '</td></tr>';
	code += '<tr><td style="height:15px"><img src='+global_imgpath+'/images/blank.gif width="1" height="30" alt="" border="0"></td></tr>';
	code += '</table>';
    }
    createOverlay(player_id, code, 5, true, true);
}

function createTeaserOverlay(player_id) {
    var code = '<table cellspacing=0 cellpadding=0 width="100%" height="100%" border="0"><tr><td valign="top" width="100%" align="left" >';
    var id = 'flv_player_teaser_image_' + player_id;
    code += '<div id="' + id + '" style="margin:0px;padding:0px;left:0px" >';
    code += '</div></td></tr></table>';

    for (var cnt=1; cnt<=5; cnt++) {
	var name = ''+global_imgpath+'/images/video/GGU_192x108_p'+cnt+'.jpg';
	var img = new Image();
	img.src = name;
    }

    createOverlay(player_id, code, 5, false);
    toggle_teaser(player_id, 0, 0);
}

function toggle_teaser(player_id, cnt, type) {
	var id = 'flv_player_teaser_image_' + player_id;
    var play_link = get_play_link(player_id);
	var el = document.getElementById(id);
    if (!el) return;
//	cnt++;
if(type == 'over'){
	cnt++;
}else if(type == 'out'){
	cnt=5;
}else{
	cnt=5;
}
    if (cnt > 5) cnt = 1;
	var name = ''+global_imgpath+'/images/video/GGU_192x108_p'+cnt+'.jpg';
    timer_tt = window.setTimeout('toggle_teaser(\'' + player_id + '\', '+cnt+',\''+type+'\')', 1000);
 if(type == 'over'){
 var image = '<a href="'+play_link+'" onMouseOut="javascript:remove_bubbling(this,event);toggle_mouse(\'out\','+cnt+');" ><img width="192" height="108" border="0" src="'+name+'"></a>';
 el.innerHTML = image;
 }else if (type='out'){
 var image = '<a href="'+play_link+'" onMouseOver="javascript:remove_bubbling(this,event);toggle_mouse(\'over\','+cnt+');"><img width="192" height="108" border="0" src="'+name+'"></a>';
 el.innerHTML = image;
 }else{
 var image = '<a href="'+play_link+'" onMouseOver="javascript:remove_bubbling(this,event);toggle_mouse(\'over\','+cnt+');"  ><img width="192" height="108" border="0" src="'+name+'"></a>';
 el.innerHTML = image;
 }

}

function remove_bubbling (obj,evt) {
    var e=(evt)?evt:window.event;
    if (window.event) {
        e.cancelBubble=true;
    } else {
      e.stopPropagation();
    }
}

function toggle_mouse(type,cnt) {
	window.clearTimeout(timer_tt);
	if(type=='out'){
		mouse_over = 0;
    toggle_teaser('player1',cnt,'out');
	}

	if(type=='over'){
	if(mouse_over == 0){
		mouse_over = 1;
    toggle_teaser('player1', cnt,'over');
	}
    }
	
}



function getMouseOffset(target, ev){
    ev = ev || window.event;

    var docPos    = getPosition(target);
    var mousePos  = mouseCoords(ev);
    return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
    var left = 0;
    var top  = 0;

    while (e.offsetParent){
	left += e.offsetLeft;
	top  += e.offsetTop;
	e     = e.offsetParent;
    }

    left += e.offsetLeft;
    top  += e.offsetTop;

    return {x:left, y:top};
}


function mouseMove(ev){
    ev           = ev || window.event;
    var mousePos = mouseCoords(ev);

    if(flv_dragObject){
	flv_dragObject.style.position = 'absolute';
	var top = mousePos.y - flv_mouseOffset.y;
	var left = mousePos.x - flv_mouseOffset.x;
	if (top < 2) top = 2;
	if (left < 2) left = 2;
	var maxtop = document.body.clientHeight - flv_dragObject.offsetHeight - 2;
	var maxleft = document.body.clientWidth - flv_dragObject.offsetWidth - 2;
	if (top > maxtop) top = maxtop;
	if (left > maxleft) left = maxleft;
	flv_dragObject.style.top      = top+'px';
	flv_dragObject.style.left     = left+'px';

	return false;
    }
}


function mouseUp(){
    flv_dragObject = null;
}


function makeDraggable(item, container){
    if(!item) return;
    item.onmousedown = function(ev){
	flv_dragObject  = container;
	flv_mouseOffset = getMouseOffset(container, ev);
	return false;
    }
}


function mouseCoords(ev){
    if(ev.pageX || ev.pageY){
	return {x:ev.pageX, y:ev.pageY};
    }
    return {
	x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
	    y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	    };
}
