// var current_page = '';
// var loading_page = false;

// window.addEvent('load', function() {
//     $('page_content').set('style', {
//         'height': 'auto'
//     });
//     
//     if (document.location.hash) {
//         page_to_load = "/" + document.location.hash.slice(1);
//         open_page(page_to_load);
//     } else {    
//         page_to_load = document.location.pathname;
//         current_page = page_to_load;
//         $('current_page').slide('hide').fade('hide');
//         $('current_page').slide('in').fade('in');
//         $('loading_page').slide('out').fade('out');
//     }
//     
//     if (page_to_load != "/") {
//             make_nav_small();
//         } else {
//             make_nav_big();
//         }
// 
//     var myFx = new Fx.Morph("logo");
//     myFx.start({
//         'margin-top': 0,
//         'margin-bottom': 0
//     });
//     $('header').tween('padding-bottom', '0');
//     $('loading').slide('out').fade('out');
// });

window.addEvent('domready', function() {
    // $('current_page').slide('hide').fade('hide');
    // $('loading_page').slide('hide').fade('hide');
    
    init_main_nav();
    init_home_page_nav();
    init_cs_nav();
    // init_ajax_links();
    
    email('Succeed', 'Arctica', 'co.uk', null, $('footer_email'));
});

// function hash_monitor(){
//     if(!loading_page){
//         hash_page = "/" + document.location.hash.slice(1);
//         if (document.location.pathname == '/' && current_page!=hash_page){
//             open_page(hash_page);
//         };
//         // } else if(Browser.Engine.name='trident') {
//         //     frame_page = frames['history_iframe'].location.pathname.slice(6);
//         //     if(frame_page == ''){
//         //         frame_page = '/'
//         //     };
//         //     if (document.location.pathname == '/' && current_page!=frame_page){
//         //         open_page(frame_page);
//         //     };
//         // };
//     };
// };
// hash_monitor.periodical(500);

