/* 
 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.
 */

var database = null;                            // The client-side database
var DB_tableName = "NoteShareforiPhone";       // database name
var originalSettings = {};                      // original message and settings, in case there is no client side database

function load()
{
    dashcode.setupParts();
    hideLocationBar();
    var element = document.getElementById('message');
    if (element) {
        originalSettings.message = element.value;
        originalSettings.color = 'black'; // We only have a limited set of color chips, so use 'black' here.
        var fontSettings = 'Marker Felt'
        originalSettings.fontFamily = fontSettings.fontFamily;
        originalSettings.fontSize = "24px"
        originalSettings.twitter = "undefined";
        originalSettings.bcolor = "White";
        element.value = '';
    window.addEventListener("scroll" ,false );
    }
    initDB();
    if (!database) {
        element.value = originalSettings.message;
    }
    if(window.orientation == -90 || window.orientation == 90){
    checkOrientation()
    hideLocationBar();
    }
}

function initDB()
{
    try {
        if (window.openDatabase) {
            database = openDatabase("Noteshare", "1.0", "Message Database", 1000);
            if (database) {
                database.transaction(function(tx) {
                    tx.executeSql("SELECT COUNT(*) FROM " + DB_tableName, [],
                    function(tx, result) {
                        loadMessage();
                    },
                    function(tx, error) {
                        // Database doesn't exist. Let's create one.
                        tx.executeSql("CREATE TABLE " + DB_tableName +
                        " (id INTEGER PRIMARY KEY," +
                        "  key TEXT," +
                        "  value TEXT)", [], function(tx, result) {
                            initMessage();
                            loadMessage();
                        });
                    });
                });
            }
        }
    } catch(e) {
        database = null;
    }
}

function initMessage()
{
    var element = document.getElementById('message');
    if (!element) return;
    
    // Clean inline styles so that external styles can be applied during init
    element.style.fontFamily = '';
    element.style.fontSize = '';
    element.value = originalSettings.message;
    
    if (database) {
        database.transaction(function (tx) {
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [0, 'message', originalSettings.message]);
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [1, 'font-family', originalSettings.fontFamily]);
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [2, 'font-size', originalSettings.fontSize]);
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [3, 'color', originalSettings.color]);
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [4, 'twitter', originalSettings.twitter]);
            tx.executeSql("INSERT INTO " + DB_tableName + " (id, key, value) VALUES (?, ?, ?)", [5, 'bcolor', originalSettings.bcolor]);
            });
    }
}

function loadMessage()
{
    var element = document.getElementById('message');
    
    if (database) {
        database.transaction(function(tx) {
            tx.executeSql("SELECT key, value FROM " + DB_tableName, [],
            function(tx, result) {
                for (var i = 0; i < result.rows.length; ++i) {
                    var row = result.rows.item(i);
                    var key = row['key'];
                    var value = row['value'];

                    if (key == 'message') {
                        element.value = value;
                    }
                    else {
                        element.style[key] = value;
                        if (key == 'font-family') {
                            updateSelectValue(document.getElementById('fontFamily'), value);
                        }
                        else if (key == 'font-size') {
                            updateSizeValue(document.getElementById('fontSize'), value);
                        }
                        else if (key == 'color') {
                            updateColorValue(document.getElementById('fontColor'), value);
                        }
                        else if (key == 'twitter') {
                            updateTwitterValue(document.getElementById('twitterclient'), value);
                        }
                        else if (key == 'bcolor') {
                            updateSelectBackground(document.getElementById('backgroundSelect'), value);
                        }
                    }
                }
            },
            function(tx, error) {
                showError('Failed to retrieve stored information from database - ' + error.message);
            });
        });
    }
    else {
        // Load defaults
        updateSelectValue(document.getElementById('fontColor'), originalSettings.color);
        updateSelectValue(document.getElementById('fontFamily'), originalSettings.fontFamily);
        updateSelectValue(document.getElementById('fontSize'), originalSettings.fontSize);
        updateSelectValue(document.getElementById('twitterclient'), originalSettings.twitter);
    }
}

function updateSelectValue (selectElement, value)
{
var options = selectElement.options;
    var i = 0;
    for (; i < options.length; i++) {
        if (options.item(i).value == value) break;
    }
    if (i < options.length) {
        selectElement.selectedIndex = i;
    }
}

function updateTwitterValue (selectElement, value)
{
var options = selectElement.options;
    var i = 0;
    for (; i < options.length; i++) {
        if (options.item(i).value == value) break;
    }
    if (i < options.length) {
        selectElement.selectedIndex = i;
    }
    /*
    var twityes = document.getElementById("twitterclient").value;
    if(twityes!="undefined" && twityes!="Tweetie")
    {
    document.getElementById('charsleft').style.height = "17px";
    var detailDate = document.getElementById('charsleft');
    var messageElement = document.getElementById('message');
    var messageChars = messageElement.length;
    alert(messageChars);
    var charsleftValue = 140-messageChars 
    detailDate.innerHTML = charsleftValue;
    }*/
}

