// JavaScript Document
var backstage_url = document.URL;
var backstage_url_array = backstage_url.split("#");
var backstage_url = backstage_url_array[0];	
var wordpress_dir = "../";
var wp_theme_dir = backstage_url +"/wordpress/wp-content/themes/backstageradio/";

var getHashValue = function() {
	var arr = window.location.hash.split("#");
	var hasValue = arr[1];

	//sets default
	if (typeof hasValue == "undefined") {
		return false;
	}
	
	/*
	var hashLen = hasValue.indexOf("?");
	if(hashLen>0){
		hasValue = hasValue.substring(0,hashLen);
	}
	*/
	
	//language detection:
	var language_set_in_url = 0;
	var parameters = hasValue.split("&");
	for(var i in parameters) {
		parameter = parameters[i].split("=");
		if (parameter[0] == "lang") {
			var language_set_in_url = 1;
		}	
	}
	
	if (language_set_in_url != 1) {
		var lang_cookie = getLangCookie();
		var hasValue = hasValue+'&lang='+lang_cookie;
	}
	return hasValue;
};

/*-------------------- MAIN FUNCTIONS ----------------*/

function hideLinear() {
	$(self).height($(self).height());
	$('#linear').animate({ left: "-520px"},200);
}

function showLinear() {
	$( 'html, body' ).animate( { scrollTop: 50 }, 40 );
	$('#linear').animate({ left: "0px"},200, function() {
		$("#middle").empty();
		getSpacer();
	});
}

function expand() {
	showLinear();
}

function hideComments() {
	$('#comment_section').hide();
	$("#submit_loading").hide();
}

function showComments() {
	$('#comment_section').show();
}

function setLocation(param) {
	lastHash = param;
	location.replace('#'+ param +'');
}

function getBlogContent(get_parameters) {
	var lang_cookie = getLangCookie();
	var load_url = wordpress_dir+'?'+get_parameters+'&lang='+lang_cookie+'&+ignoreMe='+ new Date().getTime();
	var parameters = get_parameters.split("&");
	for(var i in parameters) {
		parameter = parameters[i].split("=");
		if (parameter[0] == "lang") {
			var load_url = wordpress_dir+'?'+get_parameters+'&+ignoreMe='+ new Date().getTime();
			setCookie('temp_lang', parameter[1], 1)
		}	
	}
	$("#middle").load(load_url);
	setLocation(get_parameters);
	hideLinear();
	hideComments();
}

function getLangCookie() {
	if (typeof getCookie('temp_lang') != 'undefined') {
		var lang_cookie = getCookie('temp_lang');
	}
	else {
		var lang_cookie = getCookie('qtrans_lang');
	}
	return lang_cookie;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getSpacer() {
	$("#middle").load( backstage_url+'?page_id=1016'+'&+ignoreMe='+ new Date().getTime() );
}

function getPopularDjs() {
	$("#middle").load( backstage_url+'ajax/get_popular_djs.php' );
	setLocation("");
	hideLinear();
}

function getDJsupport(band_name) {
	$("#middle").load( backstage_url+'ajax/get_popular_djs_by_artist.php?band='+band_name );
	setLocation("");
	hideLinear();
}

function getDJchoice(dj_name) {
	$("#middle").load( backstage_url+'ajax/get_dj_playlist.php?dj='+dj_name );
	setLocation("");
	hideLinear();
}

function popoutRadioPlayer() {
	window.open(  backstage_url+'radioplayer.html', 'Backstageradio_player', 'width=300,height=100,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0' ) ;
}

function popoutRadioPlayerForLinks() {
	thisMovie("linearplayer").mute();
	window.open( backstage_url+'radioplayer.html', 'Backstageradio_player', 'width=300,height=100,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0' ) ;
}
	 
function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		var ua = navigator.userAgent;
    	var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    	if (re.exec(ua) != null) {
      		ie_version = parseFloat( RegExp.$1 );
  		}
		if (ie_version >= "9") {
			return document[movieName];
		}
		else {
			return window[movieName];
		}
	}
	else {
		return document[movieName];
    }
}

function mx3IframeMute() {
	thisMovie("linearplayer").mute();
}

function openMx3Player(mx3_id) {
	thisMovie("linearplayer").mute();
	mx3_id = mx3_id;
	window.open( 'http://www.mx3.ch/playlist/player?xml=/single/listen/'+mx3_id, 'Mx3_player', 'width=350,height=360,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0' );
}

