/* 
  ----------------------------------------------------------------------------------
  Design215 Core functions, Copyright © 2001-2004 Design215 Inc. All Rights Reserved
  v6.00  12.12.05  

  All text contained herein is strictly confidential and subject to license agreement
   
  Design215 scripts are useful, efficient, and compact. To license these and other 
  scripts on your site, please visit www.design215.com or contact rob@design215.com
  ----------------------------------------------------------------------------------
*/
var _na=navigator.appName,_x=document,IE5=(_na=="Microsoft Internet Explorer")?true:false;
var IE4=(IE5&&!_x.getElementById)?true:false;var NS4=(_x.layers)?true:false;
var NS6=((_na=="Mozilla"||_na=="Netscape")&&!NS4)?true:false;var OP7=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;
var AOH=(navigator.userAgent.indexOf("AOL")!=-1)?true:false;var BMac=(navigator.platform.indexOf("Mac")!=-1)?true:false;
//_x.oncontextmenu=xCC;function xCC(){return false}

function xLJ(Ln){if(IE4){return _x.all.tags("DIV")[Ln]} else if (NS4){return _x.layers[Ln]}else{return _x.getElementById(Ln)}}
function xLP(Ln,xPos,yPos,zPos,zVis){var _v="visible";if(zVis==0){_v="hidden"}var Lj=xLJ(Ln);if (NS4){Lj.left=xPos;Lj.top=yPos;Lj.visibility=_v;if(zPos>=0){Lj.zIndex=zPos}}else{if(IE4){Lj.style.left=xPos;Lj.style.top=yPos;Lj.style.visibility=_v}else{Lj.style.left=xPos+"px";Lj.style.top=yPos+"px";Lj.style.visibility=_v}if(zPos>=0){Lj.style.zIndex=zPos}}}
function xLC(Ln,Lc){if(NS4){_x.layers[Ln].document.open();_x.layers[Ln].document.write(Lc);_x.layers[Ln].document.close()}else{var Lj=xLJ(Ln);Lj.innerHTML=Lc}}
function xLB(Ln,x1,y1,x2,y2){if (NS4){_x.layers[Ln].clip.left=x1;_x.layers[Ln].clip.top=y1;_x.layers[Ln].clip.right=x2;_x.layers[Ln].clip.bottom=y2} else {var Lj=xLJ(Ln); if (IE4){Lj.style.clip='rect('+y1+' '+x2+' '+y2+' '+x1+')'} else {Lj.style.clip='rect('+y1+'px '+x2+'px '+y2+'px '+x1+'px)'}}}
function xLH(Ln){if(IE4){return parseInt(_x.all.tags("DIV")[Ln].clientHeight)}else if(IE5){return parseInt(_x.getElementById(Ln).clientHeight)}else if(NS4){return _x.layers[Ln].document.height}else if(NS6){return _x.getElementById(Ln).offsetHeight}}
function xLW(Ln){if(IE5){return parseInt(_x.getElementById(Ln).clientWidth)}else if(NS4){return _x.layers[Ln].document.width}else if(NS6){return _x.getElementById(Ln).offsetWidth}}
function xwH(){if(IE5){return _x.body.offsetHeight}else{return window.innerHeight}}
function xwW(){if(IE5){return _x.body.offsetWidth}else{return window.innerWidth}}

function mBG(z,c,pic) {  //v02.07.04
  if (document.layers) {if (c==""){c=null} z.bgColor=c} else {z.style.backgroundColor=c;
  if (pic!="") {z.style.backgroundImage="url("+pic+")";} else {z.style.backgroundImage="none";}}
}

// Get position of an element, regardless of nested containers 
function xLO(what,d){  //v02.01.06
  var t=(d=="x")? what.offsetLeft : what.offsetTop+what.offsetHeight;
  var p=what.offsetParent;
  while (p!=null){
    t=(d=="x")? t+p.offsetLeft : t+p.offsetTop;
    p=p.offsetParent;
    //alert(p.name+" = "+p.offsetLeft+"\ntotal = "+t)
  }
  //alert(d+" offset="+t)
  return t;
}

