// set variables (move this)
var currentpage = 'page1';
var panelopen = false;
var animate = false;

var pages = new Array(3);
for (i = 0; i < 3; i++) {
    pages[i] = new Array(2);
};
pages[0][0] = 'page1';
pages[0][1] = '0';
pages[1][0] = 'page2';
pages[1][1] = '-3000';
pages[2][0] = 'page3';
pages[2][1] = '-6000';


// data transfer (only!): decoding
function decode(input) {
	var i = 0;
	var output = "";
	var chr1, chr2, chr3;
	var enc1, enc2, enc3, enc4;
	var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
	do {
		enc1 = keyStr.indexOf(input.charAt(i++));
		enc2 = keyStr.indexOf(input.charAt(i++));
		enc3 = keyStr.indexOf(input.charAt(i++));
		enc4 = keyStr.indexOf(input.charAt(i++));
		chr1 = (enc1 << 2) | (enc2 >> 4);
		chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
		chr3 = ((enc3 & 3) << 6) | enc4;
		output += String.fromCharCode(chr1);
		if (enc3 != 64) output += String.fromCharCode(chr2);
		if (enc4 != 64) output += String.fromCharCode(chr3);
	} while (i < input.length);
	return output;
};



function setup() {
	if ($('75')) {
			var address = decode("Z3J1ZW5lQGdydWVuZS5jaA==");
			$('75').innerHTML = address;
			$('75').href='mailto:' + address;
		}
	
	
    if (navigator.userAgent.indexOf('iPhone') == -1) {
        animate = true;
    };
    //for all devices
    $('panelcontainer').hide();
    $$('.hidden').invoke('hide');
    // lazy load images not used in first view & without user action
    var servicesbg = new Image();
    servicesbg.src = '../images/servicesbg.png';
    servicesbg.onload = function() {
        $('servicescontainer').setStyle({
            background: 'url(' + servicesbg.src + ') no-repeat left bottom'
        });
    };
    var contentbg = new Image();
    contentbg.src = '../images/content.png';
    contentbg.onload = function() {
        $('content').setStyle({
            background: 'url(' + contentbg.src + ') repeat-x 0 0 transparent'
        });
    };
    if (animate == true) {
        // wait for bg images to animate
        var bgimg1 = new Image();
        bgimg1.src = '../images/wolkenstadt.png';
        bgimg1.onload = function() {
            $('bg_wolken1').setStyle({
                background: 'url(' + bgimg1.src + ') repeat-x 0 top'
                // has to be 0 not left for transition
            });
            $('bg_wolken2').setStyle({
                background: 'url(' + bgimg1.src + ') repeat-x -2000px top'
            });
            $('bg_stadt').setStyle({
                display: 'none',
                background: 'url(' + bgimg1.src + ') no-repeat 20px bottom'
            });
            new Effect.Move('bg_wolken1', {
                x: 0,
                y: 30,
                mode: 'absolute',
                transition: Effect.Transitions.spring,
                duration: 1.5
            });
            new Effect.Move('bg_wolken2', {
                x: 0,
                y: 30,
                mode: 'absolute',
                transition: Effect.Transitions.spring,
                duration: 2.5
            });
            Effect.Appear('bg_stadt', {
                duration: 1.6
            });
        };
        var bgimg2 = new Image();
        bgimg2.src = '../images/bg_kabel.png';
        bgimg2.onload = function() {
            $('bg_kabel').setStyle({
                display: 'none',
                background: 'url(' + bgimg2.src + ') no-repeat 0 top'
                // has to be 0 not left for transition
            });
            Effect.Appear('bg_kabel', {
                duration: .8
            });
        };
        // lazy load images
        var doseimg = new Image();
        doseimg.src = '../images/dose-de.png';
        doseimg.onload = function() {
            $('dose').setStyle({
                display: 'none',
                background: 'url(' + doseimg.src + ') no-repeat left top'
            });
            Effect.Appear.delay(.5, 'dose', {
                duration: .5
            });
        };
        // lazy load images not used in first view & without user action & not used on iphone
        var ctabg = new Image();
        ctabg.src = '../images/cta-de.png';
        ctabg.onload = function() {
            $('cta').setStyle({
                backgroundImage: 'url(' + ctabg.src + ')'
            });
        };
        var cta2bg = new Image();
        cta2bg.src = '../images/cta2-de.png';
        cta2bg.onload = function() {
            $('cta2').setStyle({
                backgroundImage: 'url(' + cta2bg.src + ')'
            });
        };
    };
    // lazy load content images not used in first view & without user action
    $('naturemadestar').src = '../images/naturemade-star.png';
    $('naturemadebasic').src = '../images/naturemade-basic.png';
    $('tuvsud').src = '../images/tuv-sud.png';
    $('chsmallde').src = '../images/strom_CHsmall-de.png';
	$('chde').src = '../images/strom_CH-de.png';
    $('stromseesmallde').src = '../images/stromsee_small-de.jpg';
	$('stromseede').src = '../images/stromsee-de.png';
};
function showpage(trigger, page) {
    //ie7 this fix
    trigger = $(trigger);
    if (currentpage !== page[0]) {
        if ((panelopen = true) && ($$('.services .path')[0])) {
            $('panelcontainer').hide();
            $$('.services .path')[0].removeClassName('path');
            panelopen = false;
        };
        if (animate == true) {
            $('servicescontainer').hide();
        };
        $('go' + currentpage).removeClassName('path');
        if (animate == true) {
            new Effect.Move('content', {
                x: page[1],
                y: 0,
                mode: 'absolute',
                transition: Effect.Transitions.linear
            });
        } else {
            $('content').setStyle({
                left: page[1] + 'px'
            });
        };
        // move background
        if (animate == true) {
            $('bg_kabel').morph('background-position: ' + page[1] * .42 + 'px top');
            $('bg_wolken1').morph('background-position: ' + page[1] * .15 + 'px top');
            $('bg_wolken2').morph('background-position: ' + (page[1] * .06 - 2000) + 'px top');
            $('bg_stadt').morph('background-position: ' + page[1] * .39 + 'px bottom');
            // reset Cta position
            $('cta').setStyle('left: 271px');
            if (page[0] == 'page1') {
                Effect.Appear.delay(1, 'dose', {
                    duration: 1.2
                });
            } else {
                Effect.Fade('dose');
            };
        };
        // remove/add .path
        trigger.addClassName('path');
        currentpage = page[0];
    };
    if (animate == true) {
        Effect.Appear.delay(1, 'servicescontainer', {
            duration: 1.2
        });
    };
};
function showpanel(trigger) {
    //ie7 this fix
    var makepath = $(trigger);
    var paneid = $(makepath.getAttribute('href').gsub('#', ''));
    var panel = $($(paneid));
    var currentpanel = $$('#servicescontainer div.open')[0];
    // panel ausklappen falls kein currentpanel
    if (!currentpanel) {
        panel.show();
        $('panelcontainer').show();
        // wenn vorher ein panel aktiv war den path entfernen
        if ($$('#servicescontainer a.path')[0]) {
            $$('#servicescontainer a.path')[0].removeClassName('path');
        };
        makepath.addClassName('path');
        panel.addClassName('open');
        panelopen = true;
    };
    // currentpanel setzen falls ein panel open ist
    if (currentpanel) {
        if (currentpanel != panel) {
            // wenn vorher ein panel aktiv war den path entfernen
            if ($$('#servicescontainer a.path')[0]) {
                $$('#servicescontainer a.path')[0].removeClassName('path');
            };
            currentpanel.hide();
            currentpanel.removeClassName('open');
            panel.show();
            // };
            panel.addClassName('open');
            makepath.addClassName('path');
            if (panelopen == false) {
                $('panelcontainer').show();
                panelopen = true;
            }
        } else if ((currentpanel == panel) && (panelopen == true)) {
            $('panelcontainer').hide();
            panelopen = false;
            makepath.removeClassName('path');
            currentpanel.removeClassName('open');
            currentpanel.hide();
        } else if ((currentpanel == panel) && (panelopen == false)) {
            $('panelcontainer').show();
            panelopen = true;
            makepath.addClassName('path');
        };
    };
};

function showtab(trigger) {
    //ie7 this fix
    var makepath = $(trigger);
    var href = makepath.getAttribute('href');
    var index = href.indexOf("#");
    var tabid = href.slice(index + 1);
    var tab = $(tabid);
    makepath.up('.page').down('.open').hide().removeClassName('open');
    tab.show().addClassName('open');
    makepath.up('.page').down('.path').removeClassName('path');
    makepath.addClassName('path');
};
// SETUP ACCORDION
function accordeon(trigger) {
    //ie7 this fix
    var makepath = $(trigger);
    if (makepath.hasClassName('path') == false) {
        if (makepath.up(1).down('a.path')) {
            Effect.BlindUp((makepath.up(1).down('a.path').up().next()), {
                duration: .3
            });
            makepath.up(1).down('a.path').removeClassName('path');
        };
        makepath.addClassName('path');
        Effect.BlindDown(makepath.up().next(), {
            duration: .3
        });
    };
};