// function open_page(url){
//     loading_page = true;
//     if (document.location.pathname != '/') {
//         document.location = '/#' + url.slice(1);
//     }
//     document.location = "#" + url.slice(1);
//     prev_page = current_page;
//     current_page = url;
//     if (Browser.Engine.name='trident'){
//         frames['history_iframe'].location = "/blank"+url;
//     }
//     if (url.indexOf("/directors/")===0 && url.length > "/directors/".length){
//         open_directors_page(url);
//         return false;
//     }
//     if (url.indexOf("/case_studies/")===0 && url.length > "/case_studies/".length){
//         open_case_study_page(url);
//         return false;
//     }
//     $('current_page').slide('out').fade('out');
//     $('loading_page').slide('in').fade('in');
//     setTimeout('request_page_content("'+url+'")', 500);
// };
// 
// function request_page_content(url) {
//     var jsonRequest = new Request.JSON({
//         url: url,
//         onSuccess: function(page){
//             load_page_content(url, page);
//             $('current_page').slide('in').fade('in');
//             $('loading_page').slide('out').fade('out');
//         },
//         onFailure: function(request){
//             load_page_not_found(url);
//             $('current_page').slide('in').fade('in');
//             $('loading_page').slide('out').fade('out');
//         }
//     }).get({'api': 'True'});
//     
// };
// 
// function load_page_content(url, page) {
//     document.title = 'Arctica: '+page.page_title;
//     $('current_page').set('class', page.page_name);
//     $('current_page').set('html', page.page_content);
//     
//     eval(page.javascript);
//     
//     if (url=="/"){
//         make_nav_big();
//     } else {
//         make_nav_small();
//     }
//     init_ajax_links();
//     loading_page = false;
// };
// 
// function load_page_not_found(url) {
//     html = '<h2>Error: Page not found</h2><p>Unfortuantly we were unable to find <em>"'+url+'"</em>. Please try <a href="javascript:history.back();">going back</a> or follow a link above.</p>';
//     document.title = 'Arctica: Page not found';
//     $('current_page').set('class', 'not_found_page');
//     $('current_page').set('html', html);
//     init_ajax_links();
//     loading_page = false;
// }
// 
// function open_case_study_page(url){
//     make_cs_nav_small();
//     $$('.case_studies_page #case_studie')[0].slide('out').fade('out');
//     $$('.case_studies_page .loading_page')[0].slide('in').fade('in');
//     setTimeout('request_case_study_page_content("'+url+'")', 500);
// }
// 
// function request_case_study_page_content(url) {
//     var jsonRequest = new Request.JSON({
//         url: url,
//         onSuccess: function(page){
//             load_case_study_page_content(url, page);
//             $$('.case_studies_page #case_studie')[0].slide('in').fade('in');
//             $$('.case_studies_page .loading_page')[0].slide('out').fade('out');
//         },
//         onFailure: function(request){
//             load_case_study_page_not_found(url);
//             $$('.case_studies_page #case_studie')[0].slide('in').fade('in');
//             $$('.case_studies_page .loading_page')[0].slide('out').fade('out');
//         }
//     }).get({'api': 'True'});
// }
// 
// function load_case_study_page_not_found(url) {
//     html = '<h2>Error: Page not found</h2><p>Unfortuantly we were unable to find <em>"'+url+'"</em>. Please try <a href="javascript:history.back();">going back</a> or follow a link above.</p>';
//     document.title = 'Arctica: Page not found';
//     $('case_studie').set('class', 'not_found_page');
//     $('case_studie').set('html', html);
//     setTimeout("$('current_page').slide('in')", 500);
//     loading_page = false;
// }
// 
// function load_case_study_page_content(url, page) {
//     document.title = 'Arctica: Case Study: '+page.page_title;
//     $('case_studie').set('class', '');
//     $('case_studie').set('html', page.page_content);
//     $('case_study_style').set('html', page.css);
//     init_ajax_links();
//     setTimeout("$('current_page').slide('in')", 500);
//     loading_page = false;
// }
// 
// function open_directors_page(url) {
//     director = url.slice("/directors/".length, -1);
//     $$('.directors_page ul.images li').each(function(item, index){
//         item.getElement('a').morph({
//             'width': 125
//         }).fade(0.6);
//         item.getElement('a').getElement('span').morph({
//             'font-size': 11,
//          'line-height': 14
//         });
//         item.getElement('a').getElement('span').getElement('em').morph({
//             'font-size': 9,
//             'line-height': 14,
//             'padding-left': 3
//         });
//         if (item.get('id')!='d_'+director){
//             item.getElement('div').set('morph', {
//                 'duration': 450
//             });
//             item.getElement('div').morph({
//                 'width': 1
//             });
//             hide = function(){
//                 this.setStyle('display', 'none');
//             };
//             hide.delay(500, item.getElement('div'));
//         }
//         
//     });
//     $$('.directors_page ul.images #d_'+director+' a')[0].fade('in');
//     $$('.directors_page ul.images #d_'+director+' div.text')[0].setStyle('display', 'block');
//     $$('.directors_page ul.images #d_'+director+' div.text')[0].set('morph', {
//         'duration': 'normal'
//     });
//     $$('.directors_page ul.images #d_'+director+' div.text')[0].morph({
//         'width': 405
//     });
//     $('current_page').slide('in').fade('in');
// }

function make_nav_big() {
    $('nav').morph({
        'height': 100,
    	'margin-top': 10,
    	'margin-left': -172,
    	'padding-bottom': 0,
    	'border-bottom-style': 'none',
    	'border-bottom-width': 0
    });
    $$('#nav a').each(function(item, index){
        item.morph({
            'display': 'block',
        	'background-color': '#999',
        	'width': 152,
        	'height': 30,
        	'float': 'left',
        	'margin-left': 10,
        	'text-align': 'right',
        	'overflow': 'hidden',
        	'text-decoration': 'none',
        	'padding-top': 70
        });
    });
    $$('#nav a span').each(function(item, index){
        item.morph({
            'font-size': 18,
            'line-height': 18,
            'margin-top': 0,
        	'padding-top': 2,
        	'padding-right': 3,
        	'padding-bottom': 3,
        	'padding-left': 5
        });
    });
}

