/* Global multi-dimensional array that defines the following:
        short name, the internal name for the job board
        url, the url use to get the job count
        human name, the human readable name of the job board.    
        web address, the main web address of the job board.
*/
var arySiteInfo = new Array(11);
for (i = 0; i < arySiteInfo.length; i++) { 
        arySiteInfo[i] = new Array(4);
    }

    arySiteInfo[0][0] = 'jobsite';
    arySiteInfo[0][1] = '/jobnumbers.php?bornhome=y&js=jobsite';
    arySiteInfo[0][2] = 'Jobsite';
    arySiteInfo[0][3] = '/analytics/job-board.php?site=jobsite';    

    arySiteInfo[1][0] = 'gumtreelondon';
    arySiteInfo[1][1] = '/jobnumbers.php?bornhome=y&js=gumtreelondon';
    arySiteInfo[1][2] = 'Gumtree London';
    arySiteInfo[1][3] = '/analytics/job-board.php?site=gumtreelondon';   

    arySiteInfo[2][0] = 'totaljobs';
    arySiteInfo[2][1] = '/jobnumbers.php?bornhome=y&js=totaljobs';
    arySiteInfo[2][2] = 'Totaljobs';
    arySiteInfo[2][3] = '/analytics/job-board.php?site=totaljobs';

    arySiteInfo[3][0] = 'jobserve';
    arySiteInfo[3][1] = '/jobnumbers.php?bornhome=y&js=jobserve';
    arySiteInfo[3][2] = 'JobServe';
    arySiteInfo[3][3] = '/analytics/job-board.php?site=jobserve';

    arySiteInfo[4][0] = 'careerbuilderuk';
    arySiteInfo[4][1] = '/jobnumbers.php?up=y&js=careerbuilderuk';
    arySiteInfo[4][2] = 'Career Builder UK';
    arySiteInfo[4][3] = '/analytics/job-board.php?site=careerbuilderuk';

    arySiteInfo[5][0] = 'fish4jobs';
    arySiteInfo[5][1] = '/jobnumbers.php?bornhome=y&js=fish4jobs';
    arySiteInfo[5][2] = 'Fish4jobs';
    arySiteInfo[5][3] = '/analytics/job-board.php?site=fish4jobs';   
    
    arySiteInfo[6][0] = 'guardianjobs';
    arySiteInfo[6][1] = '/jobnumbers.php?bornhome=y&js=guardianjobs';
    arySiteInfo[6][2] = 'Guardian Jobs';
    arySiteInfo[6][3] = '/analytics/job-board.php?site=guardian';   

    arySiteInfo[7][0] = 'telegraphjobs';
    arySiteInfo[7][1] = '/jobnumbers.php?bornhome=y&js=telegraphjobs';
    arySiteInfo[7][2] = 'Telegraph Jobs';
    arySiteInfo[7][3] = '/analytics/job-board.php?site=telegraphjobs';   
  
    arySiteInfo[8][0] = 'timesonline';
    arySiteInfo[8][1] = '/jobnumbers.php?bornhome=y&js=timesonline';
    arySiteInfo[8][2] = 'The Times Online';
    arySiteInfo[8][3] = '/analytics/job-board.php?site=timesonline';   

    arySiteInfo[9][0] = 'reed';
    arySiteInfo[9][1] = '/jobnumbers.php?bornhome=y&js=reed';
    arySiteInfo[9][2] = 'Reed';
    arySiteInfo[9][3] = '/analytics/job-board.php?site=reed';   

    arySiteInfo[10][0] = 's1jobs';
    arySiteInfo[10][1] = '/jobnumbers.php?bornhome=y&js=sjobs';
    arySiteInfo[10][2] = 'S1Jobs';
    arySiteInfo[10][3] = '/analytics/job-board.php?site=sjobs';       
    
	function ajaxManager(){
		var args = ajaxManager.arguments;
		switch (args[0]){
			case "load_page":
				if (document.getElementById) {
					var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
				}
				if (x) {
					x.onreadystatechange = function() {
						el = document.getElementById(args[1]);
						if (x.readyState == 4 && x.status == 200){
							el.innerHTML = x.responseText;
						} else {
						    el.innerHTML = 'updating..';
						}
					}
				// Do not use GET request as EI caches the page - which stops it refreshing
				// x.open("GET", args[1], true);
				x.open("POST", args[2], true);
				x.send(args[5]);
				}
				break;
			default:
				ajaxManager('load_page', args[0] , args[1], args[2], args[3]);
				break;
		}		
	}	
	
	function digitPad($inDigit){
		// This function makes sure all digits (time digits) are double digit
		if ($inDigit < 10) {
			$inDigit = '0' + $inDigit;
		}
		return($inDigit);
	}
	
	function update_all(caller){
        for (i = 0; i < arySiteInfo.length; i++) {
        	if (caller == 'init'){
            	ajaxManager('load_page', arySiteInfo[i][0], arySiteInfo[i][1], arySiteInfo[i][2], arySiteInfo[i][3]);            
        	} else {
            	ajaxManager('load_page', arySiteInfo[i][0], arySiteInfo[i][1] + '&up=button', arySiteInfo[i][2], arySiteInfo[i][3]);                    		
        	}
        }
        
        // Update display information
        elementUpdateInfo = document.getElementById("updatedInfo");
        var currentTime = new Date();
		var aryTime = digitPad(currentTime.getHours()) + ':' + digitPad(currentTime.getMinutes()) + ':' + digitPad(currentTime.getSeconds());        
        elementUpdateInfo.innerHTML = 'Updated at: ' + aryTime;   
	}

	function update_by_name(shortname){
        for (i = 0; i < arySiteInfo.length; i++) {
            if (shortname == arySiteInfo[i][0]){
                ajaxManager('load_page', arySiteInfo[i][0], arySiteInfo[i][1], arySiteInfo[i][2], arySiteInfo[i][3]);            
            }
        }        
	}

    function init_div(){
        // This function initializes the jobnumbers div area based upon the values in the 
        // arySiteInfo array.
        var innerHTML;

        innerHTML = '<center><img src="imgs/jobnumbers/header.jpg" /></center>';
        innerHTML = innerHTML + '<table class="jobnumbers" width="100%" cellpadding="2">';   
        innerHTML = innerHTML + '<tr><td colspan="2"><p class="jobnumbers_title">Job Numbers&nbsp;<img src="/imgs/live.png" alt="live" /></p></td></tr>';
             
        for (i = 0; i < arySiteInfo.length; i++) {
        	innerHTML = innerHTML + '<tr><td align="left"><p class="jobnumbers_sitename"><a class="jobnumbers" href="' + arySiteInfo[i][3] + '">' + arySiteInfo[i][2] + '</a></p></td>';
            innerHTML = innerHTML + '<td align="right"><p class="jobnumbers" id="' + arySiteInfo[i][0] + '"></p></td></tr>';
        }

        // Close the table
        innerHTML = innerHTML + '</table>';        

        // Output Last Updated Text
        innerHTML = innerHTML + '<table class="jobnumbers" width="100%" cellpadding="2">';        
        innerHTML = innerHTML + '<tr><td colspan="2"><p class="jobnumbers_sitename" id="updatedInfo">Last updated: <br/>never</p></td></tr>';

        // Output update image
        innerHTML = innerHTML + '<tr><td><center><img src="imgs/jobnumbers/update.gif" alt="Click to update" onclick="update_all(' + "'button'" + ')" /></center></td>';
        innerHTML = innerHTML + '<td><center><img src="imgs/jobnumbers/info.gif" alt="Click for information" onclick="window.open(' + "'jobnumbers-info.php','LiveJobNumbers','height=285px,width=315px,toolbar=no,location=no,scrollbars=yes')" + '"/></center></td></tr>';

        // Close the table
        innerHTML = innerHTML + '</table>';

        // Final footer image
        innerHTML = innerHTML + '<center><img src="imgs/jobnumbers/footer.jpg" /></center>';

        
        elementDiv = document.getElementById('jobnumbers');
        elementDiv.innerHTML = innerHTML;   

        // update figures
        update_all('init');
    }  
    
// Once the window has loaded, init the jobnumbers  
window.onload = function () {
	init_div();	
	MochiKit.Visual.appear('jobnumbers',null);
	ajaxManagerTwitter('load_page', '/twitter.php?tweets=' + tweets);            
	MochiKit.Visual.appear('twitter',null);		
};


