var xpPanel_slideActive = true;    // Slide down/up active?
var xpPanel_slideSpeed = 20;    // Speed of slide
var xpPanel_onlyOneExpandedPane = true;    // Only one pane expanded at a time ?
var siteurl = "http://www.gourmandia.com/";
var dhtmlgoodies_xpPane;
var dhtmlgoodies_paneIndex;

var savedActivePane = false;
var savedActiveSub = false;

var xpPanel_currentDirection = new Array();

var cookieNames = new Array();


var currentlyExpandedPane = false;

/*
These cookie functions are downloaded from 
http://www.mach5.com/support/analyzer/manual/html/General/CookiesJavaScript.htm
*/    
function Get_Cookie(name) { 
   var start = document.cookie.indexOf(name+"="); 
   var len = start+name.length+1; 
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
   if (start == -1) return null; 
   var end = document.cookie.indexOf(";",len); 
   if (end == -1) end = document.cookie.length; 
   return unescape(document.cookie.substring(len,end)); 
} 
// This function has been slightly modified
function Set_Cookie(name,value,expires,path,domain,secure) { 
    expires = expires * 60*60*24*1000;
    var today = new Date();
    var expires_date = new Date( today.getTime() + (expires) );
    var cookieString = name + "=" +escape(value) + 
       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
       ( (path) ? ";path=" + path : "") + 
       ( (domain) ? ";domain=" + domain : "") + 
       ( (secure) ? ";secure" : ""); 
    document.cookie = cookieString; 
}

function cancelXpWidgetEvent()
{
    return false;    
    
}

function showHidePaneContent(e,inputObj)
{
    if(!inputObj)inputObj = this;
    
    var img = inputObj.getElementsByTagName('IMG')[0];
    var numericId = img.id.replace(/[^0-9]/g,'');
    var obj = document.getElementById('paneContent' + numericId);
    if(img.src.toLowerCase().indexOf('up')>=0){
        currentlyExpandedPane = false;
        img.src = img.src.replace('up','down');
        if(xpPanel_slideActive){
            obj.style.display='block';
            xpPanel_currentDirection[obj.id] = (xpPanel_slideSpeed*-1);
            slidePane((xpPanel_slideSpeed*-1), obj.id);
        }else{
            obj.style.display='none';
        }
        if(cookieNames[numericId])Set_Cookie(cookieNames[numericId],'0',100000);
    }else{
        if(this){
            if(currentlyExpandedPane && xpPanel_onlyOneExpandedPane)showHidePaneContent(false,currentlyExpandedPane);
            currentlyExpandedPane = this;    
        }else{
            currentlyExpandedPane = false;
        }
        img.src = img.src.replace('down','up');
        if(xpPanel_slideActive){
            if(document.all){
                obj.style.display='block';
                //obj.style.height = '1px';
            }
            xpPanel_currentDirection[obj.id] = xpPanel_slideSpeed;
            slidePane(xpPanel_slideSpeed,obj.id);
        }else{
            obj.style.display='block';
            subDiv = obj.getElementsByTagName('DIV')[0];
            obj.style.height = subDiv.offsetHeight + 'px';
        }
        if(cookieNames[numericId])Set_Cookie(cookieNames[numericId],'1',100000);
    }    
    return true;    
}



function slidePane(slideValue,id)
{
    if(slideValue!=xpPanel_currentDirection[id]){
        return false;
    }
    var activePane = document.getElementById(id);
    if(activePane==savedActivePane){
        var subDiv = savedActiveSub;
    }else{
        var subDiv = activePane.getElementsByTagName('DIV')[0];
    }
    savedActivePane = activePane;
    savedActiveSub = subDiv;
    
    var height = activePane.offsetHeight;
    var innerHeight = subDiv.offsetHeight;
    height+=slideValue;
    if(height<0)height=0;
    if(height>innerHeight)height = innerHeight;
    
    if(document.all){
        activePane.style.filter = 'alpha(opacity=' + Math.round((height / subDiv.offsetHeight)*100) + ')';
    }else{
        var opacity = (height / subDiv.offsetHeight);
        if(opacity==0)opacity=0.01;
        if(opacity==1)opacity = 0.99;
        activePane.style.opacity = opacity;
    }            
    
                
    if(slideValue<0){            
        activePane.style.height = height + 'px';
        subDiv.style.top = height - subDiv.offsetHeight + 'px';
        if(height>0){
            setTimeout('slidePane(' + slideValue + ',"' + id + '")',10);
        }else{
            if(document.all)activePane.style.display='none';
        }
    }else{            
        subDiv.style.top = height - subDiv.offsetHeight + 'px';
        activePane.style.height = height + 'px';
        if(height<innerHeight){
            setTimeout('slidePane(' + slideValue + ',"' + id + '")',10);                
        }        
    }
    
    
    
    
}

