var ___video;
var ___mode = 0;
var ___play_action = "Play";

var super_id = '';

var base_dir = '/video';
var videoplaycount_url = base_dir + '/playcnt.html';
var comments_url = base_dir + '/ajax_comments.html';
var voting_url = base_dir + '/ajax/vote.html';
var ad_url = base_dir + '/ajax/ads.html';


var getFlashVideo = function(){
	if(document.embeds['flash2']){
		return document.embeds['flash2'];
	}else{
		//IE
		return window['flash2'];
	}
}

var playerObj = '<object '
				+'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '
				+'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" '
				+'width="480" name="flash2" height="400" '
				+'id="player_asd" '
				+'align="middle">'
				+'<param name="allowScriptAccess" value="sameDomain" />'
				+'<param name="movie" value="' + base_dir + '/flash/flash2.swf" />'
				+'<param name="quality" value="high" />'
				+'<param name="bgcolor" value="#ffffff" />'
				+'<embed src="' + base_dir + '/flash/flash2.swf" quality="high" '
				+'bgcolor="#ffffff" width="480" height="400" '
				+'name="flash2" align="middle" '
				+'allowScriptAccess="sameDomain" '
				+'type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';

function LetaVideoPlayer(
		player,
		title,
		published,
		views,
		length,
		rating,
		descr_short,
		descr,
		tags,
		embedcode,
		sendafriend,
		commentico,
		favoritesico,
		rateico,
		comments,
		defplaylistbtn,
		myplaylistbtn,
		playlistc,
		autoplay,
		leta_user_id,
		has_leta_video,
		show_ads
		){
	//old aglength == 19||18
	
	if(autoplay){
		___play_action = "Play";
	}else{
		___play_action = "Pause";
	}
	var defplaylist = null;
	var myplaylist = null;
	
	var _user_id = leta_user_id;
	var _has_leta_video = has_leta_video;
	var _show_ads = show_ads || false;
	
	var download_element = null;
	
	if ( _has_leta_video ) {
		//create_download element
		var download_element = jQuery('<a id="download_link">Saglabāt video</a>');
		jQuery(embedcode).parent().parent().append(download_element);		
	} else {
		jQuery(embedcode).parent().parent().remove();
		//embedcode.parentNode.parentNode.parentNode.removeChild(embedcode.parentNode.parentNode);
	}
	if ( _user_id == "" || _user_id == "0" ) {
		//tags.parentNode.removeChild(tags);
		jQuery(tags).remove();
		tags = null;
	}
	
	var new_design = true;
	
	var playcnt = 0;
	var ad_played = false;
	var adinterval = 1;
	
		
	this.setPlaylist = function(pls,type){
		if ( type == 'my' ) {
			myplaylist = pls;
		} else {
			defplaylist = pls;
		}
		plpos = 0;
	}
	var playlist = [];
	var defplpos = -1;
	var myplpos = -1;
	var curpos = -1;
	
	this.startPlay = function(play_adv_before){
		playlist = defplaylist;
		curpos = 0;
		playNextVideo(false,play_adv_before);
	}

	this.setPos = function(pos){
		curpos = pos;
	}
	
	var __inst = this;
	

	this.playThis = function(id){
		
		super_id = id;
		
		___play_action = "Play";
		
		asyncRequest('GET',base_dir + '/ajax/video_with_related_list.html?xml_id='+id,function(resp){
					defplaylist = eval('('+resp.responseText+')');
					__inst.startPlay(false);
				},null);
	}
	
	this.play = function(){
		if (comments.style.display == 'block'){
			return;
		}
		return playNextVideo(false,false);
	}

	this.next = function() {
		if ( _show_ads ) {
			if ( ad_played ) {
				return playNextVideo(false,true);
			} else {
				return;
			}
		} else {
			return;
		}		
	}
	
	var playNextVideo = function(from_listplay,play_adv_before){
		
		if ( !ad_played && _show_ads  ) {
			return playAdvertising(from_listplay,playlist[curpos].id);
		} else {
			ad_played = false;
		}
		ad_playing = false;
		if (playlist.length == 0) {
			return playNone(from_listplay);
		}
		//load video data onto every bloody possible container
		___video = playlist[curpos].file;
		___mode = 0;
		___action = "Play";
		
		if ( !from_listplay ) {
			player.innerHTML = playerObj;			
		} else {
			//player wasn't redrawn
			try{
		
				getFlashVideo().setMode(0);
				getFlashVideo().setVideo(___video);
				getFlashVideo().playVideo();
			
			}catch(e){
			 	//pofig...
			 	
			}
		}
		jQuery(title).html(playlist[curpos].title);
		
		super_id = playlist[curpos].id;
		jQuery("#super_id").html(super_id);
		jQuery("#video_link").html('<a href=\"http://video.leta.lv/video/Publicitate/?xml_id='+super_id+'\">http://video.leta.lv/video/Publicitate/?xml_id='+super_id+'</a>');        
		jQuery(published).html(playlist[curpos].published);
		jQuery(length).html("");
		jQuery(descr_short).html(playlist[curpos].descr_short);
		jQuery(descr_short).hide();
		jQuery(descr).show();
		
		jQuery(descr).html(playlist[curpos].descr);
		//tags foreach tag create child element to tags
		if ( tags ) {
			jQuery(tags).html('Atslēgvārdi: ');
			jQuery.each(playlist[curpos].tags,function(){
				jQuery(tags).append('<a href="'+base_dir+ '/tag/'+ this +'/">'+this+'</a>');
			});
		}
		if ( _has_leta_video ) {
			jQuery(embedcode).val(playlist[curpos].embedcode);
		}
		
		if ( download_element.length ) {
			download_element[0].href = playlist[curpos].file;
		}
		
		//comments.innnerHTML = playlist[curpos].comments;
		super_id = playlist[curpos].id;
		jQuery("#super_id").html(super_id);
		updatePlaycount(playlist[curpos].id);
		var oldcurpos = curpos;

		curpos++;
		if ( curpos==playlist.length ) {
			curpos = 0;
		}	
	}
	
	this.setAdPlayed = function(ap){
		ad_played = ap;
	}
	
	var ad_playing = false;
	
	this.getAdPlaying = function(){
		return ad_playing;
	}
	
	var playAdvertising = function(from_listplay,video_id){
		
		super_id = video_id;
		jQuery("#super_id").html(super_id);
		
		asyncRequest('GET',ad_url+"?xml_id="+video_id,function(resp){
			ad = eval('('+resp.responseText+')');
			if(ad.id == -1){
				//no ad found
				ad_played = true;
				return playNextVideo(from_listplay);
			}
			___video = ad.file;
			___mode = 1; // disable scrollbar
			
			if ( !from_listplay ) {
				player.innerHTML = playerObj;
			}else{
				try{
				
					getFlashVideo().setMode(1);
					getFlashVideo().setVideo(___video);
					getFlashVideo().playVideo();
				
				}catch(e){
				 	//pofig...
				}
			}
			jQuery(title).html(playlist[curpos].title);
			//title.innerHTML = ad.title;
			jQuery(published).html(playlist[curpos].published);
			views.innerHTML = "";
			length.innerHTML = "";
			rating.innerHTML = "";
			embedcode.value = "";
			//descr_short.innerHTML = ad.descr_short;
			jQuery(descr).html("Sižets \""+playlist[curpos].title+"\" būs redzams pēc šīs reklāmas");
			updatePlaycount(ad.id);				
			ad_playing = true;
		
					
		},null,true);
		//___video = "_loading_ad";
		
	}
	
	var playNone = function(from_listplay){
		___video = "none";
		___mode = 1; // disable scrollbar 
		if(!from_listplay){
			player.innerHTML = playerObj;
		}else{
			//player wasn't redrawn
		}
		title.innerHTML = "";
		published.innerHTML = "";
		views.innerHTML = "";
		length.innerHTML = "";
		rating.innerHTML = "";
		embedcode.value = "";
		descr_short.innerHTML = "";
		descr.innerHTML = "";
	}
	
	var updatePlaycount = function(id){
		asyncRequest("POST",videoplaycount_url,function(resp){},"id="+id);
	}

	this.showComments = function(txt){
		comments.innerHTML = txt;
		comments.style.display = 'block';
	}

	this.hideComments = function(){
		comments.style.display = 'none';
	}
	
	this.showPopup = function(popup,body){
		if(body) { popup.innerHTML = body; }
		popup.style.display = 'block';
	}

	this.hidePopup = function(popup){
		popup.style.display = 'none';
	}
	

	return this;
}

var showVoting = function(id,rating){
	asyncRequest("GET",voting_url + "?id="+id+"&rating="+rating,function(resp){
		document.getElementById('video_rating').innerHTML = resp.responseText;	
	},null);
}

function doPlay(){	// ----- Funkcija kas piesaka pleijerim spÄlÄt jaunu failu, "ob" ir faila nosaukums, "act" ir darbÄ«bas ar padoto failu- Play, Stop
	return ___video;
}

function listPlay(){
	//player.next();
	return ___video;
}

function VideoComplete(){
	___play_action = "Stop";
	if ( player.getAdPlaying() ) {
		player.setAdPlayed(true);
	}
	player.next();
	if(___video == "_ad_loading"){
		getFlashVideo().stopVideo();
		getFlashVideo().setVideo("_ad_loading");
	}
}

function getMode() { //Function to define player work mode, ex: with scrollbar or without
	return ___mode;
}

function playerSkin(){
	return 'http://video.leta.lv/video/flash/SteelExternalAll.swf';
}


function doAction(){
	return ___play_action; //___action;
}


