﻿// JScript File
function regionInit()
{    
    var otherEl = $('regionList');
    var btn = $('detailBtn');
    if (btn)
    {
	    btn.addEvent('click', function(){
	        var wineDetails = document.getElementById("wineDetails");
    	    var show = btn.innerHTML == "Sammenlign";
    	    var myEffect = new Fx.Tween(otherEl);
    	    if (show)
    	    {
    		    document.getElementById("regionList").style.width = "942px";
		        myEffect.start('background-color', '#fff');
		        wineDetails.style.display = "block";
		        btn.innerHTML = "Skjul";
		        btn.className = "boxLink1";
		    } else {
    		    otherEl.tween('width', 177);
		        myEffect.start('background-color', '#eee');
		        wineDetails.style.display = "none";
		        btn.innerHTML = "Sammenlign";
		        btn.className = "boxLink";
		    }
		    return false;
    	});
	}
}
    
    function showDetail(id)
    {
       var imageObj = document.getElementById("mapImage" + id);
       if (imageObj)
       {
         var exist = imageObj.childNodes[0];
         if (imageObj && !exist)
         {
           var imageUrl = document.getElementById("mapImageUrl" + id);
           var src = document.createElement("img");
           src.setAttribute("src", imageUrl.value);
           imageObj.appendChild(src);
         }
       }
//       closeAll("inlineBoxWineDetail");
       var e = document.getElementById(id);
       if (e.style.display == "none" | e.style.display == "")
         e.style.display = "block";
       else 
         e.style.display = "none";
       this.focus();
    }
    
    function closeAll(styleName)
    {
       var elm = document.getElementsByTagName("div");
       for (var i = 0; i < elm.length; i++)
       {
           if (elm[i].className == styleName)
              elm[i].style.display = "none";
       }
    }

    // don't flick detail, force show
    function showForceDetail(id, name)
    {
       var grapes = document.getElementsByTagName("div");
       for (var i = 0; i < grapes.length; i++)
       {
           if (grapes[i].className == "inlineBoxGrapeDetail grape")
              grapes[i].style.display = "none";
       }
       var e = document.getElementById(name + id);
         e.style.display = "block";
        location.href = "#" + id;
    }

    function showGrape(id)
    {
        tab(2,2);
        showForceDetail(id, "grape");
    }
    
    function GotoAndOpen(id)
    {
        showDetail(id, 'grape');
        window.location = ('#'+id);
    }

    function tab(selected)
    {
       var c = 0;
       while(document.getElementById("PageElement" + c))
       {
          if (c == selected)
             document.getElementById("PageElement" + c).style.display = "block";
          else 
             document.getElementById("PageElement" + c).style.display = "none";
          c++;
       }
       var tabElement = document.getElementById("tab");
       if (tabElement)
       {
           var tabs = tabElement.getElementsByTagName("a");
           for (var i = 0; i < tabs.length; i++)
           {
             if (i == selected) className = "boxLink" + i + " sel";
               else className = "boxLink" + i;
             tabs[i].className = className;
           }
       }
       this.focus();
       
    }
    
    function link(anchor)
    {
       location.href = "#" + anchor;
    }

    function getHidden(no)
    {
        var hidden = 0;
        var elm = document.getElementsByTagName("div");
        for (var i = 0; i < elm.length; i++)
        {
            if (elm[i].className == "flip0" && elm[i].style.display == "none")
            {
                hidden++;
            }
        }
        return hidden;
    }

    function MoveOption(objSourceId, objTargetId)  
    {
              objSourceElement = document.getElementById(objSourceId);
              objTargetElement = document.getElementById(objTargetId);
              var aryTempSourceOptions = new Array(); 
              var x = 0;   
              //looping through source element to find selected options   
              for (var i = 0; i < objSourceElement.length; i++)
              {        
                 if (objSourceElement.options[i].selected)
                 {                //need to move this option to target element 
                    var intTargetLen = objTargetElement.length++;        
                    objTargetElement.options[intTargetLen].text = objSourceElement.options[i].text;        
                    objTargetElement.options[intTargetLen].value = objSourceElement.options[i].value; 
                 }        
                 else 
                 {   
                 //storing options that stay to recreate select element       
                    var objTempValues = new Object();         
                    objTempValues.text = objSourceElement.options[i].text;   
                    objTempValues.value = objSourceElement.options[i].value;    
                    aryTempSourceOptions[x] = objTempValues;       
                    x++;         
                 }     
              }  
              //resetting length of source   
              objSourceElement.length = aryTempSourceOptions.length;     
              //looping through temp array to recreate source select element   
              for (var i = 0; i < aryTempSourceOptions.length; i++) 
              {
                 objSourceElement.options[i].text = aryTempSourceOptions[i].text;  
                 objSourceElement.options[i].value = aryTempSourceOptions[i].value;          
                 objSourceElement.options[i].selected = false;   
              }  
              sortlist(objSourceId);
              sortlist(objTargetId);
       }
// Moves all elements from a listbox to a single text field
function GetFromListBox(from, to)
{
    var box = document.getElementById(from);
    var res = "";
    for (var i = 0; i < box.length; i++)
    {
       res = res + box.options[i].text + ";";
    }
    var lbl = document.getElementById(to);
    lbl.value = res;
}

function GetListBoxValues(from, to)
{
    var box = document.getElementById(from);
    var res = "";
    for (var i = 0; i < box.length; i++)
    {
       res = res + box.options[i].value + ";";
    }
    var lbl = document.getElementById(to);
    lbl.value = res;
}

function sortlist(listBoxId) {
    var lb = document.getElementById(listBoxId);
    arrTexts = new Array();
    arrValues = new Array();

    for(i=0; i<lb.length; i++)  {
        arrTexts[i] = lb.options[i].text;
        arrValues[i] = lb.options[i].value;
    }
    arrTexts.sort();
    for(i=0; i<lb.length; i++)  {
        lb.options[i].text = arrTexts[i];
        lb.options[i].value = arrValues[i];
    }
}

