﻿// javascript file
function MonCalFil()
{
    var d = new Date();
    var m = d.getMonth();
    var y = d.getFullYear();
    var thisDayOfWeek = 0;
    var thisWeek = 1;
    var thisDayOfMonth = 0;
    var dayofweek = new String();
    var dBuild = new Date(y, m, 1);
    
    document.getElementById("sechead").innerHTML = monPos[m] + " - " + y;

    while (m == dBuild.getMonth())
    {
        thisDayOfWeek = dBuild.getDay();
        thisDayOfMonth = dBuild.getDate();
        dayofweek = dBuild.toDateString();
        dayofweek = dayofweek.substring(0, 3);
        dayofweek = dayofweek.toLowerCase();
        
        document.getElementById(dayofweek+thisWeek).innerHTML = thisDayOfMonth;
        if (dBuild.toDateString() == d.toDateString())
        {
            document.getElementById(dayofweek+thisWeek).style.backgroundColor = "blue";
            document.getElementById(dayofweek+thisWeek).style.color = "White";
        }
        else
        {
            document.getElementById(dayofweek+thisWeek).style.backgroundColor = "ececec";
            document.getElementById(dayofweek+thisWeek).style.color = "Black";
        }

        // increase week count if the current day was on Saturday
        if (thisDayOfWeek == 6)
        {
            thisWeek++;
        }
                       
        dBuild.setDate(dBuild.getDate() + 1);
    }
}

function MakePal()
{
    xmlPal = ajaxCreate();
    
    if (xmlPal != null)
    {
        xmlPal.open("GET","data/paypal.txt", true);
        xmlPal.onreadystatechange=onPalResponse;
        xmlPal.send(null);
    }
}

function onPalResponse()
{
    if (xmlPal.readyState!=4)
    {
        return;
    }
    if (xmlPal.status!=200)
    {
        document.getElementById("formpaypal").innerHTML="Error!";
    }
    else
    {
        xIPal=xmlPal.responseText;
        document.getElementById("formpaypal").innerHTML=xIPal;
    }
}

function MakeShortGogle()
{
    xmlGo = ajaxCreate();

    if (xmlGo!=null)
    {
        xmlGo.open("GET","data/google2.txt", true);
        xmlGo.onreadystatechange=onShortResponse;
        xmlGo.send(null);
    }
}

function onShortResponse()
{
    if (xmlGo.readyState!=4)
    {
        return;
    }
    if (xmlGo.status!=200)
    {
        document.getElementById("googlelong").innerHTML="Error!";
    }
    else
    {
        xIG=xmlGo.responseText;
        document.getElementById("googlelong").innerHTML=xIG;
    }
}

function MakeUnderground()
{
    xmlWt = ajaxCreate();

    if (xmlWt!=null)
    {
        xmlWt.open("GET","data/forecast.txt", true);
        xmlWt.onreadystatechange=onUnderResponse;
        xmlWt.send(null);
    }
}

function onUnderResponse()
{
    if (xmlWt.readyState!=4)
    {
        return;
    }
    if (xmlWt.status!=200)
    {
        document.getElementById("textweather").innerHTML="Error!";
    }
    else
    {
        xIW=xmlWt.responseText;
        document.getElementById("textweather").innerHTML=xIW;
    }
}

function LocalHeader(iWhich)
{
    var ph = new Array(10);
    var OurName = new String("Think You Should Know");

    ph[0] = "Welcome to " + OurName;
    ph[1] = OurName + " - Current Events";
    ph[2] = OurName + " - Jobs Listing and Resources";
    ph[3] = OurName + " - Scholarship Resources";
    ph[4] = OurName + " - Grant Resources";
    ph[5] = OurName + " - News";
    ph[6] = OurName + " - Politics";
    ph[7] = OurName + " - About Us";
    ph[8] = OurName + " - Contact Us";
    ph[9] = OurName + " - Contact Us Thank You";
    
    switch (iWhich)
    {
        case 0:
            document.getElementById("textheadmain").innerHTML = ph[iWhich];
            break;
        default:
            document.getElementById("texthead").innerHTML = ph[iWhich];
            break;
    }
}

