/*
	(*} SOLUTIONWISE
	Copyright (c)2003-2010 Solutionwise Consulting, Inc. 
	All rights reserved.
	$Date: 2009-03-12
 	$Rev: 001 
*/
// Const
var std_delay =	3500;

// Global Vars
var timer_name // arguments[0];
var delay // arguments[1];
var elements = new Array();

var slide_cur = 0;	
var slide_last = 0;
var total_tags = 0;

function script_loader(url, callback) {
	var head = document.getElementsByTagName('head')[0];
	var script = document.createElement('script');
	script.src = url;

	// Attach handlers for all browsers
	var done = false;
	script.onload = script.onreadystatechange = function() {
	  if( !done && ( !this.readyState || this.readyState == 'loaded'
				|| this.readyState == 'complete') ) {
	          done = true;
	          // callback(); // Continue your code
	          // Handle memory leak in IE
	          script.onload = script.onreadystatechange = null;
	          head.removeChild( script );
	  }
	};
	head.appendChild(script);
}

// function myTwitterCallback(o) {
// 	o = o[0];
// 	var e = document.getElementById('swc-twitter-post');
// 	e.innerHTML = o.text;
// 	e.href = 'http://twitter.com/solutionwise/status/' + o.id;
// }

function swc_init() {	
	// $('#header-container').css('background-color','#b71703');
	// script_loader('http://twitter.com/javascripts/blogger.js');
	// script_loader('http://twitter.com/statuses/user_timeline/solutionwise.json?callback=twitterCallback2&amp;count=3');	
			
	slide_show("slide_timer",std_delay,
		"#leftcol h1.slide",
		"#leftcol h2.slide",
		"#rightcol img.slide");
 	slide_scrollers_hdlr();	
}; // swc_init()

function slide_scrollers_hdlr() {	
	 	
  $('#central').mouseenter( function() { 	
   	$("img.nav-left,img.nav-right").css("visibility","visible");	
		$(document).clearQueue();
 		$(document).stopTime("slide_timer");	
    $("img.nav-left,img.nav-right").fadeIn("fast");
  });
  $('#central').mouseleave( function() { 
		$(document).clearQueue();			
    $("img.nav-left,img.nav-right").fadeOut("slow");	
		slide_show_timer(delay,timer_name);	
  });

	$('img.nav-left').click( function() {		
		$(document).stopTime("slide_timer");				
		prev_slide(true);
	});

	$('img.nav-right').click( function() {				
		$(document).stopTime("slide_timer");		
		next_slide(true);		
	});

} // slide_scrollers_hdlr()

function next_slide (quick_show) {
	slide_last = slide_cur;
	slide_cur++;
	if ( slide_cur > total_tags ) {
		slide_cur = 0;
		slide_last = total_tags;
	}	
	animate_it( elements, slide_cur, slide_last );
}
function prev_slide (quick_show) {
	slide_last = slide_cur;	
	slide_cur--;
	if ( slide_cur < 0 ) {
		slide_cur = total_tags;
		slide_last = 0;
	};	
	animate_it( elements, slide_cur, slide_last );
}

/* 	
	Animates an array of html elements 
		Params: 
			elements: array with jquery selectors )
			slide_cur: current slide counter
			slide_last: last slide counter
*/
		// elements, slide_cur, slide_last 		
function animate_it ( elements, slide_cur, slide_last ) {
	var show_tag;
	var txt_to;
	var src;
	
	for ( var e = 0; e < elements.length; e++ ) {					
		show_tag = elements[e]+"_show";
		
		// fadeOut effect					
		tag_from = elements[e]+":nth("+slide_last+")";
		// fadeIn effect
		tag_to = elements[e]+":nth("+slide_cur+")";

		// check tag type
		if (  $(tag_to).is("img") ) {  // image
			src = $(tag_to).attr("src");
			if (slide_last != -1) {	
				$(show_tag).fadeOut("normal").hide().attr("src",src).fadeIn("normal");
			} else {
				$(show_tag).attr("src",src).fadeIn("normal");
			}			
		} else { // text
	 		txt_to = $(tag_to).text();
			if (slide_last != -1) {	
				$(show_tag).fadeOut("normal").hide().text(txt_to).fadeIn("normal");
			} else {
				$(show_tag).text(txt_to).fadeIn("normal");
			}			
		} // check tag type
		
	}

};

function slide_show_timer(delay_parm, timer_name_param) {
	$(document).everyTime(delay_parm, timer_name_param, function() {
		next_slide();
	} );	
}
/*
	Slide Shows a list of jquery selectors
		Params:
			timer_name: String
			delay_param:  
*/
function slide_show() { // timer_param, delay_param, tags_param
	timer_name = arguments[0];
	delay = arguments[1];
	// parse args into elements array
	for( var i = 2; i < arguments.length; i++ ) {
		elements.push( arguments[i] );
	};
	// calculate # of elements in slide show
	total_tags = $(elements[0]).size()-1;
	
	animate_it( elements, slide_cur, -1 );
	slide_show_timer(delay,timer_name);
}; // animate_it()


// function debug (debug_str) {	
// 	// e = $("#leftcol h1.slide:nth(1)"); // e.html()
// 	// debug_str = "DEBUG: slide_cur:"+slide_cur.toString()+" slide_last:"+slide_last.toString() ;
// 	$("#debug_output").append( "DEBUG: "+debug_str + "<br/>");		
// }

