// ===============================
//		Collapsible Panes
// ===============================
 /* function resizeIframe(iframeID) {
if(self==parent) return false; 
else if(document.getElementById&&document.all)
var framePage = document.getElementById('framePage');
var FramePageHeight = framePage.scrollHeight + 10; 

parent.document.getElementById(iframeID).style.height=FramePageHeight;

} */
$(document).ready(function() {
	var default_pane = -1;
	var toggleMinus = bpath + 'images/icons/folder_open.png';
	var togglePlus  = bpath + 'images/icons/folder_closed.png';

	var $pane_trigger = $('.cpane .pane_handle');

        makePane = function($pane_trigger){
	$('h2',$pane_trigger).prepend('<img src="' + toggleMinus + '" alt="(-)" class="pane_icon"/>');
	$($pane_trigger).addClass('clickable')
		.click(function(){
                    var $content = $(this).parent().find('.pane_content');
                    var $icon = $('img',this);
                    toggleSrc = $icon.attr('src');
                    if(toggleSrc == toggleMinus){
                            $icon.attr('src',togglePlus);
                            $content.slideUp('fast');
                            $(this).parent().removeClass('pane-open').addClass('pane-closed');
                    } else {
                            $icon.attr('src',toggleMinus);
                            $content.slideDown('fast');
                            $(this).parent().removeClass('pane-closed').addClass('pane-open');
                    };
		});

	$(".cpane").each(function(){
            if($(this).is('.pane-closed')){
                $(".pane_handle",$(this)).click();
            } else {
                $(this).addClass('pane-open');
            }
	});
        }
         makePane($pane_trigger);
         $('.cpane.folded .pane_content').hide();
        $('.cpane.folded .pane_handle').click();
    
	
    if($('select#diff1_id').length == 1){
    $('select#diff1_id, select#diff2_id').selectToUISlider().hide();
    $('label#label_handle_diff1_id, label#label_handle_diff2_id').hide();
    }
    // =============================
    //      Folder System
    // =============================
    $('.transfer-item').each(function(){
        var $item = $(this);
        $('input',$item).addClass('hidden');
        //$('input',$item).remove();
        //$('input',$item).after("<img src='"+bpath+"/java/icons/icon_exclude.png' class='transfer_icon'/>");
        var checkedValue = $(":checkbox",this).attr('checked') ? 'checked' : '';
        //$(':checkbox',this).attr('checked', checkedValue);
        updateFolderStatus($(this),checkedValue);
    })
    $('.transfer-item').bind('click',function(e){
        
        var checkedValue = $(":checkbox",this).attr('checked') ? '' : 'checked';
        //$(':checkbox',this).attr('checked', checkedValue);
        if(checkedValue == 'checked') $(':checkbox',this).attr('checked', checkedValue);
        else $(':checkbox',this).removeAttr('checked');
        updateFolderStatus($(this),checkedValue);
        return false;
    });
    
    $('#diff_legend_btn').bind('click',function(){
        
        if($('#diff_legend').length == 0 && $('#popup').length == 0 && !$(this).hasClass('is_loading')){
            $(this).addClass('is_loading');
            var opts = {
                 'ajax_module':'trail',
                 'action':'get_diff_legend'
             };
             
             $.get(d_php,opts,function(data){
                 $('#map_canvas').before(data);
                 $('#diff_legend_btn').removeClass('is_loading');
                 $('#popup_close').click(function(){
                     $(this).parent().parent().remove();
                 })
             });
             
        }
        return false;
    });
    
    $('#county_id').change(function(){
        
        
        $target = $('#town_id');
        var opts = {
                 'ajax_module':'trail',
                 
                 'action':'get_towns',

                
                'county_id':$('#county_id').val()

             };
             $target.replaceWith('<span id="town_id">Loading...</span>');
             $.get(d_php,opts,function(data){
                 $target = $('#town_id');
                $target.replaceWith(data);
                $('#town_id').bind('change',town_change);
                //$('abbr.timeago',$panel).timeago();
                //if($target.parent().attr('id') == 'hub_activity') mod_options();
                //window.scrollTo(0, $panel.position().top);
             });

             return false;
    });
    town_change = function(){
        var town_map = $.parseJSON($('#town2county').text());
        var town_id = $('#town_id').val();
        //alert('change county to:'+town_map[town_id]);
        $('#county_id').val(town_map[town_id]);
    }
    $('#town_id').bind('change',town_change);
    
    
  

});
function updateFolderStatus($items,checkedValue){
    $($items).each(function(){
            if(checkedValue == 'checked'){
                    $('img.transfer_icon',this).attr('src',bpath+'images/icons/icon_include.png');
                    $(this).removeClass('item_excluded').addClass('item_included');
            } else {
                    $('img.transfer_icon',this).attr('src',bpath+'images/icons/icon_exclude.png');
                    $(this).removeClass('item_included').addClass('item_excluded');

            }
    });
};
$(document).ready(function(){
    $(function(){
        $('.resource-rating').rater({ postHref: d_php });
    });
    

    //$item = $(".submenu").parent().find("a:first:currentpage");
    //alert($item);
    $(".submenu").parent().find("a:first").click(function(){
        
        var $menu = $(".submenu",$(this).parent());
        if(!$menu.parent().find("a:first").is('.currentpage')){
           
            $(".submenu").each(function(){

                if(!$(this).is('.hidden')){
                    $(this).parent().find("a:first").removeClass('currentpage');
                    $('img',$(this).parent().find("a:first")).attr('src',bpath+'images/icons/folder_closed.png');
                    $(this).slideUp('fast',function(){
                        $(this).hide();
                        $(this).addClass('hidden');
                    });

                }
            });
            
        }
        
        //$(this).toggleClass('currentpage');
        if($menu.is('.hidden')){
            $(this).addClass('currentpage');
            $('img',this).attr('src',bpath+'images/icons/folder_open.png');
            $menu.slideDown('fast',function(){
               $(this).removeClass('hidden');
            });
        } else {
            //$(this).unbind('mouseleave');
            //$(this).removeClass('currentpage');
            $('img',this).attr('src',bpath+'images/icons/folder_closed.png');
            $menu.slideUp('fast',function(){
                $menu.parent().find("a:first").removeClass('currentpage');
               $(this).addClass('hidden');
            });
        }

        // Roll Off.
        $('body').click(function(){
            $menu.slideUp('fast',function(){
                $menu.parent().find("a:first").removeClass('currentpage');
               $(this).addClass('hidden');
            });
        });
       // event.stopPropagation();
        /*
        $(this).parent().mouseleave(function(){
            $(this).unbind('mouseleave');
            
            $menu.slideUp('fast',function(){
                $menu.parent().find("a:first").removeClass('currentpage');
               $(this).addClass('hidden');
            });
        });*/

        
        return false;
    });
    
});

