$(document).ready(function(){
    
    // Search form
    var search_input = kbf.e("search_text");
    var default_search_value = 'Search';
    if(search_input){
        if(search_input.value == ''){
            search_input.value = default_search_value;
        }
        search_input.onfocus=function(){
            if(this.value==default_search_value){
                this.value='';
            }
        }
        search_input.onblur=function(){
            if(this.value==''){
                this.value=default_search_value;
            }
        }
    }
    
	// show/hide faq style pages
    
    //is this used anywhere?
    $("#faq_list p").hide();
    $("#faq_list ol").hide();
    $("#faq_list h2 a").toggle(
        function () {
            $(this).parent("h2").siblings("p").show();
            $(this).parent("h2").siblings("ol").show();
        },
        function () {
            $(this).parent("h2").siblings("p").hide();
            $(this).parent("h2").siblings("ol").hide();
        }
    );
    
    
    
    //common
    $(".expand_list").children("li").children("h2, a.more").addClass("collapsed").siblings("div").hide();
    if ($.browser.msie && $.browser.version <= 7 ) {
		$(".expand_list h2, .expand_list a.more").toggle(
	        function () {
	            $(this).removeClass("collapsed").siblings("div").show().parent("li").addClass("expanded");
                return false;
	        },
	        function () {
	            $(this).addClass("collapsed").siblings("div").hide().parent("li").removeClass("expanded");
                return false;
	        }
	    );
	} else {
		$(".expand_list h2, .expand_list a.more").toggle(
	        function () {
	            $(this).removeClass("collapsed").siblings("div").show("fast").parent("li").addClass("expanded");
                return false;
	        },
	        function () {
	            $(this).addClass("collapsed").siblings("div").hide("fast").parent("li").removeClass("expanded");
                return false;
	        }
	    );
	}
    
    //tracking toggle
    $(".expand_list_tracking").children("li").children("h2").addClass("collapsed").siblings("div").hide();
    if ($.browser.msie && $.browser.version <= 7 ) {
		$(".expand_list_tracking h2 a").toggle(
	        function () {
	            $(this).removeClass("collapsed").parent().siblings("div").show().parent("li").addClass("expanded");
	        },
	        function () {
	            $(this).addClass("collapsed").parent().siblings("div").hide().parent("li").removeClass("expanded");
	        }
	    );
	} else {    
        
        $(".expand_list_tracking h2 a").toggle(
	        function () {
	            $(this).removeClass("collapsed").parent().siblings("div").show("fast").parent("li").addClass("expanded");
	        },
	        function () {
	            $(this).addClass("collapsed").parent().siblings("div").hide("fast").parent("li").removeClass("expanded");
	        }
	    );
    }
    
    
    
    // for project carter...
    $(".expand_list_carter").children("li").children("p.q").addClass("collapsed").siblings("div").hide();
	$(".expand_list_carter").children("li#troubleshoot").addClass("expanded").children("p#troubleshoot").removeClass("collapsed").siblings("div.js_show").show();
    $(".expand_list_carter p.q").toggle(
        function () {
			if($(this).siblings("div").parent("li").attr("class") == "expanded") {
				$(this).addClass("collapsed").siblings("div").hide("fast").parent("li").removeClass("expanded");			
			} else {			
				$(this).removeClass("collapsed").siblings("div").show("fast").parent("li").addClass("expanded");			
			}	
        },
        function () {
			if($(this).siblings("div").parent("li").attr("class") == "") {	
				$(this).removeClass("collapsed").siblings("div").show("fast").parent("li").addClass("expanded");				
			} else {
				$(this).addClass("collapsed").siblings("div").hide("fast").parent("li").removeClass("expanded");
			}
        }
    ); 
	
	// homepages rollovers
	$("#current_rates li.rates_box").hover(
      function () {
        $(this).addClass("rates_hover");
        
		// loads the new url if any part of the rates box is clicked
		$(this).click(function () { 
			document.location = $(this).children("h2").children("a").attr("href");
		});
      }, 
      function () {
        $(this).removeClass("rates_hover");
      }
    );
	
	$("#term_deposit_rates li.term_deposit_box").hover(
      function () {
        $(this).addClass("rates_hover");
        
		// loads the new url if any part of the rates box is clicked
		$(this).click(function () { 
			document.location = $(this).children("h2").children("a").attr("href");
		});
      }, 
      function () {
        $(this).removeClass("rates_hover");
      }
    );

	// homepage tiles
	/*$("#left_tile").click{function () {
		$(this).addClass("here");
		//$(this).addClass($(this).children("ul").children("li").children("a").attr("title"));
		//document.location = $(this).children("ul").children("li").children("a").attr("href");
	});
	$("#left_tile").hover(
      function () {
	  	$(this).addClass("left_tile_hover");	
		
		$(this).click(function () { 
			document.location = $(this).children("ul").children("li").children("a").attr("href");
		});
      }, 
      function () {
        $(this).removeClass("left_tile_hover");
      }
    );*/
	$(".home_tile").hover(
      function () {
	  	$(this).addClass("tile_hover");	
		
		$(this).click(function () { 
			document.location = $(this).children("ul").children("li").children("a").attr("href");
		});
      }, 
      function () {
        $(this).removeClass("tile_hover");
      }
    );
	
	// button hover - highlight bg image
	$(".button").hover(
		function () {
			$(this).addClass("button_on");
		},
		function () {
			$(this).removeClass("button_on");
		}
	);
	
	// personal banking homepage
	$(".pb_list li").hover(
		function () {
			var listId = this.id;
			$(this).addClass(listId + "_on").addClass("pb_list_on");
			
			// loads the new url if any part of the box is clicked
			$(this).click(function () { 
				document.location = $(this).children("h2").children("a").attr("href");
			});
		},
		function () {
			var listId = this.id;
			$(this).removeClass(listId + "_on").removeClass("pb_list_on");
		}
	);
	
	// business banking homepage
	$("#bb_list li").hover(
		function () {
			$(this).addClass("bb_list_on");
			
			// loads the new url if any part of the box is clicked
			$(this).click(function () { 
				document.location = $(this).children("a").attr("href");
			});
		},
		function () {
			$(this).removeClass("bb_list_on");
		}
	);
    
    // about us homepage
	$(".about_us_list li").hover(
		function () {
			$(this).addClass("landing_list_on");
			
			// loads the new url if any part of the box is clicked
			$(this).click(function () { 
				document.location = $(this).children("h2").children("a").attr("href");
			});
		},
		function () {
			$(this).removeClass("landing_list_on");
		}
	);
	
	// business banking faq page
	$("#business_faqs p").hide();
	$("#business_faqs h2 a").toggle(
		function () {
	  		$(this).parent("h2").siblings("p").show();
		},
      	function () {
	  		$(this).parent("h2").siblings("p").hide();
		}
    );
    
    // Accounts for non profits page
    $("#npo_performer").hide();
    $("#npo_toggle").click(function() {
        if ($(this).parent().hasClass("expanded")) {
            $(this).parent().removeClass("expanded");
            $("#npo_performer").hide();
        } else {        
            $(this).parent().addClass("expanded");
            $("#npo_performer").show();
        }
    });
	
	// image rollovers
	//var uls = document.getElementsByTagName("UL");
	//var divs = document.getElementsByTagName("DIV");
	var ul;
	
	var uls = getElementsByClassName("img_rollovers");
    var regex;
	
	for(i=0;i<uls.length;i++){
		ul = uls[i];
		if(kbf.hasClass(ul,"img_rollovers") == true){
			
			var imgs = ul.getElementsByTagName('IMG');
			var img;
			for(k=0;k<imgs.length;k++){
				img = imgs[k];
	            img.onmouseover = function()
	            {
	                var my_src = this.getAttribute('src');
                    var extension = my_src.substr((my_src.length)-3);
                    
                    regex = new RegExp('-on.' + extension,"gi");
                    my_src = my_src.replace(regex,"");
                    
                    regex = new RegExp('.' + extension,"gi");
	                my_src = my_src.replace(regex,"");
                    
	                this.setAttribute("src",my_src+"-on."+extension);
	            }
	            img.onmouseout = function()
	            {
	                var my_src = this.getAttribute('src');
                    var extension = my_src.substr((my_src.length)-3);
                    
                    regex = new RegExp('-on.' + extension,"gi");
                    my_src = my_src.replace(regex,"");
                    
                    regex = new RegExp('.' + extension,"gi");
                    my_src = my_src.replace(regex,"");
                    
	                this.setAttribute("src",my_src+"."+extension);
	            }	
			}
		}
	}
	
	$(".add-ons-link").click(function(){
		$("#browser-add").siblings("div").show();
	});
    
    //image-rollover

    //preload images
    jQuery.preloadImages = function() {
        for(var i = 0; i<arguments.length; i++) {
        jQuery("<img>, <input>").attr("src", arguments[i]);
        }
    }


    $("img[src*='rollover'], input[src*='rollover']")

        .load(
            function(){
                var my_src = this.getAttribute('src');
                var extension = my_src.substr((my_src.length)-3);

                regex = new RegExp('-on.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                regex = new RegExp('.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                $.preloadImages("/images/"+my_src+"-on."+extension);
            }
        )

        //do the hover
        .hover(
            function(){
                var my_src = this.getAttribute('src');
                var extension = my_src.substr((my_src.length)-3);

                regex = new RegExp('-on.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                regex = new RegExp('.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                this.setAttribute("src",my_src+"-on."+extension);

            },
            function(){
                var my_src = this.getAttribute('src');
                var extension = my_src.substr((my_src.length)-3);

                regex = new RegExp('-on.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                regex = new RegExp('.' + extension,"gi");
                my_src = my_src.replace(regex,"");

                this.setAttribute("src",my_src+"."+extension);

            }
        );

			
    
    // /personal-banking/international-services/foreign-exchange/ pages - used to show and hide foreign currencies
	$(".foreign_currency_buy_sell_list").hide();	
	$(".foreign_currency_drop_down").each(function() {
		$(this).click(function() {
			if($(this).attr("id") == "foreign_currency_bottom") {
				$("#foreign_currency_low_list").toggle("slow");
			} else if($(this).attr("id") == "foreign_currency_top") {
				$("#foreign_currency_high_list").toggle("slow");
			} else {
				$("#foreign_currency_normal").toggle("slow");
			}
		});	
	});
	
	//remote id forms and join online form script to change driver licence info depending on selection
	//NOTE: This text must also be changed at the end of sub display in form-view.asp for when the back button is pressed
	$("#has_driver_licence").change(function() {
		if($(this).val() == "yes") {
			$("#driver_info").removeClass("hide").html("If we can confirm your ID now, then we can set your account up online. If we can't, you'll need to visit your local Kiwibank to open your account.  Make sure you take some current photo ID (e.g. a passport or New Zealand driver's licence) and proof of address (e.g. a phone or electricity bill) that's no more than 90 days old.");
		} else if($(this).val() == "no") {	
			$("#driver_info").removeClass("hide").html("If you don't have a New Zealand driver's licence, we can start the process but you'll need to visit your local Kiwibank to open your account.  Make sure you take some current photo ID (e.g. a passport) and proof of address (e.g. a phone or electricity bill) that's no more than 90 days old.");
		} else {
			$("#driver_info").addClass("hide");
		}
	});	
       
    //add Google tracking to pdfs
    $("a[href*='.pdf']")
        .click(function(){
            kbTrackLink(location.pathname + " -> " + this.href);
        });

	//Login script to change the login selection elements in navigation.asp
	$('#login_select_box').selectbox();
	
	// Berry read more
	$('.berry_question_read_more').hide();
	$('.berry_read_more').click(function() {
        var parent = $(this).parent().parent();
        var lastElement = parent.children().length - 1;
        var readMore = parent.children().eq(lastElement);
        
        readMore.toggle("fast");
        
        return false;
         
	});
	
	//Expandable navigation
	$(".expandable_nav").click(function() {
		$(this).next().toggle("fast");
		return false;
	});
	
});