
// jquery.js.js - For jQuery scripting

$(document).ready(function(){
	install_change_phonenumber();
	if(!document.all){
		$('#cnt.front-page #main .cnt h2').corner("bl br");
		}
	install_page('#cnt #main');
	install_menu('#cnt #head .mnu');
	install_product_links();
	install_search();
	install_validation();
	if(jQuery.browser.msie){
		Cufon.now();
		}
	perform_animation();
	});

jQuery.fn.sort = function() {
	return this.pushStack( [].sort.apply( this, arguments ), []);
	};
function sortAlpha(a,b){
	return a.innerHTML>b.innerHTML?1:-1;
	};

function install_change_phonenumber(){
	//  Code to change the on page phone number.
	//  $(".call-to-action strong").html('New Phone Number')
	}

function install_search(){
	$("#head").prepend('<div id="jla-search"><input name="jla-search-text" id="jla-search-text" /><span id="jla-search-button" class="inactive">Go</span></div>');
	$('#jla-search-text').keyup(function(){
		if($('#jla-search-text').val().length<2){
			$('#jla-search-button').addClass('inactive');
			}
		else{
			$('#jla-search-button').removeClass('inactive');
			}

		});
	$('#jla-search-text').keyup(function(e){
		var code = (e.keyCode?e.keyCode:e.which);
		if(code==13){ 
			if($('#jla-search-text').val().length>2){
				search_work()
				};
			};
		});

	$('#jla-search-button').click(function(){
		search_work();
		});
	}

function search_work(){
      	$('#cnt').addClass('search-results');
      	$('.pos .current').remove();
      	$('#cnt').removeClass('product-template').removeClass('front-page').removeClass('general-template').removeClass('mini-site').removeClass('news-index').removeClass('news-page').addClass('long-template');
      	$('#cnt #main .cnt:eq(0)').css('background','transparent');
      	$('#cnt #main .cnt:gt(0),#cnt #main .idx,#cnt #main .more-products').remove();
      	$('#cnt #main .cnt').addClass('search-in-progress');
      	$('#cnt #main .cnt').html('<p>Searching the JLA website</p>');
      	$.ajax({ url: "/_fun/fun-search.php?s="+$('#jla-search-text').val(), success: function(html){
      		if(html.indexOf('li')==-1){
      			$('#cnt #main .cnt').html('<p class="search-results">Nothing found</p>')
      			$('#cnt #main .cnt').removeClass('search-in-progress');
      			}
      		else{
      			$('#cnt #main .cnt').html(html);
      			list_of_items = $('#cnt #main .cnt .search-results');
      			item_on_list = list_of_items.children('li').get();
      			item_on_list.sort(function(a,b){
      				var compA = $(a).find('.strength span').html();
      				var compB = $(b).find('.strength span').html();
      				return (compA>compB)?-1:(compA<compB)?1:0;
      				})
      			$.each(item_on_list, function(idx,itm) { list_of_items.append(itm); });
      			$('#cnt #main .cnt .search-results li:gt(4)').hide();
      			$('#cnt #main .cnt .search-results').after('<p class="idx-search-results"><strong>Search Results: </strong></p>');
      			total_of_search_results = $('#cnt #main .cnt .search-results li').length;
      			if(total_of_search_results>5){
      				for(current_search_result=0;current_search_result<total_of_search_results;current_search_result=current_search_result+5){
      					current_search_result+5<total_of_search_results?last_search_result=(current_search_result+5):last_search_result=total_of_search_results;
      					$('#cnt #main .cnt .idx-search-results').append(' <span>'+(current_search_result+1) + '-' + last_search_result + '</span>');
      					$('#cnt #main .cnt .idx-search-results span:eq(0)').addClass('active');
      					$('#cnt #main .cnt .idx-search-results span').click(function(){
      						$('#cnt #main .cnt .idx-search-results span').removeClass('active');
      						$(this).addClass('active');
      						search_area_array = $(this).html().split('-');
      						$('#cnt #main .cnt .search-results li').hide();
      						for(nn=(search_area_array[0]-1);nn<search_area_array[1];nn++){
      							$('#cnt #main .cnt .search-results li').eq(nn).show()
      							}
      						});
      					}
      				}
      			$('#cnt #main .cnt .search-results li').each(function(){
      				$(this).find('.strength').css('background-position','0px '+(50-(50*($(this).find('.strength span').html()/100)))+'px');
      				})
      			$('#cnt #main .cnt').removeClass('search-in-progress');
      			}
      		}});

	}

