function aep_init(){if(!xmlhttp_available())return;var link_ele=check_dom_param('ajaxemailpage-link');var input_size=45;var popup_contents=ele('',[ele('div','#aep-controls',[ele('div','#aep-desc',['Want to tell a friend about this page? ',ele('br'),'You can use this box to send them an email about it']),ele('div','#aep-error .empty',[]),mk_table(['labels','inputs'].merge({'thead':false,'cols':true,'cell_classes':true}),[[ele('label','From'),ele('input','#aep-from',{'size':input_size},'')],[ele('label','To'),ele('input','#aep-to',{'size':input_size},'')],[ele('label','Subject'),ele('input','#aep-subject',{'size':input_size},'')]]),ele('textarea','#aep-body',{'rows':8},''),ele('div','#aep-buttons',[ele('button','#aep-send','send'),ele('button','#aep-cancel','cancel')])]),ele('div','#aep-sending','sending...')]);link_popup_init(link_ele,popup_contents,'ajaxemailpage','0',aep_init_field_values_in_a_while);add_event('aep-send','click',aep_send);add_event('aep-cancel','click',aep_cancel);append('aep-to','');}function aep_init_field_values_in_a_while(){window.setTimeout(aep_init_field_values,100);}function aep_init_field_values(){var link_ele=check_dom_param('ajaxemailpage-link');var username=link_ele.getAttribute('ajaxemailpage:username');if(!username)username='';var subject=link_ele.getAttribute('ajaxemailpage:subject');var body=link_ele.getAttribute('ajaxemailpage:body');body=body.replace( /\\n/g,window.NEEDS_IE_HACKS?"\r":"\n");document.getElementById('aep-from').value=username;document.getElementById('aep-to').value='';document.getElementById('aep-subject').value=subject;var body_txtarea=document.getElementById('aep-body');body_txtarea.value=body;if(window.NEEDS_IE_HACKS){add_class('aep-to','junk');remove_class('aep-to','junk');}if(username=='')document.getElementById('aep-from').focus();else document.getElementById('aep-to').focus();}function aep_send(){var error_area=document.getElementById('aep-error');if(error_area.childNodes.length!=0){error_area.removeChild(error_area.firstChild);add_class(error_area,'empty');}remove_class('aep-from','error');remove_class('aep-to','error');remove_class('aep-subject','error');remove_class('aep-body','error');add_class('link-popup--ajaxemailpage--0','sending');var to=document.getElementById('aep-to').value;var from=document.getElementById('aep-from').value;var subject=document.getElementById('aep-subject').value;var body=document.getElementById('aep-body').value;var params=get_url_params_string({'to':to,'from':from,'subject':subject,'body':body},true);var url="ajaxemailpage/send"+params;get_http_resource(url,aep_recieve);return false;}function aep_recieve(response_text){remove_class('link-popup--ajaxemailpage--0','sending');switch(response_text){case 'no to':case 'invalid to':case 'no from':case 'no subject':case 'invalid subject':case 'no body':aep_error(response_text);break;case 'failed':alert("oh dear, something went wrong! We should drink less gin");break;case 'ok':aep_sent_ok();break;}}function aep_cancel(){link_popup_hide('link-popup--ajaxemailpage--0','ajaxemailpage-link');}function aep_sent_ok(){link_popup_hide('link-popup--ajaxemailpage--0','ajaxemailpage-link');alert("your email has been sent");}var AEP_ERROR_MESSAGES={'no to':"You forgot to tell us who to send it to!",'invalid to':"That doesn't look like an email address",'no from':"Forget who you are?",'no subject':"We need a subject, dude!",'invalid subject':"Wow, I'm tripping out, man!",'no body':"Oi! We can't just send people blank emails!"};function aep_error(response_text){var error_area=document.getElementById('aep-error');var desc_ele=document.getElementById('aep-desc');desc_ele.style.display='none';var bits=response_text.split(' ');var tipe=bits[0];var field=bits[1];var field_ele=document.getElementById('aep-'+field);add_class(field_ele,'error');field_ele.focus();var human_msg=AEP_ERROR_MESSAGES[response_text];var error_area=document.getElementById('aep-error');if(error_area.childNodes.length!=0){error_area.removeChild(error_area.firstChild);}append(error_area,human_msg);remove_class(error_area,'empty');}function alt_login_init(){var upin=document.getElementById('alt-login--upin');add_class(upin,'ajaxified');var login_div=alt_login_mk_login();upin.parentNode.appendChild(login_div);var register_div=alt_login_mk_register();upin.parentNode.appendChild(register_div);var leenks=all_children_by_tag_name(upin,'a');if(leenks.length==1){var sign_up=null;var sign_in=leenks[0];}else{var sign_up=leenks[0];var sign_in=leenks[1];}add_class(sign_in,'fake-button');add_event(sign_in,'click',alt_login_show_login_form);if(sign_up){add_class(sign_up,'fake-button');add_event(sign_up,'click',alt_login_show_register_form);}}function alt_login_show_login_form(){alt_login_show_form(true);return false;}function alt_login_show_register_form(){alt_login_show_form(false);return false;}function alt_login_show_form(is_login){var block_div=document.getElementById('block-alt-login-0');add_class(block_div,'show-something');if(is_login){add_class(block_div,'show-sign-in');remove_class(block_div,'show-sign-up');}else{add_class(block_div,'show-sign-up');remove_class(block_div,'show-sign-in');}if(window.NEEDS_IE_HACKS)window.event.srcElement.blur();}function alt_login_mk_register(){var rtn=mk_ele('div','#alt-login-register .user-login-block',[mk_ele('p','','Ok, to create the new account we just need a few things:'),mk_ele('form','',[mk_ele('div','form-item',[mk_ele('label','','Your new username',{'for':'reg-edit-name'}),mk_ele('br'),mk_ele('input','#reg-edit-name .form-text',[],{'type':'text','size':'15','name':'edit[name]','maxlength':64})]),mk_ele('div','form-item',[mk_ele('label','','Your email address',{'for':'reg-edit-mail'}),mk_ele('br'),mk_ele('input','#reg-edit-mail .form-text',[],{'type':'text','size':'15','name':'edit[mail]','maxlength':64})]),mk_ele('div','form-item',[mk_ele('label','','Password',{'for':'reg-edit-pass'}),mk_ele('br'),mk_ele('input','#reg-edit-pass .form-password',[],{'type':'password','size':'15','name':'edit[pass]','maxlength':64})]),mk_ele('div','form-item',[mk_ele('label','','Retype password',{'for':'reg-edit-conf-pass'}),mk_ele('br'),mk_ele('input','#reg-edit-conf-pass .form-password',[],{'type':'password','size':'15','name':'edit[conf_pass]','maxlength':64})]),mk_ele('input','.form-submit',[],{'type':'submit','value':'Create new account','name':'op'})],{'method':'post','action':'toboggan/register?destination='})]);return rtn;}function alt_login_mk_login(){var rtn=mk_ele('div','#alt-login-login .user-login-block',[mk_ele('form','',[mk_ele('div','form-item',[mk_ele('label','','Username or Email',{'for':'edit-name'}),mk_ele('br'),mk_ele('input','#edit-name .form-text',[],{'type':'text','size':'15','name':'edit[name]','maxlength':64})]),mk_ele('div','form-item',[mk_ele('label','','Password',{'for':'edit-pass'}),mk_ele('br'),mk_ele('input','#edit-pass .form-password',[],{'type':'password','size':'15','name':'edit[pass]','maxlength':64})]),mk_ele('input','.form-submit',[],{'type':'submit','value':'Log in','name':'op'})],{'method':'post','action':'toboggan/login?destination=node'}),mk_ele('a','.forgot-password','forgot your password?',{'href':'toboggan/password'})]);return rtn;}function buyin_init_field_label_hover(field_id){var field_ele=document.getElementById(field_id);add_label_hover_events(first_child_by_tag_name(field_ele,'label'));}function buyin_init_conditionally_shown_bit(bit_id,radio_name,radio_value){var f=function(){buyin_update_conditionally_shown_bit(bit_id,radio_name,radio_value);};f.call();var radios=get_radios_by_name(radio_name);for(var i=0;i<radios.length;i++){add_event(radios[i],'change',f);}}function buyin_update_conditionally_shown_bit(bit_id,radio_name,radio_value){var actual_value=get_radios_value_by_name(radio_name);var dis=(actual_value==radio_value?'':'none');var bit=document.getElementById(bit_id);bit.style.display=dis;}var BUYIN_BUTTON_TEXT_CHANGE='Change this image';var BUYIN_BUTTON_TEXT_KEEP='Nah, keep as is';function buyin_image_uploader_init(nme){var uploader=document.getElementById(nme+'-uploader');add_class(uploader,'image-uploader-keep');add_class(uploader,'image-uploader-ajaxified');var img=document.getElementById(nme+'-cur-image');var img_width=img.getAttribute('width')+'px';var but_id=nme+'-button';var but=make_element('input',('.change-button .form-button #'+but_id),[],{'type':'button','value':BUYIN_BUTTON_TEXT_CHANGE});but.onclick=function(){buyin_image_uploader_notkeeping(nme);};var but_otr=make_element('div','.change-button-outer',[but,make_element('div','.visualclear')],{},{'width':img_width});var ops=document.getElementById(nme+'-options');ops.parentNode.insertBefore(but_otr,ops);var mandatory=has_class(uploader,'mandatory');if(mandatory){var replace_option=document.getElementById(nme+'-option-replace');replace_option.style.display='none';var replace_label=make_element('span','.replace-text','Choose an image to replace with:');replace_option.parentNode.insertBefore(replace_label,replace_option);}if(!mandatory){var replacement_input=document.getElementById('buyin-input-'+nme);replacement_input.disabled=true;var replace_options=document.getElementById(nme+'-options');var replace_options=all_children_by_tag_name(replace_options,'div');for(var i=0;i<replace_options.length;i++){var option=replace_options[i];var op_input=first_child_by_tag_name(option,'input');op_input.onchange=function(){buyin_image_uploader_set_replace_enabled(nme);};}var replacement_input=document.getElementById('buyin-input-'+nme);replacement_input.onclick=function(){var keep_option=document.getElementById(nme+'-option-replace');var radio=first_child_by_tag_name(keep_option,'input');radio.checked=true;}}}function buyin_image_uploader_set_replace_enabled(nme){var replace_option=document.getElementById(nme+'-option-replace');var replace_input=first_child_by_tag_name(replace_option,'input');var replacement_input=document.getElementById('buyin-input-'+nme);replacement_input.disabled=!replace_input.checked;}function buyin_image_uploader_notkeeping(nme){var uploader=document.getElementById(nme+'-uploader');remove_class(uploader,'image-uploader-keep');var but=document.getElementById(nme+'-button');but.setAttribute('value',BUYIN_BUTTON_TEXT_KEEP);but.onclick=function(){buyin_image_uploader_keeping(nme);};var mandatory=has_class(uploader,'mandatory');if(mandatory){var checked_option_id=(nme+'-option-replace');}else{var checked_option_id=(nme+'-option-del');}var checked_option=document.getElementById(checked_option_id);var radio=first_child_by_tag_name(checked_option,'input');radio.checked=true;buyin_image_uploader_set_replace_enabled(nme);}function buyin_image_uploader_keeping(nme){var uploader=document.getElementById(nme+'-uploader');add_class(uploader,'image-uploader-keep');var keep_option=document.getElementById(nme+'-option-keep');var radio=first_child_by_tag_name(keep_option,'input');radio.checked=true;var but=document.getElementById(nme+'-button');but.setAttribute('value',BUYIN_BUTTON_TEXT_CHANGE);but.onclick=function(){buyin_image_uploader_notkeeping(nme);};}var BUYIN_ALL_CHECKS=[];function buyin_tree_init(tree_root_id){var tree=document.getElementById(tree_root_id);var branches=tree.childNodes;for(var i=0;i<branches.length;i++){var b=branches[i];if(b.nodeName.toLowerCase()!='li')continue;var bhead=first_child_by_tag_name(b,'div');bhead.onclick=buyin_expand_tree;}BUYIN_ALL_CHECKS=buyin_tree_all_checkboxes(tree_root_id);var sofar_msg=make_element('span','#tree-sofar-msg','');tree.parentNode.insertBefore(sofar_msg,tree);buyin_tree_update_sofar_msg(tree_root_id);for(var i=0;i<BUYIN_ALL_CHECKS.length;i++){add_event(BUYIN_ALL_CHECKS[i],'change',buyin_tree_selection_changed);}}function buyin_tree_selection_changed(){buyin_tree_update_sofar_msg();if(this.checked)add_class(this.parentNode,'sel');else remove_class(this.parentNode,'sel');}function buyin_tree_update_sofar_msg(){var brakes_chosen=0;for(var i=0;i<BUYIN_ALL_CHECKS.length;i++){if(BUYIN_ALL_CHECKS[i].checked)brakes_chosen++;}if(brakes_chosen==0)var new_msg=make_element('span','.none',"You haven't selected any breaks yet");else var new_msg=make_element('',null,['You have selected ',make_element('span','.number',''+brakes_chosen),' break'+(brakes_chosen>1?'s':'')+' so far']);new_msg=make_element('span','#tree-sofar-msg',new_msg);var old_msg=document.getElementById('tree-sofar-msg');old_msg.parentNode.replaceChild(new_msg,old_msg);}function buyin_tree_all_checkboxes(tree_root_id){var tree=document.getElementById(tree_root_id);var branches=tree.childNodes;var rtn=[];for(var i=0;i<branches.length;i++){var b=branches[i];if(b.nodeName.toLowerCase()!='li')continue;var bcontents=first_child_by_tag_name(b,'ul').childNodes;for(var j=0;j<bcontents.length;j++){var item=bcontents[j];if(item.nodeName.toLowerCase()!='li')continue;var check=first_child_by_tag_name(item,'input');rtn.push(check);}}return rtn;}function buyin_expand_tree(e){if(!e)var e=window.event;var branch=this.parentNode;if(has_class(branch,'collapsed')){remove_class(branch,'collapsed');}else{add_class(branch,'collapsed');}}function charter_interface_ie_transparency_hacks(){var lis=all_children_by_tag_name('charter--data-types','li');for(var i=0,n=lis.length;i<n;i++){var li=lis[i];var other_ele=first_child_by_tag_name(li,'a');if(!other_ele)other_ele=first_child_by_tag_name(li,'span');var img_ele=first_child_by_tag_name(other_ele,'img');ie_hacks_fix_PNG_img(img_ele);}ie_hacks_fix_PNG_img_by_id('charter--key');ie_hacks_fix_PNG_img_by_id('charter--land');ie_hacks_fix_PNG_background_by_id('charter--progress');ie_hacks_fix_PNG_background_by_id('charter--progress-blob');var button_links=all_children_by_tag_name('charter--controls','a');for(var i=0,n=button_links.length;i<n;i++){var a_ele=button_links[i];var img_ele=first_child_by_tag_name(a_ele,'img');ie_hacks_fix_PNG_img(img_ele);}}function charter_init(index_to_show){if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){charter_interface_ie_transparency_hacks();}switch(charter_data_type){case 'swell_h':case 'swell_p':var directional_data_type='swell_d';break;case 'wind_s':var directional_data_type='wind_d';}for(var i=0;i<CHARTS.length;i++){var chart=CHARTS[i];var issue_time_millis=chart.issue_time*1000;var issue_time=new Date(issue_time_millis);CHARTS[i].issue_time=issue_time;CHARTS[i].for_time=new Date(issue_time_millis+(chart.lead_time*3600000));CHARTS[i].url=charter_chart_urls(issue_time,chart.lead_time,charter_region,charter_data_type,directional_data_type);}charter_preload();charter_add_mousewheel_events();charter_add_bardrag_events();charter_goto(index_to_show);}function charter_add_bardrag_events(){var dragging=false;var drag_start_x=0;var drag_start_idx=0;add_event('charter--progress-blob','mousedown',function(e){if(!e)e=window.event;dragging=true;drag_start_x=e.clientX;drag_start_idx=cur_chart;add_class('charter--progress-blob','dragging');add_event('charter--interface','mousemove',mousemove_function);return false;});var mousemove_function=function(e){if(!e)e=window.event;if(!dragging)return;var bar_ele=document.getElementById('charter--progress');var relative_x=e.clientX-drag_start_x;var bar_width=bar_ele.clientWidth;bar_width-=6;var num_instances=CHARTS.length;var idx_change=relative_x/bar_width*(num_instances-1);idx_change=Math.round(idx_change);var old_idx=cur_chart;var new_idx=drag_start_idx+idx_change;var max_idx=CHARTS.length-1;if(new_idx<0)new_idx=0;else{if(new_idx>max_idx)new_idx=max_idx;}if(old_idx==new_idx)return;if(old_idx==max_idx)charter_set_playpause_button_image('play');else if(new_idx==max_idx)charter_set_playpause_button_image('replay');charter_goto(new_idx);if(window.NEEDS_IE_HACKS)document.getElementById('charter--interface').select();return false;};var end_drag=function(){remove_class('charter--progress-blob','dragging');dragging=false;clear_events('charter--interface','mousemove');};add_event('charter--interface','mouseup',function(e){if(!e)e=window.event;if(!dragging)return;end_drag();});add_event('charter--interface','mouseout',function(e){if(!e)e=window.event;if(!dragging)return;var left_to_ele=e.relatedTarget||e.toElement;var ele=left_to_ele;while(ele!=null&&ele.tagName.toLowerCase()!='html'){ele=ele.parentNode;if(ele.getAttribute('id')=='charter--interface'){return;}}end_drag();});}function charter_add_mousewheel_events(){add_mousewheel_listener('charter--interface',function(delta){if(delta>0)charter_back();else charter_forwards();});}var charter_preloaded_images=[];function charter_preload(){var temp_images=charter_preloaded_images;for(var i=0;i<CHARTS.length;i++){var temp_img=new Image();temp_img.src=CHARTS[i].url;temp_images.push(temp_img);}temp_img=new Image();temp_img.src=charter_image_button_url('pause');temp_images.push(temp_img);temp_img=new Image();temp_img.src=charter_image_button_url('replay');temp_images.push(temp_img);temp_img=new Image();temp_img.src='themes/surfcore_uk/images/charter_interface/button-hi.png';temp_images.push(temp_img);charter_preloaded_images=temp_images;}function charter_chart_urls(issue_time,lead_time,region,data_type,directional_data_type){var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];var url=['files','charter',issue_time.getUTCFullYear(),months[issue_time.getUTCMonth()],charter_format_for_url(issue_time.getUTCDate()),charter_format_for_url(issue_time.getUTCHours()),'+'+lead_time,encodeURIComponent(region),data_type+'.png'];var non_dir_url=url.join('/');return non_dir_url;}function charter_format_for_url(n){n=""+n;if(n.length==1){return '0'+n;}return n;}function charter_tostart(){charter_pause();charter_goto(0);charter_set_playpause_button_image('play');}function charter_back(){charter_pause();charter_goto(cur_chart-1);if(cur_chart==(CHARTS.length-2)){charter_set_playpause_button_image('play');}}function charter_forwards(){charter_pause();charter_goto(cur_chart+1);if(cur_chart==(CHARTS.length-1)){charter_set_playpause_button_image('replay');}}var charter_playing_interval=-1;function charter_playpause(){if(charter_playing_interval==-1)charter_play();else charter_pause();}function charter_play(){if(charter_playing_interval!=-1)return;if(cur_chart==(CHARTS.length-1)){charter_goto(0);}charter_playing_interval=window.setInterval(function(){if(cur_chart==(CHARTS.length-1)){charter_pause();}charter_goto(cur_chart+1);},450);charter_set_playpause_button_image('pause');}function charter_pause(){if(charter_playing_interval==-1)return;window.clearInterval(charter_playing_interval);charter_playing_interval=-1;charter_set_playpause_button_image(cur_chart==(CHARTS.length-1)?'replay':'play');}function charter_image_button_url(img_name){return 'themes/surfcore_uk/images/charter_interface/'+img_name+'.png';}function charter_set_playpause_button_image(img_name){var playpause_link=document.getElementById('charter--playpause');var playpause_img=first_child_by_tag_name(playpause_link,'img');var img_src=charter_image_button_url(img_name);if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6'])ie_hacks_set_fixed_PNG_img(playpause_img,img_src);else playpause_img.setAttribute('src',img_src);var title_texts={'play':'start animation playing','pause':'pause the animation','replay':'start the animation from the start'};var title_txt=title_texts[img_name];playpause_link.setAttribute('title',title_txt);playpause_img.setAttribute('title',title_txt);}var charter_day_names=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];function charter_format_date(subject){var today_date=(new Date()).getDate();var subject_date=subject.getDate();if(subject_date==today_date)var day='Today';else if((subject_date+1)==today_date)var day='Yesterday';else if((subject_date-1)==today_date)var day='Tomorrow';else var day=charter_day_names[subject.getDay()];return subject.getHours()+':00 '+day;}function charter_goto(idx){if(idx<0||idx>=CHARTS.length)return;cur_chart=idx;var chart=CHARTS[idx];document.getElementById('charter--chart').setAttribute('src',chart.url);charter_set_progressbar(idx);charter_update_dates(chart);charter_update_links_to_types(idx);set_has_class('charter--interface','charter--at-start',idx==0);set_has_class('charter--interface','charter--at-end',idx==(CHARTS.length-1));}function charter_update_dates(cur_chart){replace_children('charter--for-date',charter_format_date(cur_chart.for_time));replace_children('charter--issue-date','Issued '+charter_format_date(cur_chart.issue_time));}function charter_update_links_to_types(idx){var a_eles=[];var lis=all_children_by_tag_name('charter--data-types','li');for(var i=0,n=lis.length;i<n;i++){var a=first_child_by_tag_name(lis[i],'a');if(a!=null)a_eles.push(a);}var zoomers=all_children_by_tag_name('charter--zoomed','a');for(var i=0,n=zoomers.length;i<n;i++){a_eles.push(zoomers[i]);}for(var i=0,n=a_eles.length;i<n;i++){var a=a_eles[i];var cur_href=a.getAttribute('href');var hits=/^(.*)\/\d+$/.exec(cur_href);a.setAttribute('href',hits[1]+'/'+idx);}}function charter_set_progressbar(idx){var blob_ele=document.getElementById('charter--progress-blob');var num_instances=CHARTS.length;var bar_width=document.getElementById('charter--progress').clientWidth;bar_width-=6;var margin=bar_width*idx/(num_instances-1);margin=Math.round(margin);margin+="px";blob_ele.style.marginLeft=margin;}var list_items=[];var columnify_table;var num_columns=-999;var desired_col_width;function columnify(list_element){var max_item_width=0;var list_children=list_element.childNodes;for(var i=0,n=list_children.length;i<n;i++){var chi=list_children[i];if(chi.nodeName.toLowerCase()=="li"){list_items.push(chi);var link_width=first_child_by_tag_name(chi,"a").offsetWidth;if(link_width>max_item_width)max_item_width=link_width;}}desired_col_width=max_item_width*1.4;_columnify(list_element);add_event(window,"resize",maintain_columnify);}function maintain_columnify(){_columnify(columnify_table);}function _columnify(current_container){var table_width;var forecast_chooser=document.getElementById('forecast-chooser');if(forecast_chooser.clientWidth){table_width=forecast_chooser.clientWidth;table_width-=335;if(window.NEEDS_IE_HACKS)table_width-=15;}else if(forecast_chooser.offsetWidth){table_width=forecast_chooser.offsetWidth;table_width=100;}else return;var previous_num_columns=num_columns;num_columns=Math.round(table_width/desired_col_width);if(num_columns==0)num_columns=1;if(num_columns==previous_num_columns){current_container.style.width=(table_width+"px");return;}var trow=make_element("tr");columnify_table=make_element("table",".columnify-table",make_element("tbody","",trow));columnify_table.style.width=(table_width+"px");var claz=get_classes(current_container);set_class(columnify_table,claz,window.NEEDS_IE_HACKS);var items_per_col=Math.ceil(list_items.length/num_columns);var col_width=(100/num_columns)+"%";var item_no=0;for(var i=0;i<num_columns;i++){var list=make_element("ul");for(var j=0;j<items_per_col;j++){if(item_no>=list_items.length)break;append(list,list_items[item_no]);item_no++;}append(trow,make_element("td","",list,{"style":"width:"+col_width}));}current_container.parentNode.replaceChild(columnify_table,current_container);}var YEAR_FROM_NOW=new Date();YEAR_FROM_NOW.setFullYear(YEAR_FROM_NOW.getFullYear()+1);function set_cookie(da_name,da_value,expire,directory){var cookie_str=(da_name+"="+da_value);if(expire!=undefined){cookie_str+=';expires='+expire.toGMTString();}if(directory!=undefined){cookie_str+=';path='+directory;}document.cookie=cookie_str;}function cookie_map(){var rtn=[];var all_cookies=document.cookie;all_cookies=all_cookies.split('; ');for(var i=0;i<all_cookies.length;i++){var kookie=all_cookies[i];var crumbs=kookie.split('=');rtn[crumbs[0]]=crumbs[1];}return rtn;}function get_cookie_now(da_name){var map=cookie_map();return map[da_name];}var INITIAL_COOKIES=cookie_map();function get_cookie(da_name){return INITIAL_COOKIES[da_name];}function forecast_init_clock_display(){if(window.NEEDS_IE_HACKS)ie_hacks_forecast_fix_clock_alpha();var do_onload=true;var do_now=false;if(do_onload)add_event(window,"load",set_clock_positions);if(do_now)set_clock_positions();add_event(window,"resize",set_clock_positions);}var forecast_all_clocks_store=null;function forecast_all_clocks(){if(forecast_all_clocks_store==null){var clock_eles=document.getElementById('tide-clocks').childNodes;clock_eles=nodeList_to_Array(clock_eles).filter(function(a){return(a.tagName&&a.tagName.toLowerCase()=='img');});forecast_all_clocks_store=clock_eles;}return forecast_all_clocks_store;}function set_clock_positions(){var clock_eles=forecast_all_clocks();var reference;if(ISSUE_RATING){reference_id=document.getElementById("newb-radio").checked?'newb-rating':'adv-rating';reference=document.getElementById(reference_id);}else{reference=document.getElementById("newb-rating");}var ref_tds=nodeList_to_Array(reference.childNodes).filter(is_td);var ref_tds_dims=[];var left_so_far=0;for(var i=0,n=ref_tds.length;i<n;i++){var w=ref_tds[i].clientWidth+(window.NEEDS_IE_HACKS?1:2);ref_tds_dims.push({'left':left_so_far,'width':w});left_so_far+=w;}var tide_times=TIDE_TIMES;for(var i=0,n=clock_eles.length;i<n;i++){var clock=clock_eles[i];var hour_frac=tide_times[i].hour_frac;var td_idx=Math.round(hour_frac/6);var td_dims=ref_tds_dims[td_idx];hour_frac=Number(hour_frac)+3;var rel_pos=(hour_frac-(td_idx*6))*(td_dims.width/6);var left_px=td_dims.left+rel_pos;clock.style.left=left_px+"px";}set_class('tide-clocks','positioned',window.NEEDS_IE_HACKS);}function forecast_clock_add_to_sel_lookup(sel_lookup){var clock_eles=forecast_all_clocks();var tide_times=TIDE_TIMES;for(var i=0,n=clock_eles.length;i<n;i++){var clock=clock_eles[i];var hour_frac=tide_times[i].hour_frac;var td_idx_frac=hour_frac/6;var td_idx_int=Math.round(hour_frac/6);td_idx_frac-=td_idx_int;sel_lookup[td_idx_int].push(clock);if(td_idx_frac<-0.4&&i>0){sel_lookup[td_idx_int-1].push(clock);}if(td_idx_frac>0.4&&i<n-1){sel_lookup[td_idx_int+1].push(clock);}}}var TIDE_PERIOD=12.4;var DAY_CLASS_REGEX=/day([0-5])/;var HOUR_CLASS_REGEX=/hr(\d{1,2})/;var ANIM_RATE=116;var IMG_DIR="themes/surfcore_uk/images";var SEL_LOOKUP;var sel_index=-1;var FORECAST_ANIMNATION_ENABLED=0;var swell_anim_dx=0.0;var swell_anim_dy=0.0;var swell_anim_x=0.0;var swell_anim_y=0.0;var newb_radio;var adv_radio;var newb_rating;var adv_rating;function forecast_ratings_hider_init(){var opt_span=document.getElementById("options");var opt_form=make_element("form","#options",["Show ratings for: ",make_element("label","#newb-label","Beginner",{"for":"newb-radio"}),make_element("input","#newb-radio","",{"type":"radio","name":"confidence","value":"newb"}),make_element("label","#adv-label","Experienced",{"for":"adv-radio"}),make_element("input","#adv-radio","",{"type":"radio","name":"confidence","value":"adv"})],{'action':'javascript:do_nothing()'});opt_span.parentNode.replaceChild(opt_form,opt_span);}function forecast_init_tide_display(){var do_onload=(window.NEEDS_IE_HACKS||!ISSUE_RATING);var do_now=!window.NEEDS_IE_HACKS;if(do_onload)add_event(window,"load",set_tide_offsets);if(do_now)set_tide_offsets();add_event(window,"resize",set_tide_offsets);}function forecast_ratings_hide_init(){newb_rating=document.getElementById("newb-rating");adv_rating=document.getElementById("adv-rating");add_class(newb_rating,"tide");if(ISSUE_RATING)add_class(adv_rating,"tide");var qtm=forecast_quicktide_message();append("newb-rowhead",qtm);if(ISSUE_RATING){append("adv-rowhead",qtm.cloneNode(true));newb_radio=document.getElementById("newb-radio");adv_radio=document.getElementById("adv-radio");var confidence=get_cookie('confidence');var is_experienced=(confidence=='experienced');newb_radio.checked=!is_experienced;adv_radio.checked=is_experienced;if(window.NEEDS_IE_HACKS){adv_radio.onclick=newb_radio.onclick=ie_hacks_forecast_radio_clicked;}else{adv_radio.onchange=newb_radio.onchange=show_hide_rows;}show_hide_rows();}}function ie_hacks_forecast_radio_clicked(){var e=window.event;radio=e.srcElement;var is_experienced=(radio==adv_radio);var other_radio=is_experienced?newb_radio:adv_radio;radio.checked=true;other_radio.checked=false;show_hide_rows();}function forecast_init(){SEL_LOOKUP=make_sel_lookup();var cells=filter(all_cells(),function(a){var klass=(a.getAttribute("class")||a.getAttribute("className"));return HOUR_CLASS_REGEX.test(klass);});for(var i=0,n=cells.length;i<n;i++){cells[i].onmouseover=enter_cell;cells[i].onmouseout=leave_cell;}var clocks=forecast_all_clocks();for(var i=0,n=clocks.length;i<n;i++){clocks[i].onmouseout=leave_cell;}if(FORECAST_ANIMNATION_ENABLED)window.setInterval(animate_swell,ANIM_RATE);init_hider_hack();add_event(window,"resize",maintain_hider_hack);show_on_map(PRESENT_DAY,PRESENT_HR);}function is_td(a){return a.tagName&&(a.tagName.toLowerCase()=="td")};function set_tide_offsets(){var newb_row,adv_row;newb_row=document.getElementById("newb-rating");add_class(newb_row,"tide");if(ISSUE_RATING){adv_row=document.getElementById("adv-rating");add_class(adv_row,"tide");}var newb_tds=filter(newb_row.childNodes,is_td);if(ISSUE_RATING)var adv_tds=filter(adv_row.childNodes,is_td);var reference;if(ISSUE_RATING){reference=document.getElementById("newb-radio").checked?newb_tds:adv_tds;}else{reference=newb_tds;}for(var i=0,n=reference.length;i<n;i++){var td_wth=reference[i].clientWidth+2;var tide_image_width=Math.round(31.0*td_wth/15.0);if(tide_image_width>200)tide_image_width=200;else if(tide_image_width<25)tide_image_width=25;var hour=6*i;var near=nearest_high_or_low(hour);hour-=(near.hi?near.hour_frac:near.hour_frac-TIDE_PERIOD/2);var offset=-1*(hour/TIDE_PERIOD)*tide_image_width;offset+=td_wth/2.0;var background_position=offset+"px 100%";newb_tds[i].style.backgroundPosition=background_position;if(ISSUE_RATING){adv_tds[i].style.backgroundPosition=background_position;}var img_suffix=window.NEEDS_IE_HACKS?".gif":"-fs8.png";var backgroundIm="url("+IMG_DIR+"/tide/tide-"+tide_image_width+img_suffix+")";newb_tds[i].style.backgroundImage=backgroundIm;if(ISSUE_RATING){adv_tds[i].style.backgroundImage=backgroundIm;}}}function nearest_high_or_low(to){if(to<TIDE_TIMES[0].hour_frac){return TIDE_TIMES[0];}diff=9999;for(var i=0,n=TIDE_TIMES.length;i<n;i++){var cand=cur;var cur=TIDE_TIMES[i];var last_diff=diff;var diff=Math.abs(cur.hour_frac-to);if(diff>last_diff){return cand;}}return TIDE_TIMES[TIDE_TIMES.length-1];}function show_hide_rows(is_experienced){var is_experienced=adv_radio.checked;if(is_experienced){add_class(newb_rating,"hidden");remove_class(adv_rating,"hidden");}else{add_class(adv_rating,"hidden");remove_class(newb_rating,"hidden");}var confidence=(is_experienced?'experienced':'beginner');set_cookie('confidence',confidence,YEAR_FROM_NOW,'/');}function forecast_init_breaking_wave(){var th=first_child_by_tag_name('break-h','th');append(th,make_element('a','.lab-text','switch to feet',{'href':'javascript:forecast_breaking_wave_as_feet()'}));append(th,make_element('a','.lab-number','how big?',{'href':'javascript:forecast_breaking_wave_as_text()'}));}function forecast_breaking_wave_as_feet(){var row=document.getElementById('break-h');remove_class(row,'show-text');add_class(row,'show-number');var tds=all_children_by_tag_name(row,'td');for(var i=0;i<tds.length;i++){var td=tds[i];}}function forecast_breaking_wave_as_text(){var row=document.getElementById('break-h');remove_class(row,'show-number');add_class(row,'show-text');}function all_cells(){var rtn=nodeList_to_Array(document.getElementsByTagName("td"));rtn=rtn.concat(nodeList_to_Array(document.getElementsByTagName("th")));return rtn;}function make_sel_lookup(){var rtn=[];for(var i=0;i<20;i++){rtn.push([]);}var all=all_cells();for(var i=0;i<all.length;i++){var cell=all[i];var klas=cell.getAttribute("class")||cell.getAttribute("className");var day_hit=DAY_CLASS_REGEX.exec(klas);if(!day_hit)continue;var cell_day=day_hit[1];var hour_hit=HOUR_CLASS_REGEX.exec(klas);if(!hour_hit){for(var j=0;j<4;j++){var cell_idx=cell_day*4+j;rtn[cell_idx].push(cell);}continue;}var cell_hour=hour_hit[1];var cell_idx=cell_day*4+(cell_hour/6);rtn[cell_idx].push(cell);}forecast_clock_add_to_sel_lookup(rtn);return rtn;}var NULL_COLUMN={"idx":-1};function get_column(ele){if(ele==null)return NULL_COLUMN;while(ele.nodeName.toLowerCase()!="td"&&ele.nodeName.toLowerCase()!="th"){ele=ele.parentNode;if(ele==null)return NULL_COLUMN;}var klas=ele.getAttribute("class")||ele.getAttribute("className");var day_hit=DAY_CLASS_REGEX.exec(klas);if(!day_hit)return NULL_COLUMN;var col_day=day_hit[1];var hour_hit=HOUR_CLASS_REGEX.exec(klas);if(!hour_hit)return NULL_COLUMN;var col_hour=hour_hit[1];var col_idx=col_day*4+(col_hour/6);return{"idx":col_idx,"hour":col_hour,"day":col_day};}function set_highlighted_col(col){var sel_cells=SEL_LOOKUP[col.idx];var add_class_func=add_class;for(var i=0,n=sel_cells.length;i<n;i++){add_class_func(sel_cells[i],"sel");}show_on_map(col.day,col.hour,col.idx)}function forecast_maptitle(hour,day_name){return hour+":00 "+day_name;}function show_on_map(day,hour,idx){if(!idx)idx=day*4+(hour/6);var maptitle_ele=document.getElementById("maptitle");empty_element(maptitle_ele);append(maptitle_ele,forecast_maptitle(hour,LONG_DAY_NAMES[day]));if((WIND_SS.length==0)||(SWELL_DS.length==0)||(WIND_DS.length==0)){return;}var wind_symbol=document.getElementById("windsymbol");var new_wind_src=[IMG_DIR,"/maps/symbols/wind/"];if(WIND_SS[idx]<0.5)new_wind_src=new_wind_src.concat("z-none");else{var direction=WIND_DS[idx];direction=(direction+180)%360;new_wind_src=new_wind_src.concat(direction,'/',WIND_SS[idx]);}if(!window.NEEDS_IE_HACKS){new_wind_src=new_wind_src.concat('-or8.png');wind_symbol.setAttribute('src',new_wind_src.join(""));}else{new_wind_src=new_wind_src.concat('.png');wind_symbol.setAttribute('src',new_wind_src.join(""));ie_hacks_fix_PNG_img(wind_symbol);}var map_img=document.getElementById("forecastmap");var new_bg_img=['url(',IMG_DIR,'/maps/symbols/swell/',(SWELL_DS[idx]%180),"/",SWELL_PS[idx],"-or8.png)"].join("");map_img.style.backgroundImage=new_bg_img;if(FORECAST_ANIMNATION_ENABLED)set_swell_anim_components(idx);}function set_swell_anim_components(idx){var dx=-Math.sin(SWELL_DS[idx]*0.0174);var dy=Math.cos(SWELL_DS[idx]*0.0174);swell_anim_dx=Math.round(dx);swell_anim_dy=Math.round(dy);}function enter_cell(e){var new_col=get_column(this);var new_idx=new_col.idx;if(new_idx==sel_index)return;sel_index=new_idx;set_highlighted_col(new_col);}function leave_cell(e){if(!e)var e=window.event;var left_for=e.relatedTarget||e.toElement;if(left_for.parentNode.getAttribute('id')=='tide-clocks'){return;}var left_for_col=get_column(left_for);var left_for_index=left_for_col.idx;if(left_for_index==sel_index){return;}var sel_cells=SEL_LOOKUP[sel_index];if(left_for_index==-1){show_on_map(PRESENT_DAY,PRESENT_HR);sel_index=-1;}for(var i=0;i<sel_cells.length;i++){remove_class(sel_cells[i],"sel");}}function animate_swell(){swell_anim_x+=swell_anim_dx;swell_anim_y+=swell_anim_dy;var map_img=document.getElementById("forecastmap");map_img.style.backgroundPosition=swell_anim_x+"px "+swell_anim_y+"px";}function init_hider_hack(){for(var i=1;true;i++){var hider=document.getElementById("hide-hack"+i);if(!hider)break;add_class(hider,"hide-hack");var inner=make_element("div","#hide-hack-inner"+i);hider.appendChild(inner);}maintain_hider_hack();}function maintain_hider_hack(){for(var i=1;true;i++){var hider=document.getElementById("hide-hack"+i);if(!hider)break;var td=hider.parentNode;var hider_inr=document.getElementById("hide-hack-inner"+i);var offset=-hider.offsetTop-1;hider_inr.style.top=offset+"px";}}function forecast_quicktide_message(){return make_element("span",".quicktide",["Tidal data courtesy of",make_element("a","",make_element("img","","",{"alt":"QuickTide","src":IMG_DIR+"/tide/qt_small.png"}),{"href":"http://www.quicktide.co.uk"})]);}var cur_pic_of_day_index=6;function fp_next_pic(){cur_pic_of_day_index++;update_picture();}function fp_last_pic(){cur_pic_of_day_index--;update_picture();}function update_picture(){if(cur_pic_of_day_index>6)cur_pic_of_day_index=6;if(cur_pic_of_day_index<0)cur_pic_of_day_index=0;var img_url=PIC_OF_DAY[cur_pic_of_day_index];var img_ele=document.getElementById('fp-img');img_ele.style.backgroundImage='url('+img_url+')';var img_width=IMAGE_WIDTHS[cur_pic_of_day_index];var user_id=ID_OF_DAY[cur_pic_of_day_index];var id_ele=document.getElementById('fp-id');id_ele.setAttribute('href',"user/"+user_id);var user_name=NAME_OF_DAY[cur_pic_of_day_index];id_ele.firstChild.nodeValue=user_name;var image_title_ele=document.getElementById('fp-node-title');var image_title_link=first_child_by_tag_name(image_title_ele,'a');var new_href=PIC_NODE_PATH[cur_pic_of_day_index];image_title_link.setAttribute('href',new_href);image_title_link.firstChild.nodeValue=PIC_NAME[cur_pic_of_day_index];if(cur_pic_of_day_index==6){var day_message="Wave of the Day";}else{var day_message=DAY_NAMES[cur_pic_of_day_index]+"'s Wave";}var day_ele=document.getElementById('fp-title');day_ele.firstChild.nodeValue=day_message;if(cur_pic_of_day_index==6){add_class('fp-next','dull');}else{remove_class('fp-next','dull');}if(cur_pic_of_day_index==0){add_class('fp-previous','dull');}else{remove_class('fp-previous','dull');}}function initialise_front_pic_arrows(){var link1=make_element('a','.arrow #fp-previous',[],{'href':'javascript:fp_last_pic()'});var link2=make_element('a','.arrow .dull #fp-next',[],{'href':'javascript:fp_next_pic()'});var tytle=document.getElementById('fp-title');var insert_into=tytle.parentNode;insert_into.insertBefore(link1,tytle);insert_into.insertBefore(link2,tytle);}function ie_hacks_fix_PNG_background_by_id(tag_id){var ele=document.getElementById(tag_id);if(!ele)throw('no element with id '+tag_id);ie_hacks_fix_PNG_background(ele);}function ie_hacks_fix_PNG_background(ele,scale){var hit=/url\("(.*)"\)/.exec(ele.currentStyle.backgroundImage);var oldsrc=hit[1];if(!hit)return;var sizing_method="crop";if(scale||has_class(ele,"transp-scale"))sizing_method="scale";ele.style.backgroundImage="none";ele.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+oldsrc+"',sizingMethod='"+sizing_method+"')";}function ie_hacks_fix_PNG_img_by_id(tag_id){var ele=document.getElementById(tag_id);if(!ele)throw('no element with id '+tag_id);ie_hacks_fix_PNG_img(ele);}function ie_hacks_fix_PNG_img(tag,sizing_method,w,h){var image_src=tag.getAttribute("src");switch(sizing_method){case 'client':tag.width=tag.clientWidth;tag.height=tag.clientHeight;break;case 'params':tag.width=w;tag.height=h;break;case 'css':break;default:break;}tag.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image_src+"',sizingMethod='crop')";tag.setAttribute("src","themes/surfcore_uk/images/invis.gif");}function ie_hacks_set_fixed_PNG_img(tag,image_src){var img_ele=new Image();img_ele.src=image_src;image_src=img_ele.src;tag=check_dom_param(tag);tag.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image_src+"',sizingMethod='crop')";}function ie_hacks_fix_PNG_img_background(tag){var hit=/url\("(.*)"\)/.exec(tag.currentStyle.backgroundImage);var bg_src=hit[1];bg_src=bg_src.replace("background_v","0v");var new_div=make_element("div");new_div.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bg_src+"',sizingMethod='crop')";new_div.style.width=tag.clientWidth+"px";new_div.style.height=tag.clientHeight+"px";new_div.style.margin=tag.currentStyle.margin;tag.style.margin="0 0";new_div.style.padding=tag.currentStyle.padding;tag.style.padding="0 0";tag.style.backgroundImage="none";var par=tag.parentNode;var cent=make_element("center");par.removeChild(tag);append(par,cent);append(cent,new_div);append(new_div,tag);}function ie_hacks_fix_hover_by_id(ele_id,special_over,special_out){ie_hacks_fix_hover(document.getElementById(ele_id),special_over,special_out);}function ie_hacks_fix_hover(ele,special_over,special_out){ele=check_dom_param(ele);if(special_over)add_event(ele,'mouseover',special_over);else add_event(ele,'mouseover',add_ie_hover);if(special_out)add_event(ele,'mouseout',special_out);else add_event(ele,'mouseout',remove_ie_hover);}function add_ie_hover(e){add_class(this,'IE-hover');}function remove_ie_hover(e){remove_class(this,'IE-hover');}function ie_hacks_surftab_alphas(){var tabs_ele=document.getElementById('tabs');if(/\.png/.test(tabs_ele.currentStyle.backgroundImage))ie_hacks_fix_PNG_background(tabs_ele,true);var chis=tabs_ele.childNodes,n=chis.length;for(var i=0;i<n;i++){var chi=chis[i];if(chi.tagName.toLowerCase()!='div'){continue;}if(has_class(chi,'tab')){ie_hacks_fix_PNG_background(chi);continue;}else if(has_class(chi,'tablabel')){var first=chi.firstChild;switch(first.tagName){case 'A':ie_hacks_fix_PNG_img(first.firstChild);var is_front=(chi.id=='front-tablabel');if(!is_front){ie_hacks_fix_PNG_img(first.childNodes[1]);ie_hacks_fix_hover(chi);}break;case 'IMG':ie_hacks_fix_PNG_img(first);break;case 'DIV':ie_hacks_fix_PNG_img(first.firstChild);ie_hacks_fix_hover(chi);break;}}}}function ie_hacks_menu_tab_hover(){add_class(this,'IE-hover');}function ie_hacks_menu_tab_unhover(){remove_class(this,'IE-hover');}var CROSS_SIZES;if(window.NEEDS_IE_HACKS){CROSS_SIZES=[[16,24],[19,18],[26,23],[30,24],[25,28]];CROSS_SIZES['tiree']=[47,39];CROSS_SIZES['scarboro']=[37,37];}function ie_hack_fix_drupal_banner(){var ban_img=document.getElementById('banner').firstChild;if(!/\.png/i.test(ban_img.getAttribute('src'))){return;}ie_hacks_fix_PNG_img(ban_img,'params',468,60);}function ie_hacks_forecast_fix_star_alphas(){var newb_row=document.getElementById('newb-rating');var exp_row=document.getElementById('adv-rating');for(var i=1;i<=20;i++){var img1=newb_row.childNodes[i].firstChild;ie_hacks_fix_PNG_img(img1);ie_hacks_fix_PNG_img_background(img1);var img2=exp_row.childNodes[i].firstChild;ie_hacks_fix_PNG_img(img2);ie_hacks_fix_PNG_img_background(img2);}}function ie_hacks_forecast_fix_arrow_row(row_id){var row=document.getElementById(row_id);for(var i=1;i<=20;i++){var img1=row.childNodes[i].firstChild;ie_hacks_fix_PNG_img(img1);}}function ie_hacks_forecast_fix_clock_alpha(){var clock_eles=document.getElementById('tide-clocks').childNodes;for(var i=0,n=clock_eles.length;i<n;i++){var clock=clock_eles[i];if(!clock.tagName||clock.tagName.toLowerCase()!='img')continue;ie_hacks_fix_PNG_img(clock,'css');}}function ie_hacks_forecast_fix_illustration(){ie_hacks_fix_PNG_img_by_id('windsymbol');ie_hacks_fix_PNG_img_by_id('forecastmap');}function ie_hacks_fix_surfmap_region_hovers(){var regions=all_children_by_tag_name('regions','div');for(var i=0;i<regions.length;i++){ie_hacks_fix_hover(regions[i]);}}function ie_hacks_fix_surfmap_zoomed_cross_hovers(){var all_crosses=[];var regions=all_children_by_tag_name('zoomed','div');for(var i=0;i<regions.length;i++){var region_crosses=all_children_by_tag_name(regions[i],'a');for(var j=1;j<region_crosses.length;j++){all_crosses.push(region_crosses[j]);}}for(var i=0;i<all_crosses.length;i++){var cross=all_crosses[i];ie_hacks_label_vis(cross,false);image=first_child_by_tag_name(cross,'img');image.onmouseover=function(e){ie_hacks_label_vis(this.parentNode,true);};image.onmouseout=function(e){ie_hacks_label_vis(this.parentNode,false);};var cross_style=ie_hacks_get_cross_style(cross);ie_hacks_fix_PNG_img(image,'params',CROSS_SIZES[cross_style][0],CROSS_SIZES[cross_style][1]);}}function ie_hacks_label_vis(link_ele,show){var label=first_child_by_tag_name(link_ele,'span');label.style.visibility=(show?'visible':'hidden');}function ie_hacks_get_cross_style(link_ele){var da_class=link_ele.className.split(" ")[1];if(da_class.indexOf('cross')==0){var rtn=da_class.charAt(5);return rtn-1;}else{return da_class;}}function latest_show_init(){remove(document.getElementById('latest_submit'));add_event('latest_show','change',latest_show_onchange);}function latest_show_onchange(e){var furms=document.forms;for(var i=0;i<furms.length;i++){if(furms[i].getAttribute('name')=='latest')furms[i].submit();}}var link_popups=[];function link_popup_init(link_ele,contents_nde,module,delta,on_popup_func){var popup_id='link-popup--'+module+'--'+delta;var popup_ele=ele('div',['#'+popup_id,'.link-popup'],{},{'display':'none'},ele('div','.inner',contents_nde));link_popups[popup_id]=popup_ele;link_ele=check_dom_param(link_ele);links_container=link_ele.parentNode;links_container.insertBefore(popup_ele,link_ele);add_event(link_ele,'click',function(){link_popup_show(popup_id,link_ele);if(on_popup_func)on_popup_func();return false;});}function link_popup_show(popup,link_ele){popup=check_dom_param(popup);link_ele=check_dom_param(link_ele);popup.style.display='block';add_class(link_ele,'popped-up');}function link_popup_hide(popup,link_ele){popup=check_dom_param(popup);link_ele=check_dom_param(link_ele);popup.style.display='none';remove_class(link_ele,'popped-up');}var scuk_img_assist_data={};var scuk_img_assist_cur_zoomed;function scuk_img_assist_inline_zoom(inline_ele){if(scuk_img_assist_cur_zoomed){scuk_img_assist_inline_unzoom(scuk_img_assist_cur_zoomed);}scuk_img_assist_cur_zoomed=inline_ele;var dat=scuk_img_assist_data[inline_ele.getAttribute('id')];var img=scuk_img_assist_get_img_ele(inline_ele);var caption=scuk_img_assist_get_caption_ele(inline_ele);add_class(inline_ele,'img-assist-inline-zoomed');add_class(inline_ele,'img-assist-zoomed-'+dat['align']);inline_ele.setAttribute('title','');img.setAttribute('title','');img.setAttribute('src',dat['zoomed_url']);img.setAttribute('width',dat['zoomed_w']);img.setAttribute('height',dat['zoomed_h']);caption.style.width=dat['zoomed_w']+'px';}function scuk_img_assist_inline_unzoom(inline_ele){scuk_img_assist_cur_zoomed=0;var dat=scuk_img_assist_data[inline_ele.getAttribute('id')];var img=scuk_img_assist_get_img_ele(inline_ele);var caption=scuk_img_assist_get_caption_ele(inline_ele);remove_class(inline_ele,'img-assist-inline-zoomed');remove_class(inline_ele,'img-assist-zoomed-'+dat['align']);inline_ele.setAttribute('title','');img.setAttribute('title','');img.setAttribute('width',dat['thumb_w']);img.setAttribute('height',dat['thumb_h']);img.setAttribute('src',dat['thumb_url']);caption.style.width=dat['thumb_w']+'px';}function scuk_img_assist_toggle_inline_zoom(){if(has_class(this,'img-assist-inline-zoomed')){scuk_img_assist_inline_unzoom(this);}else{scuk_img_assist_inline_zoom(this);}}function scuk_img_assist_init(inline_id,zoomed_url,zoomed_width,zoomed_height){var inline_ele=document.getElementById(inline_id);var img=scuk_img_assist_get_img_ele(inline_ele);if(window.NEEDS_IE_HACKS){ie_hacks_fix_hover(inline_ele,scuk_img_assist_add_ie_hover,scuk_img_assist_remove_ie_hover);}var align=(has_class(inline_ele,'img-assist-inline-left')?'left':'right');add_class(inline_ele,'img-assist-zoomable-'+align);scuk_img_assist_data[inline_id]={'zoomed_w':zoomed_width,'zoomed_h':zoomed_height,'zoomed_url':zoomed_url,'thumb_w':img.getAttribute('width'),'thumb_h':img.getAttribute('height'),'thumb_url':img.getAttribute('src'),'align':align};inline_ele.setAttribute('title','');img.setAttribute('title','');inline_ele.onclick=scuk_img_assist_toggle_inline_zoom;add_class(inline_ele,'img-assist-inline-zoomable');}function scuk_img_assist_get_img_ele(inline_ele){var view=first_child_by_tag_name(inline_ele,'span');var img=first_child_by_tag_name(view,'img');return img;}function scuk_img_assist_get_caption_ele(inline_ele){return first_child_by_tag_name(inline_ele,'div');}var IMG_ASSIST_HOVER_CLASS='img-assist-inline-zoomable-IE-hover';function scuk_img_assist_add_ie_hover(){add_class(this,IMG_ASSIST_HOVER_CLASS);}function scuk_img_assist_remove_ie_hover(){remove_class(this,IMG_ASSIST_HOVER_CLASS);}function give_crumb_ids(){var crumbs=document.getElementById("breadcrumbs");var chil=crumbs.childNodes;var empty_texts=[];for(var i=0,c=0;i<chil.length;i++){var crumb=chil[i];if(crumb.nodeName.toLowerCase()!="a"&&crumb.nodeName.toLowerCase()!="span"){if(/^\s*$/.test(crumb.data)){empty_texts.push(crumb);}continue;}c++;crumb.setAttribute("id","crumb"+c);if(c==2&&crumb.nodeName.toLowerCase()=="a"){crumb.setAttribute('href','javascript:close_zoom()');}}for(var i=0;i<empty_texts.length;i++){remove(empty_texts[i]);}}var REGION_NAMES={'sw-england':'South-West England','wales':'Wales','ireland':'Ireland','scotland':'Scotland','england':'England'};function set_breadcrumb_region(region_key){var crumbs=document.getElementById("breadcrumbs");var c2=document.getElementById("crumb2");var c3=document.getElementById("crumb3");if(!region_key){if(c3){remove(c3);remove(crumbs.lastChild);remove(c2);var new_c2=make_element("span","#crumb2 .nonlink","Forecasts");append(crumbs,new_c2);}}else{if(c3){remove(c3);}else{remove(c2);var new_c2=make_element("a","#crumb2 .nonlink","Forecasts",{'href':'javascript:close_zoom()'});append(crumbs,new_c2);append(crumbs,"»");}var new_c3=make_element("span","#crumb3 .nonlink",REGION_NAMES[region_key]);append(crumbs,new_c3);}var old_title=document.getElementById("section-head");var new_title=REGION_NAMES[region_key];if(!new_title)new_title="Forecasts";document.title=new_title+" - "+'surfcore.co.uk';new_title=document.createTextNode(new_title);old_title.replaceChild(new_title,old_title.childNodes[0]);}function close_zoom(){var main=document.getElementById("forecast-chooser");if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6'])main.style.height='';else main.style.minHeight='';set_class(main,'',window.NEEDS_IE_HACKS);set_breadcrumb_region("");}function init_surfmap_events(){give_crumb_ids();var main=document.getElementById("forecast-chooser");var regions=document.getElementById("regions");var chil=regions.childNodes;for(var i=0;i<chil.length;i++){var reg=chil[i];if(reg.nodeName.toLowerCase()=="div"){reg.onclick=function(){var main=document.getElementById("forecast-chooser");var min_ht=main.clientHeight+"px";if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){main.style.height=min_ht;}else{main.style.minHeight=min_ht;}var region_class=get_classes(this);var region_key=region_class.split(" ")[0];var main_class="zoomed "+region_key+"-zoomed";set_class(main,main_class,window.NEEDS_IE_HACKS);set_breadcrumb_region(region_key);};}}var lis=all_children_by_tag_name('breakslist','li');for(var i=0;i<lis.length;i++){var item_link=first_child_by_tag_name(lis[i],'a');item_link.onmouseover=function(e){if(!window.NEEDS_IE_HACKS&&e.target.nodeName.toLowerCase()=="span"){return;}if(has_class(main,'zoomed')){}else{small_cross_vis(this,true);}};item_link.onmouseout=function(e){if(has_class(main,'zoomed')){}else{small_cross_vis(this,false);}};}if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){ie_hacks_fix_surfmap_region_hovers();ie_hacks_fix_surfmap_zoomed_cross_hovers();}}function large_cross_focus(a_tag,in_focus){var brake_name=get_classes(a_tag.parentNode).split(" ")[1];var cross=document.getElementById("large-"+brake_name);if(in_focus){add_class('zoomed','focused');add_class(cross,'in-focus');}else{remove_class('zoomed','focused');remove_class(cross,'in-focus');}}function small_cross_vis(a_tag,show){var brake_name=get_classes(a_tag.parentNode).split(" ")[1];var cross=document.getElementById("small-"+brake_name);cross.style.visibility=(show?"visible":"");}function surftabs_init_surftabs(){touch_up_surftabs();add_event(window,'load',touch_up_surftabs);add_event(window,'resize',touch_up_surftabs);if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6'])ie_hacks_surftab_alphas();}function touch_up_surftabs(){var tabs=document.getElementById("tabs");var front_id="<?=$sel_tab?>-tab";var front=document.getElementById('front-tab');var fl=document.getElementById('flanker-l');var fr=document.getElementById('flanker-r');if(front){var fl_width=front.offsetLeft;if(fl_width>0){fl.style.width=fl_width+"px";fl.style.display="block";if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){surftabs_make_flankets(fl);}}else{fl.style.display="none";}var fr_left=front.offsetLeft+front.offsetWidth;var fr_width=(tabs.offsetWidth-fr_left);if(fr_width>0){fr.style.left=fr_left+"px";fr.style.width=(tabs.offsetWidth-fr_left)+"px";fr.style.display="block";if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){surftabs_make_flankets(fr,true);}}else{fr.style.display="none";}}else{var fo=document.getElementById('flanker-only');fo.style.display="block";fo.style.width=tabs.offsetWidth+"px";if(window.NEEDS_IE_HACKS&&window.NEEDS_IE_HACKS['<=6']){surftabs_make_flankets(fo);}}var tab_array=new Array();for(var i=0;i<tabs.childNodes.length;i++){var candidate=tabs.childNodes[i];if(candidate.getAttribute&&has_class(candidate,"tab")){tab_array.push(candidate);}}for(var i=0;i<tab_array.length;i++){var tab=tab_array[i];var is_front=(tab.getAttribute('id')=='front-tab');var norm_width=is_front?778:329;if(tab.offsetLeft+norm_width>tabs.offsetWidth){tab.style.width=(tabs.offsetWidth-tab.offsetLeft)+"px";}else{tab.style.width="";}}}function surftabs_make_flankets(flanker_ele,on_right){var FLANKLET_WIDTH=90;var flanker_width=flanker_ele.style.width;flanker_width=flanker_width.substr(0,flanker_width.length-2);var num_needed=Math.floor(flanker_width/FLANKLET_WIDTH);while(flanker_ele.hasChildNodes()){flanker_ele.removeChild(flanker_ele.lastChild);}for(var i=0;i<num_needed;i++){var flanklet_ele=make_element('div','.flanklet');append(flanker_ele,flanklet_ele);}var last_width=flanker_width-(num_needed*FLANKLET_WIDTH);if(last_width>0){if(on_right){flanklet_ele=make_element('div','.flanklet',[],{},{'width':last_width+'px'});append(flanker_ele,flanklet_ele);}else{var diff=FLANKLET_WIDTH-last_width;flanklet_ele=make_element('div','.flanklet',[],{},{'marginLeft':'-'+diff+'px'});append(flanker_ele,flanklet_ele);}}}function first_child_by_tag_name(dom_element,tag_name){dom_element=check_dom_param(dom_element);tag_name=tag_name.toLowerCase();var children=dom_element.childNodes;for(var i=0,n=children.length;i<n;i++){if(children[i].nodeName.toLowerCase()==tag_name)return children[i];}return null;}function all_children_by_tag_name(dom_element,tag_name){dom_element=check_dom_param(dom_element);tag_name=tag_name.toLowerCase();var children=dom_element.childNodes;var rtn=[];for(var i=0,n=children.length;i<n;i++){if(children[i].nodeName.toLowerCase()==tag_name)rtn.push(children[i]);}return rtn;}function all_children_by_class(dom_element,the_class){dom_element=check_dom_param(dom_element);var children=dom_element.childNodes;var rtn=[];for(var i=0,n=children.length;i<n;i++){if(has_class(children[i],the_class))rtn.push(children[i]);}return rtn;}function get_classes(dom_element){dom_element=check_dom_param(dom_element);var class_atr=dom_element.getAttribute("class");if(!class_atr){class_atr=dom_element.getAttribute("className");}return class_atr;}function set_class(dom_element,the_class,is_IE){dom_element=check_dom_param(dom_element);if(is_IE){dom_element.setAttribute("className",the_class);}else{dom_element.setAttribute("class",the_class);}}function check_dom_param(dom_element){if(!dom_element){throw "Invalid parameter no DOM element specified"+stack_trace();}if(dom_element.constructor==String){var ele=document.getElementById(dom_element);if(!ele){throw("Invalid parameter - html_construction_kit::add_class::"+"dom_element was string ("+dom_element+")"+"I tried to get element with this ID, but none avaliable");}dom_element=ele;}return dom_element;}function has_class(dom_element,the_class){dom_element=check_dom_param(dom_element);var class_atr=dom_element.getAttribute("class");if(!class_atr){if(dom_element.getAttribute("className")){class_atr=dom_element.getAttribute("className");}}if(!class_atr||class_atr==""||(class_atr.indexOf(the_class)==-1)){return false;}var classes=class_atr.split(" ");for(var i=0;i<classes.length;i++){if(classes[i]==the_class)return true;}return false;}function add_class(dom_element,the_class){dom_element=check_dom_param(dom_element);var class_atr=dom_element.getAttribute("class");var is_IE=window.NEEDS_IE_HACKS;if(is_IE){class_atr=dom_element.getAttribute("className");}if(!class_atr||class_atr==""){set_class(dom_element,the_class,is_IE);return;}if(class_atr.indexOf(the_class)==-1){set_class(dom_element,class_atr+" "+the_class,is_IE);return;}var classes=class_atr.split(" ");for(var i=0;i<classes.length;i++){if(classes[i]==the_class)return;}classes.push(the_class);set_class(dom_element,classes.join(" "),is_IE);}function remove_class(dom_element,the_class){dom_element=check_dom_param(dom_element);var class_atr=dom_element.getAttribute("class");var is_IE=false;if(!class_atr){if(dom_element.getAttribute("className")){class_atr=dom_element.getAttribute("className");is_IE=true;}}if(!class_atr||class_atr==""||(class_atr.indexOf(the_class)==-1))return;var classes=class_atr.split(" ");var new_classes=[];for(var i=0;i<classes.length;i++){if(classes[i]!=the_class)new_classes.push(classes[i]);}set_class(dom_element,new_classes.join(" "),is_IE);}function set_has_class(dom_element,the_class,bool){if(bool)add_class(dom_element,the_class);else remove_class(dom_element,the_class);}function toggle_class(dom_element,the_class){dom_element=check_dom_param(dom_element);if(has_class(dom_element,the_class))remove_class(dom_element,the_class);else add_class(dom_element,the_class);}function add_window_onload(the_function){add_event(window,"load",the_function);}function add_event(add_to,event_name,handler_function){add_to=check_dom_param(add_to);if(event_name.constructor==Array){for(var i=0,n=event_name.length;i<n;i++){add_event(add_to,event_name[i],handler_function);}}try{if(typeof handler_function!='function'){throw handler_function+" is not a function, constructor is "+handler_function.constructor+'/'+handler_function.constructor.name;}event_name="on"+event_name;var old_function=add_to[event_name];if(!old_function)add_to[event_name]=handler_function;else add_to[event_name]=function(e){if(!e)var e=window.event;old_function(e);return handler_function(e);};}catch(e){alert(e+"\n "+" error while trying to add function(?) '"+(handler_function['name']||handler_function)+"' to listen to "+event_name+" on "+add_to);}}function clear_events(clear_from,event_name){clear_from=check_dom_param(clear_from);clear_from["on"+event_name]=null;}function mousewheel_listener(func){var rtn=function(event){if(!event)event=window.event;var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera)delta=-delta;}else if(event.detail){delta=-event.detail/3;}if(delta!=0){func(delta);}if(event.preventDefault)event.preventDefault();event.returnValue=false;};return rtn;}function add_mousewheel_listener(ele,func){ele=check_dom_param(ele);func=mousewheel_listener(func);if(window.addEventListener)ele.addEventListener('DOMMouseScroll',func,false);else add_event(ele,'mousewheel',func);}function mk_table(){var contents,headers;var inc_thead,inc_cols,inc_cell_classes;if(arguments.length==1){contents=arguments[0];inc_thead=inc_cols=inc_cell_classes=false;}else{headers=arguments[0];contents=arguments[1];inc_thead=headers.thead;inc_cols=headers.cols;inc_cell_classes=headers.cell_classes;}var table=ele('table');if(inc_cols){for(var i=0,n=headers.length;i<n;i++){var header=headers[i];var col=mk_ele('col','.'+header);append(table,col);}}var tbody=ele('tbody');append(table,tbody);for(var i=0,n=contents.length;i<n;i++){var row=ele('tr');append(tbody,row);row_contents=contents[i];for(var j=0,m=row_contents.length;j<m;j++){cell_contents=row_contents[j];var cell=ele('td');if(inc_cell_classes)add_class(cell,headers[j]);if(cell_contents.colspan)cell.setAttribute('colspan',cell_contents.colspan);if(cell_contents.rowspan)cell.setAttribute('rowspan',cell_contents.rowspan);if(cell_contents.content)cell_contents=cell_contents.content;append(row,cell);append(cell,cell_contents);}}return table;}function ele(){var tag_name=arguments[0];if(arguments.length==1){return make_element(tag_name);}var content=arguments[arguments.length-1];arguments[arguments.length-1]=undefined;var meta=arguments[1];var attrs=arguments[2];var style=arguments[3];var rtn=make_element(tag_name,meta,content,attrs,style);return rtn;}function mk_ele(tag_name,meta,content,attrs,style){return make_element(tag_name,meta,content,attrs,style);}function make_element(tag_name,meta,content,attrs,style){if(tag_name)var element=document.createElement(tag_name);else var element=document.createDocumentFragment();if(meta){if(meta.constructor==Array){meta=meta.join(' ');}var metas=meta.split(" ");var tag_class="";for(var i=0;i<metas.length;i++){var first_char=metas[i].charAt(0);if(first_char=='.')tag_class+=metas[i].substring(1)+" ";else if(first_char=='#')element.setAttribute("id",metas[i].substring(1));}if(tag_class!=""){set_class(element,tag_class,window.NEEDS_IE_HACKS);}}if(tag_name=='input'){if(!attrs.value&&content){if(!attrs)attrs={};attrs.value=content;content=undefined;}}if(tag_name=='input'||tag_name=='textarea'||tag_name=='button'||tag_name=='form'){if(!attrs)attrs={};if(!attrs.name&&element.getAttribute('id'))attrs.name=element.getAttribute('id');}if(content)append(element,content);if(attrs){for(var a in attrs){if(Array.prototype[a]==attrs[a])continue;try{element.setAttribute(a,attrs[a]);}catch(e){throw("problem setting "+a+" to "+attrs[a]+" in a "+tag_name+"::"+e);}}}if(style){for(var k in style){if(Array.prototype[k]==style[k])continue;element.style[k]=style[k];}}return element;}function append(parent_node,child){parent_node=check_dom_param(parent_node);if(child.constructor==Array){for(var i=0;i<child.length;i++){append(parent_node,child[i]);}return;}if(parent_node.tagName&&parent_node.tagName.toLowerCase()=='input'){var val=parent_node.getAttribute('value');val=val?val+child:child;parent_node.setAttribute('value',val);}else{if(child.constructor==String){if(child=="")return;child=document.createTextNode(child);}parent_node.appendChild(child);}}function remove(parent_node,child){parent_node=check_dom_param(parent_node);if(!child){remove(parent_node.parentNode,parent_node);return;}if(child.constructor==Array){for(var i=0;i<child.length;i++){remove(parent_node,child[i]);}}else{parent_node.removeChild(child);}}function empty_element(dom_node){dom_node=check_dom_param(dom_node);remove(dom_node,nodeList_to_Array(dom_node.childNodes));}function replace_children(dom_node,new_children){dom_node=check_dom_param(dom_node);empty_element(dom_node);append(dom_node,new_children);}function nodeList_to_Array(nodelist){var array=new Array();for(var i=0;i<nodelist.length;i++)array.push(nodelist[i]);return array;}function add_label_hover_events(label_ele){var label_for_ele_id=window.NEEDS_IE_HACKS?label_ele.attributes['for'].value:label_ele.getAttribute('for');var label_for_ele=document.getElementById(label_for_ele_id);add_event(label_ele,'mouseover',function(){add_class(label_for_ele,'label-hovered');});add_event(label_ele,'mouseout',function(){remove_class(label_for_ele,'label-hovered');});}function get_radios_by_name(da_name){var inputs=document.getElementsByTagName('input');var rtn=[];for(var i=0;i<inputs.length;i++){var cur_input=inputs[i];if((cur_input.getAttribute('type')=='radio')&&(cur_input.getAttribute('name')==da_name)){rtn.push(cur_input);}}if(rtn.length==0)throw "stock.js :: get_radios_by_name ::"+" can't find any radios with name "+da_name;return rtn;}function get_radios_value_by_name(da_name){var radios=get_radios_by_name(da_name);for(var i=0;i<radios.length;i++){var cur_radio=radios[i];if(cur_radio.checked){return cur_radio.getAttribute('value');}}return null;}function stack_trace(){var trace='';for(c=arguments.callee.caller;c;c=c.caller){var nme=c.name;if(!nme)nme='(anon)';trace+=nme+"\n";}return trace;}function filter(array,filter){var rtn=[];for(var i=0;i<array.length;i++){if(filter(array[i]))rtn.push(array[i]);}return rtn;}Object.prototype.filter=Array.prototype.filter=function(filt_func){return filter(this,filt_func);};Object.prototype.alert_r=Array.prototype.alert_r=function(inc_proto){alert(this.print_r(inc_proto));};Object.prototype.print_r=Array.prototype.print_r=function(inc_proto){var rtn='{\n';for(var k in this){var v=this[k];if(v==null){v="null"}else if(Function==v.constructor){var func_name=v.name||'anon';v="function "+func_name;}else if(Array==v.constructor||Object==v.constructor){v=v.print_r();}else{v=v.toString();}rtn+="    "+k+"\t:"+v+"\n";}rtn+="}\n";return rtn;};Object.prototype.merge=Array.prototype.merge=function(other){for(var k in other){this[k]=other[k];}return this;};function get_url_encoded(params,encode){if(!params||params.length==0)return "";var params_array=[];for(var k in params){var v=params[k];if(!v)continue;if(v.constructor==Function)continue;if(encode)v=encodeURIComponent(v);params_array.push(k+"="+v);}return params_array.join("&");}function get_url_params_string(params,encode){var encoded=get_url_encoded(params,encode);if(!encoded)return '';else return '?'+encoded;}var HTTP_OK=200,HTTP_NOT_FOUND=404;if(!window.XMLHttpRequest){window.XMLHttpRequest=function(){return new ActiveXObject('Microsoft.XMLHTTP');}}function get_http_resource(url,callback){var req=new XMLHttpRequest();req.onreadystatechange=function(){if('complete'!=state_name(req))return;if(HTTP_OK!=req.status){alert("There was a problem retrieving "+url+"\n"+req.statusText);return;}var response_text=req.responseText;if(!response_text)response_text="";callback(response_text);};req.open('GET',url,true);req.send(null);}function xmlhttp_available(){if(window.XMLHttpRequest){return true;}if(window.ActiveXObject){var xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');if(xmlhttp)return true;}return false;}var http_req_states=new Array("uninitialised","loading","loaded","interactive","complete");function state_name(req){return http_req_states[req.readyState];}
