/** Copyright 2009 TN20, Inc. All rights reserved.
* $Author: jari $
* $Date: 2009-07-16 12:43:24 +0200 (to, 16 jul 2009) $
* $Revision: 17435 $
* $Id: AboutGroupJwc.java 17435 2009-07-16 10:43:24Z jari $
*/ 

var quoteRotateRateSecs = 6.5; // How many seconds should the customer quotes last
var quoteFadeRate = 250; // in and out rate


var currentQuoteNum = 0;
var currentQuoteRoot = 'cusquote';
var currentQuote = currentQuoteRoot + currentQuoteNum +"";
var quoteArray;
var quoteRotateRate = quoteRotateRateSecs * 1000; // converting to milliseconds
var quoteCount = 0;

var myTimeOut;


function rotateCustomerQuotes() {
	var theElem = byId( 'customerquotes' );
	theElem.style.display= 'block';
		// this overrides a style so that the quotes only show up if javascript is enabled.
	quoteArray = getAllChildrenwithClass( theElem, 'cusquote' );
	quoteCount = quoteArray.length; 
	//alert( 'quoteCount = '+quoteCount);

	for( var i=0; i<quoteCount; i++ ) {
		quoteArray[i].style.display = "none";
		//alert( quoteArray[i].id + ' set to display = none');
	}
	var ran_unrounded = Math.random()*quoteCount;
	currentQuoteNum=Math.floor(ran_unrounded);
	currentQuote = quoteArray[currentQuoteNum];
	fadeInQuote(); 
	//keepQuote() ;
}

function randomCustomerQuote() {
	var theElem = byId( 'customerquotes' );
	quoteArray = getAllChildrenwithClass( theElem, 'cusquote' );
	quoteCount = quoteArray.length; 
	var ran_unrounded = Math.random()*quoteCount;
	var showQuote=Math.floor(ran_unrounded);
	quoteArray[showQuote].style.opacity ="1";
	quoteArray[showQuote].style.filter = "alpha(opacity=100)";	
 	quoteArray[showQuote].style.display = "block";
	theElem.style.display= 'block';
}

function fadeInQuote() {
	//alert( 'in fadeOutQuote, currentQuote = '+currentQuote.id);
	//var theElem = byId( currentQuote );
	dojo.lfx.html.fadeShow(currentQuote, quoteFadeRate).play();
	clearTimeout( myTimeOut );
	myTimeOut = setTimeout("keepQuote()", quoteFadeRate );
}

function fadeOutQuote() {
	dojo.lfx.html.fadeHide(currentQuote, quoteFadeRate).play();
	incrementCurrentQuote();
	clearTimeout( myTimeOut );
	myTimeOut = setTimeout("fadeInQuote()", (quoteFadeRate+1));
}

function keepQuote() {
	clearTimeout( myTimeOut );
	myTimeOut = setTimeout("fadeOutQuote()", quoteRotateRate );
}


function incrementCurrentQuote() {
	clearTimeout( myTimeOut );
	currentQuoteNum = currentQuoteNum+1;
	currentQuoteNum = currentQuoteNum % quoteCount;
	currentQuote = quoteArray[currentQuoteNum];
}




