// hijax.js
// Unobtrusive Javascript functionality
// Steve George, sgeorge@pagerange.com
// Copyright (c) 2010 by Pagerange Web Services


// Detect ie6 before doing anything else
if (document.all && !window.opera && !window.XMLHttpRequest){
   window.location = "upgrade_browser.php"
  }

window.onload = hijax;

// Page initialization
function hijax() {
    loadMailchimp();
    setClassicSearchType();
    setupCommentForm();
    setupNavRollovers();
   //  setupBannerNavigation()
    setupSearchDetailPane()
} // End Initialization


// INIT FUNCTIONS

// Load Mailchimp form with Ajax to prevent pageload delays
function loadMailchimp() {
    if(document.getElementById('ajaxmc')){
        var loader_img = '<img align="center" width="32px" height="32px" src="images/ajax-loader.gif" alt="loader" />';
        $('#ajaxmc').html(loader_img);
        $('#ajaxmc').load('includes/mailchimp.inc.php');
    }
}

// If on Classics Pages, call checkDecade() to change display of Search Form
// depending on what's selected
function setClassicSearchType(){
    if(document.getElementById('select_music')){
        var select_music = document.getElementById('select_music');
        var select_products = document.getElementById('select_products');

        select_music.setAttribute('onchange','checkDecade()');
        select_products.setAttribute('onchange','checkDecade()');

        // set the defaults.
        checkDecade();
    }
}

// Setup the comment form to empty each field of default text on focus
function setupCommentForm(){
    // Add emptyField attribute to comment form if it's being displayed.
    if(document.getElementById('comment_form')){
        document.getElementById('comment').setAttribute('onfocus', 'emptyField(this)');
        document.getElementById('first_name').setAttribute('onfocus', 'emptyField(this)');
        document.getElementById('last_name').setAttribute('onfocus', 'emptyField(this)');
        document.getElementById('email').setAttribute('onfocus', 'emptyField(this)');
     }
}

// Setup navigation rollovers depending on the active page
function setupNavRollovers() {
    // Set main nav and sidebar nav rollover
    var images = document.getElementsByTagName('img');
    var sources = new Array();
    for (i = 0; i < images.length; i++){
        sources[i] = images[i].src;
    }

    // Navigation Rollovers
    if(document.getElementById('nav2')) {
        var nav2 = document.getElementById('nav2');
        var nav3 = document.getElementById('nav3');
        var nav4 = document.getElementById('nav4');
        var nav5 = document.getElementById('nav5');
        var nav6 = document.getElementById('nav6');
        var nav7 = document.getElementById('nav7');
        nav2.setAttribute('onmouseover','swapImg(this)');
        nav2.setAttribute('onmouseout','swapImg(this)');
        nav3.setAttribute('onmouseover','swapImg(this)');
        nav3.setAttribute('onmouseout','swapImg(this)');
        nav4.setAttribute('onmouseover','swapImg(this)');
        nav4.setAttribute('onmouseout','swapImg(this)');
        nav5.setAttribute('onmouseover','swapImg(this)');
        nav5.setAttribute('onmouseout','swapImg(this)');
        nav6.setAttribute('onmouseover','swapImg(this)');
        nav6.setAttribute('onmouseout','swapImg(this)');
        nav7.setAttribute('onmouseover','swapImg(this)');
        nav7.setAttribute('onmouseout','swapImg(this)');
    }
    if(document.getElementById('lic1')) {
        var lic1 = document.getElementById('lic1');
        var lic2 = document.getElementById('lic2');
        var lic3 = document.getElementById('lic3');
        var lic4 = document.getElementById('lic4');
        var lic5 = document.getElementById('lic5');
        var lic6 = document.getElementById('lic6');
        lic1.setAttribute('onmouseover','swapImg(this)');
        lic1.setAttribute('onmouseout','swapImg(this)');
        lic2.setAttribute('onmouseover','swapImg(this)');
        lic2.setAttribute('onmouseout','swapImg(this)');
        lic3.setAttribute('onmouseover','swapImg(this)');
        lic3.setAttribute('onmouseout','swapImg(this)');
        lic4.setAttribute('onmouseover','swapImg(this)');
        lic4.setAttribute('onmouseout','swapImg(this)');
        lic5.setAttribute('onmouseover','swapImg(this)');
        lic5.setAttribute('onmouseout','swapImg(this)');
        lic6.setAttribute('onmouseover','swapImg(this)');
        lic6.setAttribute('onmouseout','swapImg(this)');
    }
    if(document.getElementById('prodnav1')) {
        var prodnav1 = document.getElementById('prodnav1');
        var prodnav2 = document.getElementById('prodnav2');
        var prodnav3 = document.getElementById('prodnav3');
        var prodnav4 = document.getElementById('prodnav4');
        var prodnav5 = document.getElementById('prodnav5');
        var prodnav6 = document.getElementById('prodnav6');
        var prodnav7 = document.getElementById('prodnav7');
        var prodnav8 = document.getElementById('prodnav8');
        prodnav1.setAttribute('onmouseover','swapImg(this)');
        prodnav1.setAttribute('onmouseout','swapImg(this)');
        prodnav2.setAttribute('onmouseover','swapImg(this)');
        prodnav2.setAttribute('onmouseout','swapImg(this)');
        prodnav3.setAttribute('onmouseover','swapImg(this)');
        prodnav3.setAttribute('onmouseout','swapImg(this)');
        prodnav4.setAttribute('onmouseover','swapImg(this)');
        prodnav4.setAttribute('onmouseout','swapImg(this)');
        prodnav5.setAttribute('onmouseover','swapImg(this)');
        prodnav5.setAttribute('onmouseout','swapImg(this)');
        prodnav6.setAttribute('onmouseover','swapImg(this)');
        prodnav6.setAttribute('onmouseout','swapImg(this)');
        prodnav7.setAttribute('onmouseover','swapImg(this)');
        prodnav7.setAttribute('onmouseout','swapImg(this)');
        prodnav8.setAttribute('onmouseover','swapImg(this)');
        prodnav8.setAttribute('onmouseout','swapImg(this)');
    }
    if(document.getElementById('sidenav2')){
        var sidenav2 = document.getElementById('sidenav2');
        sidenav2.setAttribute('onmouseover','swapImg(this)');
        sidenav2.setAttribute('onmouseout','swapImg(this)');
    }
    if(document.getElementById('featside')){
        var feat1 = document.getElementById('featside1');
        var feat2 = document.getElementById('featside2');
        feat1.setAttribute('onmouseover','setFeaturedImage(this.id)');
        feat2.setAttribute('onmouseover','setFeaturedImage(this.id)');
    }
}