function mouseoverTopbar()
{
    var img = this.getElementsByTagName('IMG')[0];
    var src = img.src;
    img.src = img.src.replace('.png','_over.png');
    
    var span = this.getElementsByTagName('SPAN')[0];
    span.style.color='#000000';        
    
}
function mouseoutTopbar()
{
    var img = this.getElementsByTagName('IMG')[0];
    var src = img.src;
    img.src = img.src.replace('_over.png','.png');        
    
    var span = this.getElementsByTagName('SPAN')[0];
    span.style.color='';
    
    
    
}


function initDhtmlgoodies_xpPane(panelTitles,panelDisplayed,cookieArray)
{
    dhtmlgoodies_xpPane = document.getElementById('pane-wrapper');
    var divs = dhtmlgoodies_xpPane.getElementsByTagName('DIV');
    dhtmlgoodies_paneIndex=0;
    cookieNames = cookieArray;
    for(var no=0;no<divs.length;no++){
        if(divs[no].className=='panel'){
            
            var outerContentDiv = document.createElement('DIV');    
            var contentDiv = divs[no].getElementsByTagName('DIV')[0];
            outerContentDiv.appendChild(contentDiv);    
        
            outerContentDiv.id = 'paneContent' + dhtmlgoodies_paneIndex;
            outerContentDiv.className = 'panelContent';
            var topBar = document.createElement('DIV');
            topBar.onselectstart = cancelXpWidgetEvent;
            var span = document.createElement('SPAN');                
            span.innerHTML = panelTitles[dhtmlgoodies_paneIndex];
            topBar.appendChild(span);
            topBar.onclick = showHidePaneContent;
            if(document.all)topBar.ondblclick = showHidePaneContent;
            topBar.onmouseover = mouseoverTopbar;
            topBar.onmouseout = mouseoutTopbar;
            topBar.style.position = 'relative';

            var img = document.createElement('IMG');
            img.id = 'showHideButton' + dhtmlgoodies_paneIndex;
            img.src = siteurl+'images/arrow_up.png';                
            topBar.appendChild(img);
            
            if(cookieArray[dhtmlgoodies_paneIndex]){
                cookieValue = Get_Cookie(cookieArray[dhtmlgoodies_paneIndex]);
                if(cookieValue)panelDisplayed[dhtmlgoodies_paneIndex] = cookieValue==1?true:false;
            }
            
            if(!panelDisplayed[dhtmlgoodies_paneIndex]){
                outerContentDiv.style.height = '0px';
                contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px';
                if(document.all)outerContentDiv.style.display='none';
                img.src = siteurl+'images/arrow_down.png';
            }
                            
            topBar.className='topBar';
            divs[no].appendChild(topBar);                
            divs[no].appendChild(outerContentDiv);    
            dhtmlgoodies_paneIndex++;            
        }            
    }
}