function install_menu(find_menu_cnt){
	var m=$(find_menu_cnt);
	$(m).parent().find("ul > li > ol").each(function(){
		$(this).siblings("a").first().addClass("has-submenu");
		});
	$(m).find("li").mouseover(function(){
		$(m).find("ul > li > a").removeClass("active-submenu");
		$(this).siblings("li").each(function(){
			$(this).find("ol").hide();
			});
		if($(this).children("ol").length){
			if($(this).parent("ul").length){
				$(this).children("a").first().addClass("active-submenu");
				};
			};
		position_left=$(this).position().left+"px";
		if(jQuery.browser.msie && jQuery.browser.version.indexOf("6.")!=-1){
			position_left=($(this).position().left-268)+"px";
			}
		position_top=($(this).position().top+$(this).outerHeight())+"px";
		$(this).find("ol:first").css("left",position_left).css("top",position_top).show()
		if($(this).parent('ol').length>0){
			$(this).mouseout(function(){
				$(this).find('ol').hide();
				});
			}
		});
	$('#cnt #head .mnu ol:empty').remove();
	install_hide_menu('#cnt #head .mnu');
	};

function install_hide_menu(find_menu_cnt){
	var m=$(find_menu_cnt);
	$('#cnt #main .cnt , #cnt #main .img,#cnt #jla-search').mouseover(function(){
		$(m).find("ol").hide();
		$(m).find("ul > li > a").removeClass("active-submenu");
		});
	};


function install_product_links(){
	$('.more-products ul li').click(function(){
		img_title = $(this).find('span').html();
		img_link_start = $(this).find('img').attr('src').substring(0,$(this).find('img').attr('src').indexOf('/s')+1);
		img_link_end = $(this).find('img').attr('src').substring($(this).find('img').attr('src').indexOf('/s/')+3,$(this).find('img').attr('src').length)+'';
		$('.img a').attr('href',img_link_start+'l/'+ img_link_end);
		$('.img a img').attr('src',img_link_start+'m/'+ img_link_end);
		$('.img p').remove();
		$('.img').append('<p>'+img_title+'</p>');
		});
	};


function install_page(find_page){
	var p=$(find_page+' .cnt');
	var template_name=$('#cnt').attr('class') ;
	if(template_name=='mini-site' || template_name=='front-page'){
//		Nothing to do here yet.		
		}
	else if(template_name=='disable-news-page'){
		var p=$(find_page+' .cnt');
		var box_name=p.attr('class');
	      	var box_height=$(p).height()-40;
	      	var cnt_top = $(p).position().top ;
	      	create_panes=0;
	      	$(p).find('h2,h3,h4,h5,h6,ol,ul,p').each(function(){
	      		add_to_pane = Math.floor(($(this).height()+($(this).position().top-cnt_top))/box_height)
	      		create_panes<add_to_pane?create_panes=add_to_pane:null;
			$(this).attr('title',add_to_pane)
	      		});
		if(create_panes>0){
			for(n=0;n<=add_to_pane;n++){
				$(p).append('<div class="pane"></div>')
				}
			}
	      	$(p).find('h2,h3,h4,h5,h6,ul,ol,p').each(function(){
			$(p).find('.pane').eq($(this).attr('title')).append($(this))
			$(this).removeAttr('title')
	      		});
		$(p).find('.pane').append('<p class="read-start-more"><span class="read-start">Back</span> <span class="read-more">Read more...</span></p>');
		$(p).find('.pane:first .read-start').hide();
		$(p).find('.pane:last .read-more').hide();
		$(p).find('.pane:first').show();
		$('.read-more').live('click',function(){
			$(this).parents('.pane').hide().next('.pane').show();
			})
		$('.read-start').live('click',function(){
			$('.pane').hide()
			$('.pane:first').show()
			})
		}
	else if(template_name=='long-template'){
		$(p).find("h2").nextAll().wrapAll('<div class="int"></div>');
		}
	else{
		if($(p).children("h3").length>1){
			$(find_page+' .sub').prepend('<h3>On this page</h3><ul class="idx"></ul>');
			var i=$(find_page+' .sub');
			$(i).find('ul.idx').append('<li><span class="show_pane_0">Front Page</span></li>');
			$("h2").first().nextUntil("h3").add("h3:eq(0)").nextUntil("h3").andSelf().wrapAll('<div class="pane"></div>');
			$(p).children("h3").each(function(n){
				$(i).find('ul.idx').append('<li><span class="show_pane_'+(n+1)+'">'+$(this).text()+'</span></li>');
				$(this).nextUntil("h3").andSelf().wrapAll('<div class="pane"></div>');
				});
			$(i).find('ul.idx li span').click(function(){
				if(!$(this).hasClass('active-idx')){
					$(p).find(".pane").hide();
					$(p).find(".pane").eq($(this).attr('class').substring($(this).attr('class').lastIndexOf('_')+1,$(this).attr('class').length)).slideDown();
					$(i).find('ul li span').removeClass('active-idx');
					$(this).toggleClass('active-idx');
					};
				});
//			$(i).find('ul.idx li span').css('max-width',($(i).width()/$(p).children(".pane").length-20));
			$(i).find("span:first").addClass('active-idx');
			$(p).find(".pane:first").show();
			}
		};
	};

