﻿ /* new function for web tab panel */

 //
//	Configuration
//
var closeImage = "templates/images/closeShoppingCart.gif";
var overlayOpacity = 0.8;
var animate = true;
var overlayDuration = 0.0;

if(animate == true)
{
    overlayDuration = 0.2;
}

Object.extend(Element, {
	getWidth: function(element) {
	   	element = $(element);
	   	return element.clientWidth;
	},
	setWidth: function(element,w) {
	   	element = $(element);
    	element.style.width = w +"px";
	},
	getHeight: function(element) {
	   	element = $(element);
	   	return element.clientHeight;
	},
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	},
	setLeft: function(element, l){
	    element = $(element);
	    element.style.left = l +"px";
	},
	setValue: function(element, v) {
	    element = $(element);
	    element.value = v;
	},
	setText: function(element, t) {
	    element = $(element);
	    element.innerHTML = t;
	}
});

var setShoppingCart = Class.create();

setShoppingCart.prototype = {

	initialize: function() {

		if (!document.getElementsByTagName)
		{
		    return;
		}

		var objBody = document.getElementsByTagName("form").item(0);

		if (!objBody == null)
		{
		    return;
		}
		// itemOverview panel
		var shoppingcartOverviewPanel = document.getElementById('shoppingcartOverviewPanel');

		var shoppingCartShowButton = document.getElementById("shoppingCartShowButton");
        var shoppingSeperator  = document.getElementById("shoppingSeperator");
        if (shoppingSeperator != null)
        {
            shoppingSeperator.style.display = 'inline';
        }
		if (shoppingcartOverviewPanel != null && shoppingCartShowButton != null)
		{
		    shoppingcartOverviewPanel.style.display = 'block';
            var shoppingBoxLabel = getShoppingCartHead (shoppingcartOverviewPanel).cloneNode (true);

            var objShoppingCartBox = document.createElement("div");
            objShoppingCartBox.setAttribute('id', 'shoppingCartBox');
            objShoppingCartBox.style.display = 'none';

            shoppingCartShowButton.onclick = function()
            {
                objSetShoppingCart.showShoppingCart ();
                return false;
            }

            var objClose = document.createElement("a");
            objClose.setAttribute('id', 'closeShoppingLink');
            objClose.setAttribute('href', '#');

            objClose.onclick = function()
            {
                objSetShoppingCart.end ();
                // no items in shoppingcart
                if (shoppingcartOverviewPanel.getElementsByTagName('td').length == 0)
                {
                    // shoppingCartShowButton.style.display = 'none';
                }
                shoppingBoxLabel.innerHTML = getShoppingCartHead (shoppingcartOverviewPanel).innerHTML;
                return false;
            }

            var objCloseIcon = document.createElement("img");
            objCloseIcon.setAttribute('id', 'closeIcon');
            objCloseIcon.setAttribute('alt', 'Close');
            objCloseIcon.setAttribute('src', closeImage);
            objClose.appendChild(objCloseIcon);


            shoppingCartShowButton.parentNode.insertBefore (shoppingBoxLabel, shoppingCartShowButton);



            objShoppingCartBox.appendChild(objClose);
            objShoppingCartBox.insertBefore(shoppingcartOverviewPanel, objClose);
            objBody.insertBefore(objShoppingCartBox, objBody.firstChild);

            // no Items in shoppingcart
            if (shoppingcartOverviewPanel.getElementsByTagName('td').length == 0)
            {
                // shoppingCartShowButton.style.display = 'none';
            }
		}

		// carrierOverview panel
		var shoppingcartOverviewPanelCarrier = document.getElementById('shoppingcartOverviewPanelCarrier');
		var shoppingCartShowButtonCarrier = document.getElementById("shoppingCartShowButtonCarrier");

		if (shoppingcartOverviewPanelCarrier != null && shoppingCartShowButtonCarrier != null)
		{
		    shoppingcartOverviewPanelCarrier.style.display = 'block';
		    var shoppingBoxLabelCarrier = getShoppingCartHead (shoppingcartOverviewPanelCarrier).cloneNode (true);
		    var objShoppingCartBoxCarrier = document.createElement("div");
		    objShoppingCartBoxCarrier.setAttribute('id', 'shoppingCartBoxCarrier');
		    objShoppingCartBoxCarrier.style.display = 'none';

	        shoppingCartShowButtonCarrier.onclick = function()
	        {
	            objSetShoppingCart.showShoppingCartCarrier ();
	            return false;
	        }

	        var objCloseCarrier = document.createElement("a");
	        objCloseCarrier.setAttribute('id', 'closeShoppingLinkCarrier');
	        objCloseCarrier.setAttribute('href', '#');

	        objCloseCarrier.onclick = function()
	        {
	            objSetShoppingCart.endCarrier ();
	            // no items in shoppingcart
                if (shoppingcartOverviewPanelCarrier.getElementsByTagName('td').length == 0)
	            {
	                shoppingCartShowButtonCarrier.style.display = 'none';
	            }
	            shoppingBoxLabelCarrier.innerHTML = getShoppingCartHead (shoppingcartOverviewPanelCarrier).innerHTML;
	            return false;
	        }

	        var objCloseIconCarrier = document.createElement("img");
	        objCloseIconCarrier.setAttribute('id', 'closeIconCarrier');
	        objCloseIconCarrier.setAttribute('alt', 'Close');
	        objCloseIconCarrier.setAttribute('src', closeImage);
	        objCloseCarrier.appendChild(objCloseIconCarrier);


	        shoppingCartShowButtonCarrier.parentNode.insertBefore (shoppingBoxLabelCarrier, shoppingCartShowButtonCarrier);



	        objShoppingCartBoxCarrier.appendChild(objCloseCarrier);
	        objShoppingCartBoxCarrier.insertBefore(shoppingcartOverviewPanelCarrier, objCloseCarrier);
	        objBody.insertBefore(objShoppingCartBoxCarrier, objBody.firstChild);

	        // no Items in shoppingcart
	        /*
	        if (shoppingcartOverviewPanelCarrier.getElementsByTagName('td').length == 0)
	        {
	           shoppingCartShowButtonCarrier.style.display = 'none';
	        }
	        */
	    }
	},

	showShoppingCart: function(){
	    Element.show('shoppingCartBox');

		var objWidth = Element.getWidth('shoppingcartOverviewPanel');
		var objHeight = Element.getHeight('shoppingcartOverviewPanel');

		Element.setLeft('shoppingCartBox', (document.body.clientWidth / 2) - (objWidth / 2));
		Element.setTop('shoppingCartBox', (document.body.clientHeight / 2) - (objHeight / 2));

		new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });
	},

	showShoppingCartCarrier: function(){
	    Element.show('shoppingCartBoxCarrier');

		var objWidth = Element.getWidth('shoppingcartOverviewPanelCarrier');
		var objHeight = Element.getHeight('shoppingcartOverviewPanelCarrier');

		Element.setLeft('shoppingCartBoxCarrier', (document.body.clientWidth / 2) - (objWidth / 2));
		//Element.setTop('shoppingCartBoxCarrier', (document.body.clientHeight / 2) - (objHeight / 2));
		var top=(document.body.clientHeight / 2) - (objHeight / 2);
		Element.setTop('shoppingCartBoxCarrier', top<20?20:top);

		new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });
	},

	end: function(){
		Element.hide('shoppingCartBox');
		new Effect.Fade('overlay', { duration: overlayDuration});
	},

	endCarrier: function(){
		Element.hide('shoppingCartBoxCarrier');
		new Effect.Fade('overlay', { duration: overlayDuration});
	}
}

