/* 
	This script, website, and all map data is Copyright© 2008 WCG:ITX, Inc. All Rights Reserved 
	William Walseth - bill@wcg-itx.com http://www.wcg-itx.com
*/













































//-------------------------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------------------------function setFocus(strElement){document.getElementById(strElement).focus();}function displayOldTweets(){var table=document.getElementById("twittertable");var rows=table.getElementsByTagName("tr");var i=0;for(i=0; i < rows.length; i++){if(rows[i].style.display=="none"){rows[i].style.display="";}}}function recordVideoView(key){var s3="";switch(document.location.hostname){case "localhost":s3= "/ss/datasvc.aspx";breakdefault:s3="/datasvc.aspx";break;}var a1=new Array();a1["svc"]="videoview";a1["key"]=key;a1["dt"]=new Date().valueOf();var s7="";for(key in a1){s7+=key+"="+a1[key]+"&";}s7=s7.replace(/&$/, "");s3+="?"+s7;try{var i6=GXmlHttp.create();}catch(err){alert("Sorry, no GXmlHttp!");}i6.open("GET", s3, true);i6.onreadystatechange=function(){switch(i6.readyState){case 4:try{}catch(e){}break;}}i6.send(null);}function getLocalTweetCode(){var s3="";switch(document.location.hostname){case "localhost":s3= "/ss/datasvc.aspx";breakdefault:s3="/datasvc.aspx";break;}var a1=new Array();a1["svc"]="getlocaltweetcode";a1["dt"]=new Date().valueOf();var s7="";for(key in a1){s7+=key+"="+a1[key]+"&";}s7=s7.replace(/&$/, "");s3+="?"+s7;try{var i6=GXmlHttp.create();}catch(err){}i6.open("GET", s3, true);i6.onreadystatechange=function(){switch(i6.readyState){case 4:try{var divTwitter=document.getElementById("hashtag");divTwitter.innerHTML=i6.responseText;}catch(e){}break;}}i6.send(null);}function getMapSpotList(bMapChange){var s3="";switch(document.location.hostname){case "localhost":s3= "/ss/datasvc.aspx";breakdefault:s3="/datasvc.aspx";break;}var a1=new Array();a1["svc"]="getmapspotlist";var ele=document.getElementById("mapdt");if(ele !=null){a1["mapdt"]=ele.value;}if(bMapChange==false){var ele=document.getElementById("spotdt");if(ele !=null){a1["spotdt"]=ele.value;}}var s7="";for(key in a1){s7+=key+"="+a1[key]+"&";}s7=s7.replace(/&$/, "");s3+="?"+s7;try{var i6=GXmlHttp.create();}catch(err){}i6.open("GET", s3, true);i6.onreadystatechange=function(){switch(i6.readyState){case 4:try{var divMapLinks=document.getElementById("spotlinks");divMapLinks.innerHTML=i6.responseText;}catch(e){}break;}}i6.send(null);}function getMapLinkList(){var s3="";switch(document.location.hostname){case "localhost":s3= "/ss/datasvc.aspx";breakdefault:s3="/datasvc.aspx";break;}var a1=new Array();a1["svc"]="getmaplinklist";a1["dt"]=new Date().valueOf();var s7="";for(key in a1){s7+=key+"="+a1[key]+"&";}s7=s7.replace(/&$/, "");s3+="?"+s7;try{var i6=GXmlHttp.create();}catch(err){}i6.open("GET", s3, true);i6.onreadystatechange=function(){switch(i6.readyState){case 4:try{var divMapLinks=document.getElementById("maplinks");divMapLinks.innerHTML=i6.responseText;}catch(e){}break;}}i6.send(null);}function isblank(s){for(var i=0; i < s.length; i++){var c=s.charAt(i);if((c !=' ')&&(c !='\n')&&(c !='\t'))return false;}return true;}function getErrorText(ex){return ""+ex;}function getFieldName(field){if(field.getAttribute("desc")!=null){return field.getAttribute("desc");}return field.name;}function verifyForm(f){var a1=new Array();var aErrors=new Array();var aRequired=new Array();var nErrCount=0;var nReqCount=0;var msg;var empty_fields="";var errors="";var i, j;for(i=0; i < f.length; i++){var e=f.elements[i];if(e.discard){continue;}if(e.control){continue;}switch(e.type){case "file":if((e.value==null)||(e.value=="")|| isblank(e.value)){break;}a1[e.name]=e.value;break;case 'hidden':if((e.value==null)||(e.value=="")|| isblank(e.value)){break;}a1[e.name]=e.value;break;case 'text':case 'textarea':case 'hidden':case 'password':if((e.value==null)||(e.value=="")|| isblank(e.value)){break;}if(e.float){a1[e.name]=parseFloat(e.value);}else{if(e.getAttribute("type")=="date"){if(!e.donotverify){var strErrDate=validateDate(e);if(strErrDate !=""){aErrors[nErrCount++]=strErrDate;try{e.focus();}catch(e){delete e;}}}}a1[e.name]=e.value;}break;case "select-multiple":a1[e.name]="";for(j=0; j < e.options.length; j++){if(e.options[j].selected){if(a1[e.name].length==0){a1[e.name]=e.options[j].value;}else{a1[e.name]+=":"+e.options[j].value;}}}break;case "select-one":case 'select':for(j=0; j < e.options.length; j++){if(e.options[j].selected){a1[e.name]=e.options[j].value;break;}}break;case "radio":case "checkbox":if(e.checked){a1[e.name]=e.value;}break;default:if(e.nodeName=='OBJECT'){a1[e.name]=e.value;}break;}}for(var i=0; i < f.length; i++){var e=f.elements[i];if(e.getAttribute("optional")|| e.control){continue;}switch(e.type){case 'file':break;case 'hidden':break;case 'select':case 'select-one':for(j=0; e.options[j] !=null; j++){if(e.options[j].selected){b=e.options[j];if((b.value==null)||(b.value=="")|| isblank(b.value)){aRequired[nReqCount++]=getFieldName(e);try{e.focus();}catch(e){delete e;}}continue;}}break;case 'text':case 'textarea':case 'password':if((e.value==null)||(e.value=="")|| isblank(e.value)){aRequired[nReqCount++]=getFieldName(e);continue;}if(e.number){var v=parseFloat(e.value);if(e.value.search(/[^0-9,.]/i)!=-1){aErrors[nErrCount++]=getFieldName(e)+' is not a valid number.';try{e.focus();}catch(e){delete e;}continue;}if(isNaN(v)){aErrors[nErrCount++]=getFieldName(e)+' is not a valid number.';try{e.focus();}catch(e){delete e;}continue;}if(e.min){if(v <=e.min){aErrors[nErrCount++]=getFieldName(e)+' must be greater than '+e.min;try{e.focus();}catch(e){delete e;}}}if(e.max){if(v > e.max){aErrors[nErrCount++]=getFieldName(e)+' must be less than '+e.max;try{e.focus();}catch(e){delete e;}}}if(e.minlength){var strValue=new String(e.value);if(strValue.length < e.minlength){aErrors[nErrCount++]=getFieldName(e)+' must contain at least '+e.minlength+' digits.';try{e.focus();}catch(e){delete e;}}}if(e.maxlength){var strValue=new String(e.value);if(strValue.length > e.minlength){aErrors[nErrCount++]=getFieldName(e)+' must contain no more than'+e.maxlength+' digits.';try{e.focus();}catch(e){delete e;}}}}break;default:if(e.value==""){aRequired[nReqCount++]=getFieldName(e);}break;}}if(nReqCount || nErrCount){strMessage="";if(nReqCount){strMessage="The following fields are required:\r\n";for(e=0; e < aRequired.length; e++){strMessage+=aRequired[e]+"\r\n";}strMessage+="\r\n";}if(nErrCount){strMessage+="<ul>";for(e=0; e < aErrors.length; e++){strMessage+= aErrors[e]+"\r\n";}strMessage+="\r\n";}throw strMessage}return a1;}function selectKeyRow(srcRow){var keyField=srcRow.parentNode.getAttribute("keyfield");var formField=document.getElementById(keyField);if(formField !=null){formField.value=srcRow.getAttribute("k");var main=document.getElementById("main");var action=document.getElementById("action");action.value=""; main.onsubmit="return true;"; main.submit();}}function verifyFormSubmit(f){try{var action=document.getElementById("action");if(action !=null){if(action.value=="delete"){return true;}}var a1=verifyForm(f);}catch(err){var divError=document.getElementById("error");if(divError){divError.innerHTML=getErrorText(err);}else{alert(getErrorText(err));}return false;}return true;}function verifyNewUser(){try{var f=document.getElementById("main");var a1=verifyForm(f);if(a1["pw"]==a1["check"]){}else{throw "You mistyped your password.";}}catch(err){var divError=document.getElementById("error");divError.innerHTML=getErrorText(err);return false;}return true;}function verifyLogon(){try{var f=document.getElementById("logon");if(f.id.value=="User Name"){throw "Please enter your user name.";}if(f.pw.value=="Password"){throw "Please enter your password.";}}catch(err){alert(err);return false;}return true;}function hoverRow(row){row.setAttribute("normal", row.className);row.className="hightlight";}function normalRow(row){row.className=row.getAttribute("normal");}function generateIFRAME(){try{var a1=verifyForm(document.getElementById("dataform"));var dt=a1["locdt"];var n1=a1["height"];var nWidth=a1["width"];var strDIM="&width="+nWidth+"&height="+n1;if(a1["centerdt"]){if(a1["centerdt"] !="0"){strDIM+="&site="+a1["centerdt"];}}if(a1["type"]){strDIM+="&type="+a1["type"];}var strStyle="style='width: "+nWidth+"px; height:"+n1+"px; overflow-x: hidden; overflow-y: hidden;'\r\nid='framemap' frameborder='0'>\r\n</iframe>";var s4="<!--\r\nMap provided by localkitespots.com.\r\n";s4+="Map data, display programs and content provided under copyright by wcg:itx.\r\n";s4+="Contact bill@wcg-itx.com with any questions.\r\n";s4+="-->\r\n<iframe\r\nsrc='http://localkitespots.com/framemap.aspx?id="+new Date().valueOf()+"&loc=";s4+=dt+strDIM;s4+="'\r\n"s4+=strStyle;document.getElementById("embed").innerHTML="<h3>Embeded Map Code</h3><p>Copy the following code to your web page.  <a href='#' onclick='previewIFRAME()'>Click here</a> to preview the map.</p><textarea cols='80' rows='15'>"+s4+"</textarea>";}catch(ex){document.getElementById("embed").innerHTML='Error: '+ex;}}function previewIFRAME(){try{var a1=verifyForm(document.getElementById("dataform"));var dt=a1["locdt"];var n1=a1["height"];var nWidth=a1["width"];var strDIM="&width="+nWidth+"&height="+n1;if(a1["centerdt"]){if(a1["centerdt"] !="0"){strDIM+="&site="+a1["centerdt"];}}if(a1["type"]){strDIM+="&type="+a1["type"];}var strStyle="style='width: "+nWidth+"px; height:"+n1+"px; overflow-x: hidden; overflow-y: hidden;'\r\nid='framemap' frameborder='0'>\r\n</iframe>";var s4="<!--\r\nMap provided by localkitespots.com.\r\nMap data, display programs and content provided under copyright by wcg:itx.\r\nContact bill@wcg-itx.com with any questions\r\n-->\r\n<iframe\r\nsrc='http://localkitespots.com/framemap.aspx?id="+new Date().valueOf()+"&loc=";s4+=dt+strDIM;s4+="'\r\n"s4+=strStyle;document.getElementById("embed").innerHTML="<h3>Embeded Map Code</h3><p>Here's a preview of your embedded map.  Click here to get the source code to embed this map in your page.</p>"+s4;}catch(ex){document.getElementById("embed").innerHTML='Error: '+ex;}}function validateDate(f){var strCentury="20";var dtCurrentDt=new Date();var strAlert="";var s2="";if(typeof(f.desc)!='undefined'){s2=f.desc;}else{if(typeof(f.name)!='undefined'){s2=f.name;}else{s2=""}}var strStandardError="Invalid Date Format in: "+s2+"-Please use(MM/DD/YYYY)";if(f.value==""){if(f.optional){return "";}else{return s2+" is required";//throw new Error(1, f.desc+" is required"); }}ss=f.value.split("/");var strMonth=ss[0];var strDay=ss[1];var strYear=ss[2];if(ss.length !=3){if(ss.length==2){strYear=dtCurrentDt.getYear();}else{strAlert=strStandardError;}}if(strAlert==""){if(strDay !=""){if(strDay.length==2){if(strDay.substr(0,1)=="0"){strDay=strDay.substr(1,1);}}if(isNaN(parseInt(strDay))){strAlert="Day value of must contain only integer values in: "+s2;}if(parseInt(strDay)> 31 || parseInt(strDay)< 1){strAlert="Invalid Day in: "+s2;}}else{strAlert=strStandardError;}if(strMonth !=""){if(strMonth.length==2){if(strMonth.substr(0,1)=="0"){strMonth=strMonth.substr(1,1);}}if(isNaN(parseInt(strMonth))){strAlert="Month must contain only integer values in: "+s2;}if(parseInt(strMonth)> 12 || parseInt(strMonth)< 1){strAlert="Invalid Month in: "+s2;}}else{strAlert=strStandardError;}if(strYear !=""){if(strYear.length==2){strYear=strCentury+strYear;}if(isNaN(parseInt(strYear))){strAlert="Date Year must contain only integer values in: "+s2;}}else{strAlert=strStandardError;}}if(strAlert==""){f.value=strMonth+"/"+strDay+"/"+strYear;}return strAlert;}function showMapLink(){try{strMap=document.getElementById("maplinkid").value;if(strMap !="-"){document.getElementById("maplinktext").value="<a href='http://localkitespots.com/kitesurfing/"+strMap+">LocalKiteSpots.com "+strMap+" Map</a>";}}catch(err){alert(err.description);}}function rowclick(e){alert("Now");if(window.event){thisimg=window.event.srcElement;}else if(e.target){thisimg=e.target;}else{return;}thisimg.src=thisimg.src.replace(/_on(\.[a-z0-9]+)$/i,'$1');}function removeSpot(dt){try{var status="start";document.getElementById("site").value=dt;status="site";var action=document.getElementById("action");if(action !=null){status="action found";action.value="delete";}status="action";document.getElementById("main").submit();status="submit";}catch(err){alert(status+" "+err);}}