function updateSelectBackground(selectElement, value)
{
var background = value;
var elementtoChange = document.getElementById("backgroundSelect");
elementtoChange.value = background;

document.getElementById('message').style.backgroundColor = value;
}

onorientationchange=checkOrientation

function checkOrientation(){
	if(window.orientation == -90 || window.orientation == 90){
		document.getElementById('message').style.width = "470px";
        document.getElementById('header').style.width = "510px";
        document.getElementById('twitterIcon').style.left = "435px";
        document.getElementById('logo').style.marginLeft = "200px";
        document.getElementById('infoButton').style.left = "455px";
        document.getElementById('sizeBackground').style.left = "175px";
        document.getElementById('fontSizeIndicator').style.left = "185px";
        document.getElementById('fontSize').style.left = "175px";
        document.getElementById('fontFamily').style.left = "270px";
        document.getElementById('fontBackground').style.left = "270px";
        document.getElementById('fontIndicator').style.left = "280px";
        document.getElementById('fontColor').style.left = "365px";
        document.getElementById('colorBackground').style.left = "365px";
        document.getElementById('colorIndicator').style.left = "375px";
        document.getElementById('settingstitle').style.width = "510px";
        document.getElementById('twitterclient').style.width = "249px";
        document.getElementById('installTwitterific').style.width = "200px";
        document.getElementById('becomeFan').style.width = "220px";
        document.getElementById('followUs').style.width = "230px";
        document.getElementById('becomeFan').style.left = "250px";
        document.getElementById('installTwitterific').style.left = "270px";
        document.getElementById('erase').style.width = "457px";
        document.getElementById('blog').style.width = "90px";
        document.getElementById('contact').style.width = "90px";
        document.getElementById('support').style.width = "90px";
        document.getElementById('website').style.width = "90px";
        document.getElementById('website').style.left = "135px";
        document.getElementById('support').style.left = "255px";
        document.getElementById('contact').style.left = "380px";
        document.getElementById('backgroundColorBackground').style.left = "74px";
        document.getElementById('backgroundIcon').style.left = "75px";
        document.getElementById('backgroundSelect').style.left = "75px";
        document.getElementById('backgroundColorBackground').style.width = "38px";
        document.getElementById('backgroundIcon').style.width = "36px";
        document.getElementById('backgroundSelect').style.width = "38px";
        document.getElementById('backgroundColorBackground').style.borderLeftWidth = "2px";
        document.getElementById('backgroundColorBackground').style.borderRightWidth = "2px";
    }
    
    if(window.orientation == 0){
		document.getElementById('message').style.width = "317px";
        document.getElementById('header').style.width = "318px";
        document.getElementById('twitterIcon').style.left = "281px";
        document.getElementById('logo').style.marginLeft = "115px";
        document.getElementById('infoButton').style.left = "295px";
        document.getElementById('sizeBackground').style.left = "69px";
        document.getElementById('fontSizeIndicator').style.left = "78px";
        document.getElementById('fontSize').style.left = "69px";
        document.getElementById('fontFamily').style.left = "141px";
        document.getElementById('fontBackground').style.left = "141px";
        document.getElementById('fontIndicator').style.left = "154px";
        document.getElementById('fontColor').style.left = "211px";
        document.getElementById('colorBackground').style.left = "211px";
        document.getElementById('colorIndicator').style.left = "222px";
        document.getElementById('settingstitle').style.width = "318px";
        document.getElementById('twitterclient').style.width = "149px";
        document.getElementById('installTwitterific').style.width = "128px";
        document.getElementById('installTwitterific').style.left = "178px";
        document.getElementById('erase').style.width = "293px";
        document.getElementById('blog').style.width = "67px";
        document.getElementById('contact').style.width = "67px";
        document.getElementById('support').style.width = "67px";
        document.getElementById('website').style.width = "67px";
        document.getElementById('website').style.left = "93px";
        document.getElementById('support').style.left = "168px";
        document.getElementById('contact').style.left = "242px";
        document.getElementById('becomeFan').style.width = "139px";
        document.getElementById('followUs').style.width = "139px";
        document.getElementById('becomeFan').style.left = "166px";
        document.getElementById('backgroundColorBackground').style.left = "0px";
        document.getElementById('backgroundIcon').style.left = "0px";
        document.getElementById('backgroundSelect').style.left = "0px";
        document.getElementById('backgroundColorBackground').style.width = "0px";
        document.getElementById('backgroundIcon').style.width = "0px";
        document.getElementById('backgroundSelect').style.width = "0px";
        document.getElementById('backgroundColorBackground').style.borderLeftWidth = "0px";
        document.getElementById('backgroundColorBackground').style.borderRightWidth = "0px";
	}
hideLocationBar();
}