function openTop10cube() {
	thisMovie("linearplayer").mute();
	target = "cube";
	window.open( backstage_url+'cube.html', 'Backstageradio_Top10', 'width=324,height=324,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0' );
}

function openCreditsFAQ(get_parameters) {	
	window.open( wordpress_dir+'?'+get_parameters+'', 'Backstageradio', 'width=480,height=590,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=0' );
}

function openWinPromotion(get_parameters) {	
	window.open( wordpress_dir+'?'+get_parameters+'', 'Backstageradio', 'width=480,height=650,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=0' );
}

function openWinPromotionDE() {	
	window.open( wordpress_dir+'?page_id=2339&lang=de', 'Backstageradio', 'width=480,height=650,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=0' );
}

function openWinPromotionFR() {	
	window.open( wordpress_dir+'?page_id=2339&lang=fr', 'Backstageradio', 'width=480,height=650,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=0' );
}

playerPlaying = 0;
function miniPlayerPause(mx3_id) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		playerPlaying = playerPlaying - 1;
		if(playerPlaying == 0) {
			thisMovie("linearplayer").unmute();
		}
	}
	else {
		thisMovie("linearplayer").unmute();
	}
}

function miniPlayerPlay(mx3_id) {
	thisMovie("linearplayer").mute();
	if (navigator.appName.indexOf("Microsoft") != -1) {
		playerPlaying = playerPlaying + 1;
    }
	else {
		for(x in document.getElementsByName("nanoplayer")) {
       		document.getElementsByName("nanoplayer")[x].pausenano(mx3_id);
    	}
	}
}


// IP RADIO OVERLAY HANDLING:

function muteRadioStream() {
	thisMovie("linearplayer").mute();
}

function unmuteRadioStream() {
	thisMovie("linearplayer").unmute();
}





function getNanoPlayerWithAjax(mx3_song_id) {
	$.get( wordpress_dir +'/?page_id=1816&mx3_song_id='+ mx3_song_id, function(data) {
		$('#'+ mx3_song_id +'').empty();
		$('#'+ mx3_song_id +'').append(data);
	});
	miniPlayerPlay(mx3_song_id);
}

function getElementsByClassName(class_name)
      {
        var all_obj,ret_obj=new Array(),j=0,teststr;

        if(document.all)all_obj=document.all;
        else if(document.getElementsByTagName && !document.all)
          all_obj=document.getElementsByTagName("*");

        for(i=0;i<all_obj.length;i++)
        {
          if(all_obj[i].className.indexOf(class_name)!=-1)
          {
            teststr=","+all_obj[i].className.split(" ").join(",")+",";
            if(teststr.indexOf(","+class_name+",")!=-1)
            {
              ret_obj[j]=all_obj[i];
              j++;
            }
          }
        }
        return ret_obj;
      }
/*------------------------- INIT ----------------- */


function navTo(urlVars) {
	if (urlVars === false) {
		//get 8x15 on start:
		window.setTimeout("getBlogContent('cat=6')", 1000);
		
	}
	else {
		//getBlogContent(urlVars);
		$("#middle").load(''+backstage_url+'?'+urlVars+'&+ignoreMe='+ new Date().getTime());
		
		hideLinear();
		hideComments();
	}
}

// Nanoplayer Facebook-Sharing:
function shareSongOnFB(artist, title, mx3SongID, imgsrc, href, extSwfLink, description){
	// No description in IE (= prevent error in FB pop up window):
	/*if (navigator.appName.indexOf("Microsoft") != -1) {
		var description = '';
	}
	*/
		FB.ui(
			{
			method: 'stream.publish',
			display: 'popup',
			attachment: {
				name: artist +' - '+ title,
				caption: 'backstageradio.ch',
				description: (description),
				href: href,
				media: [{
					"type": "flash", 
					"swfsrc": "http://www.backstageradio.ch/wordpress/wp-content/themes/backstageradio/nano_player/nanoplayer.swf?id="+ mx3SongID +"&color=0xffcc00&autoplay=true&ext="+ extSwfLink +"&share=http://www.backstageradio.ch", 
					"imgsrc": imgsrc, 
					"width": "80", 
					"height": "80",
					"expanded_width": "80", 
					"expanded_height": "80"
				}]
			},
			action_links: [
				{ text: 'Become a Radio DJ', href: 'http://www.backstageradio.ch/' }
			],
			user_prompt_message: ''
		},
		function(response) {
			if (response && response.post_id) {
				var shared_html = '<img src="'+ wp_theme_dir +'images/fb_sharing_icon.png" border="0" width="12" height="12" /> Shared!'
				$('#'+ mx3SongID +'').empty();
				$('#'+ mx3SongID +'').append(shared_html);
			}
		});
}