function getShoppingCartHead (item)
{
    div = item.getElementsByTagName('div');

    for (i = 0; i < div.length; i++)
    {
        if (div [i].className == 'shoppingcartHead')
        {
            return div [i];
        }
    }
}

function initShoppingCart()
{
    if (document.getElementById("shoppingCartShowButton") != null)
    {
        objSetShoppingCart = new setShoppingCart();
    }
}

function clearForm (executedCheckBox)
{
    executedCheckBox.disabled = true;

    inputs = document.getElementsByTagName("input");

    for (i = 0; i < inputs.length; i++)
    {
        if (inputs[i].className == "clear")
        {
            if (inputs[i].type.toLowerCase()  == "text")
            {
                inputs[i].value = "";
            }
        }
    }

    inputs = document.getElementsByTagName("textarea");

    for (i = 0; i < inputs.length; i++)
    {
        if (inputs[i].className == "clear")
        {
                inputs[i].value = "";
        }
    }

    inputs = document.getElementsByTagName("select");

    for (i = 0; i < inputs.length; i++)
    {
        if (inputs[i].className == "clear")
        {
                inputs[i].options[0].selected = true;
        }
    }
}

function submitAcceptance ()
{
    inputs = document.getElementsByID("inputd");
}

function adjustButtonAndLinks()
{
   var a=document.getElementsByTagName('a');
   var inp=document.getElementsByTagName('input');
   var arr=[];

   for (var i=0;i<a.length;i++) {
      arr[i] = a[i];
   }

   for (i=0;i<inp.length;i++) {
      if(inp[i].type == 'submit' || inp[i].type == 'image' || inp[i].type == 'reset' || inp[i].type == 'button' || inp[i].type == 'checkbox' || inp[i].type == 'radio') {
         arr = arr.concat([inp[i]]);
      }
   }

   a = arr;

   for (i=0;i<a.length;i++) {
      a[i].onmousedown = function()
      {
         this.onfocus = function()
         {
            this.blur();
         }
      }
      a[i].onmouseup = function()
      {
         this.onfocus = function(){}
      }
      a[i].onmouseout = a[i].onmouseup;
   }
}

function switchDisplayElement (element)
{
    if (element != null)
    {
        switchElement =  element.parentNode.parentNode.getElementsByTagName("p");
        if (switchElement == null)
        {
            return false;
        }
        else
        {
            switchElement = switchElement[switchElement.length - 1];
        }

        if (element.className.search(/expanded/) != -1)
        {
            element.className = element.className.replace(/expanded/g, "collapsed");
            switchElement.style.display = "none";
        }
        else
        {
            if (element.className.search(/collapsed/) == -1)
            {
                element.className += " expanded";
            }
            else
            {
                element.className = element.className.replace(/collapsed/g, "expanded");
            }
             switchElement.style.display = "block";
        }
    }
    return false;
}

function switchDisplayElement2 (element)
{
    if (element != null)
    {
        switchElement =  element.parentNode.parentNode.getElementsByTagName("div");
        if (switchElement == null)
        {
            return false;
        }
        else
        {
            switchElement = switchElement[switchElement.length - 1];
        }

        if (element.className.search(/expanded/) != -1)
        {
            element.className = element.className.replace(/expanded/g, "collapsed");
            switchElement.style.display = "none";
        }
        else
        {
            if (element.className.search(/collapsed/) == -1)
            {
                element.className += " expanded";
            }
            else
            {
                element.className = element.className.replace(/collapsed/g, "expanded");
            }
             switchElement.style.display = "block";
        }
    }
    return false;
}


Event.observe(window, 'load', initShoppingCart);

Event.observe(window, 'load', adjustButtonAndLinks);


