var FullscreenrOptions = {  width: 1600, height: 1066, bgID: '#bgimg' };
jQuery.fn.fullscreenr(FullscreenrOptions);

$(document).ready(function() {
    initMainMenu();
    initSubmenu();    
    initCollectionMenu()
    initTeamMenu()
    initHomeRotations();
    initContactForm();
    initNewsletterForm();   
    Cufon.replace('.cufon');          

}); /////////////////////////////////////////////////////// end dom ready

var loading = false;
$(document).ajaxStart(function(){
   loading = true;
});
$(document).ajaxStop(function(){
   loading = false;
});
$(document).ajaxError(function(){
   loading = false;
});

function setPosition(target, div, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, callback) {
    var duration = 1500;
    switch(target) {
        case '#box1':   $(div).scrollTo(p1, duration, callback); break;
        case '#box2':   $(div).scrollTo(p2, duration, callback); break;
        case '#box3':   $(div).scrollTo(p3, duration, callback); break;
        case '#box4':   $(div).scrollTo(p4, duration, callback); break;
        case '#box5':   $(div).scrollTo(p5, duration, callback); break;
        case '#box6':   $(div).scrollTo(p6, duration, callback); break;
        case '#box7':   $(div).scrollTo(p7, duration, callback); break;
        case '#box8':   $(div).scrollTo(p8, duration, callback); break;
        case '#box9':   $(div).scrollTo(p9, duration, callback); break;
        case '#box10':  $(div).scrollTo(p10, duration, callback); break;
    }
};

function loadContent(url, target) {
    $(target + ' .content').html('<img class="loading" src="images/ajax-loader.gif" />');
    $(target + ' .content').load(url + " .inner", null, function(){
        initAfterLoad();
        initMainMenu();
        //Cufon.refresh();              
        switch(target) {
            case '#box2': initHomeRotations(); break;
        }
    });
}

function initMainMenu() {
    initAfterLoad();       
    $('a.mainmenu').unbind();
    $('a.mainmenu').click(function () {

        if(loading)
            return false;
        var link = $(this);
        var url = link.attr('href');

        if(link.attr('box'))
            var target = link.attr('box');
        else
            var target = link.attr('id');

       $('.inner').fadeOut('slow',function() { $(this).remove(); });

       
       // scroll and load content
       $('body').scrollTo( target, 1300, { axis:'y', 
           onAfter: function() {
               loadContent(url, target);                  
           }
       });

       // menu highliting
       $('a.mainmenu, a.submenu').removeClass('selected');
       link.addClass('selected');
       $('a[href*="'+url+'"]').addClass('selected');
       return false;
    });
}

function initSubmenu() {
    $('a.submenu').unbind();
    $('a.submenu').click(function(){
        var link = $(this);
        var url = link.attr('href');                
        $($(this).attr('box') + ' .inner').fadeOut('fast', function() { $(this).remove(); });
        loadContent($(this).attr('href'), $(this).attr('box'));
        initAfterLoad();
        $('a.mainmenu').removeClass('selected');
        $('a.submenu').removeClass('selected');
        $(this).addClass('selected');
        $('a[href*="'+url+'"]').addClass('selected');
        return false;
    });
}

function initCollectionMenu() {
    $('a.collectionmenu').unbind();
    $('a.collectionmenu').click(function(){
        $('.collection-inner').fadeOut('fast', function() { $('.collection-content').remove('.collection-inner'); });
        loadCollectionContent($(this).attr('href'), $(this).attr('box'));
        initAfterLoad();
        $('a.collectionmenu').removeClass('selected');
        $(this).addClass('selected');        
        return false;
    });
}

function initTeamMenu() {
    $('a.teammenu').unbind();
    $('a.teammenu').click(function(){
        $('.team-inner').fadeOut('fast', function() { $('.team-content').remove('.team-inner'); });
        loadTeamContent($(this).attr('href'), $(this).attr('box'));
        initAfterLoad();
        $('a.teammenu').removeClass('selected');
        $(this).addClass('selected');        
        return false;
    });
}


