// JavaScript Document


//Turns buttons back on 
function showbuttons(){
		$('#buttonsHolder').addClass("buttons");
		$('#buttonsHolder').removeClass("hideButtons");
		$('#indexSearchHolder').addClass("indexSearchHolderHide");
		$('#indexSearchHolder').removeClass("indexSearchHolderShow");
		
		
		
		
	}



//-----------------------------Button stuff testing-----------------------------------
$(document).ready(function(){
						  
  xml = xmlMicoxLoader("newsFeed.xml");
  //$('#newslist').append(xmlMicoxRSS(xml));
// $('#newsfader').append(xmlMicoxRSSFader(xml));

xmlMicoxRSS(xml);
//loadtwitterfeed();





$('#newsfader').innerfade({
						animationtype: 'fade',
						speed: 750,
						timeout: 3000,
						type: 'sequence',
						containerheight: '1em'
					});
 
 $('#centreContent').fadeIn(1000, function () {
       
    });
  return false;
 
});

//------------------------------Pop Ups-------------------------------------------------

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=500,left = 0,top = 0');");
	}




// ----------------------------- RSS/NEWS FEED STUFF ------------------------------------

function xmlMicoxLoader(url){
	
  //by Micox: micoxjcg@yahoo.com.br.
  //http://elmicoxcodes.blogspot.com
    if(window.XMLHttpRequest){
        var Loader = new XMLHttpRequest();
        //assyncronous mode to load before the 'return' line
        Loader.open("GET", url ,false); 
        Loader.send(null);
        return Loader.responseXML;
    }else if(window.ActiveXObject){
        var Loader = new ActiveXObject("Msxml2.DOMDocument.3.0");
        //assyncronous mode to load before the 'return' line
        Loader.async = false;
        Loader.load(url);
        return Loader;
    }
}


//////////////////not currently called by anything/////////////////////////

function xmlMicoxTree(xmlNode,ident){
	
  //by Micox: micoxjcg@yahoo.com.br
    var treeTxt=""; //var to content temp
    for(var i=0;i<xmlNode.childNodes.length;i++){//each child node
  if(xmlNode.childNodes[i].nodeType == 1){//no white spaces
   //node name
   treeTxt = treeTxt + ident + xmlNode.childNodes[i].nodeName + ": "
   if(xmlNode.childNodes[i].childNodes.length==0){
    //no children. Get nodeValue
    treeTxt = treeTxt + xmlNode.childNodes[i].nodeValue 
    for(var z=0;z<xmlNode.childNodes[i].attributes.length;z++){
     var atrib = xmlNode.childNodes[i].attributes[z];
     treeTxt = treeTxt + " (" + atrib.nodeName + " = " + atrib.nodeValue + ")";
    }
    treeTxt = treeTxt + "<br />\n";

   }else if(xmlNode.childNodes[i].childNodes.length>0){
    //children. get first child
    treeTxt = treeTxt + xmlNode.childNodes[i].firstChild.nodeValue;
    for(var z=0;z<xmlNode.childNodes[i].attributes.length;z++){
     var atrib = xmlNode.childNodes[i].attributes[z];
     treeTxt = treeTxt + " (" + atrib.nodeName + " = " + atrib.nodeValue + ")";
    }
    //recursive to child of children
    treeTxt = treeTxt + "<br />\n" + xmlMicoxTree(xmlNode.childNodes[i],ident + "> > ");
   }
      }
    }
    return treeTxt;
}


//////////////////end not currently called by anything/////////////////////



