CBB > .settings Folder > 
FILE NAME: org.eclipse.core.resources
#Tue Sep 07 00:43:41 EDT 2010
eclipse.preferences.version=1
encoding/<project>=utf-8

CBB >bin-debug Folder> assets Folder
File Name Frequency.jpg
File Name Wolflinedescription.jpg

CBB >bin-debug Folder> history Folder
File Name:history cascasing style sheet

/* This CSS stylesheet defines styles used by required elements in a flex application page that supports browser history */

#ie_historyFrame { width: 0px; height: 0px; display:none }
#firefox_anchorDiv { width: 0px; height: 0px; display:none }
#safari_formDiv { width: 0px; height: 0px; display:none }
#safari_rememberDiv { width: 0px; height: 0px; display:none }

File Name:Jscript Script File
BrowserHistoryUtils = {
    addEvent: function(elm, evType, fn, useCapture) {
        useCapture = useCapture || false;
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        }
        else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        }
        else {
            elm['on' + evType] = fn;
        }
    }
}

BrowserHistory = (function() {
    // type of browser
    var browser = {
        ie: false, 
        firefox: false, 
        safari: false, 
        opera: false, 
        version: -1
    };

    // if setDefaultURL has been called, our first clue
    // that the SWF is ready and listening
    //var swfReady = false;

    // the URL we'll send to the SWF once it is ready
    //var pendingURL = '';

    // Default app state URL to use when no fragment ID present
    var defaultHash = '';

    // Last-known app state URL
    var currentHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHash = document.location.hash;

    // History frame source URL prefix (used only by IE)
    var historyFrameSourcePrefix = 'history/historyFrame.html?';

    // History maintenance (used only by Safari)
    var currentHistoryLength = -1;

    var historyHash = [];

    var initialState = createState(initialHref, initialHref + '#' + initialHash, initialHash);

    var backStack = [];
    var forwardStack = [];

    var currentObjectId = null;

    //UserAgent detection
    var useragent = navigator.userAgent.toLowerCase();

    if (useragent.indexOf("opera") != -1) {
        browser.opera = true;
    } else if (useragent.indexOf("msie") != -1) {
        browser.ie = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('msie') + 4));
    } else if (useragent.indexOf("safari") != -1) {
        browser.safari = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('safari') + 7));
    } else if (useragent.indexOf("gecko") != -1) {
        browser.firefox = true;
    }

    if (browser.ie == true && browser.version == 7) {
        window["_ie_firstload"] = false;
    }

    // Accessor functions for obtaining specific elements of the page.
    function getHistoryFrame()
    {
        return document.getElementById('ie_historyFrame');
    }

    function getAnchorElement()
    {
        return document.getElementById('firefox_anchorDiv');
    }

    function getFormElement()
    {
        return document.getElementById('safari_formDiv');
    }

    function getRememberElement()
    {
        return document.getElementById("safari_remember_field");
    }

    // Get the Flash player object for performing ExternalInterface callbacks.
    // Updated for changes to SWFObject2.
    function getPlayer(id) {
		if (id && document.getElementById(id)) {
			var r = document.getElementById(id);
			if (typeof r.SetVariable != "undefined") {
				return r;
			}
			else {
				var o = r.getElementsByTagName("object");
				var e = r.getElementsByTagName("embed");
				if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
					return o[0];
				}
				else if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
					return e[0];
				}
			}
		}
		else {
			var o = document.getElementsByTagName("object");
			var e = document.getElementsByTagName("embed");
			if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
				return e[0];
			}
			else if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
				return o[0];
			}
			else if (o.length > 1 && typeof o[1].SetVariable != "undefined") {
				return o[1];
			}
		}
		return undefined;
	}
    
    function getPlayers() {
        var players = [];
        if (players.length == 0) {
            var tmp = document.getElementsByTagName('object');
            players = tmp;
        }
        
        if (players.length == 0 || players[0].object == null) {
            var tmp = document.getElementsByTagName('embed');
            players = tmp;
        }
        return players;
    }

	function getIframeHash() {
		var doc = getHistoryFrame().contentWindow.document;
		var hash = String(doc.location.search);
		if (hash.length == 1 && hash.charAt(0) == "?") {
			hash = "";
		}
		else if (hash.length >= 2 && hash.charAt(0) == "?") {
			hash = hash.substring(1);
		}
		return hash;
	}

    /* Get the current location hash excluding the '#' symbol. */
    function getHash() {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       var idx = document.location.href.indexOf('#');
       return (idx >= 0) ? document.location.href.substr(idx+1) : '';
    }

    /* Get the current location hash excluding the '#' symbol. */
    function setHash(hash) {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       if (hash == '') hash = '#'
       document.location.hash = hash;
    }

    function createState(baseUrl, newUrl, flexAppUrl) {
        return { 'baseUrl': baseUrl, 'newUrl': newUrl, 'flexAppUrl': flexAppUrl, 'title': null };
    }

    /* Add a history entry to the browser.
     *   baseUrl: the portion of the location prior to the '#'
     *   newUrl: the entire new URL, including '#' and following fragment
     *   flexAppUrl: the portion of the location following the '#' only
     */
    function addHistoryEntry(baseUrl, newUrl, flexAppUrl) {

        //delete all the history entries
        forwardStack = [];

        if (browser.ie) {
            //Check to see if we are being asked to do a navigate for the first
            //history entry, and if so ignore, because it's coming from the creation
            //of the history iframe
            if (flexAppUrl == defaultHash && document.location.href == initialHref && window['_ie_firstload']) {
                currentHref = initialHref;
                return;
            }
            if ((!flexAppUrl || flexAppUrl == defaultHash) && window['_ie_firstload']) {
                newUrl = baseUrl + '#' + defaultHash;
                flexAppUrl = defaultHash;
            } else {
                // for IE, tell the history frame to go somewhere without a '#'
                // in order to get this entry into the browser history.
                getHistoryFrame().src = historyFrameSourcePrefix + flexAppUrl;
            }
            setHash(flexAppUrl);
        } else {

            //ADR
            if (backStack.length == 0 && initialState.flexAppUrl == flexAppUrl) {
                initialState = createState(baseUrl, newUrl, flexAppUrl);
            } else if(backStack.length > 0 && backStack[backStack.length - 1].flexAppUrl == flexAppUrl) {
                backStack[backStack.length - 1] = createState(baseUrl, newUrl, flexAppUrl);
            }

            if (browser.safari) {
                // for Safari, submit a form whose action points to the desired URL
                if (browser.version <= 419.3) {
                    var file = window.location.pathname.toString();
                    file = file.substring(file.lastIndexOf("/")+1);
                    getFormElement().innerHTML = '<form name="historyForm" action="'+file+'#' + flexAppUrl + '" method="GET"></form>';
                    //get the current elements and add them to the form
                    var qs = window.location.search.substring(1);
                    var qs_arr = qs.split("&");
                    for (var i = 0; i < qs_arr.length; i++) {
                        var tmp = qs_arr[i].split("=");
                        var elem = document.createElement("input");
                        elem.type = "hidden";
                        elem.name = tmp[0];
                        elem.value = tmp[1];
                        document.forms.historyForm.appendChild(elem);
                    }
                    document.forms.historyForm.submit();
                } else {
                    top.location.hash = flexAppUrl;
                }
                // We also have to maintain the history by hand for Safari
                historyHash[history.length] = flexAppUrl;
                _storeStates();
            } else {
                // Otherwise, write an anchor into the page and tell the browser to go there
                addAnchor(flexAppUrl);
                setHash(flexAppUrl);
            }
        }
        backStack.push(createState(baseUrl, newUrl, flexAppUrl));
    }

    function _storeStates() {
        if (browser.safari) {
            getRememberElement().value = historyHash.join(",");
        }
    }

    function handleBackButton() {
        //The "current" page is always at the top of the history stack.
        var current = backStack.pop();
        if (!current) { return; }
        var last = backStack[backStack.length - 1];
        if (!last && backStack.length == 0){
            last = initialState;
        }
        forwardStack.push(current);
    }

    function handleForwardButton() {
        //summary: private method. Do not call this directly.

        var last = forwardStack.pop();
        if (!last) { return; }
        backStack.push(last);
    }

    function handleArbitraryUrl() {
        //delete all the history entries
        forwardStack = [];
    }

    /* Called periodically to poll to see if we need to detect navigation that has occurred */
    function checkForUrlChange() {

        if (browser.ie) {
            if (currentHref != document.location.href && currentHref + '#' != document.location.href) {
                //This occurs when the user has navigated to a specific URL
                //within the app, and didn't use browser back/forward
                //IE seems to have a bug where it stops updating the URL it
                //shows the end-user at this point, but programatically it
                //appears to be correct.  Do a full app reload to get around
                //this issue.
                if (browser.version < 7) {
                    currentHref = document.location.href;
                    document.location.reload();
                } else {
					if (getHash() != getIframeHash()) {
						// this.iframe.src = this.blankURL + hash;
						var sourceToSet = historyFrameSourcePrefix + getHash();
						getHistoryFrame().src = sourceToSet;
					}
                }
            }
        }

        if (browser.safari) {
            // For Safari, we have to check to see if history.length changed.
            if (currentHistoryLength >= 0 && history.length != currentHistoryLength) {
                //alert("did change: " + history.length + ", " + historyHash.length + "|" + historyHash[history.length] + "|>" + historyHash.join("|"));
                // If it did change, then we have to look the old state up
                // in our hand-maintained array since document.location.hash
                // won't have changed, then call back into BrowserManager.
                currentHistoryLength = history.length;
                var flexAppUrl = historyHash[currentHistoryLength];
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
                _storeStates();
            }
        }
        if (browser.firefox) {
            if (currentHref != document.location.href) {
                var bsl = backStack.length;

                var urlActions = {
                    back: false, 
                    forward: false, 
                    set: false
                }

                if ((window.location.hash == initialHash || window.location.href == initialHref) && (bsl == 1)) {
                    urlActions.back = true;
                    // FIXME: could this ever be a forward button?
                    // we can't clear it because we still need to check for forwards. Ugg.
                    // clearInterval(this.locationTimer);
                    handleBackButton();
                }
                
                // first check to see if we could have gone forward. We always halt on
                // a no-hash item.
                if (forwardStack.length > 0) {
                    if (forwardStack[forwardStack.length-1].flexAppUrl == getHash()) {
                        urlActions.forward = true;
                        handleForwardButton();
                    }
                }

                // ok, that didn't work, try someplace back in the history stack
                if ((bsl >= 2) && (backStack[bsl - 2])) {
                    if (backStack[bsl - 2].flexAppUrl == getHash()) {
                        urlActions.back = true;
                        handleBackButton();
                    }
                }
                
                if (!urlActions.back && !urlActions.forward) {
                    var foundInStacks = {
                        back: -1, 
                        forward: -1
                    }

                    for (var i = 0; i < backStack.length; i++) {
                        if (backStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.back = i;
                        }
                    }
                    for (var i = 0; i < forwardStack.length; i++) {
                        if (forwardStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.forward = i;
                        }
                    }
                    handleArbitraryUrl();
                }

                // Firefox changed; do a callback into BrowserManager to tell it.
                currentHref = document.location.href;
                var flexAppUrl = getHash();
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
            }
        }
        //setTimeout(checkForUrlChange, 50);
    }

    /* Write an anchor into the page to legitimize it as a URL for Firefox et al. */
    function addAnchor(flexAppUrl)
    {
       if (document.getElementsByName(flexAppUrl).length == 0) {
           getAnchorElement().innerHTML += "<a name='" + flexAppUrl + "'>" + flexAppUrl + "</a>";
       }
    }

    var _initialize = function () {
        if (browser.ie)
        {
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    var iframe_location = (new String(s.src)).replace("history.js", "historyFrame.html");
                }
            }
            historyFrameSourcePrefix = iframe_location + "?";
            var src = historyFrameSourcePrefix;

            var iframe = document.createElement("iframe");
            iframe.id = 'ie_historyFrame';
            iframe.name = 'ie_historyFrame';
            //iframe.src = historyFrameSourcePrefix;
            try {
                document.body.appendChild(iframe);
            } catch(e) {
                setTimeout(function() {
                    document.body.appendChild(iframe);
                }, 0);
            }
        }

        if (browser.safari)
        {
            var rememberDiv = document.createElement("div");
            rememberDiv.id = 'safari_rememberDiv';
            document.body.appendChild(rememberDiv);
            rememberDiv.innerHTML = '<input type="text" id="safari_remember_field" style="width: 500px;">';

            var formDiv = document.createElement("div");
            formDiv.id = 'safari_formDiv';
            document.body.appendChild(formDiv);

            var reloader_content = document.createElement('div');
            reloader_content.id = 'safarireloader';
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    html = (new String(s.src)).replace(".js", ".html");
                }
            }
            reloader_content.innerHTML = '<iframe id="safarireloader-iframe" src="about:blank" frameborder="no" scrolling="no"></iframe>';
            document.body.appendChild(reloader_content);
            reloader_content.style.position = 'absolute';
            reloader_content.style.left = reloader_content.style.top = '-9999px';
            iframe = reloader_content.getElementsByTagName('iframe')[0];

            if (document.getElementById("safari_remember_field").value != "" ) {
                historyHash = document.getElementById("safari_remember_field").value.split(",");
            }

        }

        if (browser.firefox)
        {
            var anchorDiv = document.createElement("div");
            anchorDiv.id = 'firefox_anchorDiv';
            document.body.appendChild(anchorDiv);
        }
        
        //setTimeout(checkForUrlChange, 50);
    }

    return {
        historyHash: historyHash, 
        backStack: function() { return backStack; }, 
        forwardStack: function() { return forwardStack }, 
        getPlayer: getPlayer, 
        initialize: function(src) {
            _initialize(src);
        }, 
        setURL: function(url) {
            document.location.href = url;
        }, 
        getURL: function() {
            return document.location.href;
        }, 
        getTitle: function() {
            return document.title;
        }, 
        setTitle: function(title) {
            try {
                backStack[backStack.length - 1].title = title;
            } catch(e) { }
            //if on safari, set the title to be the empty string. 
            if (browser.safari) {
                if (title == "") {
                    try {
                    var tmp = window.location.href.toString();
                    title = tmp.substring((tmp.lastIndexOf("/")+1), tmp.lastIndexOf("#"));
                    } catch(e) {
                        title = "";
                    }
                }
            }
            document.title = title;
        }, 
        setDefaultURL: function(def)
        {
            defaultHash = def;
            def = getHash();
            //trailing ? is important else an extra frame gets added to the history
            //when navigating back to the first page.  Alternatively could check
            //in history frame navigation to compare # and ?.
            if (browser.ie)
            {
                window['_ie_firstload'] = true;
                var sourceToSet = historyFrameSourcePrefix + def;
                var func = function() {
                    getHistoryFrame().src = sourceToSet;
                    window.location.replace("#" + def);
                    setInterval(checkForUrlChange, 50);
                }
                try {
                    func();
                } catch(e) {
                    window.setTimeout(function() { func(); }, 0);
                }
            }

            if (browser.safari)
            {
                currentHistoryLength = history.length;
                if (historyHash.length == 0) {
                    historyHash[currentHistoryLength] = def;
                    var newloc = "#" + def;
                    window.location.replace(newloc);
                } else {
                    //alert(historyHash[historyHash.length-1]);
                }
                //setHash(def);
                setInterval(checkForUrlChange, 50);
            }
            
            
            if (browser.firefox || browser.opera)
            {
                var reg = new RegExp("#" + def + "$");
                if (window.location.toString().match(reg)) {
                } else {
                    var newloc ="#" + def;
                    window.location.replace(newloc);
                }
                setInterval(checkForUrlChange, 50);
                //setHash(def);
            }

        }, 

        /* Set the current browser URL; called from inside BrowserManager to propagate
         * the application state out to the container.
         */
        setBrowserURL: function(flexAppUrl, objectId) {
            if (browser.ie && typeof objectId != "undefined") {
                currentObjectId = objectId;
            }
           //fromIframe = fromIframe || false;
           //fromFlex = fromFlex || false;
           //alert("setBrowserURL: " + flexAppUrl);
           //flexAppUrl = (flexAppUrl == "") ? defaultHash : flexAppUrl ;

           var pos = document.location.href.indexOf('#');
           var baseUrl = pos != -1 ? document.location.href.substr(0, pos) : document.location.href;
           var newUrl = baseUrl + '#' + flexAppUrl;

           if (document.location.href != newUrl && document.location.href + '#' != newUrl) {
               currentHref = newUrl;
               addHistoryEntry(baseUrl, newUrl, flexAppUrl);
               currentHistoryLength = history.length;
           }

           return false;
        }, 

        browserURLChange: function(flexAppUrl) {
            var objectId = null;
            if (browser.ie && currentObjectId != null) {
                objectId = currentObjectId;
            }
            pendingURL = '';
            
            if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                var pl = getPlayers();
                for (var i = 0; i < pl.length; i++) {
                    try {
                        pl[i].browserURLChange(flexAppUrl);
                    } catch(e) { }
                }
            } else {
                try {
                    getPlayer(objectId).browserURLChange(flexAppUrl);
                } catch(e) { }
            }

            currentObjectId = null;
        }

    }

})();