var active_color = '#000'; // Colour of user provided text
var inactive_color = '#aaa'; // Colour of default text


$(document).ready(function() {
    $("#search-resources").focus();

    // Comments.
     submit_comment = function(){
            if($("textarea[name='comment']").val() != ''){
                var comment_options = {
                    success:       commentAfter,  // post-submit callback
                    url:            d_php
                }

                $('#comment_form').ajaxSubmit(comment_options);
                $("textarea[name='comment']").val('');
            }

       return false;
    };
    $('.submit_comment').bind('click',submit_comment);

    submit_reply = function(){
            var $form = $(this).parent().parent();


            if($("textarea[name='comment']",$form).val() != ''){
                var comment_options = {
                    success:       replyAfter,  // post-submit callback
                    url:            d_php,
                    dataType: 'json'
                }

                $form.ajaxSubmit(comment_options);
                $("textarea[name='comment']",$form).val('');
            }
       return false;
    };
    $('.cmt_reply').bind('click',function(){
        var options = {};
        options.ajax_module = "comments";
        options.action      = "reply_form";
        options.module_type = 'tools';
        options.parent_id   = $(this).parent().parent().parent().find('.comment_id:first').text();

        options.assoc_id   = $("#assoc_id",$("#comment_form")).val();
        var cmt = '';
        if($('.reply-box').length != 0){
            cmt = $("textarea[name='comment']",$('.reply-box')).val();
            $('.reply-box').remove();
        }
        $.get(d_php, options, function(data){
            //alert($('#comment_'+options.parent_id).find('.comment-wrap').html());
            $(data).appendTo($('#comment_'+options.parent_id).find('.comment-wrap:first'));
            if($("textarea[name='comment']",$('.reply_form')) != 0){
            if($("input[name='username']",$('.reply_form')).length == 0) $("textarea[name='comment']",$('.reply_form')).val(cmt).focus();
            else $("input[name='username']",$('.reply_form')).focus();
            $(".submit_reply").bind('click',submit_reply);
            }
        });
        return false;
    });


});
function commentAfter(responseText){
    if(responseText != 'fail'){
       // $(".comment_list").prepend(urldecode(responseText)).hide().slideDown('slow');
        $(urldecode(responseText)).appendTo("#comment-list").hide().slideDown('slow');
        var num = parseInt($('.num_comments').html());
        num++;
        $('.num_comments').html(num);
        /*$("#menu_options .add_item").bind('click',function(){
            loadContribute();
            return false;
        });*/
    }
    return false;
}
function replyAfter(responseText){
    var data = eval(responseText);
    if(data.status != 'failed'){
       // $(".comment_list").prepend(urldecode(responseText)).hide().slideDown('slow');
       
        $(urldecode(data.comment)).appendTo($('.comment-wrap:first',$('#comment_'+data.parent_id))).hide().slideDown('slow');
        var num = parseInt($('.num_comments').html());
        num++;
        $('.num_comments').html(num);
        $(".reply-box").remove();
        /*$("#menu_options .add_item").bind('click',function(){
            loadContribute();
            return false;
        });*/
    } else {
        $('.error_box').remove();
        $(urldecode(data.msg)).appendTo($('.reply-box')).hide().slideDown('slow');
    }
    return false;
}
$(document).ready(function(){

    // ===================================================
    // Optimize Usability of Site based on window size.
    // ===================================================
    /*
    $(window).bind("resize",resizeWindow);
    function resizeWindow(){
        var win_w = $(window).width();

        //Skin Ad
        //if($('#container').width() == 735 || $('#page-wrapper').width() == 735){
          //  if(win_w < 1625) win_w = 800;
        //}

        // Top Sponsor.
        win_w = 1024; // Override.  Moving to strict layout.
        if(win_w >= 1625){
            // Mega Resolution
            // Move Ad into Header.
            $('#widescreen').insertAfter($("#header-left"));
            $('#widescreen').addClass('in_header');
            $('#widescreen').css({'margin':'0px 5px','float':'left'});
            $('#left').css("top","0px");
            $('#right').css("top","0px");
        } else if(win_w >= 1175){
            
            // High Resolution.
            // Pull side columns up.
            $('#left').css("top","-95px");
            $('#right').css("top","-95px");
            // Check if ad was in header.
            if($('#widescreen').is('.in_header')){
                // #page-body is forums, #center is main site.
                if($('#page-body').length == 0) $('#widescreen').insertBefore('#center');
                else $('#widescreen').insertBefore('#page-body');
                $('#widescreen').css({'margin':'0px auto','float':'none'});
                $('#widescreen').removeClass('in_header');
            }
        } else {
            // Small Resolution.
            if($('#page-body').length == 0) $('#left').css("top","-95px");
            else $('#left').css("top","0px");
            $('#right').css("top","0px");
            // Check if ad was in header.
            if($('#widescreen').is('.in_header')){
                // #page-body is forums, #center is main site.
                if($('#page-body').length == 0) $('#widescreen').insertBefore('#center');
                else $('#widescreen').insertBefore('#page-body');
                $('#widescreen').css({'margin':'0px auto','float':'none'});
                $('#widescreen').removeClass('in_header');
            }
        }
    }
    */
    //resizeWindow();
    $('#widescreen').removeClass('menu_hidden');
});
// =================================
// Javascript Ad Delay & Position
// =================================
/*
all_ads = [];
function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
            return [curleft,curtop];
}}

function AdReady(div_id){
    if(all_ads.indexOf(div_id) == -1) all_ads.push(div_id);

    var target  = document.getElementById(div_id);
    var ad    = document.getElementById(div_id+'_display');

   var curPos = findPos(target);
  //alert(div_id + ', top:'+target.offsetTop+' == '+curPos[1]+', left:'+target.offsetLeft+' == '+curPos[0]);
    ad.style.top  = parseInt(curPos[1]) + 'px';
    ad.style.left = parseInt(curPos[0]) + 'px';
}
function AdReposition(){
    for(var i = 0; i < all_ads.length; i++){
        AdReady(all_ads[i]);
    }
}

window.onresize = AdReposition;
*/