function eMA(z,dom,ext,usr,qry) {  //v01.31.06
  z.href='ma'+'il'+'to'+'\x3a'+usr+'\x40'+dom+'.'+ext+qry
}  
function eML(dom,ext,usr,qry) {  //v01.31.06
  document.write('<a h'+'ref="ma'+'il'+'to'+'\x3a'+usr+'\x40'+dom+'.'+ext+qry+'">'+usr+' at '+dom+'<\/a>');
}  


/* 
  ----------------------------------------------------------------------------------
  Design215 dropMenu, Copyright © 2003-2004 Design215 Inc. All Rights Reserved
  v3.00  12.12.05, requires core functions:v6.00, stylesheet:tooltips.css

  All text contained herein is strictly confidential and subject to license agreement
   
  Design215 scripts are useful, efficient, and compact. To license these and other 
  scripts on your site, please visit www.design215.com or contact rob@design215.com
  ----------------------------------------------------------------------------------
*/
var tskinw=0,tskinh=0,tcentw=0,tcenth=0,ttmr=0,ttX=0,ttY=0,ttW=0,ttH=0,ttE=0,ttactv=0,ttN="xtooltip";
if(!window.mouseX){var mouseX=0,mouseY=0;if(_x.layers){_x.captureEvents(Event.MOUSEMOVE)}_x.onmousemove=ttXY}setInterval("ttCk()",150);
var ttA='<table cellpadding="1" cellspacing="0" border="0" class="ttbg@"><tr><td valign="top"><table width="100%" cellpadding="4" cellspacing="0" border="0"><tr><td class="tt@" nowrap>',ttZ='<\/td><\/tr><\/table><\/td><\/tr><\/table><br>';
function ttXY(e){if(_x.all){mouseX=event.clientX;mouseY=(event.clientY+_x.body.scrollTop)}else{mouseX=e.pageX;mouseY=e.pageY}} 
function ttCk(){
  if(ttactv>0&&ttE<3){
    if(mouseX<ttX-2||mouseX>ttX+ttW+2||mouseY<ttY||mouseY>ttY+ttH+2){
      if(ttE==1){ttE=0;ttmr=setTimeout("ttOff()",400)}
    }else{ttE=1;clearTimeout(ttmr)}
  }
}
function ttOn(obj,m,s){
  ttOff();ttactv=m;switch(m){
  case 1:ttE=2;ttN="xtooltip";var tt1=ttA.replace(/@/g,"1");xLC(ttN,tt1+s+ttZ);ttmr=setTimeout("ttMov()",200);break;
  case 2:ttE=2;ttN="xtooltip";var tt1=ttA.replace(/@/g,"2");xLC(ttN,tt1+s+ttZ);ttX=mouseX-4;ttY=mouseY-4;xLP(ttN,ttX,ttY,98,1);setTimeout("ttSize()",200);break;
  case 3:ttE=3;ttN=ttm[s][0];
    ttX=ttm[s][1]+xLO(obj,"x");
    ttY=ttm[s][2]+xLO(obj,"y");
    
    if(ttm[s][8]=="y"){ttY+=_x.all?_x.body.scrollTop:window.scrollY;}
    if(IE5&&_x.getElementsByTagName("select").length){_x.getElementsByTagName("select").item(0).style.visibility="hidden";}  //new, hide select
    xLP(ttN,ttX,ttY,98,1);ttSize()}  
}
function ttSize(){ttW=xLW(ttN);ttH=xLH(ttN);if(ttactv==2){if(ttX+ttW>tskinw&&tskinw>0){ttX=tskinw-ttW}if(ttY+ttH>tskinh&&tskinh>0){ttY=tskinh-ttH}xLP(ttN,ttX,ttY,98,1)}}function ttMov(){xLP(ttN,mouseX+15,mouseY,98,1);ttmr=setTimeout("ttMov()",100)}
function ttOff(){
  if(ttE<3){
    clearTimeout(ttmr);xLP(ttN,-500,0,98,0);ttX=0;ttY=0;ttW=0;ttH=0;ttactv=0;
    if(IE5&&_x.getElementsByTagName("select").length){_x.getElementsByTagName("select").item(0).style.visibility="visible";}  //new, restore select
  }else{ttE=1}
}
function ttGo(m,n){ttOff();var url=ttm[m][n*6+5],trg=ttm[m][n*6+6];if(trg=="new"){window.open(url)}if(trg=="self"){document.location.href=url}if(trg=="js"){eval(url)}}
function ttGo2(m,n){if(NS4){ttGo(m,n)}}var ttlist=0,ttm=new Array();if(NS4){_x.write('<layer id="xtooltip" width="120" z-index="98"><\/layer>\n')}else{_x.write('<div id="xtooltip" style="position:absolute; left:-200px; top:5px; width:120px; z-index:98;"><\/div>')}
function ttmenu(){
  ttlist++;var t=ttlist;ttm[t]=ttmx;if(ttmx[9]=="y"){
    var x=10,n=1,c=1,m="";if(NS4){m='<layer id="'+ttmx[0]+'" width="'+ttmx[3]+'" visibility="hidden">'}else{m='<div id="'+ttmx[0]+'" style="position:absolute; left:0px; top:0px; width:'+ttmx[3]+'px; visibility:hidden;">'}
    m+='<table cellpadding="1" cellspacing="0" border="0" class="ttbg3"><tr><td><table width="'+ttmx[3]+'" cellpadding="'+ttmx[4]+'" cellspacing="0" border="0" bgcolor="'+ttmx[5]+'"><tr>';
    while(ttmx[x]){if(c>ttmx[7]){m+='<\/tr><tr>';c=1}if(ttmx[x+1]=="disable"){m+='<td class="ttd">'+ttmx[x]}else{m+='<td class="tt3" onmouseover="mBG(this,\''+ttmx[6]+'\',\'\')" onmouseout="mBG(this,\'\',\'\')" onClick="ttGo('+t+','+n+')">';if(NS4){m+='<a class="tt3" href="';if(ttmx[x+2]=="self"){m+=ttmx[x+1]}else{m+='javascript:ttGo2('+t+','+n+')'}m+='">'+ttmx[x]+'<\/a>'}else{m+=ttmx[x]}}m+='<\/td>';
    x=x+6;n++;c++}m+='<\/tr><\/table><\/td><\/tr><\/table>';m+=(NS4)?'<\/layer>':'<\/div>';_x.write(m)
  }
}