// Initialization

// Automated unit testing and other diagnostics

function setURL(url)
{
    document.location.href = url;
}

function backButton()
{
    history.back();
}

function forwardButton()
{
    history.forward();
}

function goForwardOrBackInHistory(step)
{
    history.go(step);
}

//BrowserHistoryUtils.addEvent(window, "load", function() { BrowserHistory.initialize(); });
(function(i) {
    var u =navigator.userAgent;var e=/*@cc_on!@*/false; 
    var st = setTimeout;
    if(/webkit/i.test(u)){
        st(function(){
            var dr=document.readyState;
            if(dr=="loaded"||dr=="complete"){i()}
            else{st(arguments.callee,10);}},10);
    } else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u))){
        document.addEventListener("DOMContentLoaded",i,false);
    } else if(e){
    (function(){
        var t=document.createElement('doc:rdy');
        try{t.doScroll('left');
            i();t=null;
        }catch(e){st(arguments.callee,0);}})();
    } else{
        window.onload=i;
    }
})( function() {BrowserHistory.initialize();} );



FILE NAME: historyFrame

CBB >bin-debug Folder>
FILE NAME:AC_OETags
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			} else if (versionRevision[0] == "b") {
				versionRevision = versionRevision.substring(1);
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  var qIndex = src.indexOf('?');
  if ( qIndex != -1)
  {
    // Add the extention (if needed) before the query params
    var path = src.substring(0, qIndex);
    if (path.length >= ext.length && path.lastIndexOf(ext) == (path.length - ext.length))
      return src;
    else
      return src.replace(/\?/, ext+'?'); 
  }
  else
  {
    // Add the extension (if needed) to the end of the URL
    if (src.length >= ext.length && src.lastIndexOf(ext) == (src.length - ext.length))
      return src;  // Already have extension
    else
      return src + ext;
  }
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		str += '>';
  		for (var i in params)
  			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '</object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "id":
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

CBB >bin-debug Folder>
FILE NAME: cbb-firefox document 
FILE NAME: cbb swf file
FILE NAME: html-template - file
FILE NAME: playerProductInstall ? swf file

CBB >bin-release Folder>assets Folder
FILE NAME: wolfline description.jpg


CBB >bin-release Folder>history Folder
FILE NAME:history:cascading style sheet

/* This CSS stylesheet defines styles used by required elements in a flex application page that supports browser history */

#ie_historyFrame { width: 0px; height: 0px; display:none }
#firefox_anchorDiv { width: 0px; height: 0px; display:none }
#safari_formDiv { width: 0px; height: 0px; display:none }
#safari_rememberDiv { width: 0px; height: 0px; display:none }

FILE NAME:history jscript script file
BrowserHistoryUtils = {
    addEvent: function(elm, evType, fn, useCapture) {
        useCapture = useCapture || false;
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        }
        else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        }
        else {
            elm['on' + evType] = fn;
        }
    }
}

BrowserHistory = (function() {
    // type of browser
    var browser = {
        ie: false, 
        firefox: false, 
        safari: false, 
        opera: false, 
        version: -1
    };

    // if setDefaultURL has been called, our first clue
    // that the SWF is ready and listening
    //var swfReady = false;

    // the URL we'll send to the SWF once it is ready
    //var pendingURL = '';

    // Default app state URL to use when no fragment ID present
    var defaultHash = '';

    // Last-known app state URL
    var currentHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHash = document.location.hash;

    // History frame source URL prefix (used only by IE)
    var historyFrameSourcePrefix = 'history/historyFrame.html?';

    // History maintenance (used only by Safari)
    var currentHistoryLength = -1;

    var historyHash = [];

    var initialState = createState(initialHref, initialHref + '#' + initialHash, initialHash);

    var backStack = [];
    var forwardStack = [];

    var currentObjectId = null;

    //UserAgent detection
    var useragent = navigator.userAgent.toLowerCase();

    if (useragent.indexOf("opera") != -1) {
        browser.opera = true;
    } else if (useragent.indexOf("msie") != -1) {
        browser.ie = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('msie') + 4));
    } else if (useragent.indexOf("safari") != -1) {
        browser.safari = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('safari') + 7));
    } else if (useragent.indexOf("gecko") != -1) {
        browser.firefox = true;
    }

    if (browser.ie == true && browser.version == 7) {
        window["_ie_firstload"] = false;
    }

    // Accessor functions for obtaining specific elements of the page.
    function getHistoryFrame()
    {
        return document.getElementById('ie_historyFrame');
    }

    function getAnchorElement()
    {
        return document.getElementById('firefox_anchorDiv');
    }

    function getFormElement()
    {
        return document.getElementById('safari_formDiv');
    }

    function getRememberElement()
    {
        return document.getElementById("safari_remember_field");
    }

    // Get the Flash player object for performing ExternalInterface callbacks.
    // Updated for changes to SWFObject2.
    function getPlayer(id) {
		if (id && document.getElementById(id)) {
			var r = document.getElementById(id);
			if (typeof r.SetVariable != "undefined") {
				return r;
			}
			else {
				var o = r.getElementsByTagName("object");
				var e = r.getElementsByTagName("embed");
				if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
					return o[0];
				}
				else if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
					return e[0];
				}
			}
		}
		else {
			var o = document.getElementsByTagName("object");
			var e = document.getElementsByTagName("embed");
			if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
				return e[0];
			}
			else if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
				return o[0];
			}
			else if (o.length > 1 && typeof o[1].SetVariable != "undefined") {
				return o[1];
			}
		}
		return undefined;
	}
    
    function getPlayers() {
        var players = [];
        if (players.length == 0) {
            var tmp = document.getElementsByTagName('object');
            players = tmp;
        }
        
        if (players.length == 0 || players[0].object == null) {
            var tmp = document.getElementsByTagName('embed');
            players = tmp;
        }
        return players;
    }

	function getIframeHash() {
		var doc = getHistoryFrame().contentWindow.document;
		var hash = String(doc.location.search);
		if (hash.length == 1 && hash.charAt(0) == "?") {
			hash = "";
		}
		else if (hash.length >= 2 && hash.charAt(0) == "?") {
			hash = hash.substring(1);
		}
		return hash;
	}

    /* Get the current location hash excluding the '#' symbol. */
    function getHash() {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       var idx = document.location.href.indexOf('#');
       return (idx >= 0) ? document.location.href.substr(idx+1) : '';
    }

    /* Get the current location hash excluding the '#' symbol. */
    function setHash(hash) {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       if (hash == '') hash = '#'
       document.location.hash = hash;
    }

    function createState(baseUrl, newUrl, flexAppUrl) {
        return { 'baseUrl': baseUrl, 'newUrl': newUrl, 'flexAppUrl': flexAppUrl, 'title': null };
    }

    /* Add a history entry to the browser.
     *   baseUrl: the portion of the location prior to the '#'
     *   newUrl: the entire new URL, including '#' and following fragment
     *   flexAppUrl: the portion of the location following the '#' only
     */
    function addHistoryEntry(baseUrl, newUrl, flexAppUrl) {

        //delete all the history entries
        forwardStack = [];

        if (browser.ie) {
            //Check to see if we are being asked to do a navigate for the first
            //history entry, and if so ignore, because it's coming from the creation
            //of the history iframe
            if (flexAppUrl == defaultHash && document.location.href == initialHref && window['_ie_firstload']) {
                currentHref = initialHref;
                return;
            }
            if ((!flexAppUrl || flexAppUrl == defaultHash) && window['_ie_firstload']) {
                newUrl = baseUrl + '#' + defaultHash;
                flexAppUrl = defaultHash;
            } else {
                // for IE, tell the history frame to go somewhere without a '#'
                // in order to get this entry into the browser history.
                getHistoryFrame().src = historyFrameSourcePrefix + flexAppUrl;
            }
            setHash(flexAppUrl);
        } else {

            //ADR
            if (backStack.length == 0 && initialState.flexAppUrl == flexAppUrl) {
                initialState = createState(baseUrl, newUrl, flexAppUrl);
            } else if(backStack.length > 0 && backStack[backStack.length - 1].flexAppUrl == flexAppUrl) {
                backStack[backStack.length - 1] = createState(baseUrl, newUrl, flexAppUrl);
            }

            if (browser.safari) {
                // for Safari, submit a form whose action points to the desired URL
                if (browser.version <= 419.3) {
                    var file = window.location.pathname.toString();
                    file = file.substring(file.lastIndexOf("/")+1);
                    getFormElement().innerHTML = '<form name="historyForm" action="'+file+'#' + flexAppUrl + '" method="GET"></form>';
                    //get the current elements and add them to the form
                    var qs = window.location.search.substring(1);
                    var qs_arr = qs.split("&");
                    for (var i = 0; i < qs_arr.length; i++) {
                        var tmp = qs_arr[i].split("=");
                        var elem = document.createElement("input");
                        elem.type = "hidden";
                        elem.name = tmp[0];
                        elem.value = tmp[1];
                        document.forms.historyForm.appendChild(elem);
                    }
                    document.forms.historyForm.submit();
                } else {
                    top.location.hash = flexAppUrl;
                }
                // We also have to maintain the history by hand for Safari
                historyHash[history.length] = flexAppUrl;
                _storeStates();
            } else {
                // Otherwise, write an anchor into the page and tell the browser to go there
                addAnchor(flexAppUrl);
                setHash(flexAppUrl);
            }
        }
        backStack.push(createState(baseUrl, newUrl, flexAppUrl));
    }

    function _storeStates() {
        if (browser.safari) {
            getRememberElement().value = historyHash.join(",");
        }
    }

    function handleBackButton() {
        //The "current" page is always at the top of the history stack.
        var current = backStack.pop();
        if (!current) { return; }
        var last = backStack[backStack.length - 1];
        if (!last && backStack.length == 0){
            last = initialState;
        }
        forwardStack.push(current);
    }

    function handleForwardButton() {
        //summary: private method. Do not call this directly.

        var last = forwardStack.pop();
        if (!last) { return; }
        backStack.push(last);
    }

    function handleArbitraryUrl() {
        //delete all the history entries
        forwardStack = [];
    }

    /* Called periodically to poll to see if we need to detect navigation that has occurred */
    function checkForUrlChange() {

        if (browser.ie) {
            if (currentHref != document.location.href && currentHref + '#' != document.location.href) {
                //This occurs when the user has navigated to a specific URL
                //within the app, and didn't use browser back/forward
                //IE seems to have a bug where it stops updating the URL it
                //shows the end-user at this point, but programatically it
                //appears to be correct.  Do a full app reload to get around
                //this issue.
                if (browser.version < 7) {
                    currentHref = document.location.href;
                    document.location.reload();
                } else {
					if (getHash() != getIframeHash()) {
						// this.iframe.src = this.blankURL + hash;
						var sourceToSet = historyFrameSourcePrefix + getHash();
						getHistoryFrame().src = sourceToSet;
					}
                }
            }
        }

        if (browser.safari) {
            // For Safari, we have to check to see if history.length changed.
            if (currentHistoryLength >= 0 && history.length != currentHistoryLength) {
                //alert("did change: " + history.length + ", " + historyHash.length + "|" + historyHash[history.length] + "|>" + historyHash.join("|"));
                // If it did change, then we have to look the old state up
                // in our hand-maintained array since document.location.hash
                // won't have changed, then call back into BrowserManager.
                currentHistoryLength = history.length;
                var flexAppUrl = historyHash[currentHistoryLength];
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
                _storeStates();
            }
        }
        if (browser.firefox) {
            if (currentHref != document.location.href) {
                var bsl = backStack.length;

                var urlActions = {
                    back: false, 
                    forward: false, 
                    set: false
                }

                if ((window.location.hash == initialHash || window.location.href == initialHref) && (bsl == 1)) {
                    urlActions.back = true;
                    // FIXME: could this ever be a forward button?
                    // we can't clear it because we still need to check for forwards. Ugg.
                    // clearInterval(this.locationTimer);
                    handleBackButton();
                }
                
                // first check to see if we could have gone forward. We always halt on
                // a no-hash item.
                if (forwardStack.length > 0) {
                    if (forwardStack[forwardStack.length-1].flexAppUrl == getHash()) {
                        urlActions.forward = true;
                        handleForwardButton();
                    }
                }

                // ok, that didn't work, try someplace back in the history stack
                if ((bsl >= 2) && (backStack[bsl - 2])) {
                    if (backStack[bsl - 2].flexAppUrl == getHash()) {
                        urlActions.back = true;
                        handleBackButton();
                    }
                }
                
                if (!urlActions.back && !urlActions.forward) {
                    var foundInStacks = {
                        back: -1, 
                        forward: -1
                    }

                    for (var i = 0; i < backStack.length; i++) {
                        if (backStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.back = i;
                        }
                    }
                    for (var i = 0; i < forwardStack.length; i++) {
                        if (forwardStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.forward = i;
                        }
                    }
                    handleArbitraryUrl();
                }

                // Firefox changed; do a callback into BrowserManager to tell it.
                currentHref = document.location.href;
                var flexAppUrl = getHash();
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
            }
        }
        //setTimeout(checkForUrlChange, 50);
    }

    /* Write an anchor into the page to legitimize it as a URL for Firefox et al. */
    function addAnchor(flexAppUrl)
    {
       if (document.getElementsByName(flexAppUrl).length == 0) {
           getAnchorElement().innerHTML += "<a name='" + flexAppUrl + "'>" + flexAppUrl + "</a>";
       }
    }

    var _initialize = function () {
        if (browser.ie)
        {
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    var iframe_location = (new String(s.src)).replace("history.js", "historyFrame.html");
                }
            }
            historyFrameSourcePrefix = iframe_location + "?";
            var src = historyFrameSourcePrefix;

            var iframe = document.createElement("iframe");
            iframe.id = 'ie_historyFrame';
            iframe.name = 'ie_historyFrame';
            //iframe.src = historyFrameSourcePrefix;
            try {
                document.body.appendChild(iframe);
            } catch(e) {
                setTimeout(function() {
                    document.body.appendChild(iframe);
                }, 0);
            }
        }

        if (browser.safari)
        {
            var rememberDiv = document.createElement("div");
            rememberDiv.id = 'safari_rememberDiv';
            document.body.appendChild(rememberDiv);
            rememberDiv.innerHTML = '<input type="text" id="safari_remember_field" style="width: 500px;">';

            var formDiv = document.createElement("div");
            formDiv.id = 'safari_formDiv';
            document.body.appendChild(formDiv);

            var reloader_content = document.createElement('div');
            reloader_content.id = 'safarireloader';
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    html = (new String(s.src)).replace(".js", ".html");
                }
            }
            reloader_content.innerHTML = '<iframe id="safarireloader-iframe" src="about:blank" frameborder="no" scrolling="no"></iframe>';
            document.body.appendChild(reloader_content);
            reloader_content.style.position = 'absolute';
            reloader_content.style.left = reloader_content.style.top = '-9999px';
            iframe = reloader_content.getElementsByTagName('iframe')[0];

            if (document.getElementById("safari_remember_field").value != "" ) {
                historyHash = document.getElementById("safari_remember_field").value.split(",");
            }

        }

        if (browser.firefox)
        {
            var anchorDiv = document.createElement("div");
            anchorDiv.id = 'firefox_anchorDiv';
            document.body.appendChild(anchorDiv);
        }
        
        //setTimeout(checkForUrlChange, 50);
    }

    return {
        historyHash: historyHash, 
        backStack: function() { return backStack; }, 
        forwardStack: function() { return forwardStack }, 
        getPlayer: getPlayer, 
        initialize: function(src) {
            _initialize(src);
        }, 
        setURL: function(url) {
            document.location.href = url;
        }, 
        getURL: function() {
            return document.location.href;
        }, 
        getTitle: function() {
            return document.title;
        }, 
        setTitle: function(title) {
            try {
                backStack[backStack.length - 1].title = title;
            } catch(e) { }
            //if on safari, set the title to be the empty string. 
            if (browser.safari) {
                if (title == "") {
                    try {
                    var tmp = window.location.href.toString();
                    title = tmp.substring((tmp.lastIndexOf("/")+1), tmp.lastIndexOf("#"));
                    } catch(e) {
                        title = "";
                    }
                }
            }
            document.title = title;
        }, 
        setDefaultURL: function(def)
        {
            defaultHash = def;
            def = getHash();
            //trailing ? is important else an extra frame gets added to the history
            //when navigating back to the first page.  Alternatively could check
            //in history frame navigation to compare # and ?.
            if (browser.ie)
            {
                window['_ie_firstload'] = true;
                var sourceToSet = historyFrameSourcePrefix + def;
                var func = function() {
                    getHistoryFrame().src = sourceToSet;
                    window.location.replace("#" + def);
                    setInterval(checkForUrlChange, 50);
                }
                try {
                    func();
                } catch(e) {
                    window.setTimeout(function() { func(); }, 0);
                }
            }

            if (browser.safari)
            {
                currentHistoryLength = history.length;
                if (historyHash.length == 0) {
                    historyHash[currentHistoryLength] = def;
                    var newloc = "#" + def;
                    window.location.replace(newloc);
                } else {
                    //alert(historyHash[historyHash.length-1]);
                }
                //setHash(def);
                setInterval(checkForUrlChange, 50);
            }
            
            
            if (browser.firefox || browser.opera)
            {
                var reg = new RegExp("#" + def + "$");
                if (window.location.toString().match(reg)) {
                } else {
                    var newloc ="#" + def;
                    window.location.replace(newloc);
                }
                setInterval(checkForUrlChange, 50);
                //setHash(def);
            }

        }, 

        /* Set the current browser URL; called from inside BrowserManager to propagate
         * the application state out to the container.
         */
        setBrowserURL: function(flexAppUrl, objectId) {
            if (browser.ie && typeof objectId != "undefined") {
                currentObjectId = objectId;
            }
           //fromIframe = fromIframe || false;
           //fromFlex = fromFlex || false;
           //alert("setBrowserURL: " + flexAppUrl);
           //flexAppUrl = (flexAppUrl == "") ? defaultHash : flexAppUrl ;

           var pos = document.location.href.indexOf('#');
           var baseUrl = pos != -1 ? document.location.href.substr(0, pos) : document.location.href;
           var newUrl = baseUrl + '#' + flexAppUrl;

           if (document.location.href != newUrl && document.location.href + '#' != newUrl) {
               currentHref = newUrl;
               addHistoryEntry(baseUrl, newUrl, flexAppUrl);
               currentHistoryLength = history.length;
           }

           return false;
        }, 

        browserURLChange: function(flexAppUrl) {
            var objectId = null;
            if (browser.ie && currentObjectId != null) {
                objectId = currentObjectId;
            }
            pendingURL = '';
            
            if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                var pl = getPlayers();
                for (var i = 0; i < pl.length; i++) {
                    try {
                        pl[i].browserURLChange(flexAppUrl);
                    } catch(e) { }
                }
            } else {
                try {
                    getPlayer(objectId).browserURLChange(flexAppUrl);
                } catch(e) { }
            }

            currentObjectId = null;
        }

    }

})();

