// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var progressbar='<div align="center"><img src="/images/snake_loader.gif" alt="Content wird geladen"\></div>';
var progressbar_big='<div align="center"><img src="/images/loader.gif" alt="Content wird geladen"\></div>';

function pt(dom_id)
{
	new Effect.toggle(dom_id,'appear',{afterFinish:function(){ }});
}

function accept_asin(asin, band_id)
{
	$('handle_'+asin).innerHTML=progressbar;
	
	new Ajax.Updater('cd_' + asin, '/admin/cds/new_ajax/' + asin+'/?band_id='+band_id, {
		method: 'get',
		onSuccess: function(){
			new Effect.Highlight('handle_'+asin);
		},
		onFailure: function(){
			alert('määäh :( Die CD konnte nicht aufgenommen werden, frag mal Dennis warum...');
		}
	})
}


function deny_asin(asin, band_id)
{
	$('handle_'+asin).innerHTML=progressbar;
	
	new Ajax.Updater('cd_' + asin, '/admin/cds/deny/' + asin+'/?band_id='+band_id, {
		method: 'get',
		onSuccess: function(){
			new Effect.Highlight('handle_'+asin);
		},
		onFailure: function(){
			alert('määäh :( Die CD konnte nicht abgelehnt werden, frag mal Dennis warum...');
		}
	})
}



function add_myvideo(video_key, band_id)
{
	$('handle_'+video_key).innerHTML=progressbar;
	
	new Ajax.Updater('video_' + video_key, '/admin/videos/addvideo/' + video_key + '?provider_id=1' + '&band_id='+  band_id, {
		method: 'get',
		onSuccess: function(){
			new Effect.Highlight('video_'+video_key);
		},
		onFailure: function(){
			alert('määäh :( Das Video konnte nicht aufgenommen werden, frag mal Dennis warum...');
		}
	})
}

function add_youtube(video_key, band_id)
{
	$('handle_'+video_key).innerHTML=progressbar;
	
	new Ajax.Updater('video_' + video_key, '/admin/videos/new_ajax/' + video_key + '?provider_id=2' + '&band_id='+  band_id, {
		method: 'get',
		onSuccess: function(){
			new Effect.Highlight('video_'+video_key);
		},
		onFailure: function(){
			alert('määäh :( Das Video konnte nicht aufgenommen werden, frag mal Dennis warum...');
		}
	})
}


function textCounter(field,cntfield,maxlimit) {
field=$(field);
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
$(cntfield).innerHTML = maxlimit - field.value.length;
}

function comment_page(page, model, id)
{
	if(!$('comment_frame'))
	  alert('DIV container comment_frame nicht vorhanden');
	  
	var height=$('comment_frame').getHeight();	  
	$('comment_frame').innerHTML=progressbar_big;	
	$('comment_frame').setStyle({height: height+'px'})
	new Ajax.Updater('comment_frame', '/comments/list/' + id + '/?model=' + model + '&page=' + page , {
		method: 'get', onComplete: function(){
			$('comment_frame').setStyle({height: 'auto'})
		}
	})
	
	
}


var videoMover;
var videoProviders = {	
	1 : '<object width="470" height="406" type="application/x-shockwave-flash" data="http://www.myvideo.de/movie/%ID%"><param name="movie" value="http://www.myvideo.de/movie/%ID%"></param></object>',
	2 : '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/%ID%&autoplay=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/%ID%&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>',
	3 : '<embed width="600" height="500" flashvars="height=500&width=600&file=/playlists/user/&backcolor=0xDDE7F3&frontcolor=0x000000&overstretch=true&lightcolor=0xcccccc&logo=/images/playerbg.png" allowfullscreen="true" allowscriptaccess="always" src="/player/mediaplayer.swf"/>'
}

function show_video(provider,id){
	
	if(videoMover)
		close_video();
		
	if (id) {
		document.getElementsByClassName('justlistening').each(function(el){
			el.removeClassName('justlistening')
		})
		
		$('video_' + id).addClassName('justlistening');
	}
	

	var div = document.createElement("div");
	div.id        = "video";	
	div.innerHTML = '<a href="javascript:close_video()" id="video-close"></a>' + videoProviders[provider].replace(/%ID%/g,id);
		
	document.body.appendChild(div);
		
	move_video(true);
	
	videoMover = window.setInterval("move_video(true)",40);
}


function move_video(immediately){
	var offset = offset = (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight) / 2 - 200;
	offset += window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop;
	
	var style = $('video').style;
	var top = style.top ? parseInt(style.top) : 0;
	
	if(immediately){
		style.top = offset + 'px'
	}else if(top != offset){
		style.top = offset - ((offset-top)/2).ceil() + 'px';
	}
}

function close_video(){
	window.clearInterval(videoMover);
	videoMover = null;
	$("video").remove();
}

