var gadgetContainerVisibility_1 = false;
var gadgetContainerVisibility_2 = false;
var gadgetContainerVisibility_3 = false;
var gadgetContainerVisibility_4 = false;
var gadgetContainerVisibility_5 = false;
var gadgetContainerVisibility_6 = false;
var gadgetContainerVisibility_7 = false;
var gadgetContainerVisibility_8 = false;
var selectedGadgetTab;
	
function moveAccordian(obj){
	var id = obj.id;	
	var gadgetName = id.substring(0, id.length-2)
	var gadgetNumber = id.substring(id.length-1)
	
	if(gadgetName == "googleGadgetHeader" && selectedGadgetTab != id){
		selectedGadgetTab = id;
		new Effect.BlindRight('googleGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindLeft('yahooGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindLeft('htmlGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
	} else if(gadgetName == "yahooGadgetHeader" && selectedGadgetTab != id){
		selectedGadgetTab = id;
		new Effect.BlindLeft('googleGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindRight('yahooGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindLeft('htmlGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
	} else if(gadgetName == "htmlGadgetHeader" && selectedGadgetTab != id){
		selectedGadgetTab = id;
		new Effect.BlindLeft('googleGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindLeft('yahooGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
		new Effect.BlindRight('htmlGadgetContainer_' + gadgetNumber, {queue: 'parallel', duration: 0.3});
	}
}

function showHideGadgetContainer(containerNumber){
	var tempContainerVisibility = eval('gadgetContainerVisibility_' + containerNumber);

	if(tempContainerVisibility){
		/* Hide Container */
		new Effect.BlindUp('gadgetContainer_' + containerNumber, {queue: 'first', duration: 0.3});
		var tempImage = eval('moreGadgetImage_' + containerNumber);
	  $(tempImage).src = "images/more.gif";
		
		switch(containerNumber){
			case 1:
				gadgetContainerVisibility_1 = false;
				break;
			case 2:
				gadgetContainerVisibility_2 = false;
				break;
			case 3:
				gadgetContainerVisibility_3 = false;
				break;
			case 4:
				gadgetContainerVisibility_4 = false;
				break;
			case 5:
				gadgetContainerVisibility_5 = false;
				break;
			case 6:
				gadgetContainerVisibility_6 = false;
				break;
			case 7:
				gadgetContainerVisibility_7 = false;
				break;
			case 8:
				gadgetContainerVisibility_8 = false;
				break;
		}
		
	} else {
		/* Show Container */
		new Effect.BlindDown('gadgetContainer_' + containerNumber, {queue: 'first', duration: 0.3});
		var tempImage = eval('moreGadgetImage_' + containerNumber);
	  $(tempImage).src = "images/hide.gif";
		
		switch(containerNumber){
			case 1:
				gadgetContainerVisibility_1 = true;
				break;
			case 2:
				gadgetContainerVisibility_2 = true;
				break;
			case 3:
				gadgetContainerVisibility_3 = true;
				break;
			case 4:
				gadgetContainerVisibility_4 = true;
				break;
			case 5:
				gadgetContainerVisibility_5 = true;
				break;
			case 6:
				gadgetContainerVisibility_6 = true;
				break;
			case 7:
				gadgetContainerVisibility_7 = true;
				break;
			case 8:
				gadgetContainerVisibility_8 = true;
				break;
		}	
	}
}


window.onload=function(){
	for(i=1; i<=8; i++){
		new Effect.BlindUp('gadgetContainer_' + i, {queue: 'first', duration: 0});
		//new Effect.BlindRight('googleGadgetContainer_' + i, {queue: 'parallel', duration: 0.3});
		//new Effect.BlindLeft('yahooGadgetContainer_' + i, {queue: 'parallel', duration: 0.3});
		//new Effect.BlindLeft('htmlGadgetContainer_' + i, {queue: 'parallel', duration: 0.3});
	}
}



















/********************/
/** Countdown Code **/
/********************/

var shortMonthArray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var longMonthArray = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var monthArray;
var Time = ["12:00 AM","1:00 AM","2:00 AM","3:00 AM","4:00 AM","5:00 AM","6:00 AM","7:00 AM","8:00 AM","9:00 AM","10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM","4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM","9:00 PM","10:00 PM","11:00 PM"];
var dueDate = "";
var countdownActive = true;
var step = -1;
var countdownDateFormat;
var completionMsg = "0 Days, 00:00:00";
var timeoutTime;
var dateDiff;
var secs;
var days;
var tip = "";
var dynamicLink;
var magnetStreetBabyLink = "http://www.magnetstreet.com/store/home/market/524";
var urlAddress = magnetStreetBabyLink;


function stopCountdown(){
	countdownActive = false;
}

function loadCountdown(countdownToUse){
	countdownActive = true;
	step = Math.ceil(step);
	if (step == 0)
	  countdownActive = false;
	timeoutTime = (Math.abs(step)-1)*1000 + 958;
	var endDate = new Date(dueDate);
	endDate.setHours(0)
	var currentDate = new Date();
	if(step > 0){
	  dateDiff = new Date(currentDate - endDate);
	} else {
	  dateDiff = new Date(endDate - currentDate);
	}
	secs = Math.floor(dateDiff.valueOf()/1000);
	switch(countdownToUse){
		case 1:
			countdown1(secs);
			break;
		default:
			countDown(secs);
	}
}

function calculateTime(secs, num1, num2, padResult) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (padResult && s.length < 2)
    s = "0" + s;
  return s;
}

function countdown1(seconds) {
  if (seconds < 0) {
    document.getElementById("countdownTimer").innerHTML = completionMsg;
    return;
  }
  days = calculateTime(seconds,86400,100000, false);
  var displayDate;
  if(days == 1){
    document.getElementById("days_text").innerHTML = "day";
  } else {
    document.getElementById("days_text").innerHTML = "days";
  }
  
  document.getElementById("countdownDays").innerHTML = days;
  document.getElementById("countdownHours").innerHTML = calculateTime(seconds,3600,24, true);
  document.getElementById("countdownMinutes").innerHTML = calculateTime(seconds,60,60, true);
  document.getElementById("countdownSeconds").innerHTML = calculateTime(seconds,1,60, true);
  
  if (countdownActive)
    setTimeout("countdown1(" + (seconds+step) + ")", timeoutTime);
}

function getDueDate() {
  var tempDate = new Date(dueDate);
  var conv_date = tempDate.getDate();  
  var conv_month = monthArray[(tempDate.getMonth())]; 
  var conv_year = tempDate.getFullYear();
  
  document.getElementById("dueDate").innerHTML = conv_month + " " + conv_date + ", " + conv_year;
}

var tipUrl = "babytips.txt";
var tipRequest_ = null;

function getTipOfDay() {
  new Ajax.Request(tipUrl, {method: 'get',onSuccess: function(transport) {setTip(transport.responseText)}});
}
 
function setTip(text){
  var tipsArray = new Array();
  var tipArray = new Array();
  tipsArray = text.split(";");
  if(tipsArray != null){
    var tempTip = tipsArray[days];
	  if(tempTip != null){
	    var tipArray = tempTip.split("|");	
	    tip = tipArray[1];
	    dynamicLink = tipArray[2];
	  } else {
	    tip = "Please update your due date and time using the options menu.";
	    dynamicLink = magnetStreetBabyLink;
	  }
	} else {
	  tip = "Please update your due date and time using the options menu.";
	  dynamicLink = magnetStreetBabyLink;
	}
	if(dynamicLink == null || dynamicLink =="")
		dynamicLink = magnetStreetBabyLink;
	$("tipOfDay").innerHTML = tip;
	$("dynamicLink").href = dynamicLink;
}
	
/************************/
/** General Setup Code **/
/************************/
	
function hideCodeBox(){
	//new Effect.Appear("countdownDiv", {queue: 'end', duration: 0.4});
	new Effect.Appear("mainBody", {queue: 'end', duration: 0.4});
  new Effect.Fade("generatedCountdownDiv", {queue: 'front', duration: 0.4});
  //$("generatedCountdownDiv").style.display="none";	
	countdownActive = false;
}

	
function validateDate(dueDateToTest){
  var dt=dueDateToTest
  var currentDate = new Date();
  var tempDueDate = new Date(dueDateToTest.value);
  dateDiff = new Date(tempDueDate - currentDate);
  secs = Math.floor(dateDiff.valueOf()/1000);
  if(secs < 0){
    alert("Please enter a date in the future");
    dt.focus();
    return false;
  } else {
    return true;
  }
} 

function validateAndSetPreferences(containerNumber){
  stopCountdown();
  var tempDueDate = eval('dueDateInput_' + containerNumber);
  
  if($(tempDueDate).value != ""){
  	if($(tempDueDate).value != "" && validateDate($(tempDueDate))){
	    dueDate = $(tempDueDate).value;
	    generateCountdownAndHtml(containerNumber);
  	}
  } else {
  	alert("Please enter a due date.");
  	return false;
  }
}

function hoverIn(obj){
  obj.style.backgroundColor="#AFC5D6"
}

function hoverOut(obj){
  if($("hiddenCountdown").value == obj.id)
  	obj.style.backgroundColor="#AFC5D6"
  else
  	obj.style.backgroundColor="#FFFFFF"
}

function selectCountdown(obj){
  obj.style.border="1px solid #00FF00";
  obj = Element.cleanWhitespace(obj);
  
  $("hiddenCountdown").value = obj.id;
  
  var tempObj;
  var siblings = $("containerTable").getElementsByClassName("countdown");
  for(i = 0; i < siblings.length; i++){
  	tempObj =siblings[i];
    if(tempObj.id != obj.id){
    	tempObj.style.border="1px solid #FF0000";
    	tempObj.style.backgroundColor="#FFFFFF";
    }
  }
}

function generateCountdownAndHtml(containerNumber){
  var newUrl = "countdowns/countdown" + containerNumber + ".html";
  new Ajax.Request(newUrl, {method: 'get',onSuccess: function(transport) {updateCountdownStuff(transport.responseText, containerNumber)}})
}

function updateCountdownStuff(htmlCode, containerNumber){
  htmlCode = htmlCode.replace(/&gt;/g, ">");
  htmlCode = htmlCode.replace(/&lt;/g, "<");
  $("generatedCountdown").innerHTML = htmlCode;
	
  switch(containerNumber) {
	case 1:
	    completionMessage = "00"
	    monthArray = longMonthArray;
	    getDueDate();
  	    loadCountdown(1);
  	break;
  }
	
  htmlCode = htmlCode.replace(/__dueDate__/g, dueDate);
  $("htmlTextArea").value = htmlCode;
	
  var scrollTop = document.body.scrollTop;
  if (scrollTop == 0) {
    if (window.pageYOffset)
      scrollTop = window.pageYOffset;
    else
      scrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
  }
  
  $("generatedCountdownDiv").style.top = scrollTop + 150 + "px";
  $("generatedCountdownDiv").style.left = ((document.body.clientWidth/2) - 200) + "px";
  new Effect.Fade("mainBody", {to: '0.5', duration: 0.4});
  new Effect.Appear("generatedCountdownDiv", {queue: 'end', duration: 0.4});	
}

function generateHtml(){
  var photocardVertLayout = $("included"); 
  var photocardHorLayout = $("included_table"); 

  if($("hiddenOrientation").value == "vertical"){
    var layoutCode = photocardVertLayout.innerHTML;
    $("hiddenIncluded").innerHTML = layoutCode;
  } else {
    var layoutCode = photocardHorLayout.innerHTML;
    $("hidden_included_table").innerHTML = layoutCode;
  }
  
  var htmlCode = $("hiddenPhotocardDiv").innerHTML;
  
  //alert(htmlCode);
  
  //htmlCode = htmlCode.replace(/#script/g, "<script");
  //htmlCode = htmlCode.replace(/script#/g, "script>");
  htmlCode = htmlCode.replace(/&gt;/g, ">");
  htmlCode = htmlCode.replace(/&lt;/g, "<");
  htmlCode = htmlCode.replace(/&amp;/g, "&");
  htmlCode = htmlCode.replace(/dashed/g, "hidden");
  htmlCode = htmlCode.replace(/solid/g, "hidden");
  htmlCode = htmlCode.replace(/--spacer--/g, "&nbsp;");
 
  $("cardHTML").value = htmlCode;
  nextDiv();
}