function CutPoint(lShowFilm)
{
    if (lMovie == null)
    {
        if (lShowFilm == null)
        {
            lMovie = false;
        }
        else
        {
            lMovie = lShowFilm;
        }
    }

    /* this call to itself ensures it keeps running */
    t=setTimeout("CutPoint(" + lMovie + ")", 2500);
    FixPoint();
        
    if (lMovie == true)
    {
        CreateShow();
        FilmChange();
    }

}

function FixPoint()
{
    cNew = new String();
    cNew = cOrgTitle;
    document.title = cNew.replace("#qPoint", " ");
}

function FilmChange()
{
    if (lIsLoaded == false)
    {
        return;
    }
    
    var mydiv = document.getElementById("film");
    if (iXO == 0)
    {

        /* check to see if DXTransformation filters work on browser */
        if (mydiv.filters && mydiv.filters.length > 0)
        {
            /* get the current status of displayed image */
            mydiv.filters[0].apply();
        }
        mydiv.innerHTML = "<img src='" + arrFilm[iFilm].src + "' style='border:none' alt='' />";

        /* check if filter transitions work on browser */
        if (mydiv.filters && mydiv.filters.length > 0)
        {
            /* play transition */
            mydiv.filters[0].play();
        }

        document.getElementById("filmtext").innerHTML = arrBlurbs[iFilm];
        document.getElementById("filmnav").innerHTML = arrSource[iFilm];
        iFilm = iFilm + 1;
        
        if (iFilm > iMaxSlide)
        {
            iFilm = 0;
        }
        iXO = 1;
    }
    else
    {
        iXO += 1;
        if (iXO > 2)
        {
            iXO = 0;
        }
    }
}

function FilmRun()
{
    lMovie = !(lMovie);
    if (lMovie == false)
    {
        document.getElementById("navplay").style.backgroundImage = "Url(images/ss-play.gif)";
    }
    else
    {
        document.getElementById("navplay").style.backgroundImage = "Url(images/ss-pause.gif)";
        FilmChange();
    }    
}

function FilmBack()
{
    iFilm -= 2;
    if (iFilm < 0) 
    {
        if (iFilm  == -1)
        {
            iFilm = iMaxSlide;
        }
        else if (iFilm == -2)
        {
            iFilm = (iMaxSlide-1);
        }
    }
    iXO = 0;
    FilmChange();
}

function FilmNext()
{
    iXO = 0;
    FilmChange();
}

function CreateShow()
{    
    /* will want to link this to XML file later */
    if (lIsLoaded == false)
    {
        xmlNode = "thisframe";
        xmlCallBack = WhatMayCome;
        ajaxRequest("SShow.xml", false);      
    }
}

function WhatMayCome()
{
    iMaxSlide = (xItems.length - 1);
    arrFilm = new Array(iMaxSlide+1);
    arrBlurbs = new Array(iMaxSlide+1);
    arrSource = new Array(iMaxSlide+1);
    
    for (i=0; i<xItems.length; i++)
    {
        arrFilm[i] = new Image();
        arrFilm[i].src = "images/" + String(xItems[i].getElementsByTagName("thepic")[0].childNodes[0].nodeValue);
        arrBlurbs[i] = new String();
        arrBlurbs[i] = String(xItems[i].getElementsByTagName("theblurb")[0].childNodes[0].nodeValue);
        arrSource[i] = new String();
        arrSource[i] = String(xItems[i].getElementsByTagName("thesource")[0].childNodes[0].nodeValue);
    }
    lIsLoaded = true;
}

function EndPoint()
{
    clearTimeout(t);
}

function MenuFocus(obj, bYesNo, iLevel)
{ 
    if (bYesNo == true)
    {
        obj.style.textDecoration='underline';
        obj.style.cursor='pointer';
    }
    else
    {
        obj.style.textDecoration='none';
        obj.style.cursor='default';    
    
        if (iLevel != null)
        {
            var cP = ".";
            var cElement = new String();
            
            cElement[0] = "extA";
            cElement[1] = "extB";
            cElement[2] = "extC";
            cElement[3] = "extD";
            cElement[4] = "extE";
            cElement[5] = "extF";
            
            document.getElementById(cElement[iLevel]).innerHTML = cP;
        }
    }
}

