var pattern_menu=new Array;var frame_left;var frame_right;var instructions;var pattern=new Array;var ui_card=new Array;var grid;var pattern_piece_total=new Array;var pattern_display=new Array;var tile_card=new Array;var pattern_display_rows=3;var pattern_display_columns=3;var pattern_display_total=pattern_display_rows*pattern_display_columns;var pattern_display_start_x=400;var pattern_display_start_y=240;var pattern_display_scale=.7;var pattern_display_dimension_x=210;var pattern_display_dimension_y=210;var pattern_id=1;var button_pattern;var pattern_pop_up;var pattern_menu_rows=3;var pattern_menu_columns=4;var pattern_total=pattern_menu_rows*pattern_menu_columns;var pattern_menu=new Array;var pattern_menu_start_x=160;var pattern_menu_start_y=200;var pattern_menu_width=150;var pattern_menu_height=150;function init(){canvasInUse=true;document.getElementById('game_container').style.display="inline";document.getElementById('loading_div').style.display="none";setInteractiveParameters();set_data();button_pattern=new MovieClip(document.getElementById('button_pattern').cloneNode(true));button_pattern.x=615;button_pattern.y=50;button_pattern.transform();stage.appendChild(button_pattern.instance);button_pattern.pattern=new Array;for(var i=1;i<=pattern_total;i++){button_pattern.pattern[i]=new MovieClip(document.getElementById('pattern'+i).cloneNode(true));button_pattern.pattern[i].x=-26;button_pattern.pattern[i].y=-26;button_pattern.pattern[i].scale=.25;button_pattern.pattern[i].transform();button_pattern.pattern[i].instance.setAttribute("display","none");button_pattern.instance.appendChild(button_pattern.pattern[i].instance);}
button_pattern.pattern[pattern_id].instance.setAttribute("display","inline");pattern_pop_up=new MovieClip(document.getElementById('pop_up').cloneNode(true));pattern_pop_up.x=0;pattern_pop_up.y=0;pattern_pop_up.transform();pattern_pop_up.instance.setAttribute("display","none");var counter=0;for(var k=1;k<=pattern_menu_rows;k++){for(var i=1;i<=pattern_menu_columns;i++){counter++;pattern_menu[counter]=new MovieClip(document.getElementById('pattern_menu').cloneNode(true));pattern_menu[counter].x=pattern_menu_start_x+pattern_menu_width*(i-1);pattern_menu[counter].y=pattern_menu_start_y+pattern_menu_height*(k-1);pattern_menu[counter].scale=1.5;pattern_menu[counter].transform();pattern_menu[counter].instance.setAttribute("data-id",counter);pattern_menu[counter].pattern=new MovieClip(document.getElementById('pattern'+counter).cloneNode(true));pattern_menu[counter].pattern.x=-26;pattern_menu[counter].pattern.y=-26;pattern_menu[counter].pattern.scale=.25;pattern_menu[counter].pattern.transform();pattern_menu[counter].instance.appendChild(pattern_menu[counter].pattern.instance);pattern_pop_up.instance.appendChild(pattern_menu[counter].instance);}}
grid=new MovieClip(document.getElementById('grid').cloneNode(true));grid.x=pattern_display_start_x;grid.y=pattern_display_start_y;grid.scale=pattern_display_scale;grid.transform();stage.appendChild(grid.instance);for(var f=1;f<=pattern_total;f++){counter=0;tile_card[f]=new Array;pattern_display[f]=new Array;for(var k=1;k<=pattern_display_rows;k++){for(var i=1;i<=pattern_display_columns;i++){counter++;tile_card[f][counter]=new MovieClip(document.getElementById('blank_card').cloneNode(true));tile_card[f][counter].x=(i-1)*pattern_display_dimension_x;tile_card[f][counter].y=(k-1)*pattern_display_dimension_y;tile_card[f][counter].instance.setAttribute("data-id",counter);tile_card[f][counter].transform();tile_card[f][counter].instance.setAttribute("display","none");grid.instance.appendChild(tile_card[f][counter].instance);pattern_display[f][counter]=new MovieClip(document.getElementById('pattern'+f).cloneNode(true));pattern_display[f][counter].x=-105;pattern_display[f][counter].y=-105;pattern_display[f][counter].transform();pattern_display[f][counter].piece_total=pattern_piece_total[f];pattern_display[f][counter].pieces=new Array;for(var m=1;m<=pattern_display[f][counter].piece_total;m++){pattern_display[f][counter].pieces[m]=new MovieClip(pattern_display[f][counter].instance.querySelector("#piece"+m));pattern_display[f][counter].pieces[m].instance.setAttribute("data-id",m);pattern_display[f][counter].pieces[m].instance.setAttribute("pointer-events","none");}
tile_card[f][counter].instance.appendChild(pattern_display[f][counter].instance);}}}
frame_right=new MovieClip(document.getElementById('frame_right').cloneNode(true));frame_right.x=pattern_display_start_x-pattern_display_dimension_x*pattern_display_scale/2;frame_right.y=pattern_display_start_y-pattern_display_dimension_y*pattern_display_scale/2;frame_right.scale=pattern_display_scale;frame_right.transform();stage.appendChild(frame_right.instance);for(var i=1;i<=pattern_total;i++){ui_card[i]=new MovieClip(document.getElementById('blank_card').cloneNode(true));ui_card[i].x=160;ui_card[i].y=390;ui_card[i].scale=1.4;ui_card[i].transform();ui_card[i].instance.setAttribute("display","none");stage.appendChild(ui_card[i].instance);pattern[i]=new MovieClip(document.getElementById('pattern'+i).cloneNode(true));pattern[i].x=-105;pattern[i].y=-105;pattern[i].transform();pattern[i].piece_total=pattern_piece_total[i];pattern[i].pieces=new Array;for(var m=1;m<=pattern[i].piece_total;m++){pattern[i].pieces[m]=new MovieClip(pattern[i].instance.querySelector("#piece"+m));pattern[i].pieces[m].instance.setAttribute("data-id",m);}
ui_card[i].instance.appendChild(pattern[i].instance);}
frame_left=new MovieClip(document.getElementById('frame_left').cloneNode(true));frame_left.x=ui_card[1].x;frame_left.y=ui_card[1].y;frame_left.scale=ui_card[1].scale;frame_left.transform();stage.appendChild(frame_left.instance);instructions=new MovieClip(document.getElementById('instructions').cloneNode(true));instructions.x=160;instructions.y=230;instructions.transform();instructions.text=new MovieClip(instructions.instance.querySelector("#text_container"));instructions.text.instance.textContent='Fill in the shapes below to color the pattern.';stage.appendChild(instructions.instance);stage.appendChild(pattern_pop_up.instance);ui_card[pattern_id].instance.setAttribute("display","inline");for(var i=1;i<=pattern_display_total;i++){tile_card[pattern_id][i].instance.setAttribute("display","inline");}
color_menu_init(false,false);add_pointer_listeners();}
function clear_image(){for(var i=1;i<=9;i++){for(var m=1;m<=pattern[pattern_id].piece_total;m++){pattern[pattern_id].pieces[m].instance.setAttribute("fill","#ffffff")
pattern_display[pattern_id][i].pieces[m].instance.setAttribute("fill","#ffffff");}
tile_card[pattern_id][i].transform();}}
function pattern_pop_up_handler(event){event.preventDefault();if(event.isPrimary){pattern_pop_up.instance.setAttribute("display","inline");}}
function pattern_handler(event){event.preventDefault();if(event.isPrimary){pattern_id=this.getAttribute("data-id");for(var f=1;f<=pattern_total;f++){ui_card[f].instance.setAttribute("display","none");for(var i=1;i<=pattern_display_total;i++){tile_card[f][i].instance.setAttribute("display","none");}}
ui_card[pattern_id].instance.setAttribute("display","inline");for(var i=1;i<=pattern_display_total;i++){tile_card[pattern_id][i].instance.setAttribute("display","inline");}
for(var i=1;i<=pattern_total;i++){button_pattern.pattern[i].instance.setAttribute("display","none");}
button_pattern.pattern[pattern_id].instance.setAttribute("display","inline");pattern_pop_up.instance.setAttribute("display","none");}}
function fill_handler(event){event.preventDefault();if(event.isPrimary){pattern[pattern_id].pieces[this.getAttribute("data-id")].instance.setAttribute("fill",color);for(var i=1;i<=9;i++){pattern_display[pattern_id][i].pieces[this.getAttribute("data-id")].instance.setAttribute("fill",color);}}}
function yes_handler(event){event.preventDefault();if(event.isPrimary){clear_image();hide_pop_up_except();}}
function set_data(){pattern_piece_total[1]=16;pattern_piece_total[2]=16;pattern_piece_total[3]=16;pattern_piece_total[4]=24;pattern_piece_total[5]=9;pattern_piece_total[6]=9;pattern_piece_total[7]=9;pattern_piece_total[8]=16;pattern_piece_total[9]=8;pattern_piece_total[10]=12;pattern_piece_total[11]=8;pattern_piece_total[12]=18;}
function add_pointer_listeners(){add_color_menu_pointer_listeners();button_pattern.instance.addEventListener("pointerdown",pattern_pop_up_handler);for(var i=1;i<=pattern_total;i++){pattern_menu[i].instance.addEventListener("pointerdown",pattern_handler);}
for(var f=1;f<=pattern_total;f++){for(var m=1;m<=pattern[f].piece_total;m++){pattern[f].pieces[m].instance.addEventListener("pointerdown",fill_handler);}}}