function make_nav_small() {
    $('nav').morph({
        'height': 25,
        'margin-top': 10,
        'margin-left': -10,
        'padding-bottom': 10,
        'border-bottom-style': 'solid',
        'border-bottom-width': 1,
        'border-bottom-color': '#e6e6e6'
    });
    $$('#nav a').each(function(item, index){
        item.morph({
            'display': 'block',
        	'background-color': '#999',
        	'width': 125,
        	'height': 22,
        	'float': 'left',
        	'margin-left': 10,
        	'text-align': 'right',
        	'overflow': 'hidden',
        	'text-decoration': 'none',
        	'padding-top': 3
        });
        item.removeClass('active');
    });
    $$('#nav a span').each(function(item, index){
        item.morph({
        	'font-size': 15,
        	'line-height': 15,
        	'margin-top': 0,
        	'padding-top': 2,
        	'padding-right': 3,
        	'padding-bottom': 2,
        	'padding-left': 5
        });
    });
}

function init_cs_nav_small() {
    $$('.case_studies_page .left ul.images').each(function(item, index){
        item.fade('.6');
        item.setStyles({
            'width': 76,
            'height': 20,
            'padding-top': 10,
            'margin-bottom': 0
        });
    });
    $$('.case_studies_page .left ul.images a').each(function(item, index){
        item.setStyles({
            'width': 15
        });
    });
    // $$('.case_studies_page .left ul.images a span').each(function(item, index){
    //     item.fade('out');
    // });
    $$('.case_studies_page .left').each(function(item, index){
        item.setStyles({
            'width': 65,
            'display': 'block',
            'margin-bottom': 100
        });
    });
    $$('.case_studies_page .case_studie_box').each(function(item, index){
        item.setStyles({
            'width': 735
        });
    });
    $$('.case_studies_page .right_box').each(function(item, index){
        item.setStyles({
            'width': 0
        });
    });
    $$('.case_studies_page .left h2').each(function(item, index){
        item.setStyles('.case_studies_page .left h2.small');
        item.fade('.6');
    });
    // $('case_studies_page_title').set('html', '<a href="javascript:make_cs_nav_big()">&lt; Back</a>');
    
    $$('.case_studies_page .left ul.images').each(function(item, index){
        item.addEvents({
            'mouseenter': function(){
                item.morph({
                    'width': 415,
                    'height': 92,
                    'padding-top': 10,
                    'margin-bottom': -10
                });
                item.fade('in');
                item.getElements('a').each(function(item, index){
                    item.morph({
                        'width': 125
                    });
                    item.getElements('span').each(function(item, index){
                        item.set('fade', {
                            'duration': 'short'
                        });
                        // try {
                        //     item.fade('in');
                        // } catch(err) {}
                    });
                });
            },
            'mouseleave': function(){
                item.morph({
                    'width': 76,
                    'height': 20,
                    'padding-top': 10,
                    'margin-bottom': 0
                });
                item.fade('.6');
                item.getElements('a').each(function(item, index){
                    item.morph({
                        'width': 15
                    });
                    item.getElements('span').each(function(item, index){
                        item.set('fade', {
                            'duration': 'short'
                        });
                        // try {
                        //     item.fade('out');
                        // } catch(err) {}
                    });
                });
            }
        });
    });
    setTimeout("$('current_page').slide('in')", 500);
}

// function make_cs_nav_big() {
//     $$('.case_studies_page .left ul.images').each(function(item, index){
//         item.fade('in');
//         item.morph({
//             'width': 405,
//             'height': 92,
//             'padding-top': 0,
//             'margin-bottom': 0
//         });
//     });
//     $$('.case_studies_page .left ul.images a span').each(function(item, index){
//         item.fade('in');
//     });
//     $$('.case_studies_page .left').each(function(item, index){
//         item.morph({
//             'width': 395
//         });
//     });
//     $$('.case_studies_page .case_studie_box').each(function(item, index){
//         item.morph({
//             'width': 0
//         });
//     });
//     $$('.case_studies_page .right_box').each(function(item, index){
//         item.morph({
//             'width': 395
//         });
//     });
//     $$('.case_studies_page .left ul.images a').each(function(item, index){
//         item.morph({
//             'width': 125
//         });
//     });
//     $$('.case_studies_page .left h2').each(function(item, index){
//         item.morph('.case_studies_page .left h2.big');
//         item.fade('in');
//     });
//     $('case_studies_page_title').set('html', 'Select a case study:');
//     
//     $$('.case_studies_page .left ul.images').each(function(item, index){
//         item.removeEvents('mouseenter');
//         item.removeEvents('mouseleave');
//     });
//     setTimeout("$('current_page').slide('in')", 500);
// }