function MenuClick(iPage)
{
    switch (iPage)
    {
        case 0:
            window.location.assign("index.html");
            break;
        case 1:
            window.location.assign("events.html");
            break;
        case 2:
            window.location.assign("jobs.html");
            break;
        case 3:
            window.location.assign("scholarships.html");
            break;
        case 4:
            window.location.assign("grants.html");
            break;
        case 5:
            window.location.assign("news.html");
            break;
        case 6:
            window.location.assign("politics.html");
            break;
        case 7:
            window.location.assign("about.html");
            break;
        case 8:
            window.location.assign("contact.html");
            break;
        case 9:
            window.location.assign("SiteMap.html");
            break;
        case 10:
            window.location.assign("Search.html");
            break;
        case 11:
            window.location.assign("Extras.html");
            break;
        case 12:
            window.location.assign("Faqs.html");
            break;
        case 13:
            window.location.assign("TermsConditions.html");
            break;
        case 14:
            window.location.assign("PrivacyPolicy.html");
            break;
        case 15:
            window.location.assign("Disclaimer.html");
            break;
        case 16:
            window.location.assign("Announcements.html");
            break;
        case 17:
            window.location.assign("NewsCenter.html");
            break;
        case 18:
            window.location.assign("OurMission.html");
            break;
        case 19:
            window.location.assign("CareerOpps.html");
            break;
        case 20:
            window.location.assign("Volunteer.html");
            break;
        case 21:
            window.location.assign("Employment.html");
            break;
        default:
            window.location.assign("#qPoint");
            break;
    }
}

function TakeMeThere(newurl)
{
    window.open(newurl);
}

function WhatCanISay(iWhich)
{
    cSay = new String();
    
    switch (iWhich)
    {
        case 0:
            cSay = ThisLastUpdate();
            break;
        case 1:
            cSay = WhatIsToday();
            break;
        case 2:
            cSay = GiveSupport();
            break;
        case 3:
            cSay = CopyMe();
            break;
        case 4:
            cSay = TyskMessage();
            break;
        case 6:
            cSay = YourAddHere();
            break;
        default:
            cSay = "";
            break;
    }
    
    document.write(cSay);
}

function ThisLastUpdate()
{
    var s = "";
    /* in devenv this property does not work so check if ... */
    s = document.lastModified;
    if (s == "")
    {
        s = "Not Available";
    }
    return ("Last Updated: " + s);
}

function WhatIsToday()
{
    var d = new Date();
    return (d.toLocaleDateString());
}

function GiveSupport()
{
    return ("ThinkYouShouldKnow.com is supported by your generous donations. Thank You.");
}

function CopyMe()
{
    return ("&copy; 2008 - 2010 Think You Should Know");
}

function TyskMessage()
{
    var cSay = new String();
    
    cSay = "";
    cSay += "*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*<br />";
    cSay += '<b>"Knowledge is Key"</b><br /><br />The more you know ....<br /><br />The more valuable you are.<br />';
    cSay += "<br />The more people you can reach out to and connect with ....<br /><br />The more useful you become.<br />";
    cSay += "*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;*";
    return (cSay);
}

function YourAddHere()
{

    var cSay = new String();
    cSay = "";
    cSay += "Become a Sponsor. See your 'click-able' logo here.<br /><br />";
    cSay += "<span style='color:Blue;' onmouseover='MenuFocus(this, true)' onmouseout='MenuFocus(this, false)' onclick='MenuClick(8)'>Contact Us</span> to find out how."
    return (cSay);
}

function FixXMLTime(str)
{
    var strHour = new String();
    var strMin = new String();
    var strRet = new String();
    var bAmPm = false;
    
    strHour = str.substring(0, 2);
    strMin = str.substring(3, 5);
    if (strHour > "12")
    {
        strHour -= "12";
        bAmPm = true;
    }
    else
    {
        strHour -= "0";
    }
    
    strRet = strHour + ":" + strMin;
    
    if (bAmPm == false)
    {
        strRet = strRet + "am";
    }
    else
    {
        strRet = strRet + "pm";
    }
    
    return strRet;
}

function SwitchDate(d)
{
    var cRetVal = new String();
    var cTmp = new String();
    var i = 0;
    
    cTmp = d.toString();
    
    cRetVal = cTmp.substr(5, 5) + "-";
    cRetVal += cTmp.substr(0, 4);
    for (i=0;i<2;i++)
    {
        cRetVal = cRetVal.replace("-", "/");
    }
    return cRetVal;
}