// ===========================
// Rating
// ===========================
$.fn.rater = function(options) {
    var opts = $.extend({}, $.fn.rater.defaults, options);
    return this.each(function() {
        var $this = $(this);
        var $on = $this.find('.ui-rater-starsOn');
        var $off = $this.find('.ui-rater-starsOff');
        opts.size = $on.height();

        if (opts.rating == undefined) {
            var rating = $this.find('.ui-rater-rating').text();
            opts.rating = parseFloat(rating).toFixed(1);
        }
        if (opts.disabled == undefined) {
            var disabled = $this.find('.ui-rater-disabled').text();
            opts.disabled = eval(disabled);

        }
        if(opts.ajax_module == undefined) opts.ajax_module = $("#ajax_module").text();
        if (opts.id == undefined) opts.id = $this.attr('id');
        $on.width(opts.rating * opts.size);
        if(!opts.disabled){
            $off.mousemove(function(e) {
                var left = e.clientX - $off.offset().left;
                var width = $off.width() - ($off.width() - left);
                width = Math.ceil(width / (opts.size / opts.step)) * opts.size / opts.step;
                $on.width(width);
            }).hover(function(e) { $on.addClass('ui-rater-starsHover'); }, function(e) {
                $on.removeClass('ui-rater-starsHover'); $on.width(opts.rating * opts.size);
            }).click(function(e) {
                var r = Math.round($on.width() / $off.width() * (opts.units * opts.step)) / opts.step;
                $off.unbind('click').unbind('mousemove').unbind('mouseenter').unbind('mouseleave');
                $off.css('cursor', 'default'); $on.css('cursor', 'default');
                $.fn.rater.rate($this, opts, r);
            }).css('cursor', 'pointer'); $on.css('cursor', 'pointer');
        }
    });
};