///////////////////////////////////////////////////////
//CODE FOR TOOLTIP
//////////////////////////////////////////////////////
    var dhtmlgoodies_tooltip = false;
    var dhtmlgoodies_tooltipShadow = false;
    var dhtmlgoodies_shadowSize = 2;
    var dhtmlgoodies_tooltipMaxWidth = 200;
    var dhtmlgoodies_tooltipMinWidth = 100;
    var dhtmlgoodies_iframe = false;
    var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('opera')==-1 && document.all)?true:false;
    function showTooltip(e,tooltipTxt)
    {
        
        var bodyWidth = Math.max(document.body.clientWidth,document.documentElement.clientWidth) - 20;
    
        if(!dhtmlgoodies_tooltip){
            dhtmlgoodies_tooltip = document.createElement('DIV');
            dhtmlgoodies_tooltip.id = 'tooltip';
            dhtmlgoodies_tooltipShadow = document.createElement('DIV');
            dhtmlgoodies_tooltipShadow.id = 'tooltip-shadow';
            
            document.body.appendChild(dhtmlgoodies_tooltip);
            document.body.appendChild(dhtmlgoodies_tooltipShadow);    
            
            if(tooltip_is_msie){
                dhtmlgoodies_iframe = document.createElement('IFRAME');
                dhtmlgoodies_iframe.frameborder='5';
                dhtmlgoodies_iframe.style.backgroundColor='#FFFFFF';
                dhtmlgoodies_iframe.src = '#';     
                dhtmlgoodies_iframe.style.zIndex = 100;
                dhtmlgoodies_iframe.style.position = 'absolute';
                document.body.appendChild(dhtmlgoodies_iframe);
            }
            
        }
        
        dhtmlgoodies_tooltip.style.display='block';
        dhtmlgoodies_tooltipShadow.style.display='block';
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';
        
        var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
        var leftPos = e.clientX + 10;
        
        dhtmlgoodies_tooltip.style.width = null;    // Reset style width if it's set 
        dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
        dhtmlgoodies_tooltip.style.left = leftPos + 'px';
        dhtmlgoodies_tooltip.style.top = e.clientY + 10 + st + 'px';

        
        dhtmlgoodies_tooltipShadow.style.left =  leftPos + dhtmlgoodies_shadowSize + 'px';
        dhtmlgoodies_tooltipShadow.style.top = e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';
        
        if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){    /* Exceeding max width of tooltip ? */
            dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
        }
        
        var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;        
        if(tooltipWidth<dhtmlgoodies_tooltipMinWidth)tooltipWidth = dhtmlgoodies_tooltipMinWidth;
        
        
        dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';        
        
        if((leftPos + tooltipWidth)>bodyWidth){
            dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth)) + 'px';
            dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
        }
        
        if(tooltip_is_msie){
            dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
            dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
            dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
            dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';
        
        }
                
    }
    
    function hideTooltip()
    {
        dhtmlgoodies_tooltip.style.display='none';
        dhtmlgoodies_tooltipShadow.style.display='none';        
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';        
    }



//Set tab to intially be selected when page loads:
//[which tab (1=first tab), ID of tab content to display (or "" if no corresponding tab content)]:
var initialtab=[1, "sc1"]

//Turn menu into single level image tabs (completely hides 2nd level)?
var turntosingle=0 //0 for no (default), 1 for yes

//Disable hyperlinks in 1st level tab images?
var disabletablinks=0 //0 for no (default), 1 for yes


////////Stop editting////////////////

var previoustab=""

if (turntosingle==1)
document.write('<style type="text/css">\n#tabcontentcontainer{display: none;}\n</style>')

function expandcontent(cid, aobject){
if (disabletablinks==1)
aobject.onclick=new Function("return false")
if (document.getElementById && turntosingle==0){
highlighttab(aobject)
if (previoustab!="")
document.getElementById(previoustab).style.display="none"
if (cid!=""){
document.getElementById(cid).style.display="block"
previoustab=cid
}
}
}

function highlighttab(aobject){
if (typeof tabobjlinks=="undefined")
collectddtabs()
for (i=0; i<tabobjlinks.length; i++)
tabobjlinks[i].className=""
aobject.className="current"
}

function collectddtabs(){

var tabobj=document.getElementById("ddtabs")
if(typeof tabobj!='undefined'&&tabobj)
    tabobjlinks=tabobj.getElementsByTagName("A")
}

function do_onload(){
collectddtabs()
if(typeof tabobjlinks!='undefined'&&tabobjlinks)  
expandcontent(initialtab[1], tabobjlinks[initialtab[0]-1])
}

