function externalLinks() {
	if (!document.getElementsByTagName){
        return;
    }
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external"){
            anchor.target = "_blank";
        }
	}
}
function navigate(theUrl){
    document.location.href = theUrl;
}
function writeGuestbook(){
	$('#writeguestbook').slideToggle('fast', function() {
	    // Animation complete.
		CSBfleXcroll('contentscroll');
	});
}
function addToField(field, code, sdefault)
{
	if($('#'+field).val() == sdefault){
		$('#'+field).val('');
	}
	$('#'+field).val($('#'+field).val()+code+ ' ');
}

function showImage(object, source){
	$('#'+object).attr("src", source);
}

function confirmDelete(){
	if(confirm('Are you sure that you want to delete this item?')){
		return true;
	}
	return false;
}

function onEnterSubmit(e, form){
    var keycode;
	if(e){
		e = e 
	} 
	else {
		e = window.event
	} 
	if(e.which){ 
		keycode = e.which
	} 
	else {
		keycode = e.keyCode 
	}
	if(keycode == 13) {
		form.submit();
	}
}

function open_url(page,target, reformurl){
	var firstpageload=false;
	$(document).ready(function() {
		if(firstpageload){
			setup_urlcontent(page, target,reformurl);
		}
		else{
			$('#'+target).fadeOut('fast', function(){setup_urlcontent(page, target,reformurl);});
		}
	});
}

function load_content(page, target, reformurl){
	$("#content").css('cursor', 'wait');
	
	$.ajax({
		type: "GET",
		url: page,
		cache: false,
		dataType: 'json',
		success: function(html){
			// New content
	    	$("#"+target).html(html.content);
	    	// External links
	    	externalLinks();
	    	fleXenv.fleXcrollMain("contentscroll");
	    	$("#content").css('cursor', 'default');
	  	},
	  	error: function(){
	  		$("#content").css('cursor', 'default');
	  		if(page == 'error/inline'){
	  			alert("You request ended up in an endless loop\n Please try again later");
	  		}
	  		else{
	  			open_url('error/inline', 'content');
	  		}
	  	}
	});
}