function init_home_page_nav() {
    $$('.home_page ul.images a').each(function(item, index){
        item.addEvents({
            'mouseenter': function(){
                this.getElements('span').each(function(item){
                    item.set('morph', {
                        'duration': 'short'
                    });
                    item.morph({
                        'padding-right': 15
                    });
                });
            },
            'mouseleave': function(){
                this.getElements('span').each(function(item){
                    item.set('morph', {
                        'duration': 'short'
                    });
                    item.morph({
                        'padding-right': 3
                    });
                });
            }
        });
    });
}

function init_cs_nav() {
    $$('.case_studies_page .left ul.images a').each(function(item, index){
        item.setStyle('opacity', 0.9);
        item.getElement('div').setStyle('margin-top',82-item.getElement('div').getSize().y-5);
        item.addEvents({
            'mouseenter': function(){
                $$('.case_studies_page .left ul.images a').each(function(item, index){
                    item.getElement('div').setStyle('margin-top',82-item.getElement('div').getSize().y-5);
                });
                this.getElement('div').set('morph', {
                    'duration': 'short'
                });
                this.getElement('div').morph({
                    'border-left-width': 15
                });
                this.setStyle('opacity', this.getStyle('opacity')+0.1);
            },
            'mouseleave': function(){
                this.getElement('div').set('morph', {
                    'duration': 'short'
                });
                this.getElement('div').morph({
                    'border-left-width': 3
                });
                this.setStyle('opacity', this.getStyle('opacity')-0.1);
            },
            'click': function(){
            
            }
        });
    });
    $$('.case_studies_page .right #filter_options li input').each(function(item, index){
        item.addEvents({
            'change': function(){
                filter_cs_nav();
            }
        });
    });
    filter_cs_nav();
    
}

function init_main_nav() {
    $$('#nav a').each(function(item, index){
        item.addEvents({
            'mouseenter': function(){
                this.getElement('span').set('morph', {
                    'duration': 'short'
                });
                this.getElement('span').morph({
                    'padding-right': 15
                });
            },
            'mouseleave': function(){
                this.getElement('span').set('morph', {
                    'duration': 'short'
                });
                this.getElement('span').morph({
                    'padding-right': 3
                });
            }
        });
    });
}

function init_directors_nav() {
    $$('.directors_page ul.images li a').each(function(item, index){
        var dirctor_href = item.get('href').slice(item.get('href').indexOf('#')+1)
        item.addEvents({
            'mouseenter': function(){
                this.getElement('span').set('morph', {
                    'duration': 'short'
                });
                this.getElement('span').morph({
                    'padding-right': 20
                });
            },
            'mouseleave': function(){
                this.getElement('span').set('morph', {
                    'duration': 'short'
                });
                this.getElement('span').morph({
                    'padding-right': 10
                });
            },
            'click': function(event){
                directors_navto(dirctor_href);
            }
        });
    });
    $$('.directors_page ul.images li .text').each(function(item, index){
        //item.slide('hide');
        item.setStyle('width', 1);
        item.setStyle('display', 'none');
    });
    director_name = document.location.hash.slice(1);
    if(director_name){
        directors_navto(director_name);
    };
}

function directors_navto(director) {
    $$('.directors_page ul.images li').each(function(item, index){
        item.getElement('a').morph({
            'width': 125
        }).fade(0.6);
        item.getElement('a').getElement('span').morph({
            'font-size': 11,
         'line-height': 14
        });
        item.getElement('a').getElement('span').getElement('em').morph({
            'font-size': 9,
            'line-height': 14,
            'padding-left': 3
        });
        if (item.get('id')!='d_'+director){
            item.getElement('div').set('morph', {
                'duration': 450
            });
            item.getElement('div').morph({
                'width': 1
            });
            hide = function(){
                this.setStyle('display', 'none');
            };
            hide.delay(500, item.getElement('div'));
        }
        
    });
    $$('.directors_page ul.images #d_'+director+' a')[0].fade('in');
    $$('.directors_page ul.images #d_'+director+' div.text')[0].setStyle('display', 'block');
    $$('.directors_page ul.images #d_'+director+' div.text')[0].set('morph', {
        'duration': 'normal'
    });
    $$('.directors_page ul.images #d_'+director+' div.text')[0].morph({
        'width': 405
    });
    $('current_page').slide('in').fade('in');
}