// Initialization

// Automated unit testing and other diagnostics

function setURL(url)
{
    document.location.href = url;
}

function backButton()
{
    history.back();
}

function forwardButton()
{
    history.forward();
}

function goForwardOrBackInHistory(step)
{
    history.go(step);
}

//BrowserHistoryUtils.addEvent(window, "load", function() { BrowserHistory.initialize(); });
(function(i) {
    var u =navigator.userAgent;var e=/*@cc_on!@*/false; 
    var st = setTimeout;
    if(/webkit/i.test(u)){
        st(function(){
            var dr=document.readyState;
            if(dr=="loaded"||dr=="complete"){i()}
            else{st(arguments.callee,10);}},10);
    } else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u))){
        document.addEventListener("DOMContentLoaded",i,false);
    } else if(e){
    (function(){
        var t=document.createElement('doc:rdy');
        try{t.doScroll('left');
            i();t=null;
        }catch(e){st(arguments.callee,0);}})();
    } else{
        window.onload=i;
    }
})( function() {BrowserHistory.initialize();} );


CBB >bin-release Folder>history Folder

FILE NAME:History Frame

CBB >bin-release Folder>
FILE NAME:.ds_Store:DS_Store File
FILE NAME:cbb: firefox document
FILE NAME:cbb swf file
FILE NAME:html-template, file
FILE NAME:playerProductionInstall,swf file

FILE NAME:AC_OETags
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			} else if (versionRevision[0] == "b") {
				versionRevision = versionRevision.substring(1);
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  var qIndex = src.indexOf('?');
  if ( qIndex != -1)
  {
    // Add the extention (if needed) before the query params
    var path = src.substring(0, qIndex);
    if (path.length >= ext.length && path.lastIndexOf(ext) == (path.length - ext.length))
      return src;
    else
      return src.replace(/\?/, ext+'?'); 
  }
  else
  {
    // Add the extension (if needed) to the end of the URL
    if (src.length >= ext.length && src.lastIndexOf(ext) == (src.length - ext.length))
      return src;  // Already have extension
    else
      return src + ext;
  }
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		str += '>';
  		for (var i in params)
  			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '</object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "id":
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

CBB >html-template Folder>history Folder

FILE NAME:History CSS
/* This CSS stylesheet defines styles used by required elements in a flex application page that supports browser history */

#ie_historyFrame { width: 0px; height: 0px; display:none }
#firefox_anchorDiv { width: 0px; height: 0px; display:none }
#safari_formDiv { width: 0px; height: 0px; display:none }
#safari_rememberDiv { width: 0px; height: 0px; display:none }

FILE NAME:History Jscript
BrowserHistoryUtils = {
    addEvent: function(elm, evType, fn, useCapture) {
        useCapture = useCapture || false;
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        }
        else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        }
        else {
            elm['on' + evType] = fn;
        }
    }
}