/* dropMenu List v3.00  12.12.05, use the following template for each menu item:
   ttmx=[name,x pos,y pos,width,padding,background,highlight,items/row,scrolltop?,create?] 

ttmenu(ttmx=["name",0,0,120,4,"#414141","#6b6b6b",0,0,"y"
,'text or html',"url|javascript|disable","new|self|js",,,
,'text or html',"url|javascript|disable","new|self|js",,,
,'text or html',"url|javascript|disable","new|self|js",,,
])

New Notes:
- all menus must be in existing divs, located outside of any other containers.
- the calling command has an additional parameter, "this".
- menu links can be anywhere, in any number of nested containers.
- for images, "onmouseover" goes in <img> tag, not in the <a>.
- x and y values are now offsets from the top left of the rollover object.


*/

//use existing divs, css defined in the stylesheet
ttmenu(ttmx=["menu1",0,1,,,,,0,0,"n"])  //company
ttmenu(ttmx=["menu2",0,1,,,,,0,0,"n"])  //products
ttmenu(ttmx=["menu3",0,1,,,,,0,0,"n"])  //gallery
ttmenu(ttmx=["menu4",0,1,,,,,0,0,"n"])  //whats'up
ttmenu(ttmx=["menu5",0,1,,,,,0,0,"n"])  //contact


//products tooltip messages
var prod_mw='<b>Exceed Wetsuits for Men<\/b>';
var prod_mr='<b>Exceed Rash Guards for Men<\/b>';
var prod_ww='<b>Exceed Wetsuits for Women<\/b>';
var prod_wr='<b>Exceed Rash Guards for Women<\/b>';


