/*
 * File: core.js
 * Description: Core JavaScript objects and functionality for BMC.
 *
 * Author: IE Design Consultancy Ltd.
 */
var core = {
    version : '0.1',

    getVersion : function(){
        return this.version;
    }

};

jQuery.support.placeholder = (function(){
    var i = document.createElement('input');
    return 'placeholder' in i;
})();


var unitE  = {
  init : function () {
        $('.apply-button').live('click', function (e){
            e.preventDefault();
          
            var campSelect = '<select name="campusSelect" id="campus-select" >'

            $('.unite-campus').each(function () {
                campSelect = campSelect + '<option value="' + $(this).attr('name') + '">'+ $(this).val()+ '</option>';
            });

           campSelect = campSelect + '</select>';
           campSelect = '<div id="campus-chooser" > <p>This course is available at more than one Campus.</p> <p>Please select your prefered campus</p> <p>' + campSelect + ' <a href="http://apply.bmetc.ac.uk/website/onlineservices/step0.aspx?id=" id="campus-submit">Submit <span class="ir ir-button"></span> </a></p></div>';

            $.fancybox(campSelect, {
                 'autoDimensions' : false,
                 'width':400,
                 'height' :150

            });
            unitE.handleClick();
        });
  },

  handleClick : function () {
      $('#campus-submit').live('click', function(e) {
           e.preventDefault();
           var url = 'http://apply.bmetc.ac.uk/website/onlineservices/step0.aspx?id=' +$('#campus-chooser #campus-select').val();
           window.location = url;
      });
  }
}

$(document).ready(function(){
    /* Reload AJAX search */
    if(window.location.search.length != 0){
        if(window.location.search.indexOf("search") != -1){
            var searchStr = getCookie('search');
            if(searchStr){
                $(this).css( 'backgroundPosition', ' -437px -421px ' );
                $('.course-item, .no-results').each(function() {
                    $(this).fadeTo(300 , 0.2);
                });
                
                var searchArray = searchStr.split("&");
                for(i=0;i<searchArray.length;i++){
                    var keyArray = searchArray[i].split("=");
                    $('#'+keyArray[0]).val(keyArray[1].replace("+", " "));
                }
                $('#course-form #filter-button').trigger('click');
            }
        }
    }

    if($("#edit-field-campus-nid").length != 0) {
        var optionMB = $('#edit-field-campus-nid option[value~="162"]');
        var optionSC = $('#edit-field-campus-nid option[value~="163"]');
        var optionJW = $('#edit-field-campus-nid option[value~="160"]');

        var first = $('#edit-field-campus-nid option:eq(0)');
        //console.log(first);
        $(optionJW).insertAfter(first);
        $(optionSC).insertAfter(first);
        $(optionMB).insertAfter(first);
    }
    
    //Course Search Form
    $('#course-form #filter-button').live('click', function() {
        //Set cookie for returning to results
        //if($('#edit-keyword').val().indexOf(" ") != 0){
        //    $('#edit-keyword').val(" "+$('#edit-keyword').val().toString());
        //}
        setCookie('search',
                  $.param({'edit-keyword':$('#edit-keyword').val().toString(),
                         'edit-field-category-nid':$('#edit-field-category-nid').val(),
                         'edit-field-courselevel-nid': $('#edit-field-courselevel-nid').val(),
                         'edit-field-marketingdept-nid': $('#edit-field-marketingdept-nid').val(),
                         'edit-field-campus-nid': $('#edit-field-campus-nid').val()},true),1);

        $(this).css( 'backgroundPosition', ' -437px -421px ' );
        $('.course-item, .no-results').each(function() {
           $(this).fadeTo(300 , 0.2);
       });   
    });

    $('.course-item h3 a').live('mousemove', function(e){
        var sibling =   $(this).parents('h3').siblings('.quick-info');
        var offset = $(this).parents('div').offset();
        $(this).parents('.course-item').css( {zIndex:950});
        $(sibling).css({
        top: (e.pageY  - offset.top  - 30 ) + "px", left: (e.pageX  - offset.left + 50) + "px"
        }).stop(true, true).fadeIn();
    });

    $('.course-item h3 a').live('mouseout', function() {
        $(this).parents('.course-item').removeAttr("style");
        $(this).parents('h3').siblings('.quick-info').stop(true, true).hide();
    });

    $('#course-search select').live('mouseup', function() {
      $('#course-form #filter-button').removeClass('filter-default').addClass('filter-updating');
    });

    $('#course-search input').live('keyup', function() {
        //if($('#edit-keyword').val().indexOf(" ") != 0){
        //    $('#edit-keyword').val(" "+$('#edit-keyword').val().toString());
        //}
        //Set cookie for returning to results
        setCookie('search',
                  $.param({'edit-keyword':$('#edit-keyword').val().toString(),
                         'edit-field-category-nid':$('#edit-field-category-nid').val(),
                         'edit-field-courselevel-nid': $('#edit-field-courselevel-nid').val(),
                         'edit-field-marketingdept-nid': $('#edit-field-marketingdept-nid').val(),
                         'edit-field-campus-nid': $('#edit-field-campus-nid').val()},true),1);
        $('#course-form #filter-button').removeClass('filter-default').addClass('filter-updating');
    });

    if($("#more-favs").length != 0) {
        var amount = $("#more-favs li").size() ;
       $("#more-favs").append('<a href="#" id="view-favs" >View all ['+amount +' more]</a>');
      
       $("#view-favs").live('click', function(){
           $("#more-favs ul").slideToggle('slow', function() {
                $("#view-favs").text($("#view-favs").text() == 'View all ['+amount +' more]' ? 'Hide [last '+amount +']' : 'View all ['+amount +' more]');
            });
        });             
    }

    if($('.home-news').size() > 1){
        var newsLoop = 1;
        window.setInterval(function (){
            $("#news-item-"+newsLoop).fadeOut('slow',  function() {
                newsLoop ++;
                $("#news-item-"+newsLoop).fadeIn();
            });

           if($('.home-news').size() == newsLoop)
               newsLoop = 0;
        },
        5000);
    }

    if($('.home-event').size() > 1){
            var eventLoop = 1;
            window.setInterval(function (){
                   
                eventLoop ++;
                $("#event-item-"+eventLoop).fadeIn();
                $("#event-item-"+(eventLoop-1)).fadeOut();
                
                if($('.home-event').size() == eventLoop) 
                   eventLoop =0;
            },
            7000);
        }

         $(".event-link").mouseover(function() {
            $(this).children("span").fadeIn("fast");
         });

         $(".event-link").mouseleave(function() {
           $(this).children("span").fadeOut("fast");

         });


      //  if($('#search-input').getAttr('placeholder') =='Search')

      if(jQuery.support.placeholder == false) {
        $('#search-input').val('Search');

        $('#search-input').focus(function(){
            if($(this).val() == 'Search')
            {
              $(this).val('');
            }
         });

         $('#search-input').blur(function(){
            if($(this).val() == '')
            {
              $(this).val('Search');
            }
          });
      }

      if($('.unite-campus').length > 1) {
        unitE.init();
      }
      if($('.apply-button').length != 0){
           $('.apply-button').clone().prependTo('#secondary-content');
      }
});

/* Set cookie */
function setCookie(c_name,value,exdays){
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "; path=/" : "; expires="+exdate.toUTCString()+"; path=/");
    document.cookie=c_name + "=" + c_value;
}

/* Get 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);
        }
    }
}