function loadCollectionContent(url, target) {
    $(target + ' .collection-content').html('<img class="loading" src="images/ajax-loader.gif" />');
    $(target + ' .collection-content').load(url + " .collection-inner", null, function(){
        initAfterLoad();
        initMainMenu();
        //Cufon.refresh();              
    });
}

function loadTeamContent(url, target) {
    $(target + ' .team-content').html('<img class="loading" src="images/ajax-loader.gif" />');
    $(target + ' .team-content').load(url + " .team-inner", null, function(){
        initAfterLoad();
        initMainMenu();
        //Cufon.refresh();              
    });
}

function initHomeRotations() {
    $('#home-brand-slider').cycle();
    $('#home-content-slider').cycle({
        timeout: 6000,
        fx: 'scrollLeft'             
    });
}

$.easing.elasout = function(x, t, b, c, d) {
    var s=1.70158;var p=0;var a=c;
    if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
    if (a < Math.abs(c)) { a=c; var s=p/4; }
    else var s = p/(2*Math.PI) * Math.asin (c/a);
    return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
}

function initContactForm() {
    $('.error').hide();
    $('#successmessage').hide();  
    
    runOnLoad(function(){
        $("input#Vorname").select().focus();
    });    
      
    $('input.input-text, textarea').css({backgroundColor:"#EEEEEE"});
    $('input.input-text, textarea').focus(function(){
        $(this).css({backgroundColor:"#FFFFFF"});
    });
    $('input.input-text, textarea').blur(function(){
        $(this).css({backgroundColor:"#EEEEEE"});
    });

    $("input#button").unbind();
    $("input#button").click(function() {
        // validate and process form
        // first hide any error messages
        $('.error').hide();

        var vorname = escape($("input#Vorname").val());
        if (vorname == "") {
            $("#vorname_error").show();
            $("input#Vorname").focus();
            return false;
        }

        var nachname = escape($("input#Nachname").val());
        if (nachname == "") {
            $("#nachname_error").show();
            $("input#Nachname").focus();
            return false;
        }

        var email = escape($("input#EMail").val());
        if (email == "") {
            $("#email_error").show();
            $("input#email").focus();
            return false;
        }

        var anrede = $("input:radio[name=Anrede]:checked").val();
        var firma = escape($("input#Firma").val());
        var strasse = escape($("input#Strasse").val());
        var plzort = escape($("input#PLZOrt").val());
        var tel = $("input#Telefon").val();
        var message = escape($("textarea#Anliegen").val());
        
        /*
        var dataArr = {
            "Anrede" : "anrede",
            "Vorname" : "vorname",
            "Nachname" : "nachname",
            "EMail" : "email",
            "Strasse" : "strasse",
            "PLZOrt" : "plzort",
            "Telefon" : "tel",
            "Anliegen" : "message"
       }     

        $.ajax({
            type: "POST",
            url: "front_content.php?idart=1132",
            data: dataArr,
            dataType: 'json',
            contentType: "application/json; charset=utf-8",             
            success: function() {            
                $('#kontaktform').hide();    
                $('#successmessage').show();    
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert(textStatus);
            }
         });    
         */    

        var dataString = 'Anrede='+ anrede + '&Vorname='+ vorname + '&Nachname='+ nachname + '&EMail=' + email + '&Strasse=' + strasse + '&PLZOrt=' + plzort + '&Telefon=' + tel +'&Anliegen=' + message;
        //alert (dataString);return false;

        $.ajax({
            type: "POST",
            url: "front_content.php?idart=1132",
            data: dataString,
            contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1",
            success: function() {            
                $('#kontaktform').hide();    
                $('#successmessage').show();    
            }
         });
         
         return false;
    });
}