function setup_urlcontent(page, target, reformurl){	
	$.ajax({
		type: "GET",
		url: page,
		cache: false,
		dataType: 'json',
		success: function(html){
			// New content
	    	$("#"+target).html(html.content);
	    	// Page Url
	    	if(reformurl !== false){
	    		setPageUrl(page);
	    	}
	    	// External links
	    	externalLinks();
	    	$('#'+target).fadeIn('fast', function(){
	    		fleXenv.fleXcrollMain("contentscroll");
	    	});
	  	},
	  	error: function(){
	  		if(page == 'error/inline'){
	  			alert("You request ended up in an endless loop\n Please try again later");
	  		}
	  		else{
	  			open_url('error/inline', 'content');
	  		}
	  	}
	});
}
function validateGuestbook(){
	new $.ajax(
	  	{
			url: 'guestbook/validate',
			type: 'post',
			cache: false,
			dataType: 'json',
			data: {
				name: $('#frmname').val(),
				email: $('#frmemail').val(),
				message: $('#frmmessage').val(),
				captcha: $('#frmcaptcha').val()
			},
			success: function(json){
				if(json['status'] == 200){
                    reloadCaptcha();
					open_url('guestbook', 'content');
				}
				else{
					$('#frmname').css("background-color", json['name']);
					$('#frmemail').css("background-color", json['email']);
					$('#frmmessage').css("background-color", json['message']);
					$('#frmcaptcha').css("background-color", json['captcha']);
				}
				reloadCaptcha();
			},
			error: function(request) {
				open_url('error/inline', 'content')
			}
		}
	);
    return false;
}
function validateBookings(){
	new $.ajax(
	  	{
			url: 'bookings/validate',
			type: 'post',
			cache: false,
			dataType: 'json',
			data: {
	  			frmeventname: $('#frmeventname').val(),
	  			frmeventdate: $('#frmeventdate').val(),

	  			frmorganisationname: $('#frmorganisationname').val(),
	  			frmorganisationcontactperson: $('#frmorganisationcontactperson').val(),
	  			frmorganisationaddress: $('#frmorganisationaddress').val(),
	  			frmorganisationzipcode: $('#frmorganisationzipcode').val(),
	  			frmorganisationcity: $('#frmorganisationcity').val(),
	  			frmorganisationcountry: $('#frmorganisationcountry').val(),
	  			frmorganisationphonenumber: $('#frmorganisationphonenumber').val(),
	  			frmorganisationfaxnumber: $('#frmorganisationfaxnumber').val(),
	  			frmorganisationemail: $('#frmorganisationemail').val(),
	  			frmorganisationvatnumber: $('#frmorganisationvatnumber').val(),
	  			frmorganisationchamberofcommerce: $('#frmorganisationchamberofcommerce').val(),

	  			frmlocation: $('#frmlocation').val(),
	  			frmlocationcontactperson: $('#frmlocationcontactperson').val(),
	  			frmlocationaddress: $('#frmlocationaddress').val(),
				frmlocationzipcode: $('#frmlocationzipcode').val(),
				frmlocationcity: $('#frmlocationcity').val(),
				frmlocationcountry: $('#frmlocationcountry').val(),
				frmlocationphonenumber: $('#frmlocationphonenumber').val(),
				frmlocationfaxnumber: $('#frmlocationfaxnumber').val(),
				frmlocationemail: $('#frmlocationemail').val(),
				frmlocationwebsite: $('#frmlocationwebsite').val(),

				frmperformancecapacity: $('#frmperformancecapacity').val(),
				frmperformancetime: $('#frmperformancetime').val(),
				frmperformanceduration: $('#frmperformanceduration').val(),
				frmperformanceartistbefore: $('#frmperformanceartistbefore').val(),
				frmperformanceartistafter: $('#frmperformanceartistafter').val(),
				frmperformanceaskedstyle: $('#frmperformanceaskedstyle').val(),
				frmperformanceticketprice: $('#frmperformanceticketprice').val(),
				frmperformancemoreinfo: $('#frmperformancemoreinfo').val(),
				frmcaptcha: $('#frmcaptcha').val()
			},
			success: function(json){
				if(json['ok'] == 1){
					open_url('bookings/success', 'content');
				}
				else{
					$('#frmeventname').css("background-color", json['frmeventname']);
		  			$('#frmeventdate').css("background-color", json['frmeventdate']);

		  			$('#frmorganisationname').css("background-color", json['frmorganisationname']);
		  			$('#frmorganisationcontactperson').css("background-color", json['frmorganisationcontactperson']);
		  			$('#frmorganisationaddress').css("background-color", json['frmorganisationaddress']);
		  			$('#frmorganisationzipcode').css("background-color", json['frmorganisationzipcode']);
		  			$('#frmorganisationcity').css("background-color", json['frmorganisationcity']);
		  			$('#frmorganisationcountry').css("background-color", json['frmorganisationcountry']);
		  			$('#frmorganisationphonenumber').css("background-color", json['frmorganisationphonenumber']);
		  			$('#frmorganisationfaxnumber').css("background-color", json['frmorganisationfaxnumber']);
		  			$('#frmorganisationemail').css("background-color", json['frmorganisationemail']);
		  			$('#frmorganisationvatnumber').css("background-color", json['frmorganisationvatnumber']);
		  			$('#frmorganisationchamberofcommerce').css("background-color", json['frmorganisationchamberofcommerce']);

		  			$('#frmlocation').css("background-color", json['frmlocation']);
		  			$('#frmlocationcontactperson').css("background-color", json['frmlocationcontactperson']);
		  			$('#frmlocationaddress').css("background-color", json['frmlocationaddress']);
					$('#frmlocationzipcode').css("background-color", json['frmlocationzipcode']);
					$('#frmlocationcity').css("background-color", json['frmlocationcity']);
					$('#frmlocationcountry').css("background-color", json['frmlocationcountry']);
					$('#frmlocationphonenumber').css("background-color", json['frmlocationphonenumber']);
					$('#frmlocationfaxnumber').css("background-color", json['frmlocationfaxnumber']);
					$('#frmlocationemail').css("background-color", json['frmlocationemail']);
					$('#frmlocationwebsite').css("background-color", json['frmlocationwebsite']);

					$('#frmperformancecapacity').css("background-color", json['frmperformancecapacity']);
					$('#frmperformancetime').css("background-color", json['frmperformancetime']);
					$('#frmperformanceduration').css("background-color", json['frmperformanceduration']);
					$('#frmperformanceartistbefore').css("background-color", json['frmperformanceartistbefore']);
					$('#frmperformanceartistafter').css("background-color", json['frmperformanceartistafter']);
					$('#frmperformanceaskedstyle').css("background-color", json['frmperformanceaskedstyle']);
					$('#frmperformanceticketprice').css("background-color", json['frmperformanceticketprice']);
					$('#frmperformancemoreinfo').css("background-color", json['frmperformancemoreinfo']);
					$('#frmcaptcha').css("background-color", json['frmcaptcha']);
				}
				reloadCaptcha();
			},
			error: function(request) {
				open_url('error/inline', 'content')
			}
		}
	);
    return false;
}

