var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? 1 : 0;
function initPlayer(mode, checksession) {
	if(!checksession) checksession = false;
	if(hasPlayerContainer()) {
		pageMode('player');
		if(!is_playing) {
			if(isMac) {//	var str = 'mac!';
				var hgt = 16;
			} else {//	var str = 'pc!';
				var hgt = 45;
			}
			var str = '';
			str += '<' + 'OBJECT ID="nnrVideoPlayer" NAME="nnrVideoPlayer" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="475" height="' + hgt + '"' + '>';
			str += '<' + 'param name="autostart"  Value="1" ' + '/>';
			str += '<' + 'param name="showcontrols"  Value="1" ' + '/>';
			str += '<' + 'param name="showstatusbar"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowAudioControls"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowPositionControls"  Value="0" ' + '/>';
			str += '<' + 'param name="URL"  Value="stream/' + mode + '.php?p=' + adpos3 + (checksession?'&cs=1&code=' + checksession:'') + '" /' + '>';
			str += '<' + 'embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="nnrVideoPlayer" width="475" height="' + hgt + '" autostart="1" src="stream/' + mode + '.php?p=' + adpos3 + (checksession?'&cs=1&code=' + checksession:'') + '" showcontrols="1" showstatusbar="1" ShowAudioControls="1" ShowPositionControls="0"' + '></' + 'embed>';		
			str += '</' + 'object' + '>';
			_('player_content').innerHTML = latePOS('webbradio_big_475x305_' + mode, adpos1, 1, checksession);
			is_playing = true;
			fillPlayer(str, isMac);
		}
	} else {
		goContLoc('gallery.php?radio=1&mode=' + mode);
	}
}
function initPlayerMoving(mode, checksession) {
	if(!checksession) checksession = false;
	if(hasPlayerContainer()) {
		pageMode('player');
		if(!is_playing) {
			if(isMac) {//	var str = 'mac!';
				var hgt = 16;
			} else {//	var str = 'pc!';
				var hgt = 45;
			}
			var str = '';
			str += '<' + 'OBJECT ID="nnrVideoPlayer" NAME="nnrVideoPlayer" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="475" height="' + hgt + '"' + '>';
			str += '<' + 'param name="autostart"  Value="1" ' + '/>';
			str += '<' + 'param name="repeat"  Value="1" ' + '/>';
			str += '<' + 'param name="showcontrols"  Value="1" ' + '/>';
			str += '<' + 'param name="showstatusbar"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowAudioControls"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowPositionControls"  Value="0" ' + '/>';
			str += '<' + 'param name="URL"  Value="stream/' + mode + '_flytt.php?p=' + adpos3 + (checksession?'&cs=1&code=' + checksession:'') + '" /' + '>';
			str += '<' + 'embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="nnrVideoPlayer" width="475" height="' + hgt + '" autostart="1" repeat="1" src="stream/' + mode + '_flytt.php?p=' + adpos3 + (checksession?'&cs=1&code=' + checksession:'') + '" showcontrols="1" showstatusbar="1" ShowAudioControls="1" ShowPositionControls="0"' + '></' + 'embed>';		
			str += '</' + 'object' + '>';
			_('player_content').innerHTML = latePOS('webbradio_big_475x305_' + mode, adpos1, 1, checksession);
			is_playing = true;
			fillPlayer(str, isMac);
		}
	} else {
		goContLoc('gallery.php?radio=1&mode=' + mode);
	}
}
function initVipPlayer(mode, checksession, showmail) {
	if(!checksession) checksession = false;
	if(hasPlayerContainer()) {
		pageMode('player');
		if(!is_playing) {
			if(isMac) {//	var str = 'mac!';
				var hgt = 16;
			} else {//	var str = 'pc!';
				var hgt = 45;
			}
			var str = '';
			str += '<' + 'OBJECT ID="nnrVideoPlayer" NAME="nnrVideoPlayer" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="475" height="' + hgt + '"' + '>';
			str += '<' + 'param name="autostart"  Value="1" ' + '/>';
			str += '<' + 'param name="showcontrols"  Value="1" ' + '/>';
			str += '<' + 'param name="showstatusbar"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowAudioControls"  Value="1" ' + '/>';
			str += '<' + 'param name="ShowPositionControls"  Value="0" ' + '/>';
			str += '<' + 'param name="URL"  Value="stream/vip.php?showmail=' + showmail + '" ' + '/>';
			str += '<' + 'embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="nnrVideoPlayer" width="475" height="' + hgt + '" autostart="1" src="stream/' + mode + '.php?p=' + adpos3 + (checksession?'&cs=1&code=' + checksession:'') + '" showcontrols="1" showstatusbar="1" ShowAudioControls="1" ShowPositionControls="0"' + '></' + 'embed>';		
			str += '</' + 'object' + '>';
			_('player_content').innerHTML = latePOS('webbradio_big_475x305_' + mode, adpos1, 1, checksession);
			is_playing = true;
			fillPlayer(str, isMac);
		}
	}
}
function adPOS(id,pos,item,checksession) {
	if(!checksession) checksession = false;
	if(!pos) pos = ''; if(!item) item = '';
	var s = id.split('_');
	s = s[s.length-2].split('x');
	document.write('<' + 'iframe src="pos/new.php?p=' + id + '&s=' + pos + '&i=' + item + (checksession?'&cs=1&code=' + checksession:'') + '" allowtransparency="true" frameborder="0" border="0" width="' + s[0] + '" height="' + s[1] + '"' + '></' + 'iframe>');
}
function latePOS(id,pos,item,checksession) {
	if(!checksession) checksession = false;
	if(!pos) pos = ''; if(!item) item = '';
	var s = id.split('_');
	s = s[s.length-2].split('x');
	var str = '<' + 'iframe src="pos/new.php?p=' + id + '&s=' + pos + '&i=' + item + (checksession?'&cs=1&code=' + checksession:'') + '" allowtransparency="true" frameborder="0" border="0" width="' + s[0] + '" height="' + s[1] + '"' + '></' + 'iframe>';
	return str;
}
function goContLoc(url) {
	parent.cont.location.href = url;
	return false;
}
function goNavLoc(url) {
	parent.nav.location.href = url;
}
function goLoc(url) {
	document.location.href = url;
	return false;
}
function _(o) {
	return document.getElementById(o);
}
function getContentAudio(row, i, search) {
	return '<div class="item item_' + (i % 2 == 0?'odd':'even') + ' ok" onclick="goContLoc(\'audio.php?mode=' + mode + '&id=' + row[0] + '\');">' +
	'<a href="audio.php?mode=' + mode + '&id=' + row[0] + '" target="cont"><img width="68" height="68" src="objects/icon_audio.jpg"></a>' +
	'<h3><a href="audio.php?mode=' + mode + '&id=' + row[0] + '" target="cont">Ljudklipp: ' + highlight(htmlentities(row[1]), htmlentities(search)) + '</a></h3>' +
	'<div class="info_details">' + highlight(htmlentities(limit(row[2], 60)), htmlentities(search)) + '</div>' +
	'<div class="clear"></div></div>';
}
function getContentVideo(row, i, search) {
	return '<div class="item item_' + (i % 2 == 0?'odd':'even') + ' ok" onclick="goContLoc(\'video.php?mode=' + mode + '&id=' + row[0] + '\');">' +
	'<a href="video.php?mode=' + mode + '&id=' + row[0] + '" target="cont"><img width="68" height="68" src="inserts/' + mode + '/video/' + row[0] + '.jpg"></a>' +
	'<h3><a href="video.php?mode=' + mode + '&id=' + row[0] + '" target="cont">Videoklipp: ' + highlight(htmlentities(row[1]), htmlentities(search)) + '</a></h3>' +
	'<div class="info_details">' + highlight(htmlentities(limit(row[2], 60)), htmlentities(search)) + '</div>' +
	'<div class="clear"></div></div>';
}
function getContentGallery(row, i, search) {
	return '<div class="item item_' + (i % 2 == 0?'odd':'even') + ' ok" onclick="if(checkContent(\'gallery\', \'' + row[0] + '\')) goContLoc(\'gallery.php?mode=' + mode + '&id=' + row[0] + '\');">' +
	'<a href="gallery.php?mode=' + mode + '&id=' + row[0] + '" onclick="return checkContent(\'gallery\', \'' + row[0] + '\');" target="cont"><img width="68" height="68" src="inserts/' + mode + '/content/' + row[0] + '.jpg"></a>' +
	'<h3><a href="gallery.php?mode=' + mode + '&id=' + row[0] + '" onclick="return checkContent(\'gallery\', \'' + row[0] + '\');" target="cont">Bilder: ' + highlight(htmlentities(row[1]), htmlentities(search)) + '</a></h3>' +
	'<div class="info_details">' + highlight(htmlentities(limit(row[2], 60)), htmlentities(search)) + '</div>' +
	'<div class="clear"></div></div>';
}
function getContentNotfound(search) {
	return '<div class="info_msg">Inget hittades vid sökning på <strong>' + htmlentities(search) + '</strong>.</div>';
}
function getTitle(type) {
	switch(type) {
		case 'audio': return 'Ljudklipp'; break;
		case 'video': return 'Videoklipp'; break;
		case 'gallery': return 'Bilder'; break;
		case 'search': return 'Sökresultat'; break;
	}
}
function highlight(str, search) {
	return str.replace(eval('/(' + search + ')/gi'), "<span class=\"high\">$1</span>");
}
function limit(str, limit) {
	if(str.length > limit) return str.substr(0, limit) + '...'; else return str;
}
function htmlentities(texto) {
    var i, carac, letra, novo='';
    for(i = 0; i < texto.length; i++) {
        carac = texto.substr(i, 1).charCodeAt(0);
        if ((carac > 47 && carac < 58) || (carac > 62 && carac < 127)) {
            novo += texto.substr(i, 1);
        } else {
            novo += "&#" + carac + ";";
        }
    }
    return novo;
}
function setData(txt, search) {
	str = '';
	if(txt.length > 0) {
		for(var i = 0; i < txt.length; i++) {
			switch(txt[i][3]) {
				case 'video': str += getContentVideo(txt[i], i+1, search); break;
				case 'audio': str += getContentAudio(txt[i], i+1, search); break;
				case 'gallery': str += getContentGallery(txt[i], i+1, search); break;
			}
		}
	} else {
		str += getContentNotfound(search);
	}
	_('navigation_content').innerHTML = str;
	_('navigation_title').innerHTML = getTitle('search');
	delete str;
}
function getData(f) {
	postAjax('ajax.php?mode=' + f.mode.value + '&search=' + f.search.value);
	return false;
}
var xmlGet;
function postAjax(url) {
	callback_suffix = Math.random();
	url = url + (url.indexOf('?') != -1?'&':'?') + callback_suffix;
	try {
		xmlGet = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlGet = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlGet = false;
		}
	}
	if(!xmlGet && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlGet = new XMLHttpRequest();
		} catch (e) {
			xmlGet = false;
		}
	}
	if(xmlGet) {
		xmlGet.onreadystatechange = readData;
		xmlGet.open("GET", url, true);
		xmlGet.send(null);
	} else return false;
}
function readData() {
	if(xmlGet.readyState == 4 && xmlGet.status == 200) {
		txt = unescape(xmlGet.responseText);
		txt = txt.parseJSON();
		if(typeof(txt[2]) != 'undefined')
			fill(txt[0], txt[1], txt[2]);
		else
			fill(txt[0], txt[1]);
	}
}
function buySong(artist, title) {
	window.open(buy_url.replace('%a', escape(artist)).replace('%t', escape(title)), '');
}
function setRightnow(data) {
	_('rightnow_desc').innerHTML = data[0] + (data[0] == '...' || data[0] == 'Reklam'?'':' - ' + data[1]);
	if(data[0] != '...' && data[0] != 'Reklam') {
		_('rightnow_btn').disabled = false;
		_('rightnow_btn').className = 'btn_nor ok';
		_('rightnow_btn').onclick = function() { buySong(data[0], data[1]); }
	} else {
		_('rightnow_btn').className = 'btn_nor';
		_('rightnow_btn').disabled = true;
	}
	setTimeout(getRightnow, rightnow_time);
}
function setGallery(data) {
	//
	cid = data[0][0];
	_('ajax_title').innerHTML = data[0][1]
	_('ajax_count').innerHTML = data[0][3]
	_('ajax_desc').innerHTML = data[0][2];
	var str = '';
	for(var i = 0; i < data[1].length; i++) {
		str += '<div class="item"><a href="#" id="id_' + (i+1) + '" onclick="openItem(this.id);" class="link"><img id="img_' + data[1][i][0] + '" src="inserts/' + mode + '/gallery/' + cid + '/' + data[1][i][0] + '.jpg" /></a><span id="cmt_' + data[1][i][0] + '" class="obj_cmt">' + htmlentities(data[1][i][1]) + '</span></div>';
	}
	str += '<div class="clear"></div>';
	_('gallery_list').innerHTML = str;
	delete str;
}
function fill(id, data, search) {
	switch(id) {
		case 'rightnow':
			setRightnow(data);	
		break;
		case 'search':
			setData(data, search);
		break;
		case 'gallery':
			setGallery(data);
		break;
	}
}
function hasPlayerContainer() {
	//if(typeof(parent.cont.has_player) == 'boolean' && parent.cont.has_player) return true; else return false;
	return has_player;
}
function checkPlayer(mode) {
	if(parent && parent.cont && parent.cont.has_player) {
		parent.cont.initPlayer(mode);
	} else {
		goContLoc('gallery.php?radio=1&mode=' + mode);
	}
}
/* BETA */
function checkPlayer2(mode) {
	if(parent && parent.cont && parent.cont.has_player) {
		parent.cont.initPlayer(mode);
	} else {
		goContLoc('gallery_ip_check.php?radio=1&mode=' + mode);
	}
}
/* BETA */
function checkTV(mode) {
	if(parent && parent.cont) {
		goContLoc('tv.php?mode=' + mode);
	}
}
function ShowPlayer() {
	_('gallery_menu').style.display = 'none';
	_('hide_player_btn').style.display = 'block';
	_('show_player_btn').style.display = 'none';
	//_('player_object').style.visibility = 'visible';
	_('player_object').className = 'player_' + (isMac?'ismac':'normal');
}
function HidePlayer() {
	_('hide_player_btn').style.display = 'none';
	_('show_player_btn').style.display = 'block';
	_('gallery_menu').style.display = 'block';
	//_('player_object').style.visibility = 'hidden';
	_('player_object').className = 'player_' + (isMac?'ismac':'normal') + '_hidden';
}
function pageMode(type) {
	ModalClose();
	switch(type) {
		case 'gallery':
			if(!got_bw) {
				_('gallery_between').innerHTML = latePOS('gallery_big_475x305_' + mode);
				got_bw = true;
			}
			_('gallery_menu').style.display = 'block';
			_('gallery_page').style.display = 'block';
			_('player_page').style.display = 'none';
			//_('player_object').style.visibility = 'hidden';
			_('player_object').className = 'player_' + (isMac?'ismac':'normal') + '_hidden';
			if(is_playing) {
				_('show_player_btn').style.display = 'block';
				_('tips_btn').className = 'btn_ok ok visible_player';
			}
		break;
		case 'player':
			_('hide_player_btn').style.display = 'none';
			_('show_player_btn').style.display = 'none';
			//_('player_object').style.visibility = 'visible';
			_('player_object').className = 'player_' + (isMac?'ismac':'normal');
			_('gallery_page').style.display = 'none';
			_('player_page').style.display = 'block';
		break;
	}
	page_mode = type;
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}
function gotoItem(e) {
	return openItem(this.id);
}
function selItem(obj) {
	return openItem(obj.id);
}
function openItem(id) {
	_('tips_btn').disabled = true;
	_('gallery_list').style.display = 'none'; //ffMACfix
	var tid = id.split('_');
	tid.shift();
	thid = tid.shift();
	pid = _(id).childNodes[0].id.split('_')[1];
	delete tid;
	ModalOpen(1);
	var cmttxt = _('cmt_' + pid).innerHTML;
	Modal('<div id="obody">' + (cmttxt.length > 0?'<div id="ocmt" class="ocmt">' + cmttxt + '</div>':'') + '<a href="#" onclick="ModalClose();"><img width="475" height="305" src="' + content_url + mode + '/gallery/' + cid + '/' + pid + '-full.jpg" id="look_img" /></a></div>');
	fix('back', thid);
	fix('forth', thid);
	bannerOpen();
	return false;
}
function fix(type, gid) {
	if(type == 'back') {
		bid = parseInt(gid, 10)-1;
		if(bid > 0) {
			_(type + '_btn').style.display = 'block';
		} else {
			bid = false;
			_(type + '_btn').style.display = 'none';
		}
	} else if(type == 'forth') {
		nid = parseInt(gid, 10)+1;
		if(_('id_' + nid)) {
			_(type + '_btn').style.display = 'block';
		} else {
			nid = false;
			_(type + '_btn').style.display = 'none';
		}
	}
}
function goBack() {
	if(bid) openItem('id_' + bid);
}
function goForth() {
	if(nid) openItem('id_' + nid);
}
function galleryOpen() {
	_('gallery_between').style.display = 'none';
	_('tips_btn').disabled = false;
	_('tips_btn').onclick = function() { tipsCatImg(pid); }
	ModalOpen(0);
}
function bannerOpen(id, pid) {
	_('gallery_between').style.display = 'block';
	setTimeout(galleryOpen, 200);
}
function initItems() {
	var elms = getElementsByClassName('link');
	for(var i = 0; i < elms.length; i++) {
		elms[i].onclick = gotoItem;
	}
}
	function Modal(txt) {
		_('ObjOverbody').innerHTML = txt;
	}
	function ModalOpen(hidden) {
		if(!_('ObjOverbody')) {
			overbody = document.createElement('div');
			document.body.appendChild(overbody);
			overbody.id = 'ObjOverbody';
			if(hidden) {
				_('ObjOverbody').style.display = 'none';
			}
		} else {
			if(!hidden) {
				_('ObjOverbody').style.display = 'block';
			}
		}
	}
	function ModalClose() {
		if(_('ObjOverbody')) {
			_('ObjOverbody').style.display = 'none';
			_('ObjOverbody').innerHTML = '';
		}
		_('tips_btn').onclick = tipsCat;
		_('gallery_list').style.display = 'block'; //ffMACfix
		_('back_btn').style.display = 'none';
		_('forth_btn').style.display = 'none';
	}
function tipsCat() {
	goNavLoc('tips.php?mode=' + mode + '&id=' + cid);
}
function tipsCatImg(id) {
	goNavLoc('tips.php?mode=' + mode + '&id=' + cid + '&cid=' + id);
}