////////// This returns data for the news div on the news/tweets page/////////////
function xmlMicoxRSS(xmlNode){
//var curdate = "Fri, 22 Aug 2008 12:49:54 +0100"
//var dt = Date.parse(curdate)
//var y=dt.getYear()
//var m=dt.getMonth()+1
//var day=1
//alert(date=m+"/"+day+"/"+y)

	//alert(curdate.word[1]);
	 //by Micox: http://elmicoxcodes.blogspot.com
var newsFaderHTML = [];
var statusHTML = [];
 //var retorno = "";
 var objNodeList = xmlNode.getElementsByTagName("item")
  for(var i=0;i<3;i++){
  var strTitulo = ""
  var strURL = ""
  var strDescr = ""
  var strPubDate = ""
  var objNode = objNodeList[i];
  if(objNode.nodeType == 1){//ignore white spaces
   for(var j=0;j<objNode.childNodes.length;j++){
    var objNode2 = objNode.childNodes[j];
    if(objNode2.nodeType == 1){//ignore white spaces
     switch (objNode2.nodeName) {
      case "title": 
       //alert(objNode.childNodes[j].firstChild.nodevalue);
	   strTitulo = objNode2.firstChild.nodeValue 
    // strTitulo = objNode2.firstChild.nodeValue; 
	   //alert(strTitulo)
       break;
      case "link": 
	  
strURL = objNode2.firstChild.nodeValue ;

       break;
case "pubDate":
	strPuDate = processDate(objNode2.firstChild.nodeValue);
	   // strPuDate = objNode2.firstChild.nodeValue; 
	   break;
 case "description": 
      // strDescr = objNode2.firstChild.nodeValue; 
	  strDescr = objNode2.firstChild.nodeValue ; 
  break;
     }
    }
   }
  
 // retorno += " <a href=\"javascript:popUp('" + strURL + "')\">" + strTitulo + "</a><br />" + strPuDate + "<br />" + strDescr + "<br />";//This opens a popup
   // retorno += "<!--[if gte IE 5 ]> <a href=\"javascript:popUp('" + strURL + "')\">" + strTitulo + "</a><br />" + strPuDate + "<br />" + strDescr + "<br /><![endif]--> <![if !IE]><a href=\'"+strURL+"'\" onclick=\"popUp(this.href)\">"  + strTitulo + "</a><br />" + strPuDate + "<br />" + strDescr + "<br /><![endif]> ";
//retorno += " <div style="+getClass(i)+"' > <a href='" + strURL + "'>" + strTitulo + "</a><br />" + strPuDate + "<br />" + strDescr + "<br /></div>";
statusHTML.push('<li class='+isEven(i)+'><p><a href=\"'+strURL+'\">'+strTitulo+'</a><br />'+strPuDate+'<br />'+strDescr+'</p></li>');
 newsFaderHTML.push('<li><a href=\"news.html\">' + strTitulo + '</a></li>');
 // retorno += "<li><a href='" + strURL + "'>" + strTitulo + "</a></li>";
  }
 }
// retorno = "<div class=\"extraLinks\" id=\"newsDiv\"><div class=\"extraTitle\" >Latest News</div> <div class=\"extraContent\"><br />" + retorno + "</div></div>";
//retorno = "<div class=\"extraLinks\" id=\"newsDiv\"><div class=\"extraTitle\" >Latest News</div> <div class=\"extraContent\"><br />" + retorno + "</div></div>";
// retorno = "<div id=\"newsDiv\"><h2>Latest News</h2>" + retorno + "</div>";
//retorno = "<div class="+getClass(i)+"' >" + retorno + "</div>";
//document.getElementById("newslist").innerHTML = 'tosh';
//document.getElementById('news').innerHTML = statusHTML.join('');
//document.getElementById('anyoldDIV').innerHTML = newsFaderHTML.join('');
//document.getElementById('newsfader').innerHTML = newsFaderHTML.join('');
//document	alert("found").getElementById('newslabel').innerHTML = statusHTML.join('');
	

if(typeof(document.getElementById('newslist')) !== 'undefined' && document.getElementById('newslist') !== null) {

	document.getElementById('newslist').innerHTML = statusHTML.join('');
	loadtwitterfeed();
}

if(typeof(document.getElementById('newsfader')) !== 'undefined' && document.getElementById('newsfader') !== null) {
	document.getElementById('newsfader').innerHTML = newsFaderHTML.join('');
}


///document.getElementById('newsfader').innerHTML = newsFaderHTML.join('');


// return retorno;
}


function iamafunction(){
	alert('iamafunction was called')
}




function getClass(value){
	
	if (value%2 )
	
		return "alt-row";
		//return "width: 350px;background-color:#e2e4e4"

	
}