function RateModel(element, memo) 
{
  new Ajax.Request('/ratings/save', {
    parameters: memo,
    onComplete: function() {  }
  })
}

function add_upload(band_id, gallery_id, url)
{
	if(!url)
	{
		url='admin';
	}
		 
	new Ajax.Updater('uploads', '/'+url+'/pictures/new_ajax?band_id='+band_id + '&gallery_id='+ gallery_id , {
		method: 'get',
		insertion: 'bottom'
		})
}

function edit_track(track_id)
{
	track_dom='edit_track_'+track_id	
	
	new Ajax.Updater(track_dom, '/admin/tracks/edit_ajax/' + track_id, {
		method: 'get'
	});
}

function delete_track(track_id){
	track_dom='edit_track_'+track_id
	new Ajax.Updater(track_dom, '/admin/tracks/delete_ajax/' + track_id, {
		method: 'get'
	});
	
}

function save_track(track_id)
{
	track_dom='edit_track_'+track_id
	track_form='track_form_'+track_id
	
	new Ajax.Updater(track_dom, '/admin/tracks/save_ajax/' + track_id, {
		method: 'get',
		parameters: $(track_form).serialize()
	});
}

function add_track(cd_id)
{
	new Ajax.Updater('append_track', '/admin/tracks/new_ajax/'+cd_id, {
		method: 'get',
		insertion: 'bottom'
		})
}


function create_video_by_url(band_id)
{
	url=$('video_url').value
	
	new Ajax.Updater('url_video', '/admin/videos/new_ajax?provider_id=2' + '&band_id='+  band_id +'&url='+url, {
		method: 'get'
	})
}

function add_to_playlist(video_id)
{
	$('add_to_playlist').innerHTML=progressbar;
	
	new Ajax.Updater('add_to_playlist', '/playlists/new_ajax?video_id=' + video_id, {
		method: 'get'
	})
}


function check_username()
{
	var username=$('user_name').value;
	
	new Ajax.Updater('username_available', '/users/check_username/?value='+username, {method: 'get'})
	
}

function getFavorId(text, li) {
    $('favorite_favorable_id').value=li.id;
}

function add_to_favorite(model, id)
{
	new Ajax.Updater('add_to_favorite', '/favorites/new_ajax?favorite[favorable_type]='+model+'&favorite[favorable_id]='+id, {method: 'get'});	
}

function add_gallery()
{
	
	new Ajax.Updater('gallery_box', '/usergallery/new', {method: 'get'});
	new Effect.Appear('gallery_box');
	$('gallery_box').setStyle('position: absolute');
}

function closewin(dom_id)
{
	new Effect.Fade(dom_id);
}

function highlight(dom_id)
{
	new Effect.Highlight(dom_id);
}

function newmail()
{
	win = new Window({className: "alphacube", title: "Neue Nachricht schreiben", width:500, height:400, destroyOnClose: true, recenterAuto:false});
	win.setAjaxContent('/messages/new_ajax', {method: 'get'});
	win.showCenter();
}

function new_mail(user_id, conversation_id)
{
	win = new Window({className: "alphacube", title: "Neue Nachricht schreiben", width:500, height:400, destroyOnClose: true, recenterAuto:false});
	win.setAjaxContent('/messages/new_ajax/'+user_id+'/?conversation_id='+conversation_id, {method: 'get'});
	win.showCenter();
}

function save_email(form)
{
	parameters=form.serialize();
	$('mail_res').innerHTML=progressbar_big;
	
	new Ajax.Updater('mail_res', '/messages/save_ajax/', {method: 'get', parameters: parameters})
}

var checkflag = "false";

function check(field) {
if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  return " keine markieren"; }
else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
  return " alle markieren"; }
}


function new_buddy(user_id){
	win = new Window({className: "alphacube", title: "Freunschaftsanfrage", width:500, height:400, destroyOnClose: true, recenterAuto:false});
	win.setAjaxContent('/users/new_buddy/'+user_id, {method: 'get'});
	win.showCenter();
}

function send_mail_to_mods()
{
	new Ajax.Updater('tousers', '/admin/users/mod_mail/', {
		method: 'get'
	});
}

var checked = false;

function checkboxes()
{

    var inputs = document.getElementsByTagName('input');
    var checkboxes = [];
    for (var i = 0; i < inputs.length; i++) {

          if (inputs[i].type == 'checkbox') {
		  	if(!checked)
			{
			  inputs[i].checked =true;	
			  
			}
			else
			{
				inputs[i].checked =false;
				
			}
		}
  
}
 if(!checked)
   {
   	checked = true;
   }
   else
   {
   	checked = false;
   }
}


function unmask()
{
//	var masked=$('main_frame').getElementsByClassName('aff');
//	
//	masked.each(function(e){
//		var params= e.className.split(" ");		
//		
//		e.href='/angebot/'+params[1]+'/'+params[2];
//		e.target='_blank';
//		
//	})
}
