// ==========
// = jquery =
// ==========
var $j = jQuery;
function toggle_layout_edit_mode(){
draggable = $j('.draggable');
if (draggable.css("display") == "none") {
$j('.drag_background').css("opacity", 0.2);
draggable.css("opacity", 0.95);
draggable.fadeIn("normal");
// $j('.drag_background').fadeOut();
} else{
draggable.fadeOut("normal");
}
// $j('.section').toggleClass('draggable');
$j('#unclassified').toggle();
$j('.drop_zone').toggleClass('active_drop_zone');
$j('.section').toggleClass('section_during_drag');
// $j('.fake').toggle();
}
function toggle_element(area, link, original, replacement) {
$j('#'+area).slideToggle("slow");
if ($j(link).text() == original) {
$j(link).text(replacement);
} else{
$j(link).text(original);
}
}
function reload_blog_post_form() {
order_blog_post_sections();
// observe delete buttons
$j("label.remove_section").click(function() {
$j(this).closest('.picture, .body, .code').hide();
});
// create growfields
$j('textarea.expanding').growfield({
min: 76
});
// create sortable
$j('#sections').sortable({
handle: '.dragger',
items: '.body, .code, .picture',
axis: 'y',
tolerance: 'pointer',
forcePlaceholderSize: true,
placeholder: 'drop_placeholder',
// // connectWith: '.drop_zone',
update: function() { order_blog_post_sections(); }
});
}
function order_blog_post_sections() {
var position = 1;
$j('.section_order').each(function(){
$j(this).val(position++);
});
}
function new_field_from_template(template){
new_id = new Date().getTime();
return template.replace(/NEW_RECORD/g, new_id);
}
$j(document).ajaxSend(function(event, request, settings) {
settings.data = (settings.data ? settings.data + "&" : "") + "authenticity_token=" + encodeURIComponent( AUTH_TOKEN );
});
// =============
// = prototype =
// =============
// ======================
// = Login slider logic =
// ======================
// the ID of the field must be what you want it to say
function handle_field_naming(object) {
// if the value has not been changed...
if (object.value == object.id) { // might want to make this more dynamic
if (object.id.match('password')) {
replace_password_field(object);
}
toggle_field_style(object, 'replaced');
}
}
function toggle_field_style(object, desired_state) {
if (desired_state == 'replaced') {
// replaced style
object.addClassName( 'selected');
object.value = '';
// now observe the field for exit, if the value is empty, return it to normal
// alert($(object).id);
$(object).observe('blur', function(){
if (object.value == '') {
if (object.type == 'password') {
replace_password_field(object);
}
toggle_field_style(object, 'default');
}
});
} else{
// default style
object.removeClassName( 'selected');
object.value = object.id;
// since in a password field the field is replaced entirely, we need to observe it again
$(object).observe('focus', function(){handle_field_naming(this);});
}
}
// internet explorer is retarded, so I have to actually replace the entire field with a new one
// in order to change the input type between "text" and "password"
// then give the focus to that field
function replace_password_field(object) {
desired_state = object.type == 'password' ? 'default' : 'replaced';
if (desired_state == 'default') {
new_type = 'text';
new_value = 'password';
} else {
new_type = 'password';
new_value = '';
}
parent_div = object.up();
new_field = '';
parent_div.update(new_field);
if (desired_state == 'replaced') {
// timeout is needed for IE
setTimeout(function() {parent_div.down().focus();}, 10);
}
toggle_field_style(parent_div.down(), desired_state);
}
//////////////////////////////////////
// ==============================
// = add growfield to jeditable =
// ==============================
// found here: http://stackoverflow.com/questions/152104/problems-using-jeditable-and-autogrow
$j.editable.addInputType('growfield', {
element : function(settings, original) {
var textarea = $j('