// Grid Animation Script v4.1
// Andrew Pettican (February 2010)
//
// Changelog:
// v1.0 - 15/08/2008 - Initial build
// v1.0 - 11/09/2008 - Modified so the grid animation only executes on a mouseover of the grid (not list)
// v2.0 - 16/09/2008 - Made code flexible for use in both the Portfolio and People grids
// v2.0 - 19/09/2008 - Modified to enable grid text to be enabled or disabled
// v3.0 - 06/10/2008 - Rewritten to perform fading animations
// v3.1 - 08/10/2008 - Renamed global variables to avoid possible conflicts with other scripts
// v3.2 - 09/10/2008 - Added ability to show extra portfolio items
// v3.3 - 10/10/2008 - Modified to support the news list as well as the portfolio/people lists
// v3.4 - 16/10/2008 - Modified to perform the grid animation on scroll events
// v3.5 - 21/10/2008 - Modified to support snake and ltr ordering of grid items (NB: ltr = left-to-right)
// v3.6 - 03/11/2008 - Modified to prevent grid animation when mousing over a blank item
// v3.7 - 30/06/2009 - Updated the jQuery triggers to prevent problems in jQuery 1.3.1+
// v3.8 - 29/07/2009 - Optimisated code to prevent floods of animations from triggering
//                     Also modified the lists to prevent dark borders from appearing between default_highlight and hovered list items
//                     Animations now reset when the mouse leaves the window
// v4.0 - 31/07/2009 - Modified for cross site support
//                     Modified to dynamically generate the hover, fade, and text layers
// v4.1 - 17/02/2010 - Fixed a bug where the ga_above_default_class would be put in the wrong place if the default item is directly beneath a header row
//////////////////////////////////////////////////////////////////
var ga_list_ids=new Array("portfolio_list","people_list","news_list","sibling_list");var ga_grid_ids=new Array("portfolio_grid","people_grid");var ga_grid_positions=new Array("right","left");var ga_grid_ordering=new Array("snake","ltr");var ga_text_id="grid_text_store";var ga_fade_time=500;var ga_list_close_timeout=100;var ga_grid_close_timeout=1500;var ga_out_delay=200;var ga_hover_trigger_grid_delay=100;var ga_hover_trigger_list_delay=50;var ga_default_class="default_highlight";var ga_above_default_class="above_default_highlight";var ga_list_element_node_type="div";var ga_shakey_mouse_variance=3;var ga_grid_dir_normal="/colour/";var ga_grid_dir_fade="/bw/";var ga_items=new Array();var ga_list_prefix="";var ga_grid_prefix="";var ga_grid_text_prefix="";var ga_normal_suffix="_normal";var ga_fade_suffix="_fade";var ga_text_suffix="_text";var ga_count=0;var ga_list_wrapper_id="";var ga_grid_wrapper_id="";var ga_grid_block_width=0;var ga_grid_block_margin_right=0;var ga_grid_block_margin_left=0;var ga_grid_position="";var ga_grid_order="";var ga_grid_mode=false;var ga_list_trigger="";var ga_grid_trigger="";var ga_entry_classname="";var ga_header_classname="";var ga_grid_text_mode=false;var ga_out_timer=null;var ga_hover_trigger_timer=null;var ga_mouseX=0;var ga_mouseY=0;var ga_scrollX=0;var ga_scrollY=0;var ga_open_req_id=0;var ga_mouse_over_list=false;var ga_blank_block_class="blank";jQuery(document).ready(function()
{if(init_gridanim())
{$().mousemove(function(event){ga_mouseX=event.pageX;ga_mouseY=event.pageY;ga_scrollX=$(window).scrollLeft();ga_scrollY=$(window).scrollTop();});var wrapper_id_triggers="";if(ga_grid_wrapper_id!==""){wrapper_id_triggers+="#"+ga_grid_wrapper_id;}
wrapper_id_triggers+=(wrapper_id_triggers!=="")?", ":"";if(ga_list_wrapper_id!==""){wrapper_id_triggers+="#"+ga_list_wrapper_id+"_wrapper";}
if(wrapper_id_triggers!=="")
{$(document).bind("mouseleave",function(event){ga_mouseX=0;ga_mouseY=0;ga_out_timer=setTimeout(function(){full_delayed_mouse_out_gridanim();ga_out_timer=null;},ga_out_delay);});$(wrapper_id_triggers).bind("mouseleave",function(event){ga_out_timer=setTimeout(function(){full_delayed_mouse_out_gridanim();ga_out_timer=null;},ga_out_delay);});$(wrapper_id_triggers).bind("mouseenter",function(event){if(ga_out_timer!==null){clearTimeout(ga_out_timer);ga_out_timer=null;}});}
if(ga_list_trigger!==""){$(ga_list_trigger).bind("mouseenter",function(event){mouse_over_gridanim(this.id,ga_list_prefix);ga_mouse_over_list=true;});$(ga_list_trigger).bind("mouseleave",function(event){mouse_out_gridanim(this.id,ga_list_prefix);ga_mouse_over_list=false;});}
if(ga_grid_trigger!==""){$(ga_grid_trigger).bind("mouseenter",function(event){if($(this).hasClass("blank")===false){if(ga_out_timer!==null){clearTimeout(ga_out_timer);ga_out_timer=null;}
mouse_over_gridanim(this.id,ga_grid_prefix);}else{ga_out_timer=setTimeout(function(){full_delayed_mouse_out_gridanim();ga_out_timer=null;},ga_out_delay);}});$(ga_grid_trigger).bind("mouseleave",function(event){mouse_out_gridanim(this.id,ga_grid_prefix);});}
$(window).scroll(function(){check_mouse_position();});}});function init_gridanim(){var gridanim_list=null;for(lid in ga_list_ids){if(ga_list_ids.hasOwnProperty(lid)){gridanim_list=document.getElementById(ga_list_ids[lid]);if(gridanim_list!==null){ga_list_wrapper_id=ga_list_ids[lid];ga_list_prefix=ga_list_ids[lid]+"_";ga_list_trigger="."+ga_list_ids[lid]+"_entry";ga_entry_classname=ga_list_ids[lid]+"_entry";ga_header_classname=ga_list_ids[lid]+"_header";break;}}}
if(gridanim_list!==null)
{var gridanim_grid=null;for(gid in ga_grid_ids){if(ga_grid_ids.hasOwnProperty(gid)){gridanim_grid=document.getElementById(ga_grid_ids[gid]);if(gridanim_grid!==null){ga_grid_wrapper_id=ga_grid_ids[gid];ga_grid_prefix=ga_grid_ids[gid]+"_";ga_grid_text_prefix=ga_grid_ids[gid]+"_text_";ga_grid_trigger="."+ga_grid_ids[gid]+"_block";ga_grid_block_width=$(ga_grid_trigger).width();ga_grid_block_margin_left=parseInt($(ga_grid_trigger).css("margin-left"),10);ga_grid_block_margin_right=parseInt($(ga_grid_trigger).css("margin-right"),10);ga_grid_position=ga_grid_positions[gid];ga_grid_order=ga_grid_ordering[gid];ga_grid_mode=true;break;}}}
var counter=0;var children=gridanim_list.getElementsByTagName(ga_list_element_node_type);var item_position=-1;for(i=0;i<children.length;i++){if(children[i].className.indexOf(ga_entry_classname)!=-1)
{item_position=parseInt(children[i].id.substr(ga_list_prefix.length),10);ga_items[children[i].id]=new Array();ga_items[children[i].id]['open']=false;ga_items[children[i].id]['fading_out']=false;ga_items[children[i].id]['fading_in']=false;ga_items[children[i].id]['closing_timer']=null;ga_items[children[i].id]['grid_fading']="";ga_items[children[i].id]['ga_grid_mode']="normal";ga_items[children[i].id]['grid_anim_normal']=false;ga_items[children[i].id]['grid_anim_fade']=false;ga_items[children[i].id]['grid_closing_timer']=null;ga_items[children[i].id]['is_dummy']=false;var hover_layer=$("#"+children[i].id+" .normal:first").clone(true);$(hover_layer).removeClass("normal").addClass("hover");hover_layer.appendTo("#"+children[i].id);if(ga_grid_mode){build_grid_item_layers(item_position);}
$("#"+children[i].id+" .normal").css("opacity","1");$("#"+children[i].id+" .hover").css("opacity","0");if($("#"+children[i].id).hasClass(ga_default_class))
{if($("#"+children[i].id).prev().hasClass(ga_header_classname)||$("#"+children[i].id).prev().hasClass(ga_entry_classname))
{$("#"+children[i].id).prev().addClass(ga_above_default_class);}}
counter++;}}
ga_count=counter;if(ga_grid_mode)
{var num_extras=3-(ga_count%3);if(num_extras>2){num_extras=0;}
for(i=1;i<=num_extras;i++)
{item_position=ga_count+i;var dummy_id=int_to_id(item_position,ga_list_prefix);ga_items[dummy_id]=new Array();ga_items[dummy_id]['open']=false;ga_items[dummy_id]['fading_out']=false;ga_items[dummy_id]['fading_in']=false;ga_items[dummy_id]['closing_timer']=null;ga_items[dummy_id]['grid_fading']="";ga_items[dummy_id]['ga_grid_mode']="normal";ga_items[dummy_id]['grid_anim_normal']=false;ga_items[dummy_id]['grid_anim_fade']=false;ga_items[dummy_id]['grid_closing_timer']=null;ga_items[dummy_id]['is_dummy']=true;build_grid_item_layers(item_position);$("#"+dummy_id+" .normal").css("opacity","1");$("#"+dummy_id+" .hover").css("opacity","0");}
ga_grid_text_mode=(document.getElementById(ga_text_id)!==null);}
return true;}
else{return false;}}
function build_grid_item_layers(item_position)
{var grid_block_id=ga_grid_prefix+item_position;if(document.getElementById(grid_block_id)!==null&&$("#"+grid_block_id).hasClass(ga_grid_prefix+"block"))
{var fade_layer=$("#"+grid_block_id+" .normal:first").clone(true);var fade_layer_id=grid_block_id+ga_fade_suffix;fade_layer.attr("id",fade_layer_id);$(fade_layer).removeClass("normal").addClass("fade");var old_img_src=$(fade_layer).find("img:first").attr("src");var new_img_src=old_img_src;var img_dir_pos=old_img_src.lastIndexOf(ga_grid_dir_normal);if(img_dir_pos!=-1){new_img_src=old_img_src.substr(0,img_dir_pos)+ga_grid_dir_fade+old_img_src.substr(img_dir_pos+ga_grid_dir_normal.length);var tmp_image=new Image();tmp_image.src=new_img_src;}
$(fade_layer).find("img:first").attr("src",new_img_src);fade_layer.appendTo("#"+grid_block_id);var text_layer=$("#"+grid_block_id+" .normal:first").clone(true);var text_layer_id=grid_block_id+ga_text_suffix;text_layer.attr("id",text_layer_id);$(text_layer).removeClass("normal").addClass("text");$(text_layer).html("");text_layer.appendTo("#"+grid_block_id);}}
function mouse_over_gridanim(trigger_id,prefix)
{var animate_grid=false;if(prefix==ga_grid_prefix){animate_grid=true;}
var item_position=id_to_int(trigger_id,prefix);if(animate_grid)
{var initial_mouseX=ga_mouseX;var initial_mouseY=ga_mouseY;ga_hover_trigger_timer=setTimeout(function(){animate_gridanim_after_mouse_settles(trigger_id,item_position,animate_grid,initial_mouseX,initial_mouseY,ga_hover_trigger_timer);},ga_hover_trigger_grid_delay);}
else
{ga_open_req_id=Math.random();ga_hover_trigger_timer=setTimeout(function(){animate_gridanim(item_position,animate_grid,ga_open_req_id);},ga_hover_trigger_list_delay);}}
function animate_gridanim_after_mouse_settles(trigger_id,item_position,animate_grid,initial_mouseX,initial_mouseY,timer)
{var current_mouseX=ga_mouseX;var current_mouseY=ga_mouseY;var trigger_node=document.getElementById(trigger_id);var over_trigger_node=false;if(trigger_node!==null){over_trigger_node=is_mouseover(current_mouseX,current_mouseY,trigger_node);}
if(over_trigger_node)
{if(current_mouseX>initial_mouseX-ga_shakey_mouse_variance&&current_mouseX<initial_mouseX+ga_shakey_mouse_variance&&current_mouseY>initial_mouseY-ga_shakey_mouse_variance&&current_mouseY<initial_mouseY+ga_shakey_mouse_variance)
{ga_open_req_id=Math.random();animate_gridanim(item_position,animate_grid,ga_open_req_id);}
else
{initial_mouseX=current_mouseX;initial_mouseY=current_mouseY;timer=setTimeout(function(){animate_gridanim_after_mouse_settles(trigger_id,item_position,animate_grid,initial_mouseX,initial_mouseY,timer);},ga_hover_trigger_grid_delay);}}}
function mouse_out_gridanim(trigger_id,prefix,no_delay)
{var list_id=trigger_id;if(prefix!=ga_list_prefix){list_id=ga_list_prefix+trigger_id.replace(prefix,"");}
if(ga_items[list_id]['open']===true)
{if(typeof(no_delay)!="boolean"){no_delay=false;}
var animate_grid=false;if(prefix==ga_grid_prefix){animate_grid=true;}
if(no_delay===false){if(animate_grid){ga_items[list_id]['grid_closing_timer']=setTimeout(function(){close_gridanim(list_id,animate_grid);},ga_grid_close_timeout);}else{ga_items[list_id]['closing_timer']=setTimeout(function(){close_gridanim(list_id,animate_grid);},ga_list_close_timeout);}}else{close_gridanim(list_id,animate_grid);}}}
function animate_gridanim(item_position,animate_grid,req_id)
{var target_list_id=int_to_id(item_position,ga_list_prefix);var target_grid_id=int_to_id(item_position,ga_grid_prefix);var text_source_id=int_to_id(item_position,ga_grid_text_prefix);var doanim=false;var bad_req=false;if(req_id==ga_open_req_id)
{if(animate_grid){var grid_node=document.getElementById(target_grid_id);if(grid_node!==null){doanim=is_mouseover(ga_mouseX,ga_mouseY,grid_node);}}else{var list_node=document.getElementById(target_list_id);if(list_node!==null){doanim=is_mouseover(ga_mouseX,ga_mouseY,list_node);}}}else{bad_req=true;}
if(doanim){if(animate_grid){var text_target_info=calculate_text_position(item_position);var text_target_pos=text_target_info['target'];animate_ga_grid(target_list_id,target_grid_id,text_source_id,text_target_pos);}
animate_ga_list(target_list_id);}}
function animate_ga_list(target_list_id)
{for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){var list_node=document.getElementById(list_node_id);if(list_node!==null){if(list_node_id!=target_list_id&&ga_items[list_node_id]['open']===true){mouse_out_gridanim(list_node_id,ga_list_prefix);}}}}
if($("#"+target_list_id).hasClass(ga_default_class)===false)
{if(ga_items[target_list_id]['closing_timer']!==null){clearTimeout(ga_items[target_list_id]['closing_timer']);ga_items[target_list_id]['closing_timer']=null;}
if(ga_items[target_list_id]['fading_out']===true)
{ga_items[target_list_id]['open']=true;ga_items[target_list_id]['fading_in']=true;ga_items[target_list_id]['fading_out']=false;$("#"+target_list_id+" .hover").stop();$("#"+target_list_id+" .hover").animate({opacity:1},ga_fade_time,function(){ga_items[target_list_id]['fading_in']=false;});}
if(ga_items[target_list_id]['open']!==true)
{ga_items[target_list_id]['open']=true;ga_items[target_list_id]['fading_in']=true;$("#"+target_list_id+" .hover").animate({opacity:1},ga_fade_time,function(){ga_items[target_list_id]['fading_in']=false;});}}}
function animate_ga_grid(target_list_id,target_grid_id,text_source_id,text_target_pos)
{var text_target_grid_id="";var text_target_list_id="";var text_target_id="";if(ga_grid_text_mode){text_target_grid_id=int_to_id(text_target_pos,ga_grid_prefix);text_target_list_id=int_to_id(text_target_pos,ga_list_prefix);text_target_id=text_target_grid_id+ga_text_suffix;}
for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){var grid_node_id=list_node_id.replace(ga_list_prefix,ga_grid_prefix);if(list_node_id!=target_list_id&&list_node_id!=text_target_list_id){setGridBlockMode("fade",list_node_id,grid_node_id);}
if(ga_items[list_node_id]['grid_closing_timer']!==null){clearTimeout(ga_items[list_node_id]['grid_closing_timer']);ga_items[list_node_id]['grid_closing_timer']=null;}}}
setGridBlockMode("normal",target_list_id,target_grid_id);if(ga_grid_text_mode)
{var text_source_node=document.getElementById(text_source_id);var text_target_node=document.getElementById(text_target_id);if(text_source_node!==null&&text_target_node!==null)
{text_target_node.innerHTML=text_source_node.innerHTML;setGridBlockMode("text",text_target_list_id,text_target_grid_id);}}}
function full_delayed_mouse_out_gridanim(){for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){if(ga_items[list_node_id]['open']===true){var grid_node_id=list_node_id.replace(ga_list_prefix,ga_grid_prefix);mouse_out_gridanim(grid_node_id,ga_grid_prefix,true);}}}}
function close_gridanim(id,animate_grid)
{var target_list_id=id;var target_grid_id=id.replace(ga_list_prefix,ga_grid_prefix);var doanim=false;var animate_list=true;if(animate_grid){var grid_node=document.getElementById(target_grid_id);if(grid_node!==null){doanim=(is_mouseover(ga_mouseX,ga_mouseY,grid_node)===false);}
animate_list=(ga_mouse_over_list===false);}else{var list_node=document.getElementById(target_list_id);if(list_node!==null){doanim=(is_mouseover(ga_mouseX,ga_mouseY,list_node)===false);}}
if(doanim){if(ga_grid_mode&&animate_grid){close_ga_grid(target_list_id);}
if(ga_items[id]['open']===true&&animate_list){close_ga_list(target_list_id);}}}
function close_ga_list(target_list_id){if(ga_items[target_list_id]['fading_in']===true){ga_items[target_list_id]['open']=false;ga_items[target_list_id]['fading_in']=false;ga_items[target_list_id]['fading_out']=true;$("#"+target_list_id+" .hover").stop();$("#"+target_list_id+" .hover").animate({opacity:0},ga_fade_time,function(){ga_items[target_list_id]['fading_out']=false;});}
else{ga_items[target_list_id]['open']=false;ga_items[target_list_id]['fading_in']=false;ga_items[target_list_id]['fading_out']=true;$("#"+target_list_id+" .hover").animate({opacity:0},ga_fade_time,function(){ga_items[target_list_id]['fading_out']=false;});}}
function close_ga_grid(target_list_id){var grid_wrapper_node=document.getElementById(ga_grid_wrapper_id);var target_grid_id=target_list_id.replace(ga_list_prefix,ga_grid_prefix);var over_grid=false;if(grid_wrapper_node!==null){over_grid=is_mouseover(ga_mouseX,ga_mouseY,grid_wrapper_node);}
if(over_grid===true)
{for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){if(ga_items[list_node_id]['is_dummy']===true)
{var dummy_grid_id=list_node_id.replace(ga_list_prefix,ga_grid_prefix);var dummy_node=document.getElementById(dummy_grid_id);if(dummy_node!==null){if(is_mouseover(ga_mouseX,ga_mouseY,dummy_node))
{over_grid=false;break;}}}}}}
if(over_grid===false)
{for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){var grid_node_id=list_node_id.replace(ga_list_prefix,ga_grid_prefix);setGridBlockMode("normal",list_node_id,grid_node_id);}}}}
function setGridBlockMode(newmode,list_block_id,grid_block_id)
{var oldmode=ga_items[list_block_id]['ga_grid_mode'];if(ga_items[list_block_id]['grid_fading']!==""&&newmode==oldmode){oldmode=ga_items[list_block_id]['grid_fading'];ga_items[list_block_id]['grid_fading']="";}
if(oldmode!="fade"&&oldmode!="text"){oldmode="normal";}
if(newmode!="fade"&&newmode!="text"){newmode="normal";}
var anim_layer="";var anim_opacity="";switch(oldmode)
{case"normal":if(newmode=="fade")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","1");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","1");}
anim_layer="normal";anim_opacity=0;}
else if(newmode=="text")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","1");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","0");}
anim_layer="normal";anim_opacity=0;}
else if(newmode=="normal")
{$("#"+grid_block_id+" .normal").css("opacity","1");$("#"+grid_block_id+" .fade").css("opacity","1");$("#"+grid_block_id+" .text").css("opacity","1");}
break;case"fade":if(newmode=="normal")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","0");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","1");}
anim_layer="normal";anim_opacity=1;}
else if(newmode=="text")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","0");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","1");}
anim_layer="fade";anim_opacity=0;}
else if(newmode=="fade")
{$("#"+grid_block_id+" .normal").css("opacity","0");$("#"+grid_block_id+" .fade").css("opacity","1");$("#"+grid_block_id+" .text").css("opacity","1");}
break;case"text":if(newmode=="normal")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","0");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","0");}
anim_layer="normal";anim_opacity=1;}
else if(newmode=="fade")
{if(ga_items[list_block_id]['grid_anim_normal']===false){$("#"+grid_block_id+" .normal").css("opacity","0");}
if(ga_items[list_block_id]['grid_anim_fade']===false){$("#"+grid_block_id+" .fade").css("opacity","0");}
anim_layer="fade";anim_opacity=1;}
else if(newmode=="text")
{$("#"+grid_block_id+" .normal").css("opacity","0");$("#"+grid_block_id+" .fade").css("opacity","0");$("#"+grid_block_id+" .text").css("opacity","1");}
break;}
if(anim_layer!==""||anim_opacity!=="")
{ga_items[list_block_id]['grid_fading']=newmode;if(anim_layer=="normal"){ga_items[list_block_id]['grid_anim_normal']=true;}else if(anim_layer=="fade"){ga_items[list_block_id]['grid_anim_fade']=true;}
$("#"+grid_block_id+" ."+anim_layer).animate({opacity:anim_opacity},ga_fade_time,function()
{ga_items[list_block_id]['grid_fading']="";ga_items[list_block_id]['ga_grid_mode']=newmode;if(anim_layer=="normal"){ga_items[list_block_id]['grid_anim_normal']=false;}else if(anim_layer=="fade"){ga_items[list_block_id]['grid_anim_fade']=false;}});}else{}}
function id_to_int(id,prefix){return parseInt(id.substr(prefix.length),10);}
function int_to_id(int,prefix){return prefix+String(int);}
function calculate_text_position(source_position){var rhs_grid=(ga_grid_position=="right");var colNumber=0;var rowNumber=0;var cols=3;var target=0;var col_remainder=source_position%(cols*2);if(ga_grid_order=="snake")
{if(col_remainder==1||col_remainder===0){colNumber=1;}
else if(col_remainder==2||col_remainder==5){colNumber=2;}
else if(col_remainder==3||col_remainder==4){colNumber=3;}}
else{if(col_remainder==1||col_remainder==4){colNumber=1;}
else if(col_remainder==2||col_remainder==5){colNumber=2;}
else if(col_remainder==3||col_remainder===0){colNumber=3;}}
rowNumber=Math.ceil(source_position/3);if(colNumber==1||colNumber==2){if(ga_grid_order=="snake")
{if(rowNumber%2===0){target=source_position-1;}
else{target=source_position+1;}}
else{target=source_position+1;}}
if(colNumber==3){if(ga_grid_order=="snake")
{if(rowNumber%2===0){target=source_position+1;}
else{target=source_position-1;}}
else{target=source_position-1;}}
var result=new Array();result['target']=target;result['col']=colNumber;result['row']=rowNumber;return result;}
function check_mouse_position(){if(!ie6)
{var scrollChangeX=$(window).scrollLeft()-ga_scrollX;var scrollChangeY=$(window).scrollTop()-ga_scrollY;var list_wrapper_node=document.getElementById(ga_list_wrapper_id);var over_list=false;if(list_wrapper_node!==null){over_list=is_mouseover(ga_mouseX,ga_mouseY,list_wrapper_node);}
var grid_wrapper_node=document.getElementById(ga_grid_wrapper_id);var over_grid=false;if(grid_wrapper_node!==null){over_grid=is_mouseover(ga_mouseX,ga_mouseY,grid_wrapper_node);}
ga_mouseX=ga_mouseX+scrollChangeX;ga_mouseY=ga_mouseY+scrollChangeY;ga_scrollX=$(window).scrollLeft();ga_scrollY=$(window).scrollTop();if(over_list||over_grid)
{for(list_node_id in ga_items){if(ga_items.hasOwnProperty(list_node_id)){if(over_list)
{var list_node=document.getElementById(list_node_id);if(list_node!==null){var mouse_over_list=is_mouseover(ga_mouseX,ga_mouseY,list_node);if(ga_items[list_node_id]["open"]===true&&mouse_over_list===false){mouse_out_gridanim(list_node_id,ga_list_prefix);ga_mouse_over_list=false;}
else if(ga_items[list_node_id]["open"]===false&&mouse_over_list===true){mouse_over_gridanim(list_node_id,ga_list_prefix);ga_mouse_over_list=true;}}}
else if(over_grid)
{var grid_node_id=list_node_id.replace(ga_list_prefix,ga_grid_prefix);var grid_node=document.getElementById(grid_node_id);if(grid_node!==null){var mouse_over_grid=is_mouseover(ga_mouseX,ga_mouseY,grid_node);if(ga_items[list_node_id]["open"]===true&&mouse_over_grid===false){if(!ie){mouse_out_gridanim(grid_node_id,ga_grid_prefix);}}
else if(ga_items[list_node_id]["open"]===false&&mouse_over_grid===true){mouse_over_gridanim(grid_node_id,ga_grid_prefix);}}}}}}}}