function install_readmore(find_page){
	var p=$(find_page+' .cnt');
	alert($(p).html())
	var box_name=p.attr('class');
      	var box_height=$(p).height();
      	create_panes=0;
      	$(p).find('h2,h3,h4,h5,h6,li,p').each(function(){
      		add_to_pane = Math.floor($(this).position().top/box_height)
      		add_to_pane<create_panes?create_panes=add_to_pane:null;
		$(this).attr('title',add_to_pane)
      		});
	if(add_to_pane<0){
		for(n=0;n<=add_to_pane;n++){
			$(p).append('<div class="pane"></div>')
			}
		}
      	$(p).find('h2,h3,h4,h5,h6,li,p').each(function(){
		$(this).appendTo($(p).find('pane').eq($(this).attr('title')));
		$(this).attr('title','')
      		});
	};


function perform_animation(){
	$('#cnt #main .cnt img.frame0').css('top','0%');
	setTimeout(function() {
		$('#cnt #main .cnt img.frame1').animate( { top:'-=50%' }, 3000 );
		}, 0);
	setTimeout(function() {
		$('#cnt #main .cnt img.frame2').animate( { top:'-=50%' }, 3000 );
		}, 3000);
	setTimeout(function() {
		$('#cnt #main .cnt img.frame3').animate( { top:'-=50%' }, 3000 );
		}, 6000);
	setTimeout(function() {
		$('#cnt #main .cnt img.frame4').animate( { top:'-=50%' }, 3000 );
		}, 9000);
	};

function install_zoom(){
	$('.product-template .enlarge').jqzoom({
		zoomWidth: 345,
		zoomHeight: 400,
		xOffset: 0,
		yOffset: 0,
		title: false,
		preloadText: "Zooming",
		position: "left",
		showEffect: "fadein",
		hideEffect: "fadeout",
		fadeinSpeed: "fast",
		fadeoutSpeed: "fast",
		zoomType: "reverse"
		});
	};

