1 line
17 KiB
JavaScript
1 line
17 KiB
JavaScript
// JavaScript Document - Coded soly by Gabe S. of Novis Design, Thanks to Mike for the cool graphics,
|
|
// you rock man. Also thanks to Meechy, Mendoza, Nunez, & Patino for your feedback and friendship.
|
|
// Everybody go visit NovisDesign.net, its a great site. If you want to use any of this code
|
|
// please contact me at that site. Enjoy your Chi Pet!
|
|
|
|
// Our lone global. hehe
|
|
var checkwater = true;
|
|
|
|
if (window.widget) {
|
|
widget.onshow = onshow;
|
|
widget.onhide = onhide;
|
|
}
|
|
function onshow() {
|
|
changeChia()
|
|
watered()
|
|
talk()
|
|
NDupdate();
|
|
}
|
|
function onhide() {
|
|
if (ft != undefined) {
|
|
clearTimeout(ft)
|
|
document.getElementById('alerts').style.opacity = '0';
|
|
document.getElementById('asmall').innerHTML = '';
|
|
document.getElementById('abig').innerHTML = '';
|
|
}
|
|
if (c != 1) {
|
|
c == 1;
|
|
}
|
|
}
|
|
// Easy global Funct for miliseconds since time...
|
|
function getHoursNow() {
|
|
var startup = new Date();
|
|
var f = startup.getTime();
|
|
var i = parseInt(f)
|
|
return i
|
|
}
|
|
// On Start...
|
|
function setup() {
|
|
NDupdate();
|
|
changeChia()
|
|
doWater()
|
|
var time = widget.preferenceForKey('time')
|
|
if (time == undefined) {
|
|
widget.setPreferenceForKey(getHoursNow(), 'time')
|
|
}
|
|
var cw = widget.preferenceForKey('cw')
|
|
if (cw != undefined) {
|
|
if (cw) {
|
|
stillUp();
|
|
}
|
|
else {
|
|
stillHib();
|
|
}
|
|
}
|
|
var i;
|
|
var lg = widget.preferenceForKey('lg');
|
|
if (lg && lg != 0) {
|
|
for (i = 1; i <= lg; i++) {
|
|
if (widget.preferenceForKey('speak'+i) != undefined) {
|
|
var item = widget.preferenceForKey('speak'+i);
|
|
var n = document.createElement("option")
|
|
n.text = item;
|
|
n.value = item;
|
|
document.getElementById('pList').add(n,null);
|
|
}
|
|
}
|
|
}
|
|
var showAlerts = widget.preferenceForKey('showAlerts');
|
|
if (showAlerts != undefined) {
|
|
document.getElementById('alertPref').checked = showAlerts
|
|
}
|
|
var showSave = widget.preferenceForKey('showSave');
|
|
if (showAlerts != undefined) {
|
|
document.getElementById('savePref').checked = showSave
|
|
}
|
|
var showLength = widget.preferenceForKey('showLength');
|
|
if (showLength != undefined) {
|
|
document.getElementById('lengthPref').value = showLength;
|
|
changeLength(showLength)
|
|
}
|
|
}
|
|
// This returnes the amount of time you've had the pet
|
|
function checkNewH() {
|
|
var time = widget.preferenceForKey('time')
|
|
var a = new Date();
|
|
var b = a.getTime();
|
|
var x = b - time;
|
|
var y = parseInt(x);
|
|
return y;
|
|
}
|
|
// Main function, change the body
|
|
function changeChia() {
|
|
if (checkwater) {
|
|
var diff = checkNewH();
|
|
var elm = document.getElementById("default");
|
|
if (diff <= 3600000) {
|
|
elm.src = 'Images/chistart.png';
|
|
}
|
|
if (diff > 3600000 && diff <= 172800000) {
|
|
elm.src = 'Images/day1.png';
|
|
}
|
|
if (diff > 172800000 && diff <= 518400000) {
|
|
elm.src = 'Images/day2.png';
|
|
}
|
|
if (diff > 518400000 && diff <= 691200000) {
|
|
elm.src = 'Images/day3.png';
|
|
}
|
|
if (diff > 691200000 && diff <= 864000000) {
|
|
elm.src = 'Images/day4.png';
|
|
}
|
|
if (diff > 864000000 && diff <= 1036800000) {
|
|
elm.src = 'Images/day5.png';
|
|
document.getElementById('haircut').style.display = 'block';
|
|
}
|
|
if (diff > 1036800000) {
|
|
elm.src = 'Images/day6.png';
|
|
document.getElementById('haircut').style.display = 'block';
|
|
tryRand();
|
|
}
|
|
}
|
|
}
|
|
|
|
// Water Functions
|
|
function overWater() {
|
|
document.getElementById('water').src = "Images/waterover.png";
|
|
}
|
|
function outWater() {
|
|
document.getElementById('water').src = "Images/water.png";
|
|
}
|
|
function clickWater() {
|
|
document.getElementById('water').src = "Images/waterclick.png";
|
|
rainIt();
|
|
}
|
|
function doWater() {
|
|
var clicked = widget.preferenceForKey('clicked')
|
|
if (clicked == undefined) {
|
|
widget.setPreferenceForKey(getHoursNow(), 'clicked')
|
|
}
|
|
watered();
|
|
}
|
|
// See How long since last water...
|
|
function checkNewHWater() {
|
|
var clicked = widget.preferenceForKey('clicked')
|
|
var a = new Date();
|
|
var b = a.getTime();
|
|
var x = b - clicked;
|
|
var y = parseInt(x);
|
|
return y;
|
|
}
|
|
// Change acording,
|
|
function watered() {
|
|
var diff = checkNewHWater();
|
|
if (checkwater) {
|
|
if (diff >= 259200000) {
|
|
document.getElementById('alive').style.display = 'none';
|
|
document.getElementById('dead').style.display = 'block';
|
|
}
|
|
}
|
|
}
|
|
function updateWater() {
|
|
widget.setPreferenceForKey(getHoursNow(), 'clicked')
|
|
watered()
|
|
}
|
|
// Once Dead
|
|
function redoChia() {
|
|
widget.setPreferenceForKey(getHoursNow(), 'clicked')
|
|
widget.setPreferenceForKey(getHoursNow(), 'time')
|
|
document.getElementById('haircut').style.display = 'none';
|
|
document.getElementById('alive').style.display = 'block';
|
|
document.getElementById('dead').style.display = 'none';
|
|
watered();
|
|
changeChia()
|
|
}
|
|
|
|
// New Hibernation
|
|
function checkNewHib() {
|
|
var sH = widget.preferenceForKey('startHibernation');
|
|
var sT = widget.preferenceForKey('time');
|
|
var sub = sH - sT;
|
|
elm = document.getElementById('default');
|
|
if (diff <= 3600000) {
|
|
elm.src = 'Images/chistart.png';
|
|
}
|
|
if (diff > 3600000 && diff <= 172800000) {
|
|
elm.src = 'Images/day1.png';
|
|
}
|
|
if (diff > 172800000 && diff <= 518400000) {
|
|
elm.src = 'Images/day2.png';
|
|
}
|
|
if (diff > 518400000 && diff <= 691200000) {
|
|
elm.src = 'Images/day3.png';
|
|
}
|
|
if (diff > 691200000 && diff <= 864000000) {
|
|
elm.src = 'Images/day4.png';
|
|
}
|
|
if (diff > 864000000 && diff <= 1036800000) {
|
|
elm.src = 'Images/day5.png';
|
|
}
|
|
if (diff > 1036800000) {
|
|
elm.src = 'Images/day6.png';
|
|
}
|
|
}
|
|
function compTime() {
|
|
var sH = widget.preferenceForKey('startHibernation');
|
|
var sT = getHoursNow();
|
|
var sub = sT - sH;
|
|
var add = widget.preferenceForKey('time') + sub;
|
|
widget.setPreferenceForKey(add, 'time');
|
|
var add = widget.preferenceForKey('clicked') + sub;
|
|
widget.setPreferenceForKey(add, 'clicked');
|
|
}
|
|
function startHibernation() {
|
|
checkwater = false;
|
|
document.getElementById('bottomText').innerHTML = 'click to turn hibernation off';
|
|
document.getElementById('startH').onclick = wakeUp;
|
|
document.getElementById('startH').src = 'Images/hibernation_on.png'
|
|
document.getElementById('haircut').style.display = 'none';
|
|
document.getElementById('water').style.display = 'none';
|
|
document.getElementById('hat').style.display = 'block';
|
|
document.getElementById('zzzs').style.display = 'block';
|
|
document.getElementById('eye').style.display = 'block';
|
|
widget.setPreferenceForKey(false, 'cw')
|
|
widget.setPreferenceForKey(getHoursNow(), 'startHibernation')
|
|
checkNewHib()
|
|
}
|
|
function wakeUp() {
|
|
var diff = checkNewH();
|
|
checkwater = true;
|
|
document.getElementById('bottomText').innerHTML = 'click to turn hibernation on';
|
|
document.getElementById('startH').onclick = startHibernation;
|
|
document.getElementById('startH').src = 'Images/hibernation_off.png';
|
|
document.getElementById('water').style.display = 'block';
|
|
document.getElementById('hat').style.display = 'none';
|
|
document.getElementById('zzzs').style.display = 'none';
|
|
document.getElementById('eye').style.display = 'none';
|
|
widget.setPreferenceForKey(true, 'cw')
|
|
compTime();
|
|
changeChia();
|
|
}
|
|
function stillUp() {
|
|
var diff = checkNewH();
|
|
checkwater = true;
|
|
document.getElementById('bottomText').innerHTML = 'click to turn hibernation on';
|
|
document.getElementById('startH').src = 'Images/hibernation_off.png';
|
|
document.getElementById('startH').onclick = startHibernation;
|
|
if (diff > 864000000) {
|
|
document.getElementById('haircut').style.display = 'block';
|
|
}
|
|
document.getElementById('water').style.display = 'block';
|
|
document.getElementById('hat').style.display = 'none';
|
|
document.getElementById('zzzs').style.display = 'none';
|
|
document.getElementById('eye').style.display = 'none';
|
|
}
|
|
function stillHib() {
|
|
checkwater = false;
|
|
document.getElementById('bottomText').innerHTML = 'click to turn hibernation off';
|
|
document.getElementById('startH').src = 'Images/hibernation_on.png'
|
|
document.getElementById('startH').onclick = wakeUp;
|
|
document.getElementById('haircut').style.display = 'none';
|
|
document.getElementById('water').style.display = 'none';
|
|
document.getElementById('hat').style.display = 'block';
|
|
document.getElementById('zzzs').style.display = 'block';
|
|
document.getElementById('eye').style.display = 'block';
|
|
ft = setTimeout('fadeTalk();',1500);
|
|
checkNewHib()
|
|
}
|
|
|
|
|
|
// New Talk
|
|
var ft;
|
|
var timeOf = 1500;
|
|
var rsayings = new Array("","","","","","Novis Design","i love apple","sup?","wat up dog?","cha chia","cha cha cha Chia!","how are you?","hello!","novisdesign.net","have a nice day","take it easy","salutations","check the due","peace and love","surprise!!!","rock on!!!","");
|
|
function talk() {
|
|
if (checkwater && document.getElementById('alertPref').checked) {
|
|
document.getElementById('alerts').style.opacity = '1';
|
|
var t = new Date();
|
|
var h = t.getHours();
|
|
var diff = checkNewHWater();
|
|
var rand = Math.round(random() * (rsayings.length-1));
|
|
var time = Math.floor(checkNewH()/86400000);
|
|
if (diff > 172800000) {
|
|
document.getElementById('abig').innerHTML = 'feed me!';
|
|
document.getElementById('asmall').innerHTML = 'feed me!';
|
|
}
|
|
else {
|
|
if (rand == 0) {
|
|
if (h > 0 && h < 12) {
|
|
document.getElementById('abig').innerHTML = 'good morning!';
|
|
document.getElementById('asmall').innerHTML = 'good morning!';
|
|
}
|
|
if (h==12) {
|
|
document.getElementById('abig').innerHTML = 'hello!';
|
|
document.getElementById('asmall').innerHTML = 'hello!';
|
|
}
|
|
if (h > 12 && h < 19) {
|
|
document.getElementById('abig').innerHTML = 'good afternoon!';
|
|
document.getElementById('asmall').innerHTML = 'good afternoon!';
|
|
}
|
|
if (h > 19) {
|
|
document.getElementById('abig').innerHTML = 'good night!';
|
|
document.getElementById('asmall').innerHTML = 'good night!';
|
|
}
|
|
}
|
|
if (rand == 1) {
|
|
if (time == 1) {
|
|
document.getElementById('abig').innerHTML = time + " day old";
|
|
document.getElementById('asmall').innerHTML = time + " day old";
|
|
}
|
|
if (time > 1) {
|
|
document.getElementById('abig').innerHTML = time + " days old";
|
|
document.getElementById('asmall').innerHTML = time + " days old";
|
|
}
|
|
}
|
|
if (rand == 2 || rand == 3 || rand == 4) {
|
|
var elm = document.getElementById('pList');
|
|
if (elm.length != 0) {
|
|
var rtwo = Math.round(Math.random() * (elm.length));
|
|
var put = elm.options[rtwo].text;
|
|
document.getElementById('abig').innerHTML = put;
|
|
document.getElementById('asmall').innerHTML = put;
|
|
}
|
|
else {
|
|
document.getElementById('abig').innerHTML = rsayings[rand];
|
|
document.getElementById('asmall').innerHTML = rsayings[rand];
|
|
}
|
|
}
|
|
if (rand > 3) {
|
|
document.getElementById('abig').innerHTML = rsayings[rand];
|
|
document.getElementById('asmall').innerHTML = rsayings[rand];
|
|
}
|
|
}
|
|
setTextSize(document.getElementById('abig').innerHTML.length);
|
|
ft = setTimeout('fadeTalk();',timeOf);
|
|
}
|
|
}
|
|
function fadeTalk() {
|
|
var elm = document.getElementById('alerts').style;
|
|
var op = parseFloat(elm.opacity);
|
|
var newop = op - .2;
|
|
elm.opacity = newop;
|
|
if (newop > 0) {
|
|
ft = setTimeout('fadeTalk();',100)
|
|
}
|
|
}
|
|
function setTextSize(val) {
|
|
if (val <= 22 && val > 19) {
|
|
document.getElementById('abig').style.fontSize = '14px';
|
|
}
|
|
if (val <= 19 && val > 17) {
|
|
document.getElementById('abig').style.fontSize = '16px';
|
|
}
|
|
if (val <= 17 && val > 15) {
|
|
document.getElementById('abig').style.fontSize = '20px';
|
|
}
|
|
if (val <= 15 && val > 14) {
|
|
document.getElementById('abig').style.fontSize = '22px';
|
|
}
|
|
if (val < 13) {
|
|
document.getElementById('abig').style.fontSize = '24px';
|
|
}
|
|
}
|
|
|
|
// A widgets way to do random... (thanks a lot apple)
|
|
function random() {
|
|
d = new Date();
|
|
time = d.getTime();
|
|
function getR() {
|
|
time = (time*9301+49297) % 233280;
|
|
return time/(233280.0);
|
|
};
|
|
return getR();
|
|
}
|
|
|
|
// Random Chi!!! Cool
|
|
function tryRand() {
|
|
if (checkwater) {
|
|
var rand = random()
|
|
rand = Math.round(rand * 100);
|
|
if (rand <= 1) {
|
|
showRandomChi();
|
|
}
|
|
}
|
|
}
|
|
function showRandomChi() {
|
|
req = new XMLHttpRequest();
|
|
req.onreadystatechange = setChi;
|
|
req.open("GET", "http://novisdesign.net/WidgetResorces/ChiPet/number.txt", true);
|
|
req.send(null);
|
|
}
|
|
function setChi() {
|
|
if (req.readyState == 4) {
|
|
if (req.status == 200) {
|
|
var number = parseInt(req.responseText);
|
|
elm = document.getElementById('default');
|
|
var cin = Math.round(Math.random() * number);
|
|
var cImage = document.createElement('img');
|
|
cImage.src = "http://novisdesign.net/WidgetResorces/ChiPet/chipet"+cin+".png";
|
|
cImage.onload = function() {
|
|
elm.src = "http://novisdesign.net/WidgetResorces/ChiPet/chipet"+cin+".png";
|
|
}
|
|
cImage.onerror = function() {
|
|
changeChia();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Rain drop effect
|
|
var tm;
|
|
var i = 0;
|
|
function rainIt() {
|
|
var elm = document.getElementById('rainIt');
|
|
i++
|
|
if (i == 1) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain1.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 2) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain2.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 3) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain3.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 4) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain4.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 5) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain5.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 6) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain6.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 7) {
|
|
elm.style.backgroundImage ="url('Images/rain/rain7.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 8) {
|
|
elm.style.backgroundImage = "url('Images/rain/rain8.png')";
|
|
tm = setTimeout('rainIt()',60);
|
|
}
|
|
if (i == 9) {
|
|
elm.style.backgroundImage = "none";
|
|
tm = clearTimeout(tm);
|
|
i = 0;
|
|
}
|
|
}
|
|
|
|
// Barbershop Code
|
|
var c = 1;
|
|
var ch;
|
|
function startCut() {
|
|
document.getElementById('cut').style.display = 'block';
|
|
document.getElementById('haircut').style.display = 'none';
|
|
ch = setInterval('cutHair();',100);
|
|
}
|
|
function cutHair() {
|
|
var elm = document.getElementById('default');
|
|
var cut = document.getElementById('cut');
|
|
if (c == 4) {
|
|
cut.style.display = 'none';
|
|
var a = new Date();
|
|
var b = a.getTime();
|
|
var b = b - 518400000;
|
|
widget.setPreferenceForKey(b, 'time')
|
|
clearInterval(ch)
|
|
}
|
|
if (c == 3) {
|
|
c++;
|
|
elm.src = "Images/day3.png";
|
|
cut.src = "Images/cut3.png";
|
|
}
|
|
if (c == 2) {
|
|
c++;
|
|
elm.src = "Images/day4.png";
|
|
cut.src = "Images/cut2.png";
|
|
}
|
|
if (c == 1) {
|
|
c++;
|
|
elm.src = "Images/day5.png";
|
|
cut.src = "Images/cut1.png";
|
|
}
|
|
}
|
|
|
|
// Switching pages on back
|
|
var sc;
|
|
|
|
function goTo(go,old,scroll) {
|
|
document.getElementById(old).style.display = 'none';
|
|
document.getElementById(go).style.display = 'block';
|
|
if (scroll == null) {
|
|
document.getElementById('arrows').style.opacity = '0.5';
|
|
sc = scroll;
|
|
}
|
|
else {
|
|
document.getElementById('arrows').style.opacity = '1.0';
|
|
sc = scroll;
|
|
}
|
|
}
|
|
function goMain(elm) {
|
|
document.getElementById('main').style.display = 'block';
|
|
document.getElementById(elm).style.display = 'none';
|
|
sc = null;
|
|
document.getElementById('arrows').style.opacity = '0.5';
|
|
document.getElementById('cHow').style.top = '0px';
|
|
}
|
|
function goMainAll() {
|
|
if (!document.getElementById('savePref').checked) {
|
|
document.getElementById('main').style.display = 'block';
|
|
document.getElementById('howto').style.display = 'none';
|
|
document.getElementById('phrases').style.display = 'none';
|
|
document.getElementById('myphrases').style.display = 'none';
|
|
document.getElementById('hibernation').style.display = 'none';
|
|
document.getElementById('prefs').style.display = 'none';
|
|
document.getElementById('cHow').style.top = '0px';
|
|
sc = null;
|
|
document.getElementById('arrows').style.opacity = '0.5';
|
|
}
|
|
}
|
|
|
|
function addItem() {
|
|
if (document.getElementById('pEnter').value != "") {
|
|
var n = document.createElement("option")
|
|
n.text = document.getElementById('pEnter').value;
|
|
n.value = document.getElementById('pList').length + 1;
|
|
document.getElementById('pList').add(n,null);
|
|
widget.setPreferenceForKey(document.getElementById('pList').length, 'lg');
|
|
widget.setPreferenceForKey(document.getElementById('pEnter').value, 'speak'+document.getElementById('pList').length)
|
|
document.getElementById('pEnter').value = "";
|
|
}
|
|
}
|
|
function removeItem() {
|
|
var i;
|
|
rem = document.getElementById('pList').selectedIndex;
|
|
document.getElementById('pList').remove(rem);
|
|
widget.setPreferenceForKey(null, 'speak'+(rem+1))
|
|
widget.setPreferenceForKey(document.getElementById('pList').length, 'lg');
|
|
for (i = (rem + 2); widget.preferenceForKey('speak'+i) != undefined; i++) {
|
|
widget.setPreferenceForKey(widget.preferenceForKey('speak'+i),'speak'+(i-1));
|
|
widget.setPreferenceForKey(null,'speak'+i);
|
|
}
|
|
}
|
|
|
|
function changeAlert() {
|
|
value = document.getElementById('alertPref').checked;
|
|
widget.setPreferenceForKey(value, 'showAlerts');
|
|
}
|
|
function changeSave() {
|
|
value = document.getElementById('savePref').checked;
|
|
widget.setPreferenceForKey(value, 'showSave');
|
|
}
|
|
function changeLength(val) {
|
|
var value = (parseInt(val) + 100) * 10;
|
|
timeOf = value;
|
|
widget.setPreferenceForKey(val, 'showLength');
|
|
}
|
|
|
|
// Arrow Scrolling
|
|
function scrollUp(a) {
|
|
var top = parseInt(document.getElementById(sc).style.top);
|
|
if (top > a) {
|
|
document.getElementById(sc).style.top = top - 10 + "px";
|
|
}
|
|
}
|
|
function scrollDown() {
|
|
var top = parseInt(document.getElementById(sc).style.top);
|
|
if (top < 0) {
|
|
document.getElementById(sc).style.top = top + 10 + "px";
|
|
}
|
|
} |