Freebie SMS Google Site

This is a Google Site for FreebieSMS designed as a sandbox for new ideas and technology,

New release today, is the FreebieSMS Dashcode Widget for the Mac OSX dashboard, so now you can send free SMS with a press of F12 on your Mac.

To use it, download the Zip file, unzip it, double click on the widget, and it will install to your dashboard. To access it again, press F12.

To send an SMS, enter a From Name, From Number, To Name, To Number, and a Message.

The number needs to be written in international format, such as 00447866069537

For the techies, here is the source code:

/*

This file was generated by Dashcode.

You may edit this file to customize your widget or web page

according to the license.txt file included in the project.

*/

//

// Function: load()

// Called by HTML body element's onload event when the widget is ready to start

//

function load()

{

dashcode.setupParts();

}

//

// Function: remove()

// Called when the widget has been removed from the Dashboard

//

function remove()

{

// Stop any timers to prevent CPU usage

// Remove any preferences as needed

// widget.setPreferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));

}

//

// Function: hide()

// Called when the widget has been hidden

//

function hide()

{

// Stop any timers to prevent CPU usage

}

//

// Function: show()

// Called when the widget has been shown

//

function show()

{

// Restart any timers that were stopped on hide

}

//

// Function: sync()

// Called when the widget has been synchronized with .Mac

//

function sync()

{

// Retrieve any preference values that you need to be synchronized here

// Use this for an instance key's value:

// instancePreferenceValue = widget.preferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));

//

// Or this for global key's value:

// globalPreferenceValue = widget.preferenceForKey(null, "your-key");

}

//

// Function: showBack(event)

// Called when the info button is clicked to show the back of the widget

//

// event: onClick event from the info button

//

function showBack(event)

{

var front = document.getElementById("front");

var back = document.getElementById("back");

if (window.widget) {

widget.prepareForTransition("ToBack");

}

front.style.display = "none";

back.style.display = "block";

if (window.widget) {

setTimeout('widget.performTransition();', 0);

}

}

//

// Function: showFront(event)

// Called when the done button is clicked from the back of the widget

//

// event: onClick event from the done button

//

function showFront(event)

{

var front = document.getElementById("front");

var back = document.getElementById("back");

if (window.widget) {

widget.prepareForTransition("ToFront");

}

front.style.display="block";

back.style.display="none";

if (window.widget) {

setTimeout('widget.performTransition();', 0);

}

}

if (window.widget) {

widget.onremove = remove;

widget.onhide = hide;

widget.onshow = show;

widget.onsync = sync;

}

function FromName_OnKeyDown(event)

{

}

function FromNumber_OnKeyDown(event)

{

numRegex = /\d+$/;

var tbFromNumber = document.getElementById("FromNumber");

tbFromNumber.value = tbFromNumber.value.match(numRegex);

}

function FromName_OnMouseMove(event)

{

var infoBox = document.getElementById("infoBoxFromName");

infoBox.style.left = event.x + "px";

}

function FromName_OnMouseOut(event)

{

var infoBox = document.getElementById("infoBoxFromName");

infoBox.style.left = "305px";

}

function FromNumber_OnMouseMove(event)

{

var infoBox = document.getElementById("infoBoxFromNumber");

infoBox.style.left = event.x + "px";

}

function FromNumber_OnMouseOut(event)

{

// Insert Code Here

var infoBox = document.getElementById("infoBoxFromNumber");

infoBox.style.left = "305px";

}

function toName_OnMouseMove(event)

{

// Insert Code Here

var infoBox = document.getElementById("infoBoxToName");

infoBox.style.left = event.x + "px";

}

function toName_OnMouseOut(event)

{

// Insert Code Here

var infoBox = document.getElementById("infoBoxToName");

infoBox.style.left = "305px";

}

function toNumber_OnMouseMove(event)

{

// Insert Code Here

var infoBox = document.getElementById("infoBoxToNumber");

infoBox.style.left = event.x + "px";

}

function toNumber_OnMouseOut(event)

{

var infoBox = document.getElementById("infoBoxToNumber");

infoBox.style.left = "305px";

}

function toNumber_OnKeyPress(event)

{

numRegex = /\d+$/;

var tbToNumber = document.getElementById("ToNumber");

tbToNumber.value = tbToNumber.value.match(numRegex);

}

function Message_OnKeyPress(event)

{

var Message = document.getElementById("Message");

if (Message.value.length > 160)

{

Message.value = Message.value.substring(0,160);

}

}

var CurrentValue=0;

function sendSMS_onClick(event)