/* 
  ----------------------------------------------------------------------------------
  Design215 slideShow, Copyright © 2003-2004 Design215 Inc. All Rights Reserved
  v2.80  07.29.06, requires Tooltips 2.04+

  All text contained herein is strictly confidential and subject to license agreement
   
  Design215 scripts are useful, efficient, and compact. To license these and other 
  scripts on your site, please visit www.design215.com or contact rob@design215.com
  ----------------------------------------------------------------------------------
*/

//Create buttons and call slideControl('stop|pause|play|prev|next') to control the slideshow

var SSp1="",SSp2="",SSct=0,SScrd=0,slideT1=0,slideT2=0,slideW1=0,slidePause="0",slideStat="Pause";
var SSup="xssw1",SSdn="xssw2",SSwip=1,slideDx=0,slideDy=0,SSdw=0,slideInit=0,SSbtn=0,SSxcd=0;
var SSlide=new Array(),SSdeck=new Array(),slideImage=new Array(),slideText=new Array(),slideName=new Array(),slideUrl=new Array(),slideTarget=new Array(),SStx1="",SStx2="",SStx3="",SStx5="";

function slideStart(){
  slideDx=slideW/2; slideDy=slideH/2;
  for(var w=1;w<=slideTotal;w++){
    var u="00"+w;
    u=u.substring(u.length-3,u.length);
    SSdeck[w]=0;
    if (slidePrefix!="") {eval('SSlide['+w+']="'+slideBaseUrl+'/'+slidePrefix+u+slideExt+'"')}
    else {eval('SSlide['+w+']="'+slideBaseUrl+'/'+slideImage[w]+'"')}
  }
  SStx1='<a href="javascript:slideLink(SSdeck[SSct])"><img name="',
  SStx2='" src="',
  SStx3='" width="'+slideW+'" height="'+slideH+'" alt="" border="0" onload="flipDelay()" onmouseover="ttOn(1,slideStat)" onmouseout="ttOff()"><\/a>';
  SStx5='<img name="@2" src="'+slideBaseUrl+'/spacer.gif" border="0" width="'+slideW+'" height="'+slideH+'" border="0">';
  m=SStx5;m=m.replace(/@2/g,"sidepic");xLC(SSup,m);
  m=SStx5;m=m.replace(/@2/g,"sidepic2");xLC(SSdn,m);
  SSp1=_x.sidepic;SSp2=_x.sidepic2;slideDelay*=1000;
  xLP(SSup,slideX,slideY,92,1); xLP(SSdn,slideX,slideY,90,0);
  xLP('xslidetext',slideTx,slideTy,94,1); xLP('xslidenum',slideNx,slideNy,94,1);
  slideShuffle()
}
function slideControl(z){
  clearTimeout(slideW1);slideInit=0;xLB(SSup,0,0,slideW,slideH);
  if(slideWipe==5){var b=xLJ(SSup);if(_x.all){b.filters.alpha.opacity=99}else{b.style.MozOpacity=1}}
  if(z=='stop'){slidePause=0;z='pause'}if(z=='play'){slidePause=1;z='pause'}
  if(z=='pause'){
    if(slidePause==0){ttOff();slidePause=1;slideStat="Continue"}
    else{ttOff();slidePause=0;slideStat="Pause";slideFlip()}
  }
  if(z=='prev'||z=='next'){
    if(z=='prev'){SSct-=2}
    slidePause=1;SSbtn=1;slideFlip()
  }
}
function slideLink(n){
  if(slideUrl[n]){
    if(slidePause==0){slideControl('pause')}
    if(slideTarget[n]=="new"){window.open(slideUrl[n])}
    else{location.href=slideUrl[n]}
  }
  else{slideControl('pause')}  
} 
function slideShuffle(){
  SSct=0;SScrd=1;SSup="xssw2";SSdn="xssw1"
  while (SScrd<=slideTotal) {
    SSxcd=Math.random()*slideTotal;SSxcd=Math.round(SSxcd)+1;
    if (slideOrder==0){SSxcd=SScrd}if (SSdeck[SSxcd]==0){SSdeck[SSxcd]=SScrd;SScrd++}
  }loadSlide()
}
function slideNext(){xLP(SSdn,slideX,slideY,90,0);if (slidePause==0){slideFlip()}}
function slideFlip(){var t=SSup;SSup=SSdn;SSdn=t;slideWait()}
function slideWait(){slideT2=new Date()-slideT1;if(slideT2>slideDelay||slideInit==0){loadSlide()}else{slideW1=setTimeout("slideWait()",200)}}
function loadSlide(){
  if(slidePause==0 || SSbtn==1){SSct++} 
  if(SSct>slideTotal){SSct=1} if(SSct<1){SSct=slideTotal}slideInit=1
  xLP(SSup,slideX,slideY,92,0);xLC(SSup,SStx1+"sidepic2"+SStx2+SSlide[SSdeck[SSct]]+SStx3)
}
function flipDelay(){clearTimeout(slideW1);slideW1=setTimeout("flipSlide()",200)}
function flipSlide(){
  SSdw=0;SSbtn=0;slideT1=new Date();slideMsg(SSdeck[SSct])
  var v=1,p=slideWipe;if(slidePause==1){p=0}if(p==0){v=0}
  xLP(SSdn,slideX,slideY,90,v)
  
  if(p>0&&p<5){xLB(SSup,0,0,0,0)}xLP(SSup,slideX,slideY,92,1);
  if(p==0){slideNext()}if(p==1){wipe2()}if(p==2){wipe3()}
  if(p==3){if(SSwip==1){wipe2()}else{wipe3()}}if(p==4){wipe4()}
  if(p==5){if((IE5&&BMac)||NS4){slideNext()}else{wipe5()}}
}   
function wipe2(){
  SSdw+=2;xLB(SSup,0,slideDy-SSdw,slideW,slideDy+SSdw);
  if(SSdw>=slideDy){SSwip=2;slideNext()}
  else{slideW1=setTimeout("wipe2()",50)}
}
function wipe3(){
  SSdw+=2;xLB(SSup,slideDx-SSdw,0,slideDx+SSdw,slideH);
  if(SSdw>=slideDx){SSwip=1;slideNext()}
  else{slideW1=setTimeout("wipe3()",50)}
}
function wipe4(){
  SSdw+=5;xLB(SSup,slideW-SSdw,0,slideW,slideH);
  xLP(SSup,slideX-slideW+SSdw,slideY,-1,1);
  if(SSdw>=slideW){SSwip=1;slideNext()}
  else{slideW1=setTimeout("wipe4()",50)}
}
function wipe5(){
  SSdw+=5;if(SSdw>99){SSdw=99}var b=xLJ(SSup); //max of 99 fixes Firefox "blinking"
  if(_x.all){b.filters.alpha.opacity=SSdw}else{b.style.MozOpacity=(SSdw/100)}
  if(SSdw>=99){SSwip=1;slideNext()}
  else{slideW1=setTimeout("wipe5()",50)}
}
function slideMsg(n){
  var t=slideCaption,xdyn1='<span style="'+slideNumCss+'">'+n+'<\/span><br>';xLC("xslidenum",xdyn1);
  slideStat="Pause";if(slidePause==1){slideStat="Continue"}
  if(slideUrl[n]){slideStat="Open Link"}if(slideName[n]){slideStat=slideName[n]}
  if(slideText[n]){t=slideText[n]}
  xdyn1='<table width="'+slideTw+'" cellpadding="0" border="0"><tr><td><span style="'+slideTxtCss+'">'+t+'<\/span><\/td><\/tr><\/table><br>';
  xLC("xslidetext",xdyn1)
}
// end of slideshow module


