
var NONE_SELECTED_VALUE="---none---";var MAX_MESSAGE_PARTS=5;var MAX_MESSAGE_LENGTH=158;var CARRIER_OVERHEAD=2;var AT_AND_T="at_t";var CINGULAR_ONLY="cingular_only";var VERIZON="verizon";var VERIZON_PAGER="verizon_pager";var SPRINT="sprint";var NEXTEL="nextel";var TMOBILE="tmobile";var VIRGIN="virgin";var ALLTEL_NON_PCS="alltel";var ALLTEL_PCS="alltelpcs";var QWEST="qwest";var SUNCOM="suncom";var CRICKET="cricket";var ARGENTINA_TELECOM_PERSONAL="ar_telecom_personal";var CANADA_BELL_MOBILITY="ca_bell";var CANADA_ROGERS="ca_rogers";var CANADA_TELUS="ca_telus";var CANADA_FIDO="ca_fido";var CANADA_UNKNOWN="ca_unknown";var CROATIA_VIP="hr_vip";var FRANCE_ORANGE="fr_orange";var GERMANY_TMOBILE="de_tmobile";var GERMANY_O2="de_o2";var SOUTH_AFRICA_VODACOM="za_vodacom";var UKRAINE_KYIVSTAR="ua_kyivstar";var UKRAINE_UMC="ua_umc";var req;var singlePartOverheadLength;var maxSinglePartLength;var multiPartOverheadLength;var maxMultiPartLength;var maxTotalMessageLength;var numParts;var numSent;var numb='0123456789';function isValid(parm,val){if(parm===""){return true;}
for(i=0;i<parm.length;i++){if(val.indexOf(parm.charAt(i),0)==-1){return false;}}
return true;}
function isNum(parm){return isValid(parm,numb);}
function valid(form){var carrier=form.carrier.options[form.carrier.selectedIndex].value;if(!validNumber(form.areacode,form.prefix,form.linenumber,carrier)){alert("Please enter a valid phone number.");return false;}
if(carrier==NONE_SELECTED_VALUE){alert("Please select a carrier!");return false;}
var message=form.message.value;if(!message||(message.length===0)){alert("Please enter a message.");form.message.focus();form.message.select();return false;}
var senderCarrier=form.senderCarrier.options[form.senderCarrier.selectedIndex].value;if(!validSenderNumber(form.senderAreaCode,form.senderPrefix,form.senderLineNumber,senderCarrier)){alert("Please enter a valid reply mobile number or leave the field blank.");return false;}
if(!isSenderNumberBlank(form.senderAreaCode.value,form.senderPrefix.value,form.senderLineNumber.value)){if(senderCarrier==NONE_SELECTED_VALUE){alert("Please select your carrier!");return false;}}
if(!validSenderEmail(form.senderEmail.value)){alert("Please enter a valid reply email address or leave the field blank.");form.senderEmail.focus();form.senderEmail.select();return false;}
var validNonEmptySenderNumber=validNumber(form.senderAreaCode,form.senderPrefix,form.senderLineNumber,senderCarrier);var senderEmail=form.senderEmail.value;var nonEmptySenderEmail=senderEmail&&(senderEmail.length>0);if(!(validNonEmptySenderNumber||nonEmptySenderEmail)){alert("Please enter your mobile number or email address.");return false;}
return true;}
function validNumber(areaCode,prefix,lineNumber,carrier){var areaCodeString=areaCode.value;var prefixString=prefix.value;var lineNumberString=lineNumber.value;var fullNumber=areaCodeString+prefixString+lineNumberString;if((carrier=="de_tmobile")||(carrier=="de_o2")){if(!isNum(fullNumber)||(fullNumber.length<6)){areaCode.focus();areaCode.select();return false;}}
else if((carrier=="hr_vip")||(carrier=="fr_orange")||(carrier=="ua_kyivstar")||(carrier=="ua_umc")||(carrier=="ar_telecom_personal")){if(!isNum(fullNumber)||(fullNumber.length<9)){areaCode.focus();areaCode.select();return false;}}
else{if(isNum(areaCodeString)){if(areaCodeString.length!=3){areaCode.focus();areaCode.select();return false;}}
else{areaCode.focus();areaCode.select();return false;}
if(isNum(prefixString)){if(prefixString.length!=3){prefix.focus();prefix.select();return false;}}
else{prefix.focus();prefix.select();return false;}
if(isNum(lineNumberString)){if(lineNumberString.length!=4){lineNumber.focus();lineNumber.select();return false;}}
else{lineNumber.focus();lineNumber.select();return false;}}
return true;}
function isSenderNumberBlank(areaCode,prefix,lineNumber){return((!areaCode||(areaCode.length===0))&&(!prefix||(prefix.length===0))&&(!lineNumber||(lineNumber.length===0)));}
function validSenderNumber(areaCode,prefix,lineNumber,carrier){var areaCodeString=areaCode.value;var prefixString=prefix.value;var lineNumberString=lineNumber.value;if(isSenderNumberBlank(areaCodeString,prefixString,lineNumberString)){return true;}
return validNumber(areaCode,prefix,lineNumber,carrier);}
function validSenderEmail(emailStr){if(!emailStr||(emailStr.length===0)){return true;}
else if(emailStr.search(/@keakaj\.com$/i)!=-1){return false;}
var checkTLD=1;var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=emailStr.match(emailPat);if(matchArray===null){return false;}
var user=matchArray[1];var domain=matchArray[2];var i;for(i=0;i<user.length;i++){if(user.charCodeAt(i)>127){return false;}}
for(i=0;i<domain.length;i++){if(domain.charCodeAt(i)>127){return false;}}
if(user.match(userPat)===null){return false;}
var IPArray=domain.match(ipDomainPat);if(IPArray!==null){for(i=1;i<=4;i++){if(IPArray[i]>255){return false;}}
return true;}
var atomPat=new RegExp("^"+atom+"$");var domArr=domain.split(".");var len=domArr.length;for(i=0;i<len;i++){if(domArr[i].search(atomPat)==-1){return false;}}
if(checkTLD&&domArr[domArr.length-1].length!=2&&domArr[domArr.length-1].search(knownDomsPat)==-1){return false;}
if(len<2){return false;}
return true;}
function carrierChanged(elem){var chosenCarrierValue=elem.options[elem.selectedIndex].value;if(chosenCarrierValue.search("---")!=-1){selectItemInPopup(elem,NONE_SELECTED_VALUE);}
calculateGlobalVars();}
function selectItemInPopup(popup,itemValue){var numOptions=popup.options.length;for(var i=0;i<numOptions;i++){if(popup.options[i].value==itemValue){popup.selectedIndex=i;break;}}}
function getCookie(cookieName){var allCookies=""+document.cookie;var cookieValue="";var cookieStartIndex=allCookies.indexOf(cookieName);if((cookieStartIndex!=-1)&&(cookieName!=="")){var cookieEndIndex=allCookies.indexOf(';',cookieStartIndex);if(cookieEndIndex==-1){cookieEndIndex=allCookies.length;}
cookieValue=unescape(allCookies.substring(cookieStartIndex+cookieName.length+1,cookieEndIndex));}
return cookieValue;}
function setValuesFromCookies(){var recipientNumber=getCookie('RecipientNumber');var recipientAreaCode=recipientNumber.substring(0,3);var recipientPrefix=recipientNumber.substring(3,6);var recipientLineNumber=recipientNumber.substring(6);document.getElementById("areacode").value=recipientAreaCode;document.getElementById("prefix").value=recipientPrefix;document.getElementById("linenumber").value=recipientLineNumber;var recipientCarrier=getCookie('RecipientCarrier');selectItemInPopup(document.getElementById("carrier"),recipientCarrier);var senderNumber=getCookie('SenderNumber');var senderAreaCode=senderNumber.substring(0,3);var senderPrefix=senderNumber.substring(3,6);var senderLineNumber=senderNumber.substring(6);document.getElementById("senderAreaCode").value=senderAreaCode;document.getElementById("senderPrefix").value=senderPrefix;document.getElementById("senderLineNumber").value=senderLineNumber;var senderCarrier=getCookie('SenderCarrier');selectItemInPopup(document.getElementById("senderCarrier"),senderCarrier);var senderEmail=getCookie('SenderEmail');document.getElementById("senderEmail").value=senderEmail;var peep=getCookie('Peeping');if(peep&&(peep=="on")){document.getElementById("peeperCheckbox").checked=true;}}
function setup(){setValuesFromCookies();MM_preloadImages('../media/btno-01.gif','../media/btno-02.gif','../media/btno-03.gif','../media/btno-04.gif');calculateGlobalVars();}
function updateCounts(message){var numChars=message.value.length;if(numChars>maxTotalMessageLength){message.value=message.value.substr(0,maxTotalMessageLength);numChars=maxTotalMessageLength;}
document.getElementById('characterCount').innerHTML="Chars: "+numChars+";";numParts=1;if(numChars>maxSinglePartLength){numParts=Math.ceil(numChars/maxMultiPartLength);}
document.getElementById('partCount').innerHTML="Parts: "+numParts;}
function calculateGlobalVars(){var senderAreaCode=document.getElementById("senderAreaCode").value;var senderPrefix=document.getElementById("senderPrefix").value;var senderLineNumber=document.getElementById("senderLineNumber").value;var senderNumber=senderAreaCode+senderPrefix+senderLineNumber;var senderEmail=document.getElementById("senderEmail").value;var senderCarrierElement=document.getElementById("senderCarrier");var senderCarrier=senderCarrierElement.options[senderCarrierElement.selectedIndex].value;var replyAddressLength=38;if(senderNumber&&(senderNumber.length>0)){if(senderCarrier){if(senderCarrier==AT_AND_T){replyAddressLength=senderNumber.length+9;}
else if(senderCarrier==CINGULAR_ONLY){replyAddressLength=senderNumber.length+21;}
else if(senderCarrier==VERIZON){replyAddressLength=senderNumber.length+9;}
else if(senderCarrier==VERIZON_PAGER){replyAddressLength=senderNumber.length+13;}
else if(senderCarrier==SPRINT){replyAddressLength=senderNumber.length+23;}
else if(senderCarrier==NEXTEL){replyAddressLength=senderNumber.length+20;}
else if(senderCarrier==TMOBILE){replyAddressLength=senderNumber.length+11;}
else if(senderCarrier==VIRGIN){replyAddressLength=senderNumber.length+9;}
else if(senderCarrier==ALLTEL_NON_PCS){replyAddressLength=senderNumber.length+17;}
else if(senderCarrier==ALLTEL_PCS){replyAddressLength=senderNumber.length+18;}
else if(senderCarrier==QWEST){replyAddressLength=senderNumber.length+11;}
else if(senderCarrier==SUNCOM){replyAddressLength=senderNumber.length+14;}
else if(senderCarrier==CRICKET){replyAddressLength=senderNumber.length+17;}
else if(senderCarrier==ARGENTINA_TELECOM_PERSONAL){replyAddressLength=senderNumber.length+19;}
else if(senderCarrier==CANADA_BELL_MOBILITY){replyAddressLength=senderNumber.length+11;}
else if(senderCarrier==CANADA_ROGERS){replyAddressLength=senderNumber.length+14;}
else if(senderCarrier==CANADA_TELUS){replyAddressLength=senderNumber.length+13;}
else if(senderCarrier==CANADA_FIDO){replyAddressLength=senderNumber.length+7;}
else if(senderCarrier==CROATIA_VIP){replyAddressLength=senderNumber.length+6;}
else if(senderCarrier==FRANCE_ORANGE){replyAddressLength=senderNumber.length+9;}
else if(senderCarrier==GERMANY_TMOBILE){replyAddressLength=senderNumber.length+15;}
else if(senderCarrier==GERMANY_O2){replyAddressLength=senderNumber.length+11;}
else if(senderCarrier==SOUTH_AFRICA_VODACOM){replyAddressLength=senderNumber.length+10;}
else if(senderCarrier==UKRAINE_KYIVSTAR){replyAddressLength=senderNumber.length+17;}
else if(senderCarrier==UKRAINE_UMC){replyAddressLength=senderNumber.length+14;}}}
else if(senderEmail&&(senderEmail.length>0)){replyAddressLength=senderEmail.length;}
singlePartOverheadLength=replyAddressLength+CARRIER_OVERHEAD;maxSinglePartLength=MAX_MESSAGE_LENGTH-singlePartOverheadLength;multiPartOverheadLength=singlePartOverheadLength+"x of x: ".length;maxMultiPartLength=MAX_MESSAGE_LENGTH-multiPartOverheadLength;maxTotalMessageLength=MAX_MESSAGE_PARTS*maxMultiPartLength;updateCounts(document.getElementById('messageText'));}
function MM_preloadImages(){var d=document;if(d.images){if(!d.MM_p){d.MM_p=new Array();}
var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++){if(a[i].indexOf("#")!==0){d.MM_p[j]=new Image();d.MM_p[j++].src=a[i];}}}}
function MM_swapImgRestore(){var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++){x.src=x.oSrc;}}
function MM_findObj(n,d){var p,i,x;if(!d){d=document;}
if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all){x=d.all[n];}
for(i=0;!x&&i<d.forms.length;i++){x=d.forms[i][n];}
for(i=0;!x&&d.layers&&i<d.layers.length;i++){x=MM_findObj(n,d.layers[i].document);}
return x;}
function MM_swapImage(){var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array();for(i=0;i<(a.length-2);i+=3){if((x=MM_findObj(a[i]))!==null){document.MM_sr[j++]=x;if(!x.oSrc){x.oSrc=x.src;}
x.src=a[i+2];}}}
function MM_displayStatusMsg(msgStr){status=msgStr;document.MM_returnValue=true;}