function reloadCaptcha() {
	$('#captcha').attr('src', 'captcha?sid='+ (898989218921 * Math.random()*Math.random()));
}
var firstPage = true;
function focusContent() {
	if (!firstPage) {
		$('html, body').animate({
			scrollTop: ($("#content").offset().top - 100)
		}, 200);
	}
	
	firstPage = false;
}

function setPageUrl(strPage){
	window.location.hash = strPage;
}

function MadFileBrowser(field_name, url, type, win) {
  tinyMCE.activeEditor.windowManager.open({
      file : "/plugins/mfm/mfm.php?field=" + field_name + "&url=" + url + "",
      title : 'File Manager',
      width : 640,
      height : 450,
      resizable : "no",
      inline : "yes",
      close_previous : "no"
  }, {
      window : win,
      input : field_name
  });
  return false;
}
function setShortkeyRow(sShortkey){
    sShortkey = (typeof(sShortkey) === 'undefined' ? '' : sShortkey);

    var html = '<div class="rowholder">';
    html += '<div class="row stripe">';
    html += '<div class="colom_20">Shortkey #:</div>';
    html += '<div class="colom_50"><input type="text" name="shortkey[]" size="40" value="'+sShortkey+'" /></div>';
    html += '<div class="colom_30">';
    html += '<img rel="addshortkey" onclick="setShortkeyRow();" src="/cms/images/icons/add.png" style="cursor:pointer;display:none;" /> ';
    html += '<img rel="deleteshortkey" onclick="removeShortkeyRow(this);" src="/cms/images/icons/delete.png" style="cursor:pointer;display:none;" /> ';
    html += '</div>';
    html += '</div>';
    html += '</div>';

    $(html).hide().appendTo($('#shortkeylist')).slideDown('fast', function(){
        initShortkeyIcons();
    });
}
function removeShortkeyRow(obj){
    var row = $(obj).parent().parent();
    $(row).slideUp('fast',function(){
        $(row).remove();
        initShortkeyIcons();
    });
}
function initShortkeyIcons(){
    // Remove all add buttons instead of last one
    $('#shortkeylist img[rel=addshortkey]').hide();
    $('#shortkeylist img[rel=addshortkey]').last().show();
    // Add delete buttons except the first one
    if($('#shortkeylist img[rel=deleteshortkey]').length > 1){
        $('#shortkeylist img[rel=deleteshortkey]').show();
    }
    else{
        $('#shortkeylist img[rel=deleteshortkey]').hide();
    }
}
function setDiscographyRow(sTrack, sArtist, sTitle, sUrl){
    sTrack = (typeof(sTrack) === 'undefined' ? '' : sTrack);
    sArtist = (typeof(sArtist) === 'undefined' ? '' : sArtist);
    sTitle = (typeof(sTitle) === 'undefined' ? '' : sTitle);
    sUrl = (typeof(sUrl) === 'undefined' ? '' : sUrl);

    var html = '<div class="rowholder">';
    html += '<div class="row">';
    html += '<div class="colom_20">Track #:</div>';
    html += '<div class="colom_10"><input type="text" name="prefix[]" size="4" value="'+sTrack+'" /></div>';
    html += '<div class="colom_30"><input type="text" name="trackartist[]" style="width:160px;" value="'+sArtist+'" /></div>';
    html += '<div class="colom_30"><input type="text" name="tracktitle[]" style="width:160px;" value="'+sTitle+'" /></div>';
    html += '<div class="colom_10">';
    html += '<img rel="adddiscography" onclick="setDiscographyRow();" src="/cms/images/icons/add.png" style="cursor:pointer;display:none;" /> ';
    html += '<img rel="deletediscography" onclick="removeDiscographyRow(this);" src="/cms/images/icons/delete.png" style="cursor:pointer;display:none;" /> ';
    html += '</div>';
    html += '</div>';
    html += '<div class="row stripe">';
    html += '<div class="colom_20">Url #:</div>';
    html += '<div class="colom_10">&nbsp;</div>';
    html += '<div class="colom_60"><input type="text" name="trackurl[]" style="width:343px;" value="'+sUrl+'" /></div>';
    html += '<div class="colom_10">&nbsp;</div>';
    html += '</div>';
    html += '</div>';

    $(html).hide().appendTo($('#discographytracklist')).slideDown('fast', function(){
        initDiscographyIcons();
    });
}
function removeDiscographyRow(obj){
    var row = $(obj).parent().parent().parent();
    $(row).slideUp('fast',function(){
        $(row).remove();
        initDiscographyIcons();
    });
}
function initDiscographyIcons(){
    // Remove all add buttons instead of last one
    $('#discographytracklist img[rel=adddiscography]').hide();
    $('#discographytracklist img[rel=adddiscography]').last().show();
    // Add delete buttons except the first one
    if($('#discographytracklist img[rel=deletediscography]').length > 1){
        $('#discographytracklist img[rel=deletediscography]').show();
    }
    else{
        $('#discographytracklist img[rel=deletediscography]').hide();
    }
}
function refreshCaptcha() {
	$('#captcha').attr('src', 'captcha?sid='+ (898989218921 * Math.random()*Math.random()));
}
function loadTwitterFeed(){
    var url='http://api.twitter.com/1/statuses/user_timeline/emo_dj.json?callback=?';
    $.getJSON(url,function(tweets){ // get the tweets
        $.each(tweets, function(i, tweet){
            $('#twittermessage').fadeOut('slow', function(){
                $('#twittermessage').empty();
                // Message
                $('#twittermessage').append(tweet.text);
                // Date
                var spandate = document.createElement('span');
                $(spandate).addClass('purple');
                var date = new Date(tweet.created_at);
                date.setTime(date.getTime() + 60*60*1000);
                var datestring = date.toUTCString().split('GMT');
                $(spandate).append(' - '+datestring[0]);
                $('#twittermessage').append(spandate);
                // Fade back
                $('#twittermessage').fadeIn('slow');
            });
        });
    });
}
// Init
var firstpageload = true;
// Setup links
window.onload = externalLinks;

$(document).ready(function() {
	$('.discography-thumb').stop().animate({ opacity: 0.38 }, 200);
	$('.navigation').stop().animate({ opacity: 0.3 }, 200);

	$('.discography-thumb').each(function() {
		$(this).hover(function() {
			$(this).stop().animate({ opacity: 1.0 }, 200);
		},
	   function() {
		   $(this).stop().animate({ opacity: 0.38 }, 200);
	   });
	});
	$('.navigation').each(function() {
		$(this).hover(function() {
			$(this).stop().animate({ opacity: 1.0 }, 200);
		},
	   function() {
		   $(this).stop().animate({ opacity: 0.3 }, 200);
	   });
	});
    loadTwitterFeed();
});