function goPULP(url,wx,wy) { //PULPchat launch v1.5c
  var pulp_server="http://pulp1.design215.com/pulpchat/php/default.php"; 
  if (url.indexOf("http://")<0) {url=pulp_server+"?chat="+url}
  var wxMax=screen.width,wyMax=screen.height,wxOffset=(wxMax-wx)/2,wyOffset=(wyMax-wy)/2;
  var win_options='width='+wx+',height='+wy+',screenX='+wxOffset+',screenY='+wyOffset+
  ',top='+wyOffset+',left='+wxOffset+',scrollbars=no,resizable=no';
  if (navigator.userAgent.indexOf("AOL")!=-1) {win_options+=',status'}
  chatWin=window.open(url,'PULPwin',win_options);
}

// Design215 Guestbook functions - v1.7  12.07.05
// ----------------------------------------------

var charLimit=300; //character limit, match this value to the one in the php section

var validName="0123456789abcdefghijklmnopqrstuvwxyzàáâãäèéêëìíîïñòóôõöùúûüýý ~!@*()-_=.'"
var validEmail="0123456789abcdefghijklmnopqrstuvwxyzàáâãäèéêëìíîïñòóôõöùúûüýý @-_."
//spaces are allowed in emails so people can enter "joe at yahoo dotcom"