function calcSamplePricingEx() {
	deselectAllRows( 'exPricing' );
	
	var userCountInput = dojo.byId('sampleusersEx');
	var userCount = stringToNumber(userCountInput.value);
	//userCountInput.value = encomma( userCount);
	var totalUserCost = 0;
	var basecost = 150;
	var band;
	var perUserCost = .60;
	var bandMax;
	var maxed = false;
	
	if( userCount >= 25000 ) {
		perUserCost = 0;
		totalUserCost = 0;
		band = "band_ex6";
	} else if( userCount >= 10000 ) {
		perUserCost = .21;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 3000;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_ex5";
	} else if( userCount >= 3000 ) {
		perUserCost = .33;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 2100;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_ex4";
	} else if( userCount >= 1000 ) {
		perUserCost = .50;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 990;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_ex3";
	} else if( userCount >= 250 ) {
		perUserCost = .60;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 500;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_ex2";
	} else {
		perUserCost = 0;
		totalUserCost = 150;
		band = "band_ex1";
		
	}
	
	
	dojo.html.addClass( band, 'selected' );

	var userCountSpan = dojo.byId('userCostEx');
	if( perUserCost >0 ) {
		userCountSpan.innerHTML = (perUserCost*100)+'&cent;';
		if( maxed ) {
			userCountSpan.innerHTML = '<span class="gray">'+userCountSpan.innerHTML+'*</span>';
		}
	}
	else
		userCountSpan.innerHTML = ' <span class="gray">n/a </span> ';
	
	/*var totalUserCost = Math.floor(perUserCost * userCount);
	if( userCount < 250 ) 
		totalUserCost = 150;*/
		

	var userTotalInput = dojo.byId('sampletotalEx');
	if( totalUserCost > 0 ) {
		userTotalInput.innerHTML = '$'+encomma(totalUserCost);
		userTotalInput.innerHTML += ' <a href="trial.php" class="triallink">Sign up</a> ';
	} else
		userTotalInput.innerHTML = ' <a href="mailto:sales@groupswim.com" class="triallink">Contact us </a> ';
	
}

function calcSamplePricingIn() {
	deselectAllRows( 'inPricing' );
	
	var userCountInput = dojo.byId('sampleusersIn');
	var userCount = stringToNumber(userCountInput.value);
	//userCountInput.value = encomma( userCount);
	var totalUserCost = 0;
	var basecost = 150;
	var band;
	var perUserCost = 5;
	var bandMax, maxed = false;
	
	if( userCount >= 1000 ) {
		perUserCost = 0;
		totalUserCost = 0;
		band = "band_in5";
	} else if( userCount >= 300 ) {
		perUserCost = 4;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 3250;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_in4";
	} else if( userCount >= 100 ) {
		perUserCost = 4.58;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 1200;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_in3";
	} else if( userCount >= 25 ) {
		perUserCost = 5;
		totalUserCost = Math.floor(perUserCost * userCount);
		bandMax = 458;
		if( totalUserCost > bandMax ) {
			totalUserCost = bandMax;
			maxed=true;
		}
		band = "band_in2";
	} else {
		perUserCost = 0;
		totalUserCost = 125;
		band = "band_in1";
		
	}
	
	
	var userCountSpan = dojo.byId('userCostIn');
	if( perUserCost >0 ) {
		userCountSpan.innerHTML = '$'+(perUserCost);
		if( maxed ) {
			userCountSpan.innerHTML = '<span class="gray">'+userCountSpan.innerHTML+'*</span>';
		}
	}
	else
		userCountSpan.innerHTML = ' <span class=" gray">n/a </span> ';
	
	/*var totalUserCost = Math.floor(perUserCost * userCount);
	if( userCount < 250 ) 
		totalUserCost = 150;*/
		
	dojo.html.addClass( band, 'selected' );

	var userTotalInput = dojo.byId('sampletotalIn');
	if( totalUserCost > 0 ) {
		userTotalInput.innerHTML = '$'+encomma(totalUserCost);
		userTotalInput.innerHTML += ' <a href="trial.php" class="triallink">Sign up</a> ';
	} else
		userTotalInput.innerHTML = ' <a href="mailto:sales@groupswim.com" class="triallink">Contact us </a> ';
	
}


function stringToNumber( theString ) {
	theString = theString.replace(/[^0123456789\.]/g, "");
	var theNumber = theString*1;
	return theNumber;
}

function encomma( number ) {
	/* <!-- Original:  Martin Webb --> */
	number = '' + number;
	if (number.length > 3) {
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
		return (output);
	}
	else 
		return number;
}


/***/

function deselectAllRows( tableID) {
	var theTable = dojo.byId( tableID );
	for( var i=0; i< theTable.rows.length; i++ ) {
		dojo.html.removeClass(theTable.rows[i], 'selected');
	}
}	


/****/

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function getOrCreateCookie(name,value,days) {
   var theCookieVal = readCookie(name);
   if( theCookieVal == null ) {
      createCookie(name,value,days);
      return value;
   } else
      return theCookieVal;
}