function updateSizeValue (selectElement, value)
{   
var options = selectElement.options;
    var i = 0;
    for (; i < options.length; i++) {
        if (options.item(i).value == value) break;
    }
    if (i < options.length) {
        selectElement.selectedIndex = i;
    }

    var detailDate = document.getElementById('fontSizeIndicator');
    var sizeValue = value.toString().slice(0,2);
    detailDate.innerHTML = sizeValue;
}

function updateColorValue (selectElement, value)
{
var options = selectElement.options;
    var i = 0;
    for (; i < options.length; i++) {
        if (options.item(i).value == value) break;
    }
    if (i < options.length) {
        selectElement.selectedIndex = i;
    }
    document.getElementById('colorIndicator').style.color = value;
}

function messageChanged(event)
{
       if (database) {
        var element = document.getElementById('message');
        database.transaction(function (tx) {
            tx.executeSql("UPDATE " + DB_tableName + " SET key = 'message', value = ? WHERE id = 0", [element.value]);
        });
    }
    hideLocationBar(event);
}


function showInfo(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('view2');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
    hideLocationBar();
}


function hideInfo(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('view1');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
    hideLocationBar();
}

function hideLocationBar()
{
document.getElementById("header").style.visibility = "visible";
window.scrollTo(0, 1); // pan to the bottom, hides the location bar
}


function sizeChanged(event)
{
    if (database) {
        var element = document.getElementById('fontSize');
        database.transaction(function (tx) {
            tx.executeSql("UPDATE " + DB_tableName + " SET key = 'font-size', value = ? WHERE id = 2", [element.value]);
        });
    }
    hideLocationBar(event);
    loadMessage();
}


function familyChanged(event)
{
    if (database) {
        var element = document.getElementById('fontFamily');
        database.transaction(function (tx) {
            tx.executeSql("UPDATE " + DB_tableName + " SET key = 'font-family', value = ? WHERE id = 1", [element.value]);
        });
    }
    hideLocationBar(event);
    loadMessage();
}


function colorChanged(event)
{
    if (database) {
        var element = document.getElementById('fontColor');
        database.transaction(function (tx) {
            tx.executeSql("UPDATE " + DB_tableName + " SET key = 'color', value = ? WHERE id = 3", [element.value]);
        });
    }
    hideLocationBar(event);
    loadMessage();
}

function gotoTwitterific(event)
{
var websiteURL = "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284540316&mt=8"

location = websiteURL
}


function gotoBlog(event)
{
var websiteURL = "http://gizmosachin.blogspot.com/rss.xml"

location = websiteURL
}


function gotoWebsite(event)
{
var websiteURL = "http://bit.ly/fKIsw"

location = websiteURL
}


function gotoSupport(event)
{
var websiteURL = "http://getsatisfaction.com/gizmosachin"

location = websiteURL
}


function gotoContact(event)
{
var websiteURL = "mailto:stickieswebapp@gmail.com?SUBJECT=Noteshare"

location = websiteURL
}

function clearNote(event)
{
    var tryConfirm = window.confirm("Are you sure you want to erase your note?")
	
	if(tryConfirm){
		// Values you provide
var textAreaToChange = document.getElementById("message");	// replace with ID of text area
var newTextAreaText = "";						// value to change range to

// Text area code
textAreaToChange.value = newTextAreaText;
messageChanged();
hideInfo();
    }
}

function gotoTwitter(event)
{
var websiteURL = "http://www.twitter.com/iphonewebapps"
location = websiteURL
}


function gotoFacebook(event)
{
var websiteURL = "http://www.facebook.com/pages/Noteshare/92388516725"
location = websiteURL
}


function gotoMisecia(event)
{
var websiteURL = "http://www.twitter.com/misecia"
location = websiteURL
}


function changeBackground(event)
{
//Get user selected background color
var bcolor = document.getElementById('backgroundSelect').value;

//Set the background
document.getElementById('message').style.backgroundColor = bcolor;

//Fix font color if the background color is the same as the current font color
var fontcolor = document.getElementById("fontColor");	
fontcolor = fontcolor.value;
if (bcolor==fontcolor)
{
if (bcolor=="White" || bcolor=="Yellow" || bcolor=="Orange")
{
var popupToChange = document.getElementById("fontColor");	
var newPopupValue = "Black";								
popupToChange.value = newPopupValue;
}
else
{
var popupToChange = document.getElementById("fontColor");	
var newPopupValue = "White";								
popupToChange.value = newPopupValue;
}
}
saveBackground();
colorChanged();
}

function saveBackground()
{
var bcolor = document.getElementById('backgroundSelect').value;
if (database) {
        database.transaction(function (tx) {
            tx.executeSql("UPDATE " + DB_tableName + " SET key = 'bcolor', value = ? WHERE id = 5", [bcolor]);
        });
    }
}