// Navigation for main banner sliders
function setupBannerNavigation(){
     if(document.getElementById('one')){
        var picone = document.getElementById('one');
        var pictwo = document.getElementById('two');
        var picthree = document.getElementById('three');
        var picfour = document.getElementById('four');
        picone.setAttribute('onmouseover','slideSwitch2(this.id);');
        pictwo.setAttribute('onmouseover','slideSwitch2(this.id);');
        picthree.setAttribute('onmouseover','slideSwitch2(this.id);');
        picfour.setAttribute('onmouseover','slideSwitch2(this.id);');
    }
}

// Add functionality to close the search detail pane if it's open
function setupSearchDetailPane(){
    var search_close = (document.getElementById('search_overview_href'))?document.getElementById('search_overview_href'):null;

    if(search_close != null) {
        search_close.setAttribute('onclick','closeSearch(); return false;');
    }
}


// HELPER FUNCTIONS

function swapImg(id){
	if(id.src.indexOf('off') !== -1) {
  	id.src = id.src.replace('off','on');
	} else {
		id.src = id.src.replace('on','off');
	}
}

function closeSearch() {
    document.getElementById('search_overview').style.display = 'none';
}

function setFeaturedImage(id){
    var featured_pic = document.getElementById('featured_pic');
    //var feat1_text = document.getElementById('feat1_text');
   // var feat2_text = document.getElementById('feat2_text');
    featured_pic.src = (id == 'featside1') ? 'images/css/featured_1.jpg' : 'images/css/featured_2.jpg';
    if (id == 'featside1'){
        $('#feat2_text').hide();
        $('#feat1_text').fadeIn('slow');
    }
    if (id == 'featside2'){
        $('#feat1_text').hide();
        $('#feat2_text').fadeIn('slow');
    }
}

// Main banner slideshow
function slideSwitch() {
    var $active = $('#pics img.active');

    if ( $active.length == 0 ) $active = $('#pics img:last');

    var $next =  $active.next().length ? $active.next()
        : $('#pics img:first');

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });

}


// Main banner slideshow navigation
function slideSwitch2(id) {
    // clearInterval(doslides);
    clearInterval();
    var $next
    var link = document.getElementById(id);
    if(link.src.indexOf('_on') !== -1) {
  	// do nothing
	} else {
           if(id == 'one' ){
               $next = $('#picone');
           } else if (id ==  'two') {
              $next = $('#pictwo');
           } else if (id == 'three') {
               $next = $('#picthree');
           } else if (id == 'four') {
               $next = $('#picfour');
           } else  {
               $next = $('#picone');
           }
        }
    setNav(id);
    var $active = $('#pics img.active');

    if ( $active.length == 0 ) $active = $('#pics img:last');

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });

}
// Helper function for main banner navigation
function setNav(id){
        var one = $('#one');
        var two = $('#two');
        var three = $('#three');
        var four = $('#four');
        var onesrc = one.attr('src').replace('on','off');
        var twosrc = two.attr('src').replace('on','off');
        var threesrc = three.attr('src').replace('on','off');
        var foursrc = four.attr('src').replace('on','off');
        one.attr('src',onesrc);
        two.attr('src',twosrc);
        three.attr('src',threesrc);
        four.attr('src',foursrc);
        var act = document.getElementById(id);
  	if(act.src.indexOf('off') !== -1) {
  	act.src = act.src.replace('off','on');
	}
}

// Empty form field if it's current value is the default value
 function emptyField(field) {
     if (field.value == field.defaultValue) {
      field.value = '';
     } 
 }

// Hide a div slowly
function hideDiv(id){
    $('#'+id).hide('slow');
}

// Show a div slowly
function showDiv(id){
    $('#'+id).show('slow');
}

// Change Classics search form depending on "Products" or "Music" selection
function checkDecade(){
    if(document.getElementById('select_music').checked){
         document.getElementById('decade').style.display = 'inline-block';
        document.getElementById('products-optgroup').style.display = 'none';
        document.getElementById('music-optgroup').style.display = 'inline-block';
    } else {
        document.getElementById('decade').style.display = 'none';
        document.getElementById('products-optgroup').style.display = 'inline-block';
        document.getElementById('music-optgroup').style.display = 'none';
    }
}