//////////////////////////
function processDate(theDate){

	  
	var m_names = new Array("January", "February", "March", 
"April", "May", "June", "July", "August", "September", 
"October", "November", "December");

var d = new Date(theDate);
var curr_date = d.getDate();
var sup = "";
if (curr_date == 1 || curr_date == 21 || curr_date ==31)
   {
   sup = "st";
   }
else if (curr_date == 2 || curr_date == 22)
   {
   sup = "nd";
   }
else if (curr_date == 3 || curr_date == 23)
   {
   sup = "rd";
   }
else
   {
   sup = "th";
   }

var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var resultStr =  curr_date +  sup  + " " + m_names[curr_month] + " " + curr_year
//document.write(curr_date +  sup  + " " + m_names[curr_month] + " " + curr_year);
return resultStr;
}

//Twitter
//window.onload = function() {
	function loadtwitterfeed() {
	var ajax_load = "<img class='loader' src=' images/loader.gif' alt='Loading...' />";
	//var url = 'http://twitter.com/statuses/user_timeline/MktingSciences.json?callback=twitterCallback2&count=4';
	var url =  'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=MktingSciences&include_rts=1&callback=filterCallback&count=50'
	//var url = 'http://api.twitter.com/1/statuses/user_timeline/MktingSciences.json?callback=twitterCallback2&include_rts=true&count=4';
	
	var script = document.createElement('script');	
	$("#twitter_update_list").html(ajax_load);
	script.setAttribute('src', url);
	document.body.appendChild(script);
	//$("#twitter").addClass("alt-row"); 
}

function twitterCallback2(twitters) {
  var statusHTML = [];
//for (var i=0; i<4; i++){
for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
	//alert(twitters[i].id_str);
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, 
	function(url) { return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
 // statusHTML.push('<li class="twitter_date"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li> <li class='+isEven(i)+'><p>'+status+'</p></li>');
	// statusHTML.push('<li><p>'+status+'</p></li>');
	<!--statusHTML.push('<li class="twitter_date"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li> <li class='+isEven(i)+'><p>'+status+'</p><p><a href="http://twitter.com/intent/session?in_reply_to='+twitters[i].id_str+'&return_to=%2Fintent%2Ftweet%3Fin_reply_to%'+twitters[i].id_str+'">Reply</a></p></li>');-->
	//statusHTML.push('<li class='+isEven(i)+'><p>'+status+'</p><p><a href="http://twitter.com/intent/session?in_reply_to='+twitters[i].id_str+'&return_to=%2Fintent%2Ftweet%3Fin_reply_to%'+twitters[i].id_str+'">Reply</a></p></li>');
	statusHTML.push('<li class='+isEven(i)+'><p>'+status+'</p><p><a href="http://twitter.com/intent/session?in_reply_to='+twitters[i].id_str+'&return_to=%2Fintent%2Ftweet%3Fin_reply_to%'+twitters[i].id_str+'">Reply</a></p></li>');
	
	//http://twitter.com/intent/session?in_reply_to=73725156576595968&return_to=%2Fintent%2Ftweet%3Fin_reply_to%3D73725156576595968
	//statusHTML.push('<p><a href="http://twitter.com/intent/session?in_reply_to='+twitters[i].id_str+'>Reply</a></p>');
//alert(statusHTML)
	
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + " " + values[5] + " " + values[3];
  var parsed_date = new Date();
  parsed_date.setTime(Date.parse(time_value));  
  var months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
	'Sep', 'Oct', 'Nov', 'Dec');
  var m = parsed_date.getMonth();
  var postedAt = '';
  postedAt = months[m];
  postedAt += " "+ parsed_date.getDate();
  postedAt += ","
  postedAt += " "+ parsed_date.getFullYear();
  return postedAt;
}	


function isEven(value){
	
	if (value%2 )
	
		return "alt-row";
	
}

function filterCallback( twitter_json ) {
var result = [];
for(var index in twitter_json) {
if(twitter_json[index].retweeted_status == null) {
result[result.length] = twitter_json[index];
}
if( result.length==3 ) break; // Edit this to change the maximum tweets shown
}
twitterCallback2(result); // Pass tweets onto the original callback. Don't change it!
}							