// do when document is ready:
$(document).ready(function(){
	var urlVars = getHashValue();
	navTo(urlVars);	
	
	// enable hiding/showing linear onClick
	$('#hide').click(function() {
		hideLinear();
	});
	$('#backstageradio_logo').click(function() {
		showLinear();
	});
	
	// initialize Facebook App:
	window.fbAsyncInit = function() {
		if (backstage_url == 'http://www.backstageradio.ch/') {
			FB.init({appId: '194482473899008', status: true, cookie: true, xfbml: true});
 		}
		else {
			FB.init({appId: '121258154613742', status: true, cookie: true, xfbml: true});
		}
	
		/* All the events registered */
    	FB.Event.subscribe('auth.login', function(response) {
			// do something with response
    		login();
    	});
		FB.Event.subscribe('auth.logout', function(response) {
			// do something with response
			logout();
		});
	};
	(function() {
		var e = document.createElement('script');
			e.type = 'text/javascript';
			e.src = document.location.protocol +
				'//connect.facebook.net/en_US/all.js';
			e.async = true;
			document.getElementById('fb-root').appendChild(e);
			//fb-root is in header.php
	}());

	// this javascript must be available after every ajaxRequests (middle contend):
	$('#middle').ajaxComplete(function() {
		
		var NewUrlVars = getHashValue();
		
		// Block default behaviour of blog links:
		$('a[href^="'+backstage_url+'?"]').unbind('click').click(function(event){										  
			var url = this.href;
			var url_array = url.split("?");
			var get_parameters = url_array[1];									  
			
			if (get_parameters != "theme_view=mobile&wptouch_redirect=www.backstageradio.ch/") {
				event.preventDefault();
				getBlogContent(get_parameters);
			}
		});
		
		hideComments();
		
		$(".comment_show_hide").click(function (event) {
			event.preventDefault();
			$("#comment_section").toggle();
		});
		
		
		$('.mx3_iframe').click(function(){
			mx3IframeMute();
		});
		
		//ajax submit for comment form:
		$("#submit_comment").click(function(){
			$("#submit_comment").attr("disabled", "disabled"); // To disable
			$(".error").hide();
			var hasError = false;
			
			//var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			var author_value = $("#author").val();
			var comment_value = $("#comment").val();
			var agb_state = $('#agb_checkbox').attr('checked');
			var comment_post_ID = $("#comment_post_ID").val();
			var cat_id = $("#cat_id").val();
			var paging = $("#paging").val();
			var nonce_field_value = $("#_bsr_nonce").val();

			if(author_value == '') {
				$(".comment_form_error").empty();
				$("#author").after('<div class="comment_form_error">Please enter your name.</div>');
				hasError = true;
				$("#submit_comment").removeAttr("disabled"); // To enable
			}
			else if(comment_value == '') {
				$(".comment_form_error").empty();
				$("#comment").after('<div class="comment_form_error">Please enter your comment.</div>');
				hasError = true;
				$("#submit_comment").removeAttr("disabled"); // To enable
			}
			else if(agb_state === false) {
				$(".comment_form_error").empty();
				$("#agb_checkbox").after('<div class="comment_form_error">Please read the Terms and Conditions.</div>');
				hasError = true;
				$("#submit_comment").removeAttr("disabled"); // To enable
			}
		
			if(hasError == false) {
				$("#submit_loading").show();
				$.post( backstage_url+'wordpress/wp-comments-post.php', { author: author_value, comment: comment_value, comment_post_ID: comment_post_ID, _bsr_nonce: nonce_field_value },   
					   
				function(){
					// alert("Data Loaded: " + data);
					getBlogContent(NewUrlVars);
				});
		
			}
			return false;
		});
		
		//ajax submit history
		$("#submit_history").click(function(){
											
			$(".error").hide();
			var hasError = false;
			//var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			var date = $("#datepicker").val();
			var DateHour = $("#DateHour").val();
			var DateMinute = $("#DateMinute").val();
			var nonce_field_value = $("#_bsr_playlist_nonce").val();
			if(date == '') {
				hasError = true;
			}
			
			if(hasError === false) {
				DateMinute = Number(DateMinute)+5;
				if(DateMinute.toString().length < 2) {
					DateMinute = "0"+DateMinute;
				}
				if(DateHour.toString().length < 2) {
					DateHour = "0"+DateHour;
				}
				var d = date.replace(new RegExp("/","g"), "-");
				d += "+"+DateHour;
				d += ":"+DateMinute;
				d += ":00";
				d = encodeURI(d);
				
				getBlogContent( 'page_id=1540&datetime='+ d +'&_bsr_playlist_nonce=' + nonce_field_value )
			}
			return false;
		});
		
		//fancybox functions:
		jQuery.noConflict();
		// iefix
		jQuery(function(){
		jQuery.fn.getTitle = function() {
			var arr = jQuery("a.fancybox");
			jQuery.each(arr, function() {
				var title = jQuery(this).children("img").attr("title");
				jQuery(this).attr('title',title);
			});
		};

		// Supported file extensions
		var thumbnails = 'a:has(img)[href$=".bmp"],a:has(img)[href$=".gif"],a:has(img)[href$=".jpg"],a:has(img)[href$=".jpeg"],a:has(img)[href$=".png"],a:has(img)[href$=".BMP"],a:has(img)[href$=".GIF"],a:has(img)[href$=".JPG"],a:has(img)[href$=".JPEG"],a:has(img)[href$=".PNG"]';

	
		jQuery(thumbnails).addClass("fancybox").attr("rel","fancybox").getTitle();
			
			//fancybox settings for all images:
			jQuery("a.fancybox").fancybox({
				'imageScale': true,
				'padding': 10,
				'zoomOpacity': true,
				'zoomSpeedIn': 500,
				'zoomSpeedOut': 500,
				'zoomSpeedChange': 300,
				'overlayShow': true,
				'overlayColor': "#ffffff",
				'overlayOpacity': 0.4,
				'enableEscapeButton': true,
				'showCloseButton': true,
				'hideOnOverlayClick': true,
				'hideOnContentClick': false,
				'frameWidth':  560,
				'frameHeight':  340,
				'callbackOnStart': null,
				'callbackOnShow': null,
				'callbackOnClose': null,
				'centerOnScroll': true,
				'easingIn': "easeOutBack",
				'easingOut': "easeInBack",
				'easingChange': "easeInOutQuart"
			});
			
			//fancybox settings for mx3-iframe:
			jQuery("a.mx3_iframe").fancybox({
				'imageScale': true,
				'padding': 10,
				'zoomOpacity': true,
				'zoomSpeedIn': 500,
				'zoomSpeedOut': 500,
				'zoomSpeedChange': 300,
				'overlayShow': true,
				'overlayColor': "#ffffff",
				'overlayOpacity': 0.4,
				'enableEscapeButton': true,
				'showCloseButton': true,
				'hideOnOverlayClick': true,
				'hideOnContentClick': false,
				'frameWidth':  1000,
				'frameHeight':  600,
				'callbackOnStart': null,
				'callbackOnShow': null,
				'callbackOnClose': null,
				'centerOnScroll': true,
				'easingIn': "easeOutBack",
				'easingOut': "easeInBack",
				'easingChange': "easeInOutQuart"
			});		
			
			//fancybox settings for song suggestion:
			jQuery("a.suggest_iframe").fancybox({
				'imageScale': true,
				'padding': 10,
				'zoomOpacity': true,
				'zoomSpeedIn': 500,
				'zoomSpeedOut': 500,
				'zoomSpeedChange': 300,
				'overlayShow': true,
				'overlayColor': "#ffffff",
				'overlayOpacity': 0.4,
				'enableEscapeButton': true,
				'showCloseButton': true,
				'hideOnOverlayClick': true,
				'hideOnContentClick': false,
				'frameWidth':  500,
				'frameHeight':  400,
				'callbackOnStart': null,
				'callbackOnShow': null,
				'callbackOnClose': null,
				'centerOnScroll': true,
				'easingIn': "easeOutBack",
				'easingOut': "easeInBack",
				'easingChange': "easeInOutQuart"
			});
		});
	});
});