var gUndo="";
function gdelay() {setTimeout("gcount()",200);}
function gcount() {
  t=document.guestform.gtext.value;
  if (t.length>charLimit) {document.guestform.gtext.value=t.substring(0,charLimit);}
  document.guestform.gbox1.value=(charLimit-t.length)+" characters remaining";
  var t2=t.toLowerCase();
  if (t2.indexOf("<a href=")!=-1 || t2.indexOf("http://")!=-1) {
    alert("NO SPAM Thank You!!"); 
    //document.guestform.gtext.value=gUndo; //remove last entered text
  }
  else {gUndo=t}
}
function gvalidate() {  // v1.1
  var emsg=0,z=document.guestform,xname=z.gname.value,xemail=z.gemail.value;
  var xlocation=z.glocation.value,s=z.gtext.value;
  if (xemail.length<8) {emsg=2}
  if (xlocation.length<3) {emsg=5}
  if (xname.length<3) {emsg=1}
  if (xname.indexOf(" ")==-1 && xname.length>16) {emsg=1}
  var bname=xname+xlocation;
  for (w=0; w<bname.length; w++) {    //Protect against illegal characters
    var temp=bname.substring(w,w+1);
    if (validName.indexOf(temp.toLowerCase())==-1) {emsg=3;}
  }
  for (w=0; w<xemail.length; w++) {    //Protect against illegal characters
    var temp=xemail.substring(w,w+1);
    if (validEmail.indexOf(temp.toLowerCase())==-1) {emsg=4;}
  }
  if (emsg==1) {alert("Please enter your name or nickname.");return false}
  if (emsg==2) {alert("Please enter an email address."); return false}
  if (emsg==3) {alert("Only letters, numbers, and ~!@*()-_=.' \n are allowed."); return false}
  if (emsg==4) {alert("Only letters, numbers, and @-_. \n are allowed in email addresses."); return false}
  if (emsg==5) {alert("Please enter your country or city.");return false}
  
  s=s.replace(/\b(\w{32,})(\b|(\W))/ig,"??$3");
  if (s=="") {alert("Please enter a message!"); return false}
  if (s.length>charLimit) {s=s.substring(0,charLimit)}
  document.guestform.gtext.value=s;
  
  var jsinfo=navigator.appName+" v"+navigator.appVersion;
  if (navigator.vendor) {jsinfo+=", "+navigator.vendor; if (navigator.vendorSub) {jsinfo+=" "+navigator.vendorSub;}}
  jsinfo+=", "+navigator.platform; jsinfo+=", Screen: "+screen.width+"x"+screen.height;
  if (screen.colorDepth) {jsinfo+="x"+screen.colorDepth+"bit";}
  if (navigator.systemLanguage) {jsinfo+=", Lang: "+navigator.systemLanguage;}
  if (jsinfo=="") {jsinfo="no javascript info";}
  document.guestform.ginfo.value=jsinfo;
  
  return true
}
function xsubscribe() {if(gvalidate()) {document.guestform.submit()}}
//////////////////////////////////////////////////////////////

  