function ExpireDate()
{
    var strDate = new String();
    var dThisDate = new Date();
    var sBit = new String();
    var iLen = 0;
    
    strDate += (dThisDate.getFullYear()).toString();
    strDate += "-";
    sBit = (dThisDate.getMonth()+1).toString();
    iLen = sBit.length;
    if (iLen != 2)
    {
        sBit = "0" + sBit;
    }
    strDate += sBit;
    strDate += "-";
    
    sBit = (dThisDate.getDate()).toString();
    iLen = sBit.length;
    if (iLen != 2)
    {
        sBit = "0" + sBit;
    }
    strDate += sBit;
    
    return strDate;
}

function ajaxCreate()
{
    var theReturn = null;
    try
    {
        if (window.XMLHttpRequest)
        {// code for all new browsers
            theReturn = new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {// code for IE5 and IE6
            theReturn = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    catch (e)
    {
    }
    
    return theReturn;
}

function ajaxRequest(strFile, bText)
{
    xmlDoc = ajaxCreate();

    if (xmlDoc!=null)
    {
        xmlDoc.open("GET","data/" + strFile,true);
        if (bText == false)
        {
            xmlDoc.onreadystatechange=onAjaxResponse;
        }
        else
        {
            xmlDoc.onreadystatechange=onTextResponse;
        }
        xmlDoc.send(null);
    }
}

function onAjaxResponse()
{
    if (xmlDoc.readyState!=4)
    {
        return;
    }
    if (xmlDoc.status!=200)
    {
        xmlFail = true;
    }
    else
    {
        xItems=xmlDoc.responseXML.documentElement.getElementsByTagName(xmlNode);
        if (xmlCallBack) 
        {
            xmlCallBack();
        }
    }
}

function onTextResponse()
{
    if (xmlDoc.readyState != 4)
    {
        return;
    }
    if (xmlDoc.status != 200)
    {
        xmlFail = true;
    }
    else
    {
        xItems=xmlDoc.responseText;
        if (xmlCallBack)
        {
            xmlCallBack();
        }
    }
}

function checkCookie()
{
    bCanCookie = navigator.cookieEnabled;
    bCanJavaScript = navigator.javaEnabled();
}

function createCookie(name, value, days)
{
    var expires = "";
    var thisdate = new Date();

    if (bCanCookie == false)
    {
        return;
    }
        
	if (days)
	{
		thisdate.setTime(thisdate.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = "; expires=" + thisdate.toGMTString();
	}
	else
	{
	    expires = "";
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function eraseCookie(name)
{
    if (bCanCookie == false)
    {
        return;
    }
    
	createCookie(name, "" , -1);
}

function readCookie(name)
{
    if (bCanCookie == false)
    {
        return "";
    }
    
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	c = "";
	
	for (i=0; i < ca.length; i++)
    {
		c = ca[i];
		while (c.charAt(0) == ' ')
		{
		    c = c.substring(1, c.length);
		}
		
		if (c.indexOf(nameEQ) == 0)
		{
            return c.substring(nameEQ.length, c.length);
		}
	}
	return c;
}

/* variables for ajax, not used for fresh daily system */
var xmlDoc = null;
var xmlFail = false;
var xmlCallBack;
var xItems = null;
var xmlNode = "";
var bCanCookie = false;
var bCanJavaScript = false;

/* variables for calendar building */
var dayPos = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
var monPos = new Array(12);

monPos[0] = "January";
monPos[1] = "February";
monPos[2] = "March";
monPos[3] = "April";
monPos[4] = "May";
monPos[5] = "June"
monPos[6] = "July";
monPos[7] = "August"
monPos[8] = "September";
monPos[9] = "October";
monPos[10] = "November";
monPos[11] = "December";
    
/* variables for openning cutPoint() */
var t;
var iFilm = 0;
var iXO = 0;
var cOrgTitle = document.title;
/* this arrays must be initially declared this way to combate zero vs. one based compatibility
    issues between IE and non-IE browsers */
var arrFilm = null;
var arrBlurbs = null;
var arrSource = null;
var lMovie = null;
var lIsLoaded = false;
var lGoMyShow = null;
var iMaxSlide = null;

var xmlPal, xIPal;
var xmlGo, xIG;
var xmlWt, xIW;

checkCookie();
MenuClick(99);