function install_validation(){
	$('.contact-form').each(function(){
		$('#form-how_did_you_hear_about_jla').change(function(){
			if($(this).val().indexOf('Other')!=-1){
				$('.form-how_did_you_hear_about_jla_other').show()
				}
			else{
				$('.form-how_did_you_hear_about_jla_other').hide()
				}
			})
		$('#form-name').keyup(function(){
			$('#form-name').val().length<2?$('#form-name').parents('p:first').removeClass("good"):$('#form-name').parents('p:first').addClass("good");
			$('#form-name').val().length<2?$('#form-name').parents('p:first').addClass("error"):$('#form-name').parents('p:first').removeClass("error");
			});
		$('#form-telephone_number').keyup(function(){
			$('#form-telephone_number').val().length<2?$('#form-telephone_number').parents('p:first').removeClass("good"):$('#form-telephone_number').parents('p:first').addClass("good");
			$('#form-telephone_number').val().length<2?$('#form-telephone_number').parents('p:first').addClass("error"):$('#form-telephone_number').parents('p:first').removeClass("error");
			});
		$('#form-email').keyup(function(){
			!isValidEmailAddress($('#form-email').val())?$('#form-email').parents('p:first').removeClass("good"):$('#form-email').parents('p:first').addClass("good");
			!isValidEmailAddress($('#form-email').val())?$('#form-email').parents('p:first').addClass("error"):$('#form-email').parents('p:first').removeClass("error");
			});
		$('#form-business_name').keyup(function(){
			$('#form-business_name').val().length<2?$('#form-business_name').parents('p:first').removeClass("good"):$('#form-business_name').parents('p:first').addClass("good");
			$('#form-business_name').val().length<2?$('#form-business_name').parents('p:first').addClass("error"):$('#form-business_name').parents('p:first').removeClass("error");
			});
		$('#form-postcode').keyup(function(){
			$('#form-postcode').val().length<2?$('#form-postcode').parents('p:first').removeClass("good"):$('#form-postcode').parents('p:first').addClass("good");
			$('#form-postcode').val().length<2?$('#form-postcode').parents('p:first').addClass("error"):$('#form-postcode').parents('p:first').removeClass("error");
			});
		$('#form-your_question').keyup(function(){
			$('#form-your_question').val().length<2?$('#form-your_question').parents('p:first').removeClass("good"):$('#form-your_question').parents('p:first').addClass("good");
			$('#form-your_question').val().length<2?$('#form-your_question').parents('p:first').addClass("error"):$('#form-your_question').parents('p:first').removeClass("error");
			});

		$('#form-submit').click(function(){
			$('#form-name').val().length<1?$('#form-name').parents('p:first').removeClass("good"):$('#form-name').parents('p:first').addClass("good");
			$('#form-name').val().length<1?$('#form-name').parents('p:first').addClass("error"):$('#form-name').parents('p:first').removeClass("error");
			$('#form-telephone_number').val().length<1?$('#form-telephone_number').parents('p:first').removeClass("good"):$('#form-telephone_number').parents('p:first').addClass("good");
			$('#form-telephone_number').val().length<1?$('#form-telephone_number').parents('p:first').addClass("error"):$('#form-telephone_number').parents('p:first').removeClass("error");
			!isValidEmailAddress($('#form-email').val())?$('#form-email').parents('p:first').removeClass("good"):$('form-email').parents('p:first').addClass("good");
			!isValidEmailAddress($('#form-email').val())?$('#form-email').parents('p:first').addClass("error"):$('form-email').parents('p:first').removeClass("error");
			$('#form-business_name').val().length<1?$('#form-business_name').parents('p:first').removeClass("good"):$('#form-business_name').parents('p:first').addClass("good");
			$('#form-business_name').val().length<1?$('#form-business_name').parents('p:first').addClass("error"):$('#form-business_name').parents('p:first').removeClass("error");
			$('#form-postcode').val().length<1?$('#form-postcode').parents('p:first').removeClass("good"):$('#form-postcode').parents('p:first').addClass("good");
			$('#form-postcode').val().length<1?$('#form-postcode').parents('p:first').addClass("error"):$('#form-postcode').parents('p:first').removeClass("error");
			$('#form-your_question').val().length<1?$('#form-your_question').parents('p:first').removeClass("good"):$('#form-your_question').parents('p:first').addClass("good");
			$('#form-your_question').val().length<1?$('#form-your_question').parents('p:first').addClass("error"):$('#form-your_question').parents('p:first').removeClass("error");
			errors_found=0;
			$('#form-name , #form-telephone_number , #form-email, #form-business_name , #form-your_question').each(function(){
				if($(this).parents('p:first').hasClass("error")){
					errors_found++
					}
				})
			if(errors_found==0){
				return true
				}
			else{
				return false
				}
			})
		})
	}
	

function isValidEmailAddress(emailAddress){
	var pattern = new RegExp(/^[^ ]+@[a-z0-9-]+\.[a-z0-9.-]+$/i);
//	var pattern = new RegExp(/^[^ ]+@[^ ]+$/i);
//	var pattern = new RegExp(/@/i);
	return pattern.test(emailAddress);
	};