{

CurrentValue=0;

if (!Validate()) return;

setInterval('LoopProgressBar()',1000);

var ProgressBox = document.getElementById("progressBox");

ProgressBox.style.left = "61px";

var xmlhttp = new XMLHttpRequest()

//this creates the xmlhttprequest object, I know this works as its been tested in browsers, safari (3), firefox and IE

xmlhttp.open('POST', 'http://' + URLFromPrefix() + '/SMSForm.aspx', true);

xmlhttp.onreadystatechange = function()

{

var ProgressBox = document.getElementById("progressBox");

var ErrorBox = document.getElementById("errorBox");

if (xmlhttp.readyState == 4)

{

if (xmlhttp.status == 200)

{

//request worked

alert(xmlhttp.responseText);

ProgressBox.style.left = "305px";

}

else

{

//error, this is where we always end up. Ready state 4, status 0.

ProgressBox.style.left = "305px";

ErrorBox.style.left = "61px";

}

}

}

xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); //because we are sending data

var PostData = "ToMobile=" + document.getElementById("ToNumber").value;

PostData += "&ToName=" + document.getElementById("ToName").value;

PostData += "&FromMobile=" + document.getElementById("FromNumber").value;

PostData += "&FromName=" + document.getElementById("FromName").value;

PostData += "&Message=" + document.getElementById("Message").value;

PostData += "&AffiliateID=1769";

PostData += "&ReturnURL=http://www.freebiesms.co.uk";

xmlhttp.send(PostData); //this needs to be sent.

}

function URLFromPrefix()

{

var ToNumber = document.getElementById("ToNumber").value;

var URL = "www.freebiesms.co.uk";

if (URL.indexOf("00353")==0) URL = "www.freebiesms.ie";

if (URL.indexOf("0061")==0) URL = "australia.freebiesms.com";

if (URL.indexOf("0049")==0) URL = "www.smsgratisverschicken.de";

if (URL.indexOf("0043")==0) URL = "www.handyspruche.at";

if (URL.indexOf("0041")==0) URL = "www.handyspruche.com";

if (URL.indexOf("0033")==0) URL = "www.envoyezsms.com";

if (URL.indexOf("0032")==0) URL = "www.envoyezsms.be";

if (URL.indexOf("0034")==0) URL = "www.mensajetexto.com";

if (URL.indexOf("00351")==0) URL = "www.smsgratis.co.pt";

if (URL.indexOf("00420")==0) URL = "www.smszpravy.com";

if (URL.indexOf("0031")==0) URL = "www.smsgratisversturen.nl";

if (URL.indexOf("0046")==0) URL = "www.smsmeddelande.se";

if (URL.indexOf("0027")==0) URL = "www.freebiesms.co.za";

if (URL.indexOf("0047")==0) URL = "www.sendgratissms.com";

if (URL.indexOf("0060")==0) URL = "www.sms.org.my";

if (URL.indexOf("0045")==0) URL = "www.sendegratissms.dk";

if (URL.indexOf("00372")==0) URL = "www.tasutasms.co.ee";

if (URL.indexOf("0048")==0) URL = "www.gratisowesmsy.pl";

if (URL.indexOf("001")==0) URL = "www.freebiesms.us";

if (URL.indexOf("00421")==0) URL = "www.sms.eu.sk";

if (URL.indexOf("00358")==0) URL = "www.ilmainensms.fi";

if (URL.indexOf("00371")==0) URL = "www.bezmaksassms.com";

if (URL.indexOf("00370")==0) URL = "www.nemokamisms.com";

return URL;

}

function Validate()

{

var FromName = document.getElementById("FromName");

if (FromName.value.length < 3)

{

FromName.style.borderColor = "red";

return false;

}

else

{

FromName.style.borderColor = "black";

}

var FromNumber = document.getElementById("FromNumber");

// 12345678901234

if (FromNumber.value.length < 10)

{

FromNumber.style.borderColor = "red";

return false;

}

else

{

FromNumber.style.borderColor = "black";

}

var ToName = document.getElementById("ToName");

if (ToName.value.length < 3)

{

ToName.style.borderColor = "red";

return false;

}

else

{

ToName.style.borderColor = "black";

}

var ToNumber = document.getElementById("ToNumber");

// 12345678901234

if (ToNumber.value.length < 10)

{

ToNumber.style.borderColor = "red";

return false;

}

else

{

ToNumber.style.borderColor = "black";

}

var Message = document.getElementById("Message");

// 12345678901234

if (Message.value.length < 10)

{

Message.style.borderColor = "red";

return false;

}

else

{

Message.style.borderColor = "black";

}

return true;

}

function LoopProgressBar()

{

var progressBar = document.getElementById("progressBar");

progressBar.object.setValue(CurrentValue++);

}

function img_OnClick(event)

{

// Insert Code Here

window.open("http://www.freebiesms.co.uk");

}