function initNewsletterForm() {
    $('.error').hide();
  
    runOnLoad(function(){
       $("input#emailname").select().focus();
    });       
    
    $('input.input-text').css({backgroundColor:"#EEEEEE"});
    $('input.input-text').focus(function(){
        $(this).css({backgroundColor:"#FFFFFF"});
    });
    $('input.input-text').blur(function(){
        $(this).css({backgroundColor:"#EEEEEE"});
    });

    $("input#newsletterbutton").click(function() {
        // validate and process form
        // first hide any error messages
        $('.error').hide();

        var email = $("input#email").val();
        if (email == "") {
            $("#email_error").show();
            $("input#email").focus();
            return false;
        }
    });
}

function initCollectionSearch() {
    $('#search-collection').change(function() {
        var value = $('#search-collection option:selected').val();
        var e = jQuery.Event("keydown");
        e.which = 32; // space
        $('#searchterm').val(value + ' ').trigger(e).focus();
    });

    $("#searchterm").autocomplete(data, {
        max:250,
        width:110,
        formatItem: function(item) {
            return item.text;
        }
    }).result(function(event, item) {
        loadContent('/front_content.php?'+item.url,'#box4');
    });
}


function initAfterLoad() {

    initCollectionMenu();

    initTeamMenu();

    initContactForm();
    
    initNewsletterForm(); 
    
    initCollectionSearch();   

} // end initAfterLoad()

/*
// special function for FF on windows
// password saving resizes the window
var resizingEnabled = true;

function disableResize() {
      resizingEnabled = false;
}

function enableResize() {
      resizingEnabled = true;
}

// Reload when resizing
$(window).bind('resize',function(){
     // hide submenu icon while scrolling
     if(resizingEnabled) {
         window.location.href = 'http://aoyama-optical.de';
         $('.subnav').hide();
     }
     else {
         $('.subnav').show();
     }
});



var mobileClients=[
"midp",
"240x320",
"blackberry",
"netfront",
"nokia",
"panasonic",
"portalmmm",
"sharp",
"sie-",
"sonyericsson",
"symbian",
"windows ce",
"benq",
"mda",
"mot-",
"opera mini",
"philips",
"pocket pc",
"sagem",
"samsung",
"sda",
"sgh-",
"vodafone",
"xda",
"iphone",
"ipod"
];
function isMobileClient(userAgent) {
    try {
        userAgent=userAgent.toLowerCase();
        for (var i=0; i < mobileClients.length; i++) {
            if (userAgent.indexOf(mobileClients[i]) != -1) {
                return true;
            }
        }
    }
    catch (e) {
    }
    return false;
}
function isThisBrowserMobileClient() {
    return isMobileClient(navigator.userAgent);
}
function redirectIfMobileClient() {
    try {
        if (isThisBrowserMobileClient()) {
            if (document.location.href.indexOf('nomobile') != -1) {
                document.cookie='nomobile';
                return;
            }
            if (document.cookie && document.cookie.indexOf('nomobile') != -1) {
                return;
            }
            document.location.href="http://m.aoyama-optical.de";
        }
    }
    catch (e) {
    }
}
*/

/*
rotator.js
http://www.josephfinsterwald.com
*/

(function($) {
    $.rotate = function(s) {
        return $.rotate13($.rotate5(s));
    }

    $.rotate5 = function(s) {
        var b = [],c,i = s.length,a = '0'.charCodeAt(),z = a + 10;
        while (i--) {
            c = s.charCodeAt(i);
            if (c >= a && c < z) { b[i] = String.fromCharCode(((c - a + 5) % (10)) + a); }
            else { b[i] = s.charAt(i); }
        }
        return b.join('');
    };

    $.rotate13 = function(s) {
        var b = [],c,i = s.length,a = 'a'.charCodeAt(),z = a + 26,A = 'A'.charCodeAt(),Z = A + 26;
        while (i--) {
            c = s.charCodeAt(i);
            if (c >= a && c < z) { b[i] = String.fromCharCode(((c - a + 13) % (26)) + a); }
            else if (c >= A && c < Z) { b[i] = String.fromCharCode(((c - A + 13) % (26)) + A); }
            else { b[i] = s.charAt(i); }
        }
        return b.join('');
    };
})(jQuery)
