
/* (c) copyright, 2011 Michael Podanoffsky 
   All rights reserved

*/


function $id(id)
{return document.getElementById(id);}
function getClassList(element)
{return element.className.split(/\s+/);}
function isClass(element,match)
{var _match=match.toLowerCase();var classList=element.className.toLowerCase().split(/\s+/);for(var n=0;n<classList.length;++n)
{if(_match==classList[n])
return true;}
return false;}
Cookie=function(name,duration,domain,path,secure)
{if(!(this instanceof Cookie))
{return new Cookie(name,duration,domain,path,secure);}
function findCookie(name)
{var m=document.cookie.match(new RegExp(name+"=([^;]*)(;|$)"));return m?m[1]:null;}
this.refresh=function()
{this.keys={};var ck=findCookie(this.name);this.value=ck;this.exists=(ck)?true:false;if(ck)
{var args=ck.split("/");for(var k=0;k<args.length;++k)
{var pair=args[k].split("@");this.keys[pair[0]]=unescape(pair[1]);}}
return this.keys;}
this.expire=function()
{var date=new Date();date.setFullYear(date.getYear()-1);document.cookie=this.name+"=; expires="+date.toGMTString()
+this.affix;this.refresh();}
this.setValue=function(key,value)
{var encoded=window.encodeURI?encodeURI(value):escape(value);encoded=encoded.replace(new RegExp('/','g'),'%2F');encoded=encoded.replace(new RegExp('@','g'),'%40');encoded=encoded.replace(new RegExp(';','g'),'%3B');encoded=encoded.replace(new RegExp('=','g'),'%3D');var arg=key+"@"+encoded;var exists=this.keys[key];if(exists)
{var ck=document.cookie;this.value=this.value.replace(new RegExp(key+"@([^/$]+)"),arg);}
else if(this.value)
{this.value+="/"+arg;}
else
{this.value=arg;}
this.keys[key]=value;var cookie=this.name+'='+this.value+this.affix;document.cookie=cookie;}
this.getValue=function(key)
{return this.keys[key];}
this.keys={};this.name=name;this.domain=domain;this.path=path;this.secure=secure;if(duration)
{var date=new Date();var curTime=new Date().getTime();date.setTime(date.getTime()+(1000*60*duration));this.expires=date.toGMTString();}
this.value='';this.affix=((domain)?';domain='+domain:'')
+((path)?';path='+path:'')
+((secure)?';secure':'');this.refresh();};function doSubscribe()
{try
{var subscribe_email=$id("subscribe_email");var emailclasses=getClassList(subscribe_email);for(var n=0;n<emailclasses.length;++n)
{var classname=emailclasses[n];if(classname=='uninitializedInput')
return false;}
var email=trim(subscribe_email.value);if(!email)
return false;var subscribe_postcode=$id("subscribe_postcode");var postcode=trim(subscribe_postcode.value);var request=Cookie('spf');request.expire();request.setValue('email',email);request.setValue('postcode',postcode);var host=self.document.location.host;top.location="http://"+host+"/subscribe.html";}
catch(e){}
return false;}
function setfldvalue(key,default_value)
{var fld=$(key);if(fld)
fld.val(default_value);}
function setInputPrompt(key,default_value,default_style)
{var fld=$(key);if(fld)
{if(default_style)
fld.addClass(default_style);fld.defaultValue=default_value;setTimeout('setfldvalue( "'+key+'", "'+default_value+'" )',20);fld.focus(function()
{if($(this).val()==fld.defaultValue)
{if(default_style)
$(this).removeClass(default_style);$(this).val('');}});fld.blur(function()
{if(trim($(this).val())=='')
{if(default_style)
$(this).addClass(default_style);$(this).val(fld.defaultValue);}});}}
function trim(str)
{return(str)?str.replace(/^\s+/g,'').replace(/\s+$/g,''):'';}
function trace()
{var out='';for(var k=0;k<arguments.length;++k)
out+=arguments[k]+' ';var log=$('div#log');if(log)
log.html(log.html()+out+"<br />");}
function bind(object,callback)
{return function()
{return callback.apply(object,arguments);};}
function join(data,bindvalue)
{var out='';bindvalue=bindvalue||'';for(var k in data)
out+=(data[k]||'')+bindvalue;return out;}
function thousands(value)
{var out=[];var text=''+value;var from=0;var to=text.length%3;if(!to)
to=3;while(from<text.length)
{out.push(text.substr(from,to));from+=to;to=3;}
return out.join(',');}
function formatValue(value,decml)
{var seg={currency:'',value:'',decml:''};var round=Math.pow(10,decml||0);value=Math.abs(value);var base=Math.floor(value);seg.value=thousands(base);if(undefined!==decml)
{var decimals=''+Math.floor((value-base)*round+0.1);if(decimals.length<decml)
decimals+='0000000000000';seg.decml='.'+decimals.substr(0,decml);}
return join(seg);}
function GetDouble(element)
{if(!element)
return 0;var value=element.value;var extracted_value=(value)?value.replace(/[^0-9\.]/g,''):0;return 1*extracted_value;}
function EmailAddress()
{$("a[href^='mailto:#']").each(function()
{var span=$(this).find('span');if(span&&span.length>=2)
{href=this.href;if(-1==href.indexOf("#?subject="))
this.href=this.href.replace(/#\?/,"#?subject=");var email=span[0].innerHTML+"@"+span[1].innerHTML;this.href=this.href.replace(/^mailto\:#/,"mailto:"+email);this.title="mail to: "+email;}});}
function FixCurrentLink()
{try
{var location=window.location;var this_file=FixCurrentLink.extract_url.exec(location.href);$("a[href="+this_file[1]+"]").each(function()
{this.onclick=function(){return false;}});}
catch(e){}}
FixCurrentLink.extract_url=new RegExp("/([^\.\/]+\.html)");var animspeed='fast';var nav_main=false;var nav_sub=false;var nav_visible=false;var nav_open=false;var nav_close=false;var slideImages=[];function add_slideImage(image)
{slideImages.push(image);}
function checkEmail(s)
{var regexp=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;return regexp.test(s);}
function checkZipcode(s){var regexp=/^\d{5}$/;return regexp.test(s);}
function checkmenu()
{if((nav_main||nav_sub)&&!nav_visible)
{if(!nav_open&&!nav_close)
{nav_open=true;$('div#navmenus').slideDown(animspeed,function()
{nav_open=false;nav_visible=true;});}}
else if(!nav_main&&!nav_sub&&nav_visible)
{if(!nav_close&&!nav_open)
{nav_close=true;$('div#navmenus').slideUp(animspeed,function()
{nav_close=false;nav_visible=false;});}}}
var hasfocus={item:0,setitem:function($item)
{if(hasfocus.item)
hasfocus.item.removeClass('focused');$item.addClass('focused');hasfocus.item=$item;},clearitem:function()
{if(hasfocus.item)
hasfocus.item.removeClass('focused');}};function wrapFormField($item,Elements)
{for(var k=0;k<Elements.length;++k)
formField($item,Elements[k]);}
function formField($item,input)
{var $input=jQuery(input);$input._private={focus:$item};$item.mouseover(function()
{if(!$item.hasClass('focused'))
$item.addClass('mouseover');});$item.mouseout(function()
{$item.removeClass('mouseover');});$item.click(function()
{hasfocus.setitem($item);$item.removeClass('mouseover');function onfocus(e)
{}
$item.find('input').each(function(ref,item)
{return onfocus(item);});$item.find('textarea').each(function(ref,item)
{return onfocus(item);});});$input.focus(function()
{var $item=$input._private.focus;hasfocus.setitem($item);$item.removeClass('mouseover');});$input.blur(function()
{var $item=$input._private.focus;$item.removeClass('focused');});}
$(window).unload(function()
{$('#nav-1 a').removeClass('highlightsub');$('#nav-2 a').removeClass('highlightsub');$('#nav-3 a').removeClass('highlightsub');$('#nav-4 a').removeClass('highlightsub');if(!nav_main&&!nav_sub&&nav_visible)
{if(!nav_close&&!nav_open)
{$('div#navmenus').hide();nav_close=false;nav_visible=false;}}});$(document).ready(function()
{setInputPrompt('input[name=searchterm]','search','uninitializedInput');setInputPrompt('#subscribe_email','email','uninitializedInput');setInputPrompt('#subscribe_zipcode','zip/post code','uninitializedInput');var navmenus=$('div#navmenus *');if(navmenus)
{timeit=setInterval('checkmenu()',800);var is_ulnavitem=$('ul#navitem');if(is_ulnavitem)
{is_ulnavitem.mouseover(function(){nav_main=true;});is_ulnavitem.mouseout(function(){nav_main=false;});navmenus.mouseover(function(){nav_sub=true;});navmenus.mouseout(function(){nav_sub=false;$('a.highlightsub').removeClass('highlightsub');});$('#sub-nav-1').mouseover(function(){$('#nav-1 a').addClass('highlightsub');$('#nav-2 a').removeClass('highlightsub');$('#nav-3 a').removeClass('highlightsub');$('#nav-4 a').removeClass('highlightsub');});$('#sub-nav-2').mouseover(function(){$('#nav-1 a').removeClass('highlightsub');$('#nav-2 a').addClass('highlightsub');$('#nav-3 a').removeClass('highlightsub');$('#nav-4 a').removeClass('highlightsub');});$('#sub-nav-3').mouseover(function(){$('#nav-1 a').removeClass('highlightsub');$('#nav-2 a').removeClass('highlightsub');$('#nav-3 a').addClass('highlightsub');$('#nav-4 a').removeClass('highlightsub');});$('#sub-nav-4').mouseover(function(){$('#nav-1 a').removeClass('highlightsub');$('#nav-2 a').removeClass('highlightsub');$('#nav-3 a').removeClass('highlightsub');$('#nav-4 a').addClass('highlightsub');});}}
EmailAddress();FixCurrentLink();$('div.onfocus').each(function(ref,item)
{var $item=jQuery(item);var elements=['input','textarea','select'];for(var type in elements)
{var ElemsArray=$item.find(elements[type]);wrapFormField($item,ElemsArray);}});});