/////////////////////////////////////////////////////////
//SLIDE DOWN OPTION BOX
////////////////////////////////////////////////////////
    var initHeight = 0;
    var slidedown_direction = 1;
    var slidedownContentBox = false;
    var slidedownContent = false;
    var slidedownActive = false;
    var contentHeight = false;
    var slidedownSpeed = 3;     // Higher value = faster script
    var slidedownTimer = 7;    // Lower value = faster script
    function slidedown_showHide()
    {
        if(initHeight==0)slidedown_direction=slidedownSpeed; else slidedown_direction = slidedownSpeed*-1;
        if(!slidedownContentBox){
            slidedownContentBox = document.getElementById('option-content-box');
            slidedownContent = document.getElementById('option-content');
            contentHeight = document.getElementById('option-content').offsetHeight;
        }
        slidedownContentBox.style.visibility='visible';
        slidedownActive = true;
        slidedown_showHide_start();
        document.getElementById('option-arrow').src=siteurl+"images/option_arrow_up.gif";
    }
    function slidedown_showHide_start()
    {
        if(!slidedownActive)return;
        initHeight = initHeight/1 + slidedown_direction;
        if(initHeight <= 0){
            slidedownActive = false;    
            slidedownContentBox.style.visibility='hidden';
            initHeight = 0;
            document.getElementById('option-arrow').src=siteurl+"images/option_arrow_down.gif";
        }
        if(initHeight>contentHeight){
            slidedownActive = false;    
        }
        slidedownContentBox.style.height = initHeight + 'px';
        slidedownContent.style.top = initHeight - contentHeight + 'px';
        setTimeout('slidedown_showHide_start()',slidedownTimer);    // Choose a lower value than 10 to make the script move faster
}

/*--------------------------AJAX TOOL TIP WORLDMAP--------------------------------------*/
/* Custom variables */

/* Offset position of tooltip */
var x_offset_tooltip = 5;
var y_offset_tooltip = -15;

/* Don't change anything below here */


var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var ajax_tooltip_MSIE = false;
if(navigator.userAgent.indexOf('MSIE')>=0)ajax_tooltip_MSIE=true;


function ajax_showTooltip(countryCode,inputObj)
{
    ajax_tooltipObj = document.getElementById('worldmap-tooltip');    /* Tooltip div not created yet ? */
    // Find position of tooltip
    ajax_tooltipObj.style.display='block';
    loadWorldMapContent(countryCode, 'worldmap-tooltip-content');

    ajax_positionTooltip(inputObj);
}

function ajax_positionTooltip(inputObj)
{
    var leftPos = (ajaxTooltip_getLeftPos(inputObj) + inputObj.offsetWidth);
    var topPos = ajaxTooltip_getTopPos(inputObj);

    //var leftPos = window.event.x;
    //var topPos =  window.event.y;

    /*
    var rightedge=ajax_tooltip_MSIE? document.body.clientWidth-leftPos : window.innerWidth-leftPos
    var bottomedge=ajax_tooltip_MSIE? document.body.clientHeight-topPos : window.innerHeight-topPos
    */
    //var tooltipWidth = document.getElementById('worldmap-tooltip-content').offsetWidth +  document.getElementById('worldmap-tooltip-arrow').offsetWidth; 
    // Dropping this reposition for now because of flickering
    //var offset = tooltipWidth - rightedge; 
    //if(offset>0)leftPos = Math.max(0,leftPos - offset - 5);
    
    ajax_tooltipObj.style.left = leftPos + 'px';
    ajax_tooltipObj.style.top = topPos + 'px';    
}


function ajax_hideTooltip()
{
    ajax_tooltipObj.style.display='none';
}

function ajaxTooltip_getTopPos(inputObj)
{        
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
      if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function ajaxTooltip_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
      if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}
/***********************************************
* Dynamic Countdown script- © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}

cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}

cdtime.prototype.showresults=function(){
var thisobj=this


var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

//Create your own custom format function to pass into cdtime.displaycountdown()
//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc


function formatresults(){
if (this.timesup==false){//if target date/time not yet met
var displaystring=arguments[0]+" days "+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds left until March 23, 2009 18:25:00"
}
else{ //else if target date/time met
var displaystring="Future date is here!"
}
return displaystring
}

function formatresults2(){
if (this.timesup==false){ //if target date/time not yet met
var displaystring="<span class='lcdstyle'>"+arguments[0]+" days "+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds left until official site launch: : February 14, 2007 </span>"
}
else{ //else if target date/time met
var displaystring="" //Don't display any text
alert("Christmas is here!") //Instead, perform a custom alert
}
return displaystring
}