$.fn.rater.defaults = {
    postHref: location.href,
    units: 5,
    step: 1
};

$.fn.rater.rate = function($this, opts, rating) {
    var $on = $this.find('.ui-rater-starsOn');
    var $off = $this.find('.ui-rater-starsOff');
    $off.fadeTo(600, 0.4, function() {

        var options = {     'ajax_module':opts.ajax_module,
                            'module_type':'public',
                            'action':'rate',
                            'id':opts.id,
                            'rating':rating};
        $.get(
            opts.postHref,
            options,
            function(data) {
                var data = eval( "("+data+")");
                if (data.status == 'success') { //success
                    opts.rating = parseFloat(data.rating);
                    $off.fadeTo(600, 0.1, function() {
                        $on.removeClass('ui-rater-starsHover').width(opts.rating * opts.size);
                        var $count = $this.find('.ui-rater-rateCount');
                        $count.text(data.votes);
                        
                        $this.find('.ui-rater-rating').text(opts.rating.toFixed(1));
                        $off.fadeTo(600, 1);
                        $this.attr('title', 'Your rating: ' + rating.toFixed(1));
                        $this.find('label').text('Your rating');
                    });
                } else { //failure

                    $on.removeClass('ui-rater-starsHover').width(opts.rating * opts.size);
                    $this.rater(opts);
                    $off.fadeTo(2200, 1);
                }
                $("#feedback").hide().html(data.feedback).slideDown('slow');
            }
        );
    });
};