Slimbox.scanPage = function() {
	var links = $$("a").filter(function(el) {
	    if (el.href!='#'){
		    return el.rel && el.rel.test(/^lightbox/i);
	    } else {
	        el.addEvent('click', function(e){
	            e.stop();
	            return false;
	        });
	    }
	});
	$$(links).slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
window.addEvent("domready", Slimbox.scanPage);

function filter_cs_nav() {
    filter_by = [];
    $$('.case_studies_page .right #filter_options li').each(function(item, index){
        if (item.getElement('input').get('checked')){
            item.addClass('active');
            filter_by.push(item.getElement('input').get('value'));
        } else {
            item.removeClass('active');
        }
    });
    if (filter_by.length > 0){
        $$('.case_studies_page .left ul.images a').each(function(item, index){
            if (item.get('rel')){
                item_tags = item.get('rel').split(',');
                show_it = true;
                filter_by.each(function(tag){
                    if (!item_tags.contains(tag)){
                        show_it = false;
                    }
                });
                if (show_it){
                    item.fade(0.9);
                } else {
                    item.fade(0.3);
                }
            } else {
                item.fade(0.3);
            }
        });
    } else {
        $$('.case_studies_page .left ul.images a').each(function(item, index){
            item.fade(0.9);
        });
    }
    //Slimbox.scanPage(); TODO: Fix for fucking internet explorer.
}

// function init_ajax_links() {
//     //Slimbox.scanPage();  TODO: Fix for fucking internet explorer.
//     $$('a').each(function(item, index){
//         if (item.get('rel')){
//             if (item.get('rel').contains('lightbox')){
//                 return false;
//             }
//         }
//         if (item.get('href').slice(0,1)=="/"){
//             item.removeEvents('click');
//             item.addEvents({
//                 'click': function(e){
//                     open_page(this.get('href'));
//                     e.stop();
//                     return false;
//                 }
//             });
//         }
//     });
// }




function email(name, domain, suffix, text, el){
   var address = name + "\u0040" + domain + "." + suffix;
   var url = "mailto:" + address;
   if( ! text )
   {
      text = address;
   }
   link = "<a href=\"" + url + "\">" + text + "</a>";
   if(el){
       el.set('html', link);
   } else {
       document.write(link);
   }
}

function display_office(){
	markerOffice.openInfoWindowHtml("<div class=\"mapbox\"><strong>Arctica Ltd.</strong><br /><br /><a href=\"http://maps.google.co.uk/maps?f=d&hl=en&saddr=&daddr=PE92PL&ie=UTF8&om=1&z=12&iwloc=A\" target=\"_blank\">Get directions to here</a></div>");
}

function map_load() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    
    var pointOffice = new GLatLng(52.651024, -0.486982);  // 52.651024,-0.486982
    
    map.setCenter(pointOffice, 14);
    
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    //map.addControl(new GOverviewMapControl());
    
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    
    var iconOffice = new GIcon();
    iconOffice.image = MEDIA_URL + "images/pointer.png";
    iconOffice.shadow = MEDIA_URL + "images/pointershadow.png";
    iconOffice.iconSize = new GSize(22, 35);
    iconOffice.shadowSize = new GSize(45, 37);
    iconOffice.iconAnchor = new GPoint(11, 35);
    iconOffice.infoWindowAnchor = new GPoint(11, 1);
    
    markerOffice = new GMarker(pointOffice, { icon:iconOffice });
    GEvent.addListener(markerOffice, "click", function() {display_office();});
    map.addOverlay(markerOffice);
  }
}

function init_contact(){
    if($('contact_email_link')){
        map_load();
        email('Succeed', 'Arctica', 'co.uk', null, $('contact_email_link'));
    }
}