BrowserHistory = (function() {
    // type of browser
    var browser = {
        ie: false, 
        firefox: false, 
        safari: false, 
        opera: false, 
        version: -1
    };

    // if setDefaultURL has been called, our first clue
    // that the SWF is ready and listening
    //var swfReady = false;

    // the URL we'll send to the SWF once it is ready
    //var pendingURL = '';

    // Default app state URL to use when no fragment ID present
    var defaultHash = '';

    // Last-known app state URL
    var currentHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHref = document.location.href;

    // Initial URL (used only by IE)
    var initialHash = document.location.hash;

    // History frame source URL prefix (used only by IE)
    var historyFrameSourcePrefix = 'history/historyFrame.html?';

    // History maintenance (used only by Safari)
    var currentHistoryLength = -1;

    var historyHash = [];

    var initialState = createState(initialHref, initialHref + '#' + initialHash, initialHash);

    var backStack = [];
    var forwardStack = [];

    var currentObjectId = null;

    //UserAgent detection
    var useragent = navigator.userAgent.toLowerCase();

    if (useragent.indexOf("opera") != -1) {
        browser.opera = true;
    } else if (useragent.indexOf("msie") != -1) {
        browser.ie = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('msie') + 4));
    } else if (useragent.indexOf("safari") != -1) {
        browser.safari = true;
        browser.version = parseFloat(useragent.substring(useragent.indexOf('safari') + 7));
    } else if (useragent.indexOf("gecko") != -1) {
        browser.firefox = true;
    }

    if (browser.ie == true && browser.version == 7) {
        window["_ie_firstload"] = false;
    }

    // Accessor functions for obtaining specific elements of the page.
    function getHistoryFrame()
    {
        return document.getElementById('ie_historyFrame');
    }

    function getAnchorElement()
    {
        return document.getElementById('firefox_anchorDiv');
    }

    function getFormElement()
    {
        return document.getElementById('safari_formDiv');
    }

    function getRememberElement()
    {
        return document.getElementById("safari_remember_field");
    }

    // Get the Flash player object for performing ExternalInterface callbacks.
    // Updated for changes to SWFObject2.
    function getPlayer(id) {
		if (id && document.getElementById(id)) {
			var r = document.getElementById(id);
			if (typeof r.SetVariable != "undefined") {
				return r;
			}
			else {
				var o = r.getElementsByTagName("object");
				var e = r.getElementsByTagName("embed");
				if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
					return o[0];
				}
				else if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
					return e[0];
				}
			}
		}
		else {
			var o = document.getElementsByTagName("object");
			var e = document.getElementsByTagName("embed");
			if (e.length > 0 && typeof e[0].SetVariable != "undefined") {
				return e[0];
			}
			else if (o.length > 0 && typeof o[0].SetVariable != "undefined") {
				return o[0];
			}
			else if (o.length > 1 && typeof o[1].SetVariable != "undefined") {
				return o[1];
			}
		}
		return undefined;
	}
    
    function getPlayers() {
        var players = [];
        if (players.length == 0) {
            var tmp = document.getElementsByTagName('object');
            players = tmp;
        }
        
        if (players.length == 0 || players[0].object == null) {
            var tmp = document.getElementsByTagName('embed');
            players = tmp;
        }
        return players;
    }

	function getIframeHash() {
		var doc = getHistoryFrame().contentWindow.document;
		var hash = String(doc.location.search);
		if (hash.length == 1 && hash.charAt(0) == "?") {
			hash = "";
		}
		else if (hash.length >= 2 && hash.charAt(0) == "?") {
			hash = hash.substring(1);
		}
		return hash;
	}

    /* Get the current location hash excluding the '#' symbol. */
    function getHash() {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       var idx = document.location.href.indexOf('#');
       return (idx >= 0) ? document.location.href.substr(idx+1) : '';
    }

    /* Get the current location hash excluding the '#' symbol. */
    function setHash(hash) {
       // It would be nice if we could use document.location.hash here,
       // but it's faulty sometimes.
       if (hash == '') hash = '#'
       document.location.hash = hash;
    }

    function createState(baseUrl, newUrl, flexAppUrl) {
        return { 'baseUrl': baseUrl, 'newUrl': newUrl, 'flexAppUrl': flexAppUrl, 'title': null };
    }

    /* Add a history entry to the browser.
     *   baseUrl: the portion of the location prior to the '#'
     *   newUrl: the entire new URL, including '#' and following fragment
     *   flexAppUrl: the portion of the location following the '#' only
     */
    function addHistoryEntry(baseUrl, newUrl, flexAppUrl) {

        //delete all the history entries
        forwardStack = [];

        if (browser.ie) {
            //Check to see if we are being asked to do a navigate for the first
            //history entry, and if so ignore, because it's coming from the creation
            //of the history iframe
            if (flexAppUrl == defaultHash && document.location.href == initialHref && window['_ie_firstload']) {
                currentHref = initialHref;
                return;
            }
            if ((!flexAppUrl || flexAppUrl == defaultHash) && window['_ie_firstload']) {
                newUrl = baseUrl + '#' + defaultHash;
                flexAppUrl = defaultHash;
            } else {
                // for IE, tell the history frame to go somewhere without a '#'
                // in order to get this entry into the browser history.
                getHistoryFrame().src = historyFrameSourcePrefix + flexAppUrl;
            }
            setHash(flexAppUrl);
        } else {

            //ADR
            if (backStack.length == 0 && initialState.flexAppUrl == flexAppUrl) {
                initialState = createState(baseUrl, newUrl, flexAppUrl);
            } else if(backStack.length > 0 && backStack[backStack.length - 1].flexAppUrl == flexAppUrl) {
                backStack[backStack.length - 1] = createState(baseUrl, newUrl, flexAppUrl);
            }

            if (browser.safari) {
                // for Safari, submit a form whose action points to the desired URL
                if (browser.version <= 419.3) {
                    var file = window.location.pathname.toString();
                    file = file.substring(file.lastIndexOf("/")+1);
                    getFormElement().innerHTML = '<form name="historyForm" action="'+file+'#' + flexAppUrl + '" method="GET"></form>';
                    //get the current elements and add them to the form
                    var qs = window.location.search.substring(1);
                    var qs_arr = qs.split("&");
                    for (var i = 0; i < qs_arr.length; i++) {
                        var tmp = qs_arr[i].split("=");
                        var elem = document.createElement("input");
                        elem.type = "hidden";
                        elem.name = tmp[0];
                        elem.value = tmp[1];
                        document.forms.historyForm.appendChild(elem);
                    }
                    document.forms.historyForm.submit();
                } else {
                    top.location.hash = flexAppUrl;
                }
                // We also have to maintain the history by hand for Safari
                historyHash[history.length] = flexAppUrl;
                _storeStates();
            } else {
                // Otherwise, write an anchor into the page and tell the browser to go there
                addAnchor(flexAppUrl);
                setHash(flexAppUrl);
            }
        }
        backStack.push(createState(baseUrl, newUrl, flexAppUrl));
    }

    function _storeStates() {
        if (browser.safari) {
            getRememberElement().value = historyHash.join(",");
        }
    }

    function handleBackButton() {
        //The "current" page is always at the top of the history stack.
        var current = backStack.pop();
        if (!current) { return; }
        var last = backStack[backStack.length - 1];
        if (!last && backStack.length == 0){
            last = initialState;
        }
        forwardStack.push(current);
    }

    function handleForwardButton() {
        //summary: private method. Do not call this directly.

        var last = forwardStack.pop();
        if (!last) { return; }
        backStack.push(last);
    }

    function handleArbitraryUrl() {
        //delete all the history entries
        forwardStack = [];
    }

    /* Called periodically to poll to see if we need to detect navigation that has occurred */
    function checkForUrlChange() {

        if (browser.ie) {
            if (currentHref != document.location.href && currentHref + '#' != document.location.href) {
                //This occurs when the user has navigated to a specific URL
                //within the app, and didn't use browser back/forward
                //IE seems to have a bug where it stops updating the URL it
                //shows the end-user at this point, but programatically it
                //appears to be correct.  Do a full app reload to get around
                //this issue.
                if (browser.version < 7) {
                    currentHref = document.location.href;
                    document.location.reload();
                } else {
					if (getHash() != getIframeHash()) {
						// this.iframe.src = this.blankURL + hash;
						var sourceToSet = historyFrameSourcePrefix + getHash();
						getHistoryFrame().src = sourceToSet;
					}
                }
            }
        }

        if (browser.safari) {
            // For Safari, we have to check to see if history.length changed.
            if (currentHistoryLength >= 0 && history.length != currentHistoryLength) {
                //alert("did change: " + history.length + ", " + historyHash.length + "|" + historyHash[history.length] + "|>" + historyHash.join("|"));
                // If it did change, then we have to look the old state up
                // in our hand-maintained array since document.location.hash
                // won't have changed, then call back into BrowserManager.
                currentHistoryLength = history.length;
                var flexAppUrl = historyHash[currentHistoryLength];
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
                _storeStates();
            }
        }
        if (browser.firefox) {
            if (currentHref != document.location.href) {
                var bsl = backStack.length;

                var urlActions = {
                    back: false, 
                    forward: false, 
                    set: false
                }

                if ((window.location.hash == initialHash || window.location.href == initialHref) && (bsl == 1)) {
                    urlActions.back = true;
                    // FIXME: could this ever be a forward button?
                    // we can't clear it because we still need to check for forwards. Ugg.
                    // clearInterval(this.locationTimer);
                    handleBackButton();
                }
                
                // first check to see if we could have gone forward. We always halt on
                // a no-hash item.
                if (forwardStack.length > 0) {
                    if (forwardStack[forwardStack.length-1].flexAppUrl == getHash()) {
                        urlActions.forward = true;
                        handleForwardButton();
                    }
                }

                // ok, that didn't work, try someplace back in the history stack
                if ((bsl >= 2) && (backStack[bsl - 2])) {
                    if (backStack[bsl - 2].flexAppUrl == getHash()) {
                        urlActions.back = true;
                        handleBackButton();
                    }
                }
                
                if (!urlActions.back && !urlActions.forward) {
                    var foundInStacks = {
                        back: -1, 
                        forward: -1
                    }

                    for (var i = 0; i < backStack.length; i++) {
                        if (backStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.back = i;
                        }
                    }
                    for (var i = 0; i < forwardStack.length; i++) {
                        if (forwardStack[i].flexAppUrl == getHash() && i != (bsl - 2)) {
                            arbitraryUrl = true;
                            foundInStacks.forward = i;
                        }
                    }
                    handleArbitraryUrl();
                }

                // Firefox changed; do a callback into BrowserManager to tell it.
                currentHref = document.location.href;
                var flexAppUrl = getHash();
                if (flexAppUrl == '') {
                    //flexAppUrl = defaultHash;
                }
                //ADR: to fix multiple
                if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                    var pl = getPlayers();
                    for (var i = 0; i < pl.length; i++) {
                        pl[i].browserURLChange(flexAppUrl);
                    }
                } else {
                    getPlayer().browserURLChange(flexAppUrl);
                }
            }
        }
        //setTimeout(checkForUrlChange, 50);
    }

    /* Write an anchor into the page to legitimize it as a URL for Firefox et al. */
    function addAnchor(flexAppUrl)
    {
       if (document.getElementsByName(flexAppUrl).length == 0) {
           getAnchorElement().innerHTML += "<a name='" + flexAppUrl + "'>" + flexAppUrl + "</a>";
       }
    }

    var _initialize = function () {
        if (browser.ie)
        {
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    var iframe_location = (new String(s.src)).replace("history.js", "historyFrame.html");
                }
            }
            historyFrameSourcePrefix = iframe_location + "?";
            var src = historyFrameSourcePrefix;

            var iframe = document.createElement("iframe");
            iframe.id = 'ie_historyFrame';
            iframe.name = 'ie_historyFrame';
            //iframe.src = historyFrameSourcePrefix;
            try {
                document.body.appendChild(iframe);
            } catch(e) {
                setTimeout(function() {
                    document.body.appendChild(iframe);
                }, 0);
            }
        }

        if (browser.safari)
        {
            var rememberDiv = document.createElement("div");
            rememberDiv.id = 'safari_rememberDiv';
            document.body.appendChild(rememberDiv);
            rememberDiv.innerHTML = '<input type="text" id="safari_remember_field" style="width: 500px;">';

            var formDiv = document.createElement("div");
            formDiv.id = 'safari_formDiv';
            document.body.appendChild(formDiv);

            var reloader_content = document.createElement('div');
            reloader_content.id = 'safarireloader';
            var scripts = document.getElementsByTagName('script');
            for (var i = 0, s; s = scripts[i]; i++) {
                if (s.src.indexOf("history.js") > -1) {
                    html = (new String(s.src)).replace(".js", ".html");
                }
            }
            reloader_content.innerHTML = '<iframe id="safarireloader-iframe" src="about:blank" frameborder="no" scrolling="no"></iframe>';
            document.body.appendChild(reloader_content);
            reloader_content.style.position = 'absolute';
            reloader_content.style.left = reloader_content.style.top = '-9999px';
            iframe = reloader_content.getElementsByTagName('iframe')[0];

            if (document.getElementById("safari_remember_field").value != "" ) {
                historyHash = document.getElementById("safari_remember_field").value.split(",");
            }

        }

        if (browser.firefox)
        {
            var anchorDiv = document.createElement("div");
            anchorDiv.id = 'firefox_anchorDiv';
            document.body.appendChild(anchorDiv);
        }
        
        //setTimeout(checkForUrlChange, 50);
    }

    return {
        historyHash: historyHash, 
        backStack: function() { return backStack; }, 
        forwardStack: function() { return forwardStack }, 
        getPlayer: getPlayer, 
        initialize: function(src) {
            _initialize(src);
        }, 
        setURL: function(url) {
            document.location.href = url;
        }, 
        getURL: function() {
            return document.location.href;
        }, 
        getTitle: function() {
            return document.title;
        }, 
        setTitle: function(title) {
            try {
                backStack[backStack.length - 1].title = title;
            } catch(e) { }
            //if on safari, set the title to be the empty string. 
            if (browser.safari) {
                if (title == "") {
                    try {
                    var tmp = window.location.href.toString();
                    title = tmp.substring((tmp.lastIndexOf("/")+1), tmp.lastIndexOf("#"));
                    } catch(e) {
                        title = "";
                    }
                }
            }
            document.title = title;
        }, 
        setDefaultURL: function(def)
        {
            defaultHash = def;
            def = getHash();
            //trailing ? is important else an extra frame gets added to the history
            //when navigating back to the first page.  Alternatively could check
            //in history frame navigation to compare # and ?.
            if (browser.ie)
            {
                window['_ie_firstload'] = true;
                var sourceToSet = historyFrameSourcePrefix + def;
                var func = function() {
                    getHistoryFrame().src = sourceToSet;
                    window.location.replace("#" + def);
                    setInterval(checkForUrlChange, 50);
                }
                try {
                    func();
                } catch(e) {
                    window.setTimeout(function() { func(); }, 0);
                }
            }

            if (browser.safari)
            {
                currentHistoryLength = history.length;
                if (historyHash.length == 0) {
                    historyHash[currentHistoryLength] = def;
                    var newloc = "#" + def;
                    window.location.replace(newloc);
                } else {
                    //alert(historyHash[historyHash.length-1]);
                }
                //setHash(def);
                setInterval(checkForUrlChange, 50);
            }
            
            
            if (browser.firefox || browser.opera)
            {
                var reg = new RegExp("#" + def + "$");
                if (window.location.toString().match(reg)) {
                } else {
                    var newloc ="#" + def;
                    window.location.replace(newloc);
                }
                setInterval(checkForUrlChange, 50);
                //setHash(def);
            }

        }, 

        /* Set the current browser URL; called from inside BrowserManager to propagate
         * the application state out to the container.
         */
        setBrowserURL: function(flexAppUrl, objectId) {
            if (browser.ie && typeof objectId != "undefined") {
                currentObjectId = objectId;
            }
           //fromIframe = fromIframe || false;
           //fromFlex = fromFlex || false;
           //alert("setBrowserURL: " + flexAppUrl);
           //flexAppUrl = (flexAppUrl == "") ? defaultHash : flexAppUrl ;

           var pos = document.location.href.indexOf('#');
           var baseUrl = pos != -1 ? document.location.href.substr(0, pos) : document.location.href;
           var newUrl = baseUrl + '#' + flexAppUrl;

           if (document.location.href != newUrl && document.location.href + '#' != newUrl) {
               currentHref = newUrl;
               addHistoryEntry(baseUrl, newUrl, flexAppUrl);
               currentHistoryLength = history.length;
           }

           return false;
        }, 

        browserURLChange: function(flexAppUrl) {
            var objectId = null;
            if (browser.ie && currentObjectId != null) {
                objectId = currentObjectId;
            }
            pendingURL = '';
            
            if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) {
                var pl = getPlayers();
                for (var i = 0; i < pl.length; i++) {
                    try {
                        pl[i].browserURLChange(flexAppUrl);
                    } catch(e) { }
                }
            } else {
                try {
                    getPlayer(objectId).browserURLChange(flexAppUrl);
                } catch(e) { }
            }

            currentObjectId = null;
        }

    }

})();

// Initialization

// Automated unit testing and other diagnostics

function setURL(url)
{
    document.location.href = url;
}

function backButton()
{
    history.back();
}

function forwardButton()
{
    history.forward();
}

function goForwardOrBackInHistory(step)
{
    history.go(step);
}

//BrowserHistoryUtils.addEvent(window, "load", function() { BrowserHistory.initialize(); });
(function(i) {
    var u =navigator.userAgent;var e=/*@cc_on!@*/false; 
    var st = setTimeout;
    if(/webkit/i.test(u)){
        st(function(){
            var dr=document.readyState;
            if(dr=="loaded"||dr=="complete"){i()}
            else{st(arguments.callee,10);}},10);
    } else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u))){
        document.addEventListener("DOMContentLoaded",i,false);
    } else if(e){
    (function(){
        var t=document.createElement('doc:rdy');
        try{t.doScroll('left');
            i();t=null;
        }catch(e){st(arguments.callee,0);}})();
    } else{
        window.onload=i;
    }
})( function() {BrowserHistory.initialize();} );
CBB >html-template folder>history folder>
FILE NAME:history Frame

CBB >html-template folder>
FILE NAME:index.template,firefox document

FILE NAME:playerProductInstall, Swf File

