$(function() {

		
		$("ul#menu_reorder").sortable({ opacity: 0.6, cursor: 'move', update: function() {
            var order = $(this).sortable("serialize") + '&action=menu_reorder';
            $.post("/kernel/processor.php", order, function(theResponse){
                $("div#menu_reorder_response").html(theResponse);
            });
        }
        });
  
  var CL = parseURL(window.location);
  
  //Animate TOP5 boxes
  /*$("div#labs ul").hide();
  $("div#labs ul#top5-prelude_music").show();
  $('.top5href').mouseover(function() {
    var parsed_link = parseURL($(this).attr("href"));
    $("div#labs ul").stop(0,1).hide();
    $("div#labs ul#top5-"+parsed_link.segments[1]).fadeIn(1000); 
  });*/
  
  
  //Highlight the row for song list
  $('li.song-content').mouseenter(function(e) {
    $(this).addClass('highlighted');
  }).mouseleave(function() {
    $(this).removeClass('highlighted');
  });
  
  //Songs cat
  var ul_songs_cat_width = $("ul.songs_cat").width() - (3 * parseInt($("ul.songs_cat > li").css("padding-left"))) - (3 * parseInt($("ul.songs_cat > li").css("padding-right"))) - (3 * parseInt($("ul.songs_cat > li").css("borderLeftWidth")))- (3 * parseInt($("ul.songs_cat > li").css("borderRightWidth")));
  $("ul.songs_cat > li").width(ul_songs_cat_width / 3);
  equalHeight($("ul.songs_cat > li"));
  
  //Tooltips for thumbs
 
  
	$('ul.songs_cat a').mouseenter(function(e) {
		x = e.pageX + 50;
		y = e.pageY - 50;

		$(this).parent().children("ul.top5-tooltip").css({'top': y + 0,'left': x - 0}).stop(0,1).fadeIn(300);

	}).mousemove(function(e) {

		x = e.pageX + 50;
		y = e.pageY - 50;

		// This line causes the tooltip will follow the mouse pointer
		$(this).parent().children("ul.top5-tooltip").css({'top': y + 0,'left': x - 0});

	}).mouseleave(function() {

		// Reset the z-index and hide the image tooltip.css('z-index','1')
		$(this).parent().children("ul.top5-tooltip").stop(0,1).fadeOut(100);
		//.animate({"opacity": "hide"}, "fast");
	});

  
  $('ul.songs_cat a.vvvvvsongs_cat_thumbnail').mouseover(function() {
	var parsed_link = parseURL($(this).attr("href"));
	$("ul.top5-tooltip").stop(0,1).hide();
	$('ul.top5-tooltip#top5-'+parsed_link.segments[1]).fadeIn(300);
      
      
    }).mouseout(function() {  
       	var parsed_link = parseURL($(this).attr("href"));
	$("ul.top5-tooltip").stop(0,1).hide();

     });
  
  
  
  function equalHeight(group) {
	var tallest = 0;
	group.each(function() {
		var thisHeight = $(this).height();
		if(thisHeight > tallest) {
			tallest = thisHeight;
		}
	});
	group.height(tallest);
  }
  

//Scroll to song cat if id not set
if (CL.segments[1]) {
  if (CL.segments[0] == 'dddddddsongs') {
    var find_id = CL.segments[1].match(/^(\d{0,10})/gi); 
    if (!find_id[0]) {
      $.scrollTo($('ul.songs'), 500, {offset: -10});
    }
  } 
}
 
  
  

  
  

  $("div#songs-list ul").hide();
  
  $(".songcat").click(function()
  {
    linkRef = $(this).attr("href");
    var fr = parseURL(linkRef);
    $("div#songs-list ul").hide();
    $("div#songs-list ul#songs-list-"+fr.hash).fadeIn(250);
  });
  
  //form_login design
  $('#form_login #form_login_password_dummy').addClass("form_value_default");
  $('#form_login #form_login_password_dummy').show();
  $('#form_login #form_login_password').hide();

  $('#form_login #form_login_password_dummy').focus(function() {
    $('#form_login #form_login_password_dummy').hide();
    $('#form_login #form_login_password').show();
    $('#form_login #form_login_password').focus();
  });
  $('#form_login #form_login_password').blur(function() {
    if($('#form_login #form_login_password').val() == '') {
        $('#form_login #form_login_password_dummy').show();
        $('#form_login #form_login_password').hide();
      }
  });
  
  $('#form_login_username').each(function() {
    var default_value = this.value;
    $(this).addClass("form_value_default");
    $(this).focus(function() {
        if(this.value == default_value) {
            this.value = '';
            $(this).removeClass("form_value_default");
        }
    });
    $(this).blur(function() {
        if(this.value == '') {
            $(this).addClass("form_value_default");
            this.value = default_value;
        }
    });
  });  
  
  //form_login processing --START--
  $('#submit_form_login').click(function() {
    var form_login_username = $("#form_login_username").val();
    if (form_login_username == "" || form_login_username == "username") {
      return false;
    }
    
    var form_login_password = $("#form_login_password").val();
    if (form_login_password == "") {
      return false;
    }
			
    var form_login_STRING = 'form_submitted=form_login&username=' + $("#form_login_username").val() + '&password=' +  $("#form_login_password").val();
    $.ajax( {
      type: "POST",
      url: "kernel/processor.php",
      data: form_login_STRING,
      error:function (xhr, ajaxOptions, thrownError){
                    //alert(xhr.status);
                    //alert(xhr.statusText);
                    //alert(thrownError);
                },   
      success: function(report) {
        //alert("sucess " + report);
        window.location.reload(true);
      } ,
      complete: function(report) {
      //alert(report);
      }
    });
    return false;
  });
  //form_login processing --FINISH--
  
  
  
  //FORM_BLOG_ADD DESIGN
  var form_blog_add_form_label_max = 0;
  $('#form_blog_add .form_label').each(function() {
    if ($(this).width() > form_blog_add_form_label_max)
      form_blog_add_form_label_max = $(this).width();   
  });
  $('#form_blog_add .form_label').width(form_blog_add_form_label_max);
  $('#form_blog_add .form_error').css({'margin-left' : form_blog_add_form_label_max + 6});
  
  $('#form_blog_add input[type=text],textarea').css({borderStyle: "solid"});
  $('#form_blog_add input[type=text],textarea').focus(function(){
    $(this).css({borderStyle: "dotted"});
  });
  $('#form_blog_add input[type=text],textarea').blur(function(){
    $(this).css({borderStyle: "solid"})
  });
  //FORM_BLOG_ADD DESIGN END
  
  //FORM_BLOG_ADD NOTIFICATION HIDING
  $('#form_blog_add_success').hide();
  $('#form_blog_add_error').hide();
  $('#form_blog_add .form_error').hide();
  //FORM_BLOG_ADD NOTIFICATION END  
  
  //FORM_BLOG_ADD PROCESSING --START--
  $('#form_blog_add .button_submit').click(function() {
    $('#form_blog_add .form_error').hide();
    $('#form_blog_add_error').hide();
    
    var form_blog_add_title = $("#form_blog_add_title").val();
    if (form_blog_add_title == "") {
      $("#form_blog_add_error_title").show();
      $("#form_blog_add_title").focus();
      return false;
    }
    
    var form_blog_add_content = $("#form_blog_add_content").val();
    if (form_blog_add_content == "") {
      $("#form_blog_add_error_content").show();
      $("#form_blog_add_content").focus();
      return false;
    }

    var form_blog_add_STRING = 'form_submitted=form_blog_add&title=' + $("#form_blog_add_title").val() + '&title_permanent=' + $("#form_blog_add_title_permanent").val() + '&content=' + $("#form_blog_add_content").val() + '&tags=' + $("#form_blog_add_tags").val()+ '&description=' + $("#form_blog_add_description").val() + '&noscript=' + $("#form_blog_add_noscript").val();
    
    $.ajax( {
      type: "POST",
      url: "/kernel/processor.php",
      data: form_blog_add_STRING,
      success: function(report) {
        
        //alert (report);
        if (report != "TRUE") {
          if (report == "ERROR901") {
            $('#form_blog_add_ERROR901').show();
            return false;
          }
          if (report == "") {
            $('#form_blog_add_ERROR900').show();
            return false;
          }
          return false;
        }
        window.location.href = '/blog/';
        //$('#form_blog_add').hide();
	//$('#form_blog_add_success').fadeIn();
        return false;
      }
    });
    
    return false;
  });
	//FORM article_comment_add processing --FINISH--

 //form_blog_edit DESIGN
  var form_blog_edit_form_label_max = 0;
  $('#form_blog_edit .form_label').each(function() {
    if ($(this).width() > form_blog_edit_form_label_max)
      form_blog_edit_form_label_max = $(this).width();   
  });
  $('#form_blog_edit .form_label').width(form_blog_edit_form_label_max);
  $('#form_blog_edit .form_error').css({'margin-left' : form_blog_edit_form_label_max + 6});
  
  $('#form_blog_edit input[type=text],textarea').css({borderStyle: "solid"});
  $('#form_blog_edit input[type=text],textarea').focus(function(){
    $(this).css({borderStyle: "dotted"});
  });
  $('#form_blog_edit input[type=text],textarea').blur(function(){
    $(this).css({borderStyle: "solid"})
  });
  //form_blog_edit DESIGN END
  
  //form_blog_edit NOTIFICATION HIDING
  $('#form_blog_edit_success').hide();
  $('#form_blog_edit_error').hide();
  $('#form_blog_edit .form_error').hide();
  //form_blog_edit NOTIFICATION END  
  
  //form_blog_edit PROCESSING --START--
  $('#form_blog_edit .button_submit').click(function() {
    $('#form_blog_edit .form_error').hide();
    $('#form_blog_edit_error').hide();
    
    var form_blog_edit_title = $("#form_blog_edit_title").val();
    if (form_blog_edit_title == "") {
      $("#form_blog_edit_error_title").show();
      $("#form_blog_edit_title").focus();
      return false;
    }
    
    var form_blog_edit_content = $("#form_blog_edit_content").val();
    if (form_blog_edit_content == "") {
      $("#form_blog_edit_error_content").show();
      $("#form_blog_edit_content").focus();
      return false;
    }
    
    var blog_entry_id = $("#form_blog_edit_id").val(); 

    var form_blog_edit_STRING = 'form_submitted=form_blog_edit&id=' + $("#form_blog_edit_id").val() + '&title=' + $("#form_blog_edit_title").val() + '&title_permanent=' + $("#form_blog_edit_title_permanent").val() + '&content=' + $("#form_blog_edit_content").val() + '&tags=' + $("#form_blog_edit_tags").val()+ '&description=' + $("#form_blog_edit_description").val() + '&noscript=' + $("#form_blog_edit_noscript").val();
    
    $.ajax( {
      type: "POST",
      url: "/kernel/processor.php",
      data: form_blog_edit_STRING,
      success: function(report) {
        if (report != "TRUE") {
	  alert(report); 
          if (report == "ERROR901") {
            $('#form_blog_edit_ERROR901').show();
            return false;
          }
          if (report == "") {
            $('#form_blog_edit_ERROR900').show();
            return false;
          }
          return false;
        }
        window.location.href = '/blog/' + blog_entry_id + '/';
        return false;
      }
    });
    
    return false;
  });
	//FORM blog edit processing --FINISH--
	
	
	
	
	
	
	
	 //form_comment_add DESIGN
  var form_comment_add_form_label_max = 0;
  $('#form_comment_add .form_label').each(function() {
    if ($(this).width() > form_comment_add_form_label_max)
      form_comment_add_form_label_max = $(this).width();   
  });
  $('#form_comment_add .form_label').width(form_comment_add_form_label_max);
  $('#form_comment_add .form_error').css({'margin-left' : form_comment_add_form_label_max + 6});
  
  $('#form_comment_add input[type=text],textarea').css({borderStyle: "solid"});
  $('#form_comment_add input[type=text],textarea').focus(function(){
    $(this).css({borderStyle: "dotted"});
  });
  $('#form_comment_add input[type=text],textarea').blur(function(){
    $(this).css({borderStyle: "solid"})
  });
  
  
  $('.container_form_comment_add').hide();
  //alert (CL.segments[2]);
  if (CL.segments[2] == 'comments' & CL.segments[3] == 'add')
  {
    
    $('.container_form_comment_add').fadeIn('slow');
    $.scrollTo('.container_form_comment_add', {duration:500});
    $('#form_comment_add_name').focus();
  }
  
  if (CL.segments[2] == 'comments' & CL.segments[3] != 'add')
  {
    
    //$('.container_form_comment_add').fadeIn('slow');
    $.scrollTo('ul.comments', {duration:500});
    //$('#form_comment_add_name').focus();
  }
  //form_comment_add DESIGN END
  
  //form_comment_add NOTIFICATION HIDING
  $('#form_comment_add_success').hide();
  $('#form_comment_add_error').hide();
  $('#form_comment_add .form_error').hide();
  //form_comment_add NOTIFICATION END  
  
  //form_comment_add PROCESSING --START--
  $('#form_comment_add .button_submit').click(function() {
    $('#form_comment_add .form_error').hide();
    $('#form_comment_add_error').hide();
    
    var form_comment_add_name = $("#form_comment_add_name").val();
    if (form_comment_add_name == "") {
      $("#form_comment_add_error_name").show();
      $("#form_comment_add_name").focus();
      return false;
    }
    
    var form_comment_add_content = $("#form_comment_add_content").val();
    if (form_comment_add_content == "") {
      $("#form_comment_add_error_content").show();
      $("#form_comment_add_content").focus();
      return false;
    }
    
    var comment_id_item = $("#form_comment_add_id_item").val();
    var comment_section = $("#form_comment_add_section").val();

    var form_comment_add_STRING = 'form_submitted=form_comment_add&id_item=' + $("#form_comment_add_id_item").val() + '&section=' + $("#form_comment_add_section").val() + '&name=' + $("#form_comment_add_name").val() + '&content=' + $("#form_comment_add_content").val();
    
    $.ajax( {
      type: "POST",
      url: "/kernel/processor.php",
      data: form_comment_add_STRING,
      success: function(report) {
        if (report != "TRUE") {
          //alert (report);
          if (report == "ERROR901") {
            $('#form_comment_add_ERROR901').show();
            return false;
          }
          if (report == "") {
            $('#form_comment_add_ERROR900').show();
            return false;
          }
          return false;
        }
        window.location.href = '/' + comment_section + '/' + comment_id_item + '/comments/';
        return false;
      }
    });
    
    return false;
  });
	//FORM blog edit processing --FINISH--
        
        
        
        
        
      var optionse = { 
        target:        '#output2',   // target element(s) to be updated with server response 
        beforeSubmit:  showRequest,  // pre-submit callback 
        success:       showResponse  // post-submit callback 
 
        // other available options: 
        //url:       url         // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
 
    // bind to the form's submit event 
    $('#form_timestamp').submit(function() { 
        // inside event callbacks 'this' is the DOM element so we first 
        // wrap it in a jQuery object and then invoke ajaxSubmit 
        $(this).ajaxSubmit(optionse); 
 
        // !!! Important !!! 
        // always return false to prevent standard browser submit and page navigation 
        return false; 
    });
    
    // pre-submit callback 
function showRequest(formData, jqForm, options) { 
    // formData is an array; here we use $.param to convert it to a string to display it 
    // but the form plugin does this for you automatically when it submits the data 
    var queryString = $.param(formData); 
 
    // jqForm is a jQuery object encapsulating the form element.  To access the 
    // DOM element for the form do this: 
    // var formElement = jqForm[0]; 
 
    alert('About to submit: \n\n' + queryString); 
 
    // here we could return false to prevent the form from being submitted; 
    // returning anything other than false will allow the form submit to continue 
    return true; 
} 
 
// post-submit callback 
function showResponse(responseText, statusText, xhr, $form)  { 
    // for normal html responses, the first argument to the success callback 
    // is the XMLHttpRequest object's responseText property 
 
    // if the ajaxSubmit method was passed an Options Object with the dataType 
    // property set to 'xml' then the first argument to the success callback 
    // is the XMLHttpRequest object's responseXML property 
 
    // if the ajaxSubmit method was passed an Options Object with the dataType 
    // property set to 'json' then the first argument to the success callback 
    // is the json data object returned by the server 
 
    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
        '\n\nThe output div should have already been updated with the responseText.'); 
} 
        
        
        
        
        
        
        
        
        

});