FILE NAME AC)OETags,File
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			} else if (versionRevision[0] == "b") {
				versionRevision = versionRevision.substring(1);
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  var qIndex = src.indexOf('?');
  if ( qIndex != -1)
  {
    // Add the extention (if needed) before the query params
    var path = src.substring(0, qIndex);
    if (path.length >= ext.length && path.lastIndexOf(ext) == (path.length - ext.length))
      return src;
    else
      return src.replace(/\?/, ext+'?'); 
  }
  else
  {
    // Add the extension (if needed) to the end of the URL
    if (src.length >= ext.length && src.lastIndexOf(ext) == (src.length - ext.length))
      return src;  // Already have extension
    else
      return src + ext;
  }
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		str += '>';
  		for (var i in params)
  			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '</object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "id":
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

CBB >libs folder>empty
CBB >src> Components Folder>
File Name:cbb_alerts:mxml file
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" showCloseButton="true" close="PopUpManager.removePopUp(this)">
	<mx:HTTPService id="userRequest" result="handleResult(event)" fault="handleFault(event)" 
	 	url="http://www.sportsactioncharts.com/charts/cbb/cbb_alerts.php">    
    </mx:HTTPService>
		
				
	 <mx:Script>
        <![CDATA[
        	import mx.automation.events.AdvancedDataGridItemSelectEvent;
        	import mx.managers.PopUpManager;
       	import mx.rpc.events.ResultEvent;
       	import mx.rpc.events.FaultEvent;
       	import mx.binding.utils.BindingUtils;
        import mx.controls.Alert;
        import mx.collections.ArrayCollection;
        import mx.utils.ArrayUtil;
        import mx.controls.advancedDataGridClasses.*;
        import mx.collections.XMLListCollection
      

        [Bindable] private var resArray:ArrayCollection;
		[Bindable] public var alertsDP:XMLListCollection;

      
          
		private function handleResult(event:ResultEvent):void
		{
			resArray = event.result.teams.team;
			//alertsDP = new XMLListCollection(event.result.Category);
		}

			
	    private function handleFault(event:FaultEvent):void
	    {
	        Alert.show(event.fault.faultString, "Error");
	    }
   			
        ]]>
    </mx:Script>
    
     <mx:Style>
     .myStyle {
        fontFamily:Verdana;
        fontSize:12;
        color:red;
        fontWeight:bold;
        fontStyle:italic;
     }
  </mx:Style>
  
  <mx:Panel x="10" y="0" width="100%" height="100%" layout="absolute" title="CBB Alerts" styleName="myStyle">
  
     <mx:AdvancedDataGrid x="34" y="41" id="cfb_adg" designViewDataType="flat" width="1266" height="558" resizableColumns="true" headerWordWrap="false" displayItemsExpanded="true" showHeaders="true" sortableColumns="true" dataProvider="{resArray}" allowMultipleSelection="false" color="#0006FF" selectionMode="singleCell" wordWrap="false">
     
     	<mx:groupedColumns>
            <mx:AdvancedDataGridColumn headerText="Date" dataField="date"/>
            <mx:AdvancedDataGridColumn headerText="Teams" dataField="teamname1"/>
            <mx:AdvancedDataGridColumnGroup headerText="Diff Win vs Loss">    
                <mx:AdvancedDataGridColumn headerText="3 Games" dataField="cum"/>
                <mx:AdvancedDataGridColumn headerText="5 Games" dataField="cum1"/>
                <mx:AdvancedDataGridColumn headerText="7 Games" dataField="cum2"/>
                </mx:AdvancedDataGridColumnGroup>
                <mx:AdvancedDataGridColumnGroup headerText="Diff ATS Win vs. Loss">    
                <mx:AdvancedDataGridColumn headerText="3 Games" dataField="diff5"/>
                <mx:AdvancedDataGridColumn headerText="5 Games" dataField="diff51"/>
                <mx:AdvancedDataGridColumn headerText="7 Games" dataField="diff52"/>
                </mx:AdvancedDataGridColumnGroup>
                <mx:AdvancedDataGridColumnGroup headerText="Diff Over vs. Under Win vs Loss">    
                <mx:AdvancedDataGridColumn headerText="3 Games" dataField="diff7"/>
                <mx:AdvancedDataGridColumn headerText="5 Games" dataField="diff71"/>
                <mx:AdvancedDataGridColumn headerText="7 Games" dataField="diff72"/>
            </mx:AdvancedDataGridColumnGroup>   
        </mx:groupedColumns>
		
     </mx:AdvancedDataGrid>
     
  </mx:Panel>

</mx:TitleWindow>

CBB>src>assets>
File names: frequency.jpg ,wolflinedescription.jpg

CBB>src>
File name:cbb,MXML
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
	layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" 
	backgroundGradientColors="[#FDFBFB, #FDFBFB]"  height="711"
	initialize="send_data()" verticalScrollPolicy="auto" verticalAlign="middle" horizontalAlign="right" width="1278">
	
	 <mx:HTTPService id="userRequest" result="handleResult(event)" fault="handleFault(event)" 
	 	url="http://www.sportsactioncharts.com/charts/cbb/cbb_queries.php" showBusyCursor="true">    
    </mx:HTTPService>
		
				
	 <mx:Script>
        <![CDATA[
        	import mx.managers.PopUpManager;
        	import components.cbb_alerts;
       	import mx.rpc.events.ResultEvent;
       	import mx.rpc.events.FaultEvent;
       	import mx.binding.utils.BindingUtils;
        import mx.controls.Alert;
        import mx.collections.ArrayCollection;
        import mx.utils.ArrayUtil;
        

        
          

            // The data provider is an Array of Strings
            [Bindable]public var daysArray:Array = ["3", "5", "7", "10", "15", "20"];
            [Bindable]public var wlstrenghtArray:Array = [];
            [Bindable]public var strenghtArray:Array = ["1","2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"];
            
           
            [Bindable]public var optionArray:ArrayCollection =new ArrayCollection([
            {option:"Wolfline Win Loss", label:"cum_win_lose"}, 
            {option:"Win vs. Loss", label:"win_lose"},
            {option:"Spread", label:"h_line"},
            {option:"ATS Win vs. Loss", label:"ats_wl"},
            {option:"Wolfline ATS Win vs. Loss", label:"cum_ats_wl"},
            {option:"Over Under Line", label:"o_u"},
            {option:"Overs vs.Unders", label:"ou_wl"},
            {option:"Wolfline Over/Under", label:"cum_ou_wl"}
            ]);
                         
                      
       [Bindable] private var resArray:ArrayCollection;
       [Bindable] private var teamArray:ArrayCollection;
        
       
         private function send_data():void 
         {	
         	switch(team2CB.selectedLabel == "") 
         	{
         		case false:	
         			userRequest.send({days : daysCB.selectedLabel, team1 : dateCB.selectedLabel, team2 : team2CB.selectedItem.teamname1, options : optionsCB.selectedItem.label});
         		break;
         	
				default:
        			userRequest.send();
        		break;
            }       
         }

		private function handleResult(event:ResultEvent):void
		{
			wlstrenghtArray=[];
			horizontalreorder();
			
			if(team2CB.selectedLabel)
			{
				
				
				
				if (event.result.teams.team is ArrayCollection) {
															
  					teamArray = event.result.teams.team;
  					}
  				else  
  				{
   					teamArray = new ArrayCollection(ArrayUtil.toArray(event.result.teams.team)); 
   					
				}
					chart.dataProvider = teamArray;
					
				switch(optionsCB.selectedLabel)
				{
					case 'Wolfline Over/Under':
						
						//wltext.text = teamArray.getItemAt(0).cum;
						
						as1.displayName = teamArray.getItemAt(0).teamname1 + " at " + teamArray.getItemAt(0).teamname2 +  " -Combined";
						as2.displayName = "";
						
						wltext.text = teamArray.getItemAt(0).cum2;
						ouwltext.text = teamArray.getItemAt(0).cum3;
						atswltext.text = teamArray.getItemAt(0).cum4;
						
						wlbackground();
						
						ouwlbackground();
						
						atswlbackground();
						
					break;
				
					
					
					default:
						as1.displayName = teamArray.getItemAt(0).teamname1;
						as2.displayName = teamArray.getItemAt(0).teamname2;
						
						wltext.text = teamArray.getItemAt(0).cum2;
						ouwltext.text = teamArray.getItemAt(0).cum3;
						atswltext.text = teamArray.getItemAt(0).cum4;
						
						wlbackground();
						
						ouwlbackground();
						
						atswlbackground();
					
						
					break;
				}
					
			}						
			else
			{
				if (event.result.teams.week is ArrayCollection) {
															
  					resArray = event.result.teams.week;
  					//alert.show(resArray.getItemAt(0).update);
  					TBupdc.text= resArray.getItemAt(0).update;
  					}
  					
  				else  
  				{
   					resArray = new ArrayCollection(ArrayUtil.toArray(event.result.teams.week)); 
   					TBupdc.text= resArray.getItemAt(0).update;
				}
					//resArray = event.result.teams.week;
					if (resArray.getItemAt(0).bad_date == '1'){
						Alert.show("The current date has no games. Moving the date to next game date.");
					}				
            
   			}
        }



			private function wlbackground():void
			{
				if ((wltext.text >= '0.8') && (wltext.text <= '1.19') )
					{
						wltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((wltext.text) >= '0.8' && (wltext.text) <= '1.19' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((wltext.text) >= '1.2' && (wltext.text) <= '1.59' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((wltext.text) >= '1.6' && (wltext.text) <= '2.00' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((wltext.text) >= '-0.8' && (wltext.text) <= '-1.19' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((wltext.text) >= '-1.2' && (wltext.text) <= '-1.59' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((wltext.text) >= '-1.6' && (wltext.text) <= '-2.0' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						wltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			
			
					private function ouwlbackground():void
			{
				if ((ouwltext.text >= '0.8') && (ouwltext.text <= '1.19') )
					{
						ouwltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((ouwltext.text) >= '0.8' && (ouwltext.text) <= '1.19' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((ouwltext.text) >= '1.2' && (ouwltext.text) <= '1.59' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((ouwltext.text) >= '1.6' && (ouwltext.text) <= '2.00' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((ouwltext.text) >= '-0.8' && (ouwltext.text) <= '-1.19' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((ouwltext.text) >= '-1.2' && (ouwltext.text) <= '-1.59' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((ouwltext.text) >= '-1.6' && (ouwltext.text) <= '-2.0' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						ouwltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			private function atswlbackground():void
			{
				if ((atswltext.text >= '0.8') && (atswltext.text <= '1.19') )
					{
						atswltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((atswltext.text) >= '0.8' && (atswltext.text) <= '1.19' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((atswltext.text) >= '1.2' && (atswltext.text) <= '1.59' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((atswltext.text) >= '1.6' && (atswltext.text) <= '2.00' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((atswltext.text) >= '-0.8' && (atswltext.text) <= '-1.19' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((atswltext.text) >= '-1.2' && (atswltext.text) <= '-1.59' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((atswltext.text) >= '-1.6' && (atswltext.text) <= '-2.0' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						atswltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			private function horizontalreorder():void
			{
			var i:int;
			i=daysCB.selectedItem.toString() ;
			
			for (i; i > 0; i--)
			{
    		wlstrenghtArray.push([i]);
			}

			}

	        private function handleFault(event:FaultEvent):void
	        {
	           Alert.show(event.fault.faultString, "Error");
	        }
   
   [Bindable] private var alertWindow:cbb_alerts;
   
   private function loadAlerts():void
   {
   alertWindow= cbb_alerts(PopUpManager.createPopUp(this,cbb_alerts,true,null));
   	alertWindow.title="cbb_Alerts";
   	alertWindow.userRequest.send();
   	PopUpManager.centerPopUp(alertWindow);
   }
   
  
   			
        ]]>
    </mx:Script>


	
		<mx:HBox x="10" y="59" width="100%" height="26" horizontalGap="20">
		
		<mx:ComboBox id="dateCB" editable="false" dataProvider="{resArray}" labelField="date"  change="send_data()" width="134"></mx:ComboBox>
		<mx:ComboBox width="246" id="team2CB" dataProvider="{resArray}" labelField="teamname1" change="send_data()" editable="false"></mx:ComboBox>
		<mx:ComboBox width="68" id="daysCB" editable="false" dataProvider="{daysArray}" change="send_data()"></mx:ComboBox>
		<mx:ComboBox width="205" id="optionsCB" dataProvider="{optionArray}" labelField="option" change="send_data()"  editable="false"></mx:ComboBox>
		<mx:Button label="Chart it!" click="send_data()" />
		<mx:Button label="Alerts" click="loadAlerts()" visible="false"/>
		
		
		</mx:HBox>
	
	 <mx:SeriesSlide id="slideIn" 
        duration="1000" 
        direction="up"
    />
    
	<mx:Stroke color="red" weight="3" id="st1"/>
	<mx:Stroke color="blue" weight="3" id="st2"/>
     
    <mx:Style>
     .myStyle {
        fontFamily:Verdana;
        fontSize:12;
        color:#4691E1;
        fontWeight:bold;
        fontStyle:italic;
     }
  	</mx:Style>
  	
  	<mx:Zoom id="zoomIn" zoomWidthTo="3.5" zoomHeightTo="3.5" />
	<mx:Zoom id="zoomOut" zoomWidthTo="0.5" zoomHeightTo="0.5" />

	<mx:SeriesInterpolate id="changeEffect" duration="1000" />
	<mx:Text x="163" y="10" text="Select game" height="41" width="83"/>
	<mx:Text x="431" y="10" text="Select # of games" width="53" height="50"/>
	<mx:Text x="516.5" y="10" text="Select comparison option" height="41" width="108"/>
	<mx:Panel x="42" y="112" width="846" height="368" layout="vertical" title="CBB"  titleStyleName="myStyle">
	
		<mx:ColumnChart id="chart" width="818" height="316"
        	showDataTips="true" fontSize="12" dataTipMode="multiple">	
        	        
       <mx:verticalAxis>
           <mx:LinearAxis id="la1"
           	title="{optionsCB.selectedItem.option}"/>
        </mx:verticalAxis>
 	        
        	       
       <mx:horizontalAxis>
           <mx:CategoryAxis id="ca1"
           		title="Games Back" 
           		displayName="Games Back"
                dataProvider="{wlstrenghtArray}"/>
        </mx:horizontalAxis>
        
          <mx:horizontalAxisRenderers>
           <mx:AxisRenderer id="ar1" axis="{ca1}"/>
        </mx:horizontalAxisRenderers>
       
      	
			       
        <mx:series>
        
           <mx:LineSeries
                yField="cum" id="as1"
                lineStroke="{st1}"
                interpolateValues="false"
                showDataEffect="changeEffect"
                lineSegmentRenderer=
				"mx.charts.renderers.ShadowLineRenderer">
					
           </mx:LineSeries>
				                  
            <mx:LineSeries 
                yField="cum1" id="as2"
                interpolateValues="true"
                showDataEffect="changeEffect"
                lineStroke="{st2}"
                lineSegmentRenderer=
				"mx.charts.renderers.ShadowLineRenderer" >
            	  
            </mx:LineSeries>  
          
				  
        </mx:series>
     </mx:ColumnChart>
     
	</mx:Panel>
	<mx:Legend dataProvider="{chart}" x="107" y="488"/>		
	<mx:Text x="919" y="102" text="Wolfline ??? Win Loss" width="162" height="61" color="#0C0CF5" fontStyle="normal" fontWeight="bold" fontSize="20" id="text1"/>
	<mx:TextArea x="932" y="155" width="94" fontSize="22" fontWeight="bold" id="wltext" textAlign="center" editable="false" color="#0C0CF5" borderStyle="none"/>
	<mx:TextArea x="1001" y="236" width="70" borderThickness="0" color="#0C0CF5" fontSize="22" backgroundAlpha="0.0" id="textAR2"/>
	<mx:Text x="919" y="207" text="Wolfline ??? Over/Under" width="138" height="73" color="#0C0CF5" fontWeight="bold" fontSize="20" id="text3"/>
	<mx:TextArea x="932" y="279" width="94" fontSize="22" fontWeight="bold" id="ouwltext" borderThickness="0" color="#0C0CF5" textAlign="center" editable="false"/>
	<mx:Text x="10" y="10" text="Select date" height="41" width="83"/>
	
	
	<mx:Image width="231" height="126" id="IMGalert" source="@Embed(source='assets/wolflinedescription1.jpg')" autoLoad="true" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" mouseFocusEnabled="true" scaleContent="true" bottom="50" left="271" blendMode="normal"/>
	<mx:Image width="231" height="126" id="IMfreq" source="@Embed(source='assets/frequency.jpg')" autoLoad="true" bottom="50" left="94.25" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" mouseFocusEnabled="true"/>
	<mx:Text x="261" y="669" text="Click above for description" width="170" id="TBdesc" color="#0C0CF5" fontWeight="bold" fontStyle="italic"/>
	<mx:Text x="42" y="93" text="Updated as of :" fontWeight="bold" color="#0C0CF5"/>
	<mx:TextArea x="132" y="93" height="19" id="TBupdc" editable="false" color="#0C0CF5" fontWeight="bold" borderStyle="none" borderColor="#FCFAFA"/>
	<mx:Text x="65.25" y="669" text="Click above for frequency" width="153" id="TBdesc0" color="#0C0CF5" fontWeight="bold" fontStyle="italic"/>
	<mx:Text x="919" y="331" text="Wolfline ??? ATS Win Loss" height="58" width="162" id="text2" fontSize="20" color="#0C0CF5" fontWeight="bold"/>
	<mx:TextArea x="932" y="397" width="94" id="atswltext" editable="false" borderThickness="0" fontSize="22" fontWeight="bold" textAlign="center" color="#0C0CF5"/>
	
</mx:Application>




CBB >action script Properties File
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<actionScriptProperties mainApplicationPath="cbb.mxml" version="3">
  <compiler additionalCompilerArguments="-locale en_US" copyDependentFiles="true" enableModuleDebug="true" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="true" htmlHistoryManagement="true" htmlPlayerVersion="9.0.124" htmlPlayerVersionCheck="true" outputFolderPath="bin-debug" sourceFolderPath="src" strict="true" useApolloConfig="false" verifyDigests="true" warn="true">
    <compilerSourcePath/>
    <libraryPath defaultLinkType="1">
      <libraryPathEntry kind="4" path=""/>
      <libraryPathEntry kind="1" linkType="1" path="libs"/>
    </libraryPath>
    <sourceAttachmentPath/>
  </compiler>
  <applications>
    <application path="cbb.mxml"/>
  </applications>
  <modules/>
  <buildCSSFiles/>
</actionScriptProperties>

FILE NAME:.DS_Store
FILE NAME:flexProperties
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flexProperties flexServerType="0" toolCompile="true" useServerFlexSDK="false" version="1"/>
FILE NAME:project
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>cbb</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>com.adobe.flexbuilder.project.flexbuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>com.adobe.flexbuilder.project.flexnature</nature>
		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
	</natures>
</projectDescription>
FILE NAME:cbb_queries, PHP Script
<?php
mysql_connect("mysql.sportsactioncharts.com", "adminsteve", "stradd1e");
mysql_select_db("sportsactioncharts");

$team1= $_GET['team1'] ;
$team2=  $_GET['team2'] ;
$days=  $_GET['days'] ;
$cum= $_GET['options'];


//$team1= '2010-08-10';
//$team2=  'Colorado at NY Mets' ;
//$days=  '5' ;
//$cum= 'win_lose';
mysql_real_escape_string($cum);


if ( $team1== NULL){

$dd=mysql_query("select curdate() from cfb_schedule where (select date(max(cfb_update)) from cfb_update) > curdate()") or die(mysql_error());
$num = mysql_num_rows($dd);
$which_date=$num;

if ($which_date>='0'){

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=curdate()") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='0';
//echo "$num rows exist!<br>";
if ($num == '0')
{

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=date_add(curdate(),interval 1 day)") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='1';
}
else if ($num == '0')
{

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=date_add(curdate(),interval 2 day)") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='1';
}
else if ($num == '0')
{

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=date_add(curdate(),interval 3 day)") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='1';
}
else if ($num == '0')
{

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=date_add(curdate(),interval 4 day)") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='1';
}
else if ($num == '0')
{

$res=mysql_query("select distinct date as date, schedule as team  from cfb_schedule where date=date_add(curdate(),interval 5 day)") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='1';
}
}

 else if ($which_date=='1'){
$res=mysql_query("select date, schedule as team  from cfb_schedule where date = (select date(max(cfb_update)) from cfb_update)") or die(mysql_error());
$num = mysql_num_rows($res);
}

$update=mysql_query("select cfb_update as upd from cfb_update order by cfb_update desc limit 1") or die(mysql_error());
$upd = mysql_fetch_object($update);
$cfb_upd= ($upd -> upd);

$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {

//format data into XML

$Return .= "<week><teamname1>".$ret->team."</teamname1><date>".$ret->date."</date><bad_date>".$bad_date."</bad_date><update>".$cfb_upd."</update></week>\n";
//$Return .= "<week><update>".$cfb_upd."</update></week>\n";
}

$Return .= "</teams>";

}

//---------------------------------------------------------------------------------------------------------------

elseif ( $cum== 'cum_win_lose'){

$cum='win_lose';

$res=mysql_query("select * from (select team, a.date, $cum as cum from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());


$res1=mysql_query("select * from (select team, a.date, $cum as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());

//first sql query for wolfline

$res2=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res3=mysql_query("select team as team2, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res4=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res5=mysql_query("select team as team4, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res6=mysql_query("select team as team5, sum(cum9) as cum8, cum9 from (select team, ats_wl as cum9 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res7=mysql_query("select team as team6, sum(cum11)as cum10, cum11 from (select team, ats_wl as cum11 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {


$ret1=mysql_fetch_object($res1);
$ret2=mysql_fetch_object($res2);
$ret3=mysql_fetch_object($res3);
$ret4=mysql_fetch_object($res4);
$ret5=mysql_fetch_object($res5);
$ret6=mysql_fetch_object($res6);
$ret7=mysql_fetch_object($res7);

$wl1 +=$ret->cum;
$wl2 +=$ret1->cum1;

//subtract first 5game value from second value

if ($ret2->cum <= $ret3->cum2){
if ($ret2->cum < 0){
$s1 = intval($ret2->cum * -1);
$diff = ($ret3->cum2 + ($s1))/$days;
}
else{
$diff = ($ret3->cum2 - $ret2->cum)/$days;
}}
else {
$diff = ($ret2->cum - $ret3->cum2)/$days;
}


$diff1 = ($ret4->cum4 + $ret5->cum6)/$days;

if ($ret6->cum8 <= $ret7->cum10){
if ($ret6->cum8 < 0){
$s1 = intval($ret6->cum8 * -1);
$diff2 = ($ret7->cum10 + ($s1))/$days;
}
else{
$diff2 = ($ret7->cum10 - $ret6->cum8)/$days;
}}
else {
$diff2 = ($ret6->cum8 - $ret7->cum10)/$days;
}

//$diff2 = ($ret6->cum8 + $ret7->cum10)/$days;

$diff = sprintf("%.2f",$diff);
$diff1 = sprintf("%.2f",$diff1);
$diff2 = sprintf("%.2f",$diff2);

$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$wl1."</cum><cum1>".$wl2."</cum1><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";


}

$Return .= "</teams>";
}

//-----------------------------------------------------------------------------------------------------

elseif ( $cum== 'cum_ou_wl'){

$cum='ou_wl';

$res=mysql_query("select * from (select team, a.date, $cum as cum from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());


$res1=mysql_query("select * from (select team, a.date, $cum as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());

//first sql query for wolfline

$res2=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res3=mysql_query("select team as team2, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res4=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res5=mysql_query("select team as team4, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res6=mysql_query("select team as team5, sum(cum9) as cum8, cum9 from (select team, ats_wl as cum9 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res7=mysql_query("select team as team6, sum(cum11)as cum10, cum11 from (select team, ats_wl as cum11 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());


$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {


$ret1=mysql_fetch_object($res1);
$ret2=mysql_fetch_object($res2);
$ret3=mysql_fetch_object($res3);
$ret4=mysql_fetch_object($res4);
$ret5=mysql_fetch_object($res5);
$ret6=mysql_fetch_object($res6);
$ret7=mysql_fetch_object($res7);

$ouwl1 +=(($ret->cum) + ($ret1->cum1));
//$ouwl2 +=$ret1->cum1;

//subtract first 5game value from second value

if ($ret2->cum <= $ret3->cum2){
if ($ret2->cum < 0){
$s1 = intval($ret2->cum * -1);
$diff = ($ret3->cum2 + ($s1))/$days;
}
else{
$diff = ($ret3->cum2 - $ret2->cum)/$days;
}}
else {
$diff = ($ret2->cum - $ret3->cum2)/$days;
}


$diff1 = ($ret4->cum4 + $ret5->cum6)/$days;

if ($ret6->cum8 <= $ret7->cum10){
if ($ret6->cum8 < 0){
$s1 = intval($ret6->cum8 * -1);
$diff2 = ($ret7->cum10 + ($s1))/$days;
}
else{
$diff2 = ($ret7->cum10 - $ret6->cum8)/$days;
}}
else {
$diff2 = ($ret6->cum8 - $ret7->cum10)/$days;
}

//$diff2 = ($ret6->cum8 + $ret7->cum10)/$days;

$diff = sprintf("%.2f",$diff);
$diff1 = sprintf("%.2f",$diff1);
$diff2 = sprintf("%.2f",$diff2);

//$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$ouwl1."</cum><cum1>".$ouwl2."</cum1><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";
$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$ouwl1."</cum><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";


}

$Return .= "</teams>";
}
//---------------------------------------------------------------------------------------------------------------
elseif ( $cum== 'cum_ats_wl'){

$cum='ats_wl';

$res=mysql_query("select * from (select team, a.date, $cum as cum from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());


$res1=mysql_query("select * from (select team, a.date, $cum as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());

//first sql query for wolfline

$res2=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res3=mysql_query("select team as team2, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res4=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res5=mysql_query("select team as team4, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res6=mysql_query("select team as team5, sum(cum9) as cum8, cum9 from (select team, ats_wl as cum9 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res7=mysql_query("select team as team6, sum(cum11)as cum10, cum11 from (select team, ats_wl as cum11 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());


$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {


$ret1=mysql_fetch_object($res1);
$ret2=mysql_fetch_object($res2);
$ret3=mysql_fetch_object($res3);
$ret4=mysql_fetch_object($res4);
$ret5=mysql_fetch_object($res5);
$ret6=mysql_fetch_object($res6);
$ret7=mysql_fetch_object($res7);

$atswl1 +=$ret->cum;
$atswl2 +=$ret1->cum1;
//$ouwl2 +=$ret1->cum1;

//subtract first 5game value from second value

if ($ret2->cum <= $ret3->cum2){
if ($ret2->cum < 0){
$s1 = intval($ret2->cum * -1);
$diff = ($ret3->cum2 + ($s1))/$days;
}
else{
$diff = ($ret3->cum2 - $ret2->cum)/$days;
}}
else {
$diff = ($ret2->cum - $ret3->cum2)/$days;
}


$diff1 = ($ret4->cum4 + $ret5->cum6)/$days;

if ($ret6->cum8 <= $ret7->cum10){
if ($ret6->cum8 < 0){
$s1 = intval($ret6->cum8 * -1);
$diff2 = ($ret7->cum10 + ($s1))/$days;
}
else{
$diff2 = ($ret7->cum10 - $ret6->cum8)/$days;
}}
else {
$diff2 = ($ret6->cum8 - $ret7->cum10)/$days;
}

//$diff2 = ($ret6->cum8 + $ret7->cum10)/$days;

$diff = sprintf("%.2f",$diff);
$diff1 = sprintf("%.2f",$diff1);
$diff2 = sprintf("%.2f",$diff2);

//$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$ouwl1."</cum><cum1>".$ouwl2."</cum1><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";
$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$atswl1."</cum><cum1>".$atswl2."</cum1><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";


}

$Return .= "</teams>";
}

//---------------------------------------------------------------------------------------------------------------

else
{

$res=mysql_query("select * from (select team, a.date, $cum as cum from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());


$res1=mysql_query("select * from (select team, a.date, $cum as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl order by tbl.date asc")  or die(mysql_error());

//first sql query for wolfline

$res2=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res3=mysql_query("select team as team2, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res4=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res5=mysql_query("select team as team4, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());

//first sql query for wolfline

$res6=mysql_query("select team as team5, sum(cum9) as cum8, cum9 from (select team, ats_wl as cum9 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.away_team=a.team group by a.date desc limit $days ) as tbl group by tbl.team desc")  or die(mysql_error());


//second sql query for wolfline

$res7=mysql_query("select team as team6, sum(cum11)as cum10, cum11 from (select team, ats_wl as cum11 from cfb a, cfb_schedule b where a.date  >'2009-09-01' and  b.schedule = '$team2' and  b.home_team=a.team group by a.date desc limit $days  ) as tbl group by tbl.team desc")  or die(mysql_error());


$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {


$ret1=mysql_fetch_object($res1);
$ret2=mysql_fetch_object($res2);
$ret3=mysql_fetch_object($res3);
$ret4=mysql_fetch_object($res4);
$ret5=mysql_fetch_object($res5);
$ret6=mysql_fetch_object($res6);
$ret7=mysql_fetch_object($res7);

//subtract first 5game value from second value

if ($ret2->cum <= $ret3->cum2){
if ($ret2->cum < 0){
$s1 = intval($ret2->cum * -1);
$diff = ($ret3->cum2 + ($s1))/$days;
}
else{
$diff = ($ret3->cum2 - $ret2->cum)/$days;
}}
else {
$diff = ($ret2->cum - $ret3->cum2)/$days;
}


$diff1 = ($ret4->cum4 + $ret5->cum6)/$days;

if ($ret6->cum8 <= $ret7->cum10){
if ($ret6->cum8 < 0){
$s1 = intval($ret6->cum8 * -1);
$diff2 = ($ret7->cum10 + ($s1))/$days;
}
else{
$diff2 = ($ret7->cum10 - $ret6->cum8)/$days;
}}
else {
$diff2 = ($ret6->cum8 - $ret7->cum10)/$days;
}

//$diff2 = ($ret6->cum8 + $ret7->cum10)/$days;

$diff = sprintf("%.2f",$diff);
$diff1 = sprintf("%.2f",$diff1);
$diff2 = sprintf("%.2f",$diff2);


$Return .= "<team><teamname1>".$ret->team."</teamname1><teamname2>".$ret1->team."</teamname2><date>".$ret->date."</date><date1>".$ret1->date."</date1><cum>".$ret->cum."</cum><cum1>".$ret1->cum1."</cum1><cum2>".$diff."</cum2><cum3>".$diff1."</cum3><cum4>".$diff2."</cum4></team>\n";
}

$Return .= "</teams>";

}

mysql_free_result($res);
//mysql_free_result($res1);
print ($Return)

?>

Cbb alerts Folder> src folder> components Folder>
File Name Custombackgroundcomp, As file
// ======== CustomBackgroundComp.as ===========
package  components { 
   import flash.display.Graphics;
   import mx.controls.AdvancedDataGrid;
   import mx.controls.Label;
   import mx.controls.advancedDataGridClasses.*;
 

    public class CustomBackgroundComp extends Label { 

        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
        { 
            super.updateDisplayList(unscaledWidth, unscaledHeight); 
            var g:Graphics = graphics; 
            g.clear(); 
            
            if (listData != null)
            {
            	var grid1:AdvancedDataGrid = AdvancedDataGrid(AdvancedDataGridListData(listData).owner); 
            	//if (!grid1.isItemSelected(data) || !grid1.isItemHighlighted(data)) 
            	//   return;
            	
            	var _value:String = String(data[AdvancedDataGridListData(listData).dataField]);
            	 
            if ((_value) >= '0.8' && (_value) <= '1.19' ) 
            	{ 
                	g.beginFill(0xFFFF00); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	} 
            
            if ((_value) >= '1.2' && (_value) <= '1.59' ) 
            	{ 
                	g.beginFill(0xFF9900); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	} 
            
            if ((_value) >= '1.6' && (_value) <= '2.00' ) 
            	{ 
                	g.beginFill(0xFF0000); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	}   	
            	
            if ((_value) >= '-0.8' && (_value) <= '-1.19' ) 
            	{ 
                	g.beginFill(0xFFFF00); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	} 
            
            if ((_value) >= '-1.2' && (_value) <= '-1.59' ) 
            	{ 
                	g.beginFill(0xFF9900); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	} 
            
            if ((_value) >= '-1.6' && (_value) <= '-2.0' ) 
            	{ 
                	g.beginFill(0xFF0000); 
                	g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); 
            	} 
        	} 
    	} 
  	}

}


Cbb alerts Folder> src folder> components Folder>
File Name :cbb, MXML file
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" showCloseButton="true" close="PopUpManager.removePopUp(this)">
	
	
	 <mx:HTTPService id="userRequest" result="handleResult(event)" fault="handleFault(event)" 
	 	url="http://www.sportsactioncharts.com/charts/cbb/cbb_queries.php" showBusyCursor="true">    
    </mx:HTTPService>
		
				
	 <mx:Script>
        <![CDATA[
        	import mx.managers.PopUpManager;
        	//import components.mlb_alerts;
       	import mx.rpc.events.ResultEvent;
       	import mx.rpc.events.FaultEvent;
       	import mx.binding.utils.BindingUtils;
        import mx.controls.Alert;
        import mx.collections.ArrayCollection;
        import mx.utils.ArrayUtil;
        

        
          

            // The data provider is an Array of Strings
            [Bindable]public var daysArray:Array = ["3", "5", "7", "10", "15", "20"];
            [Bindable]public var wlstrenghtArray:Array = [];
            [Bindable]public var strenghtArray:Array = ["1","2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"];
            
           
            [Bindable]public var optionArray:ArrayCollection =new ArrayCollection([
            {option:"Wolfline Win Loss", label:"cum_win_lose"}, 
            {option:"Win vs. Loss", label:"win_lose"},
            {option:"Spread", label:"h_line"},
            {option:"ATS Win vs. Loss", label:"ats_wl"},
            {option:"Wolfline ATS Win vs. Loss", label:"cum_ats_wl"},
            {option:"Over Under Line", label:"o_u"},
            {option:"Overs vs.Unders", label:"ou_wl"},
            {option:"Wolfline Over/Under", label:"cum_ou_wl"}
            ]);
                         
                      
        [Bindable] private var resArray:ArrayCollection;
       [Bindable] private var teamArray:ArrayCollection;
        
       
         private function send_data():void 
         {	
         	//switch(team2CB.selectedLabel) 
         	//{
         	//	case false:	
         			//userRequest.send({days : daysCB.selectedLabel, team1 : dateCB.selectedLabel, team2 : team2CB.selectedItem.teamname1, options : optionsCB.selectedItem.label});
         			userRequest.send({days : daysCB.selectedLabel, team1 : dateCB.selectedLabel, team2 : team2CB.selectedLabel, options : optionsCB.selectedItem.label});
         	//	break;
         	
			//	default:
        	//		userRequest.send();
        	//	break;
            //}       
         }

		private function handleResult(event:ResultEvent):void
		{
			wlstrenghtArray=[];
			horizontalreorder();
			
			if(team2CB.selectedLabel)
			{
				
			
				if (event.result.teams.team is ArrayCollection) {
															
  					teamArray = event.result.teams.team;
  					}
  				else  
  				{
   					teamArray = new ArrayCollection(ArrayUtil.toArray(event.result.teams.team)); 
   					
				}
					chart.dataProvider = teamArray;
					
				switch(optionsCB.selectedLabel)
				{
					case 'Wolfline Over/Under':
						
						as1.displayName = teamArray.getItemAt(0).teamname1 + " at " + teamArray.getItemAt(0).teamname2 +  " -Combined";
						as2.displayName = "";
						
						wltext.text = teamArray.getItemAt(0).cum2;
						ouwltext.text = teamArray.getItemAt(0).cum3;
						atswltext.text = teamArray.getItemAt(0).cum4;
						
						wlbackground();
						
						ouwlbackground();
						
						atswlbackground();
						
					break;
				
					
					
					default:
						as1.displayName = teamArray.getItemAt(1).teamname1;
						as2.displayName = teamArray.getItemAt(1).teamname2;
						
						wltext.text = teamArray.getItemAt(0).cum2;
						ouwltext.text = teamArray.getItemAt(0).cum3;
						atswltext.text = teamArray.getItemAt(0).cum4;
						
						wlbackground();
						
						ouwlbackground();
						
						atswlbackground();
						
					break;
				}
					
			}						
//			else

//				if (event.result.teams.week is ArrayCollection) {
//															
//  					resArray = event.result.teams.week;
//  					TBupdc.text= resArray.getItemAt(0).update;
//  					}
//  					
//  				else  
//  				{
//   					resArray = new ArrayCollection(ArrayUtil.toArray(event.result.teams.week)); 
//   					TBupdc.text= resArray.getItemAt(0).update;
//				}
//					//resArray = event.result.teams.week;
//					if (resArray.getItemAt(0).bad_date == '1'){
//						Alert.show("The current date has no games. Moving the date to tomorrows date.");
//					}				
//            
//   			}
        }

	public function wlbackground():void
			{
				if ((wltext.text >= '0.8') && (wltext.text <= '1.19') )
					{
						wltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((wltext.text) >= '0.8' && (wltext.text) <= '1.19' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((wltext.text) >= '1.2' && (wltext.text) <= '1.59' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((wltext.text) >= '1.6' && (wltext.text) <= '2.00' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((wltext.text) >= '-0.8' && (wltext.text) <= '-1.19' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((wltext.text) >= '-1.2' && (wltext.text) <= '-1.59' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((wltext.text) >= '-1.6' && (wltext.text) <= '-2.0' ) 
            		{ 
                		wltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						wltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			
			
					public function ouwlbackground():void
			{
				if ((ouwltext.text >= '0.8') && (ouwltext.text <= '1.19') )
					{
						ouwltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((ouwltext.text) >= '0.8' && (ouwltext.text) <= '1.19' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((ouwltext.text) >= '1.2' && (ouwltext.text) <= '1.59' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((ouwltext.text) >= '1.6' && (ouwltext.text) <= '2.00' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((ouwltext.text) >= '-0.8' && (ouwltext.text) <= '-1.19' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((ouwltext.text) >= '-1.2' && (ouwltext.text) <= '-1.59' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((ouwltext.text) >= '-1.6' && (ouwltext.text) <= '-2.0' ) 
            		{ 
                		ouwltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						ouwltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			public function atswlbackground():void
			{
				if ((atswltext.text >= '0.8') && (atswltext.text <= '1.19') )
					{
						atswltext.setStyle("backgroundColor",0xFFFF00);
					}
				else if ((atswltext.text) >= '0.8' && (atswltext.text) <= '1.19' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFFFF00);  
            		} 
            
            	else if ((atswltext.text) >= '1.2' && (atswltext.text) <= '1.59' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF9900); 
            		} 
            
            	else if ((atswltext.text) >= '1.6' && (atswltext.text) <= '2.00' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF0000);  
            		}   	
            	
            	else if ((atswltext.text) >= '-0.8' && (atswltext.text) <= '-1.19' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFFFF00); 
            		} 
            
            	else if ((atswltext.text) >= '-1.2' && (atswltext.text) <= '-1.59' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF9900);  
            		} 
            
            	else if ((atswltext.text) >= '-1.6' && (atswltext.text) <= '-2.0' ) 
            		{ 
                		atswltext.setStyle("backgroundColor", 0xFF0000);  
            		} 
				else 
					{
						atswltext.setStyle("backgroundColor",0xfdfbfb);
					}
			}
			
			private function horizontalreorder():void
			{
			var i:int;
			i=daysCB.selectedItem.toString() ;
			
			for (i; i > 0; i--)
			{
    		wlstrenghtArray.push([i]);
			}

			}

	        private function handleFault(event:FaultEvent):void
	        {
	           Alert.show(event.fault.faultString, "Error");
	        }
   
   //[Bindable] private var alertWindow:mlb_alerts;
   
   //private function loadAlerts():void
   //{
   //alertWindow= mlb_alerts(PopUpManager.createPopUp(this,mlb_alerts,true,null));
   //	alertWindow.title="mlb_Alerts";
   //	alertWindow.userRequest.send();
   //	PopUpManager.centerPopUp(alertWindow);
  // }
   

   			
        ]]>
    </mx:Script>


	
		<mx:HBox x="10" y="59" width="100%" height="26" horizontalGap="20">
		
		<mx:ComboBox id="dateCB" editable="false" dataProvider="{resArray}" labelField="date"  change="send_data()" width="134"></mx:ComboBox>
		<mx:ComboBox width="246" id="team2CB" dataProvider="{resArray}" labelField="teamname1" change="send_data()" editable="false"></mx:ComboBox>
		<mx:ComboBox width="68" id="daysCB" editable="false" dataProvider="{daysArray}" change="send_data()"></mx:ComboBox>
		<mx:ComboBox width="205" id="optionsCB" dataProvider="{optionArray}" labelField="option" change="send_data()"  editable="false"></mx:ComboBox>
		<mx:Button label="Chart it!" click="send_data()" />
		
		
		
		</mx:HBox>
	
	 <mx:SeriesSlide id="slideIn" 
        duration="1000" 
        direction="up"
    />
    
	<mx:Stroke color="red" weight="3" id="st1"/>
	<mx:Stroke color="blue" weight="3" id="st2"/>
     
    <mx:Style>
     .myStyle {
        fontFamily:Verdana;
        fontSize:12;
        color:#4691E1;
        fontWeight:bold;
        fontStyle:italic;
     }
  	</mx:Style>
  	
  	<mx:Zoom id="zoomIn" zoomWidthTo="3.5" zoomHeightTo="3.5" />
	<mx:Zoom id="zoomOut" zoomWidthTo="0.5" zoomHeightTo="0.5" />

	<mx:SeriesInterpolate id="changeEffect" duration="1000" />
	<mx:Text x="163" y="10" text="Select game" height="41" width="83"/>
	<mx:Text x="431" y="10" text="Select # of games" width="53" height="50"/>
	<mx:Text x="516.5" y="10" text="Select comparison option" height="41" width="108"/>
	<mx:Panel x="42" y="112" width="846" height="368" layout="vertical" title="CBB"  titleStyleName="myStyle">
	
		<mx:ColumnChart id="chart" width="818" height="316"
        	showDataTips="true" fontSize="12" dataTipMode="multiple">	
        	        
       <mx:verticalAxis>
           <mx:LinearAxis id="la1"
           	title="{optionsCB.selectedItem.option}"/>
        </mx:verticalAxis>
 	        
        	       
       <mx:horizontalAxis>
           <mx:CategoryAxis id="ca1"
           		title="Games Back" 
           		displayName="Games Back"
                dataProvider="{wlstrenghtArray}"/>
        </mx:horizontalAxis>
        
          <mx:horizontalAxisRenderers>
           <mx:AxisRenderer id="ar1" axis="{ca1}"/>
        </mx:horizontalAxisRenderers>
       
      	
			       
        <mx:series>
        
           <mx:LineSeries
                yField="cum" id="as1"
                lineStroke="{st1}"
                interpolateValues="false"
                showDataEffect="changeEffect"
                lineSegmentRenderer=
				"mx.charts.renderers.ShadowLineRenderer">
					
           </mx:LineSeries>
				                  
            <mx:LineSeries 
                yField="cum1" id="as2"
                interpolateValues="true"
                showDataEffect="changeEffect"
                lineStroke="{st2}"
                lineSegmentRenderer=
				"mx.charts.renderers.ShadowLineRenderer" >
            	  
            </mx:LineSeries>  
          
				  
        </mx:series>
     </mx:ColumnChart>
     
	</mx:Panel>
	<mx:Legend dataProvider="{chart}" x="107" y="488"/>		
	<mx:Text x="919" y="102" text="Wolfline ??? Win Loss" width="162" height="61" color="#0C0CF5" fontStyle="normal" fontWeight="bold" fontSize="20" id="text1"/>
	<mx:TextArea x="932" y="155" width="94" fontSize="22" fontWeight="bold" id="wltext" borderThickness="0" color="#0C0CF5" textAlign="center"/>
	<mx:TextArea x="1001" y="236" width="70" borderThickness="0" color="#0C0CF5" fontSize="22" backgroundAlpha="0.0" id="textAR2"/>
	<mx:Text x="919" y="207" text="Wolfline ??? Over/Under" width="138" height="73" color="#0C0CF5" fontWeight="bold" fontSize="20" id="text3"/>
	<mx:TextArea x="932" y="279" width="94" fontSize="22" fontWeight="bold" id="ouwltext" borderThickness="0" color="#0C0CF5" textAlign="center"/>
	<mx:Text x="10" y="10" text="Select date" height="41" width="83"/>
	
	
	<mx:Image width="231" height="126" id="IMGalert" source="@Embed(source='assets/wolflinedescription1.jpg')" autoLoad="true" bottom="50" left="261" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" enabled="true"/>
	<mx:Image width="231" height="126" id="IMfreq" source="@Embed(source='assets/frequency.jpg')" autoLoad="true" bottom="50" left="461.25" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5"/>
	<mx:Text x="261" y="649" text="Click above for description" width="170" id="TBdesc" color="#0C0CF5" fontWeight="bold" fontStyle="italic"/>
	<mx:Text x="42" y="93" text="Updated as of :" fontWeight="bold" color="#0C0CF5"/>
	<mx:TextArea x="132" y="93" height="19" id="TBupdc" editable="false" color="#0C0CF5" fontWeight="bold" borderStyle="none" borderColor="#FCFAFA"/>
	<mx:Text x="461.25" y="649" text="Click above for frequency" width="153" id="TBdesc0" color="#0C0CF5" fontWeight="bold" fontStyle="italic"/>
	<mx:Text x="919" y="331" text="Wolfline ??? ATS WL" height="58" width="128" id="text2" fontSize="20" color="#0C0CF5" fontWeight="bold"/>
	<mx:TextArea x="932" y="397" width="94" id="atswltext" editable="false" borderThickness="0" fontSize="22" fontWeight="bold" textAlign="center" color="#0C0CF5"/>
	
</mx:TitleWindow>


CBB _alerts > src>
File Name:cbb_alerts, MXML file
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:alert="components.*"
creationComplete="userRequest.send()"	layout="absolute" backgroundGradientAlphas="[1.0, 1.0]">

	
	<mx:HTTPService id="userRequest" result="handleResult(event)" fault="handleFault(event)" 
	 	url="http://www.sportsactioncharts.com/charts/cbb_alerts/new_cbb_alerts.php" showBusyCursor="true">    
    </mx:HTTPService>
		
				
	 <mx:Script>
        <![CDATA[
        import mx.managers.PopUpManager;
        import components.cbb;
        import mx.controls.listClasses.ListData;
       	import mx.rpc.events.ResultEvent;
       	import mx.rpc.events.FaultEvent;
       	import mx.rpc.events.*;
       	import mx.events.ListEvent;
       	import mx.binding.utils.BindingUtils;
        import mx.controls.Alert;
        import mx.collections.ArrayCollection;
        import mx.utils.ArrayUtil;
        import mx.controls.advancedDataGridClasses.*;
        import mx.collections.XMLListCollection
        import assets.*;
        import mx.controls.Image;
      

        [Bindable] private var resArray:ArrayCollection;
		[Bindable] public var alertsDP:XMLListCollection;

      
          
			private function handleResult(event:ResultEvent):void
				{
				if (event.result.teams.team is ArrayCollection) 
					{											
  						resArray = event.result.teams.team;
  					}
  						else  
  							{
   							resArray = new ArrayCollection(ArrayUtil.toArray(event.result.teams.team)); 
							}
							
					TBupd.text= resArray.getItemAt(1).update;
				}

			

	        private function handleFault(event:FaultEvent):void
	        	{
	           	Alert.show(event.fault.faultString, "Error");
	        	}
	     
         
//         private function styleCallback(data:Object, col:AdvancedDataGridColumn):Object
//      {
//         if (data["cum"] == 1.33) 
//            return {color:0xFF0000,backgroundColor:0xFFF552,
//            fontWeight:'bold',fontStyle:'italic'}; 
//
//         // Return null if the Artist name does not match.
//         return null;      
//      }

[Bindable] private var alertWindow:cbb;
[Bindable] private var send_data:String;
[Bindable] private var send_data1:Object;

 private function loadCharts(e:ListEvent):void
   {
   	
   	var team1:String=e.currentTarget.selectedItem.date;
   	var team2:String=resArray.getItemAt(e.rowIndex).cur_team;
   	var days:String="3";
   	var options:String="cum_win_lose";
 
    alertWindow= cbb(PopUpManager.createPopUp(this,cbb,true));
   	alertWindow.title="CBB";
   	alertWindow.dateCB.dataProvider=team1;
   	alertWindow.team2CB.dataProvider=team2;
   	//alertWindow.daysCB.dataProvider=alertWindow.daysArray;
   	//alertWindow.optionsCB.dataProvider=alertWindow.optionArray;
   	alertWindow.userRequest.send({days : days, team1 : team1, team2 : team2, options : options});
    PopUpManager.centerPopUp(alertWindow);
   	//Alert.show(days + "\n"+  team1 +"\n"+ team2 +"\n"+ options);
   }
   
   private const IMG_PREFIX:String = "http://www.sportsactioncharts.com/jpeg/";
   
   
   private function popIt(src:String):void {
                var img:Image = new Image();
                img.addEventListener(MouseEvent.CLICK, img_click);
                img.addEventListener(Event.COMPLETE, img_complete);
                img.load(IMG_PREFIX + src);
                img.toolTip = img.source.toString();
                PopUpManager.addPopUp(img, this, true);
                
            }

            private function img_complete(evt:Event):void {
                var img:Image = evt.currentTarget as Image;
                img.width = 600;
                img.height = 600;
                
                //img.height = img.contentHeight;
                PopUpManager.centerPopUp(img);
            }

            private function img_click(evt:MouseEvent):void {
                var img:Image = evt.currentTarget as Image;
                PopUpManager.removePopUp(img);
            }
		
		
        ]]>
        
    </mx:Script>
     <mx:Style>
     .myStyle 
     {
        fontFamily:Verdana;
        fontSize:12;
        color:red;
        fontWeight:bold;
        fontStyle:italic;
     }
  	</mx:Style>
  	
  	<mx:Zoom id="zoomIn" zoomWidthTo="3.5" zoomHeightTo="3.5" />
	<mx:Zoom id="zoomOut" zoomWidthTo="0.5" zoomHeightTo="0.5" />
  	
  
  <mx:Panel x="10" y="0" width="100%" height="100%" layout="absolute" title="CBB Alerts" styleName="myStyle" horizontalScrollPolicy="auto" verticalScrollPolicy="auto">
  
     <mx:AdvancedDataGrid x="20" y="20" id="cbb_adg" designViewDataType="flat" width="100%" resizableColumns="true" headerWordWrap="true" displayItemsExpanded="true" showHeaders="true" sortableColumns="false" dataProvider="{resArray}" allowMultipleSelection="false" color="#0006FF" wordWrap="false" rowCount="{resArray.length+2}" lockedColumnCount="3" borderThickness="1" itemClick="loadCharts(event)" selectionDuration="2" selectionMode="singleRow" useHandCursor="true" textRollOverColor="#F33212" height="75%">
     
     	<mx:groupedColumns>
            <mx:AdvancedDataGridColumn headerText="Date" width= "65" dataField="date"/>
            <mx:AdvancedDataGridColumn headerText="H" dataField="teamname1"/>
            <mx:AdvancedDataGridColumn headerText="A" dataField="teamname2"/>
            <mx:AdvancedDataGridColumnGroup headerText="Wolfline ??? Win Loss">    
                <mx:AdvancedDataGridColumn headerText="3 GB" dataField="cum" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn> 
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team3"/>
                <mx:AdvancedDataGridColumn headerText="5 GB" dataField="diff5" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team5"/>
                <mx:AdvancedDataGridColumn headerText="7 GB" dataField="diff7" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team7"/>
                </mx:AdvancedDataGridColumnGroup>
                <mx:AdvancedDataGridColumnGroup headerText="Wolfline ??? Over/Under">    
                <mx:AdvancedDataGridColumn headerText="3 GB" dataField="cum1">
                <mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="5 GB" dataField="diff51">
                <mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="7 GB" dataField="diff71">
                <mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
            </mx:AdvancedDataGridColumnGroup> 
            <mx:AdvancedDataGridColumnGroup headerText="Wolfline ??? ATS Win Loss">    
                <mx:AdvancedDataGridColumn headerText="3 GB" dataField="cum2" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn> 
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team32"/>
                <mx:AdvancedDataGridColumn headerText="5 GB" dataField="diff52" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team52"/>
                <mx:AdvancedDataGridColumn headerText="7 GB" dataField="diff72" >
                	<mx:itemRenderer>
                		<mx:Component>
                			<alert:CustomBackgroundComp />
                		</mx:Component>
                	</mx:itemRenderer>
                </mx:AdvancedDataGridColumn>
                <mx:AdvancedDataGridColumn headerText="team" width="65" dataField="team72"/>
                </mx:AdvancedDataGridColumnGroup>   
        </mx:groupedColumns>
		
     </mx:AdvancedDataGrid>
     
     
     <!--<mx:Image width="231" height="123" id="IMGdesc" source="@Embed(source='assets/wolflinedescription1.jpg')" autoLoad="true" bottom="49" left="464" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" opaqueBackground="50"/>
     <mx:Image width="231" height="157" id="IMGalert" source="@Embed(source='assets/Gridscale.jpg')" autoLoad="true" bottom="49" left="10" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" opaqueBackground="100"/>
     <mx:Image width="231" height="157" id="IMGfreq" source="@Embed(source='assets/frequency.jpg')" autoLoad="true" bottom="49" left="243" verticalAlign="middle" rollOutEffect="zoomOut" rollOverEffect="zoomIn" scaleX="0.5" scaleY="0.5" opaqueBackground="100"/>
     -->
     <mx:Image width="231" height="123" id="IMGdesc" source="@Embed(source='assets/wolflinedescription1.jpg')" autoLoad="true" bottom="49" left="464" verticalAlign="middle" click="popIt('wolflinedescription1.jpg')" scaleX="0.5" scaleY="0.5" opaqueBackground="50"/>
     <mx:Image width="231" height="157" id="IMGalert" source="@Embed(source='assets/Gridscale.jpg')" autoLoad="true" bottom="49" left="10" verticalAlign="middle" click="popIt('Gridscale.jpg')" scaleX="0.5" scaleY="0.5" opaqueBackground="100"/>
     <mx:Image width="231" height="157" id="IMGfreq" source="@Embed(source='assets/frequency.jpg')" autoLoad="true" bottom="49" left="243" verticalAlign="middle" click="popIt('frequency.jpg')" scaleX="0.5" scaleY="0.5" opaqueBackground="100"/>
     <mx:Text x="10" text="Click here for scale" color="#0C0CF5" click="popIt('Gridscale.jpg')" bottom="20"/>
     <mx:Text x="216" text="Click here for frequency" color="#0C0CF5" click="popIt('frequency.jpg')" bottom="20"/>
     <mx:Text x="434" text="Click here for description" color="#0C0CF5" click="popIt('wolflinedescription1.jpg')" bottom="20"/>
     <mx:Text x="20" y="0" text="Updated as of :" width="105.5" color="#0C0CF5"/>
     <mx:TextArea x="133.5" y="-1" height="21" id="TBupd" editable="false" color="#0C0CF5" width="204" borderStyle="none" borderColor="#FCFAFA"/>
     
  </mx:Panel>

</mx:Application>


Cbb_alerts>
FILE NAME:actionscriptproperties
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<actionScriptProperties mainApplicationPath="cbb_alerts.mxml" version="3">
  <compiler additionalCompilerArguments="-locale en_US" copyDependentFiles="true" enableModuleDebug="true" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="true" htmlHistoryManagement="true" htmlPlayerVersion="9.0.124" htmlPlayerVersionCheck="true" outputFolderPath="bin-debug" sourceFolderPath="src" strict="true" useApolloConfig="false" verifyDigests="true" warn="true">
    <compilerSourcePath/>
    <libraryPath defaultLinkType="1">
      <libraryPathEntry kind="4" path=""/>
      <libraryPathEntry kind="1" linkType="1" path="libs"/>
    </libraryPath>
    <sourceAttachmentPath/>
  </compiler>
  <applications>
    <application path="cbb_alerts.mxml"/>
  </applications>
  <modules/>
  <buildCSSFiles/>
</actionScriptProperties>

Cbb_alerts>
FILE NAME:flexproperties
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flexProperties flexServerType="0" toolCompile="true" useServerFlexSDK="false" version="1"/>

Cbb_alerts>
FILE NAME:project file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>cbb_alerts</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>com.adobe.flexbuilder.project.flexbuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>com.adobe.flexbuilder.project.flexnature</nature>
		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
	</natures>
</projectDescription>

Cbb_alerts>
FILE NAME:php script
<?php
mysql_connect("mysql.sportsactioncharts.com", "adminsteve", "stradd1e");
mysql_select_db("sportsactioncharts");


//$team1= '2010-04-14' ;
//$team2=  'Cleveland at Atlanta' ;
//$days=  '3' ;
//$cum= 'cum_ou_wl';
mysql_real_escape_string($cum);


$res=mysql_query("select distinct date as date, schedule as team  from ncaab_schedule where date between curdate() and date_add(curdate(),interval 1 day) and away_team is not  NULL and home_team is not NULL") or die(mysql_error());
$num = mysql_num_rows($res);
$bad_date='0';



$update=mysql_query("select ncaab_update as upd from ncaab_update order by ncaab_update desc limit 1") or die(mysql_error());
$upd = mysql_fetch_object($update);
$ncaab_upd= ($upd -> upd);

$Return = "<teams>";

while($ret=mysql_fetch_object($res)) {
$date=$ret->date;
$cur_team=$ret->team;

//if ($num == '0')
//{


//$res=mysql_query("select distinct date as date, schedule as team  from ncaab_schedule where date=date_add(curdate(),interval 1 day)") or die(mysql_error());

//}

//-----------Query for 3 days----------------

//first sql query for wolfline

//$res1=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 3 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res1=mysql_query("select team as team1, sum(cum1) as cum, cum1 from (select team,  win_lose as cum1 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res2=mysql_query("select team as team2, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 3 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res2=mysql_query("select team as team2, sum(cum3) as cum2, cum3 from (select team,  win_lose as cum3 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//first sql query for wolfline

//$res3=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 3 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res3=mysql_query("select team as team3, sum(cum5) as cum4, cum5 from (select team,  ou_wl as cum5 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res4=mysql_query("select team as team4, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 3  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res4=mysql_query("select team as team4, sum(cum7) as cum6, cum7 from (select team,  ou_wl as cum7 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//First ats entry 3 GB

$res13=mysql_query("select team as team13, sum(cum9) as cum8, cum9 from (select team,  ats_wl as cum9 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//Second ats entry 3 GB

//$res4=mysql_query("select team as team4, sum(cum11)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 3  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res14=mysql_query("select team as team14, sum(cum11) as cum10, cum11 from (select team,  ats_wl as cum11 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 3) as tbl order by tbl.team asc")  or die(mysql_error());

//-----------Query for 5 days----------------

//first sql query for wolfline

//$res5=mysql_query("select team as team5, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 5 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res5=mysql_query("select team as team5, sum(cum1) as cum, cum1 from (select team,  win_lose as cum1 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res6=mysql_query("select team as team6, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 5 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res6=mysql_query("select team as team6, sum(cum3) as cum2, cum3 from (select team,  win_lose as cum3 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//first sql query for wolfline

//$res7=mysql_query("select team as team7, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 5 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res7=mysql_query("select team as team7, sum(cum5) as cum4, cum5 from (select team,  ou_wl as cum5 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res8=mysql_query("select team as team8, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 5  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res8=mysql_query("select team as team8, sum(cum7) as cum6, cum7 from (select team,  ou_wl as cum7 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//First ats entry 5 GB

$res15=mysql_query("select team as team15, sum(cum9) as cum8, cum9 from (select team,  ats_wl as cum9 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//Second ats entry 5 GB

//$res4=mysql_query("select team as team4, sum(cum11)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 3  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res16=mysql_query("select team as team16, sum(cum11) as cum10, cum11 from (select team,  ats_wl as cum11 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 5) as tbl order by tbl.team asc")  or die(mysql_error());

//-----------Query for 7 days----------------

//first sql query for wolfline

//$res9=mysql_query("select team as team9, sum(cum1) as cum, cum1 from (select team, win_lose as cum1 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 7 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res9=mysql_query("select team as team9, sum(cum1) as cum, cum1 from (select team,  win_lose as cum1 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res10=mysql_query("select team as team10, sum(cum3)as cum2, cum3 from (select team, win_lose as cum3 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 7 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res10=mysql_query("select team as team10, sum(cum3) as cum2, cum3 from (select team,  win_lose as cum3 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());

//first sql query for wolfline

//$res11=mysql_query("select team as team11, sum(cum5) as cum4, cum5 from (select team, ou_wl as cum5 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.away_team=a.team group by a.date desc limit 7 ) as tbl group by tbl.team desc")  or die(mysql_error());
$res11=mysql_query("select team as team11, sum(cum5) as cum4, cum5 from (select team,  ou_wl as cum5 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());

//second sql query for wolfline

//$res12=mysql_query("select team as team12, sum(cum7)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 7  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res12=mysql_query("select team as team12, sum(cum7) as cum6, cum7 from (select team,  ou_wl as cum7 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());

//First ats entry 7 GB

$res17=mysql_query("select team as team17, sum(cum9) as cum8, cum9 from (select team,  ats_wl as cum9 from ncaab where team in (select away_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());

//Second ats entry 7 GB

//$res4=mysql_query("select team as team4, sum(cum11)as cum6, cum7 from (select team, ou_wl as cum7 from ncaab a, ncaab_schedule b where a.date  >'2009-09-01' and  b.schedule = '$cur_team' and  b.date='$date' and b.home_team=a.team group by a.date desc limit 3  ) as tbl group by tbl.team desc")  or die(mysql_error());
$res18=mysql_query("select team as team18, sum(cum11) as cum10, cum11 from (select team,  ats_wl as cum11 from ncaab where team in (select home_team from ncaab_schedule where schedule = '$cur_team' and date='$date' )order by date desc limit 7) as tbl order by tbl.team asc")  or die(mysql_error());


$ret1=mysql_fetch_object($res1);
$ret2=mysql_fetch_object($res2);
$ret3=mysql_fetch_object($res3);
$ret4=mysql_fetch_object($res4);
$ret13=mysql_fetch_object($res13);
$ret14=mysql_fetch_object($res14);

//------Zero out variables between loops
$diff3='';
$diff31='';
$diff32='';
$diff5='';
$diff51='';
$diff52='';
$diff7='';
$diff71='';
$diff72='';
$team3='';
$team5='';
$team7='';


//-------------subtract first 3 game value from second value

if ($ret1->cum <= $ret2->cum2){
if ($ret1->cum <0){
$s3 = intval($ret1->cum * -1);
$diff3 = ($ret2->cum2 + ($s3))/3;
$team3 = ($ret1->team1);
}
else{
$diff3 = ($ret2->cum2 - ($ret1->cum))/3;
$team3 = ($ret1->team1);
}}
else {
$diff3 = ($ret1->cum - ($ret2->cum2))/3;
$team3 = ($ret2->team2);
}



$diff31 = ($ret4->cum6 + ($ret3->cum4))/3;

if ($ret13->cum8 <= $ret14->cum10){
if ($ret13->cum8 <0){
$s3 = intval($ret13->cum8 * -1);
$diff32 = ($ret14->cum10 + ($s3))/3;
$team32 = ($ret13->team13);
}
else{
$diff32 = ($ret14->cum10 - ($ret13->cum8))/3;
$team32 = ($ret13->team13);
}}
else {
$diff32 = ($ret13->cum8 - ($ret14->cum10))/3;
$team32 = ($ret14->team14);
}


//$diff32 = ($ret14->cum10 + ($ret13->cum8))/3;


$diff3 = sprintf("%.2f",$diff3);
$diff31 = sprintf("%.2f",$diff31);
$diff32 = sprintf("%.2f",$diff32);



$ret5=mysql_fetch_object($res5);
$ret6=mysql_fetch_object($res6);
$ret7=mysql_fetch_object($res7);
$ret8=mysql_fetch_object($res8);
$ret15=mysql_fetch_object($res15);
$ret16=mysql_fetch_object($res16);


//---------------subtract first 5 game value from second value

if ($ret5->cum <=  $ret6->cum2){
if ($ret5->cum < 0){
$s5 = intval($ret5->cum * -1);
$diff5 = ($ret6->cum2 + ($s5))/5;
$team5 = ($ret5->team5);
}
else{
$diff5 = ($ret6->cum2 - ($ret5->cum))/5;
$team5 = ($ret5->team5);
}}
else {
$diff5 = ($ret5->cum - ($ret6->cum2))/5;
$team5 = ($ret6->team6);
}



$diff51 = ($ret8->cum6 + ($ret7->cum4))/5;

if ($ret15->cum8 <= $ret16->cum10){
if ($ret15->cum8 <0){
$s3 = intval($ret15->cum8 * -1);
$diff52 = ($ret16->cum10 + ($s3))/5;
$team52 = ($ret15->team15);
}
else{
$diff52 = ($ret16->cum10 - ($ret15->cum8))/5;
$team52 = ($ret15->team15);
}}
else {
$diff52 = ($ret15->cum8 - ($ret16->cum10))/5;
$team52 = ($ret16->team16);
}


//$diff52 = ($ret16->cum10 + ($ret15->cum8))/5;


$diff5 = sprintf("%.2f",$diff5);
$diff51 = sprintf("%.2f",$diff51);
$diff52 = sprintf("%.2f",$diff52);


$ret9=mysql_fetch_object($res9);
$ret10=mysql_fetch_object($res10);
$ret11=mysql_fetch_object($res11);
$ret12=mysql_fetch_object($res12);
$ret17=mysql_fetch_object($res17);
$ret18=mysql_fetch_object($res18);


//---------------subtract first 7 game value from second value

if ($ret9->cum <=  $ret10->cum2){
if ($ret9->cum <= 0){
$s7 = intval($ret9->cum * -1);
$diff7 = ($ret10->cum2 + ($s7))/7;
$team7 = ($ret9->team9);
}
else{
$diff7 = ($ret10->cum2 - $ret9->cum)/7;
$team7 = ($ret9->team9);
}}
else {
$diff7 = ($ret9->cum - $ret10->cum2)/7;
$team7 = ($ret10->team10);
}



$diff71 = ($ret12->cum6 + $ret11->cum4)/7;

if ($ret17->cum8 <= $ret18->cum10){
if ($ret17->cum8 <0){
$s3 = intval($ret17->cum8 * -1);
$diff72 = ($ret18->cum10 + ($s3))/7;
$team72 = ($ret17->team17);
}
else{
$diff72 = ($ret18->cum10 - ($ret17->cum8))/7;
$team72 = ($ret17->team17);
}}
else {
$diff72 = ($ret17->cum8 - ($ret18->cum10))/7;
$team72 = ($ret18->team18);
}

//$diff72 = ($ret18->cum10 + $ret17->cum8)/7;


$diff7 = sprintf("%.2f",$diff7);
$diff71 = sprintf("%.2f",$diff71);
$diff72 = sprintf("%.2f",$diff72);

$date= strftime("%m-%d", strtotime($date));

$Return .= "<team><date>".$date."</date><teamname1>".$ret2->team2."</teamname1><teamname2>".$ret1->team1."</teamname2><cum>".$diff3."</cum><team3>".$team3."</team3><team32>".$team32."</team32><cum1>".$diff31."</cum1><cum2>".$diff32."</cum2><diff5>".$diff5."</diff5><team5>".$team5."</team5><team52>".$team52."</team52><diff51>".$diff51."</diff51><diff52>".$diff52."</diff52><diff7>".$diff7."</diff7><team7>".$team7."</team7><team72>".$team72."</team72><diff71>".$diff71."</diff71><diff72>".$diff72."</diff72><update>".$ncaab_upd."</update><cur_team>".$cur_team."</cur_team></team>\n";


}

$Return .= "</teams>";



mysql_free_result($res);
//mysql_free_result($res1);
print ($Return)

?>
