var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
    
  
  BrowserDetect.init();

    $(document).ready(function(){  
            var ogX;
            var posX;
            var myoffset = 0;
            var pageCoords = 0;
            var gdrag = true;
            var recDrag = false;
            var posStatus1 = true;
            var posStatus2 = true;
            var posStatus3 = true;
            var posStatus4 = true;
            var scrW = $(window).width() + 1;            
            var scrollSpeed = 0;
            var ieSaver = "";            

            //inits
            $("#sBox").load("services/projectconsultancy.html");               
            $("#tBox").load("team/team.html");

            //bind events
            $(document).scroll(updatePos);
            
            
            $(window).resize(function(){
                scrW = $(window).width() + 1;
                $("#inner").width(scrW);
                $("#cover").width(scrW);
            });    

            if(BrowserDetect.browser == "Explorer"){
                window.onscroll = updatePos;
                window.onresize = function(){
                    scrW = $(window).width() + 1;
                    $("#inner").css("width",scrW+"px");
                    $("#cover").css("width",scrW+"px");
                    $("#outer").css("width",scrW+"px");
                }   
                $("#quicknav").css("position","absolute");
            }

            $("#qnbtn").hover(
                function(){$("#qmenu").css("display","block");},
                function(){$("#qmenu").css("display","none");}
            );
            
            $(window).load(function(){            
            //first load
            var scrW = $(window).width() + 1;        
                             
            $("#cover").width(scrW);
            $("#inner").width(scrW);
            $("#outer").width(scrW);
            
            $.scrollTo(0);
            
            $("#logo_arts").fadeIn("slow");            
            setTimeout(function(){$("#logo_biz").fadeIn("slow");},300);
            setTimeout(function(){$("#logo_asia").fadeIn("slow");},600);
            setTimeout(function(){$("#bridging").fadeIn("slow",function(){
                $(this).one("click", first_animate);
            });},1500);

});
            function first_animate(){
                $(window).unbind('resize');
                
                if(BrowserDetect.browser == "Explorer"){
                    window.onresize = null;
                }
                
                $("#bridging").fadeOut("normal",function(){
                    $(this).css("display","none");
                    $("#logo2").animate({left:scrW}, 1000,"linear",function(){$(this).css("left","7110px");});
                    setTimeout(function() { 
                        $("#cover").animate({left:scrW}, 1000,"linear",function(){
                            $(this).css("display","none");
                            $("#inner").width(7500);
                            $("#outer").width(7500);
                            $("#quicknav").fadeIn("fast");
                            $("#intro_splat1").show();
                            setTimeout(function() {
									$("#intro_splat2").show();
									$("#drag-prompt").fadeIn('normal');
									setTimeout(function() {
											$("#drag-prompt").fadeOut('normal');
									},3000);
							},200);
                            setMouseDrag();
                        });                        
                    }, 20);
                });
            }
            
            
            $("a[rel='history']").click(function(){
                    var el = "#" + this.id;
                    el = el.replace("_","");
 
                    if(el == "#contact"){
                        var endPos = 7500 - $(window).width();
                    }
                    else{
                        var pos = $(el).position();            
                        var endPos = pos.left - 300;                            
                    }
                    
                    if(BrowserDetect.browser == "Explorer"){                    
                        if(ieSaver != el){
                            $("#quicknav").fadeOut("fast",function(){
                                $.scrollTo(endPos,scrollSpeed,function(){
                                     var ieposx = document.body.scrollLeft + "px";
                                     $("#quicknav").css("left",ieposx);                        
                                    $("#quicknav").fadeIn("fast");
                                    myoffset = endPos;
                                    ieSaver = el;
                                });
                            });
                        }
                    }
                    else{
                        $.scrollTo(endPos,scrollSpeed);
                        myoffset = endPos;
                    }
                    return false;
            });

            
            
            function setMouseDrag(){
                scrollSpeed = 1000;
                $(".nodrag").mousedown(function(e){ 
                    gdrag = false;
                });
                $(".nodrag").mouseup(function(e){ 
                    gdrag = true;
                });
                
                $("#outer").mousedown(function(e){
                    ogX = e.clientX;
                    recDrag = true;
                    $(document).mousemove(function(e){                      
                        posX = e.clientX;
                            pageCoords = ogX - posX;
                        if(gdrag){  
                        var maxlimit = 7500 - $(window).width();
                    
                            if(pageCoords+myoffset < 0) {
                                myoffset = 0; 
                                $.scrollTo(0);
                            }
                            else if(pageCoords+myoffset > maxlimit) {
                                myoffset = maxlimit; 
                                $.scrollTo(maxlimit);
                            }
                            else{
                                $.scrollTo(pageCoords+myoffset);
                            }
                        }
                    });
                });
                
                $("#outer").mouseup(function(e){
                    recDrag = false;
                    gdrag = true;
                    myoffset += pageCoords;
                    pageCoords = 0;
                    $(document).unbind('mousemove');
                });            
            }
            
            $(".subcat a[href]").click(function(){
                $(".subcat a[href]").removeClass("selected");
                $(this).toggleClass("selected");
            });
            
            $(".s a[href]").click(function(){                            
                var path2load = "services/" + $(this).attr("id") + ".html";
                $("#sBox").fadeOut("fast",function(){
                   $("#sBox").load(path2load,function(){$(this).fadeIn("slow");});
                                                         
                });            
                return false;                
            });
            $(".t a[href]").click(function(){                            
                var path2load = "team/" + $(this).attr("id") + ".html";
                $("#tBox").fadeOut("fast",function(){
                   $("#tBox").load(path2load,function(){$(this).fadeIn("slow");});
                   //$("#tBox").fadeIn("slow");                                      
                });            
                return false;                
            });
            $(".teamtitle").click(function(){                            
                var path2load = "team/team.html";
                $("#tBox").fadeOut("fast",function(){
                   $("#tBox").load(path2load,function(){$(this).fadeIn("slow");});
                   //$("#tBox").fadeIn("slow");                                      
                });            
                return false;                
            }).css("cursor","pointer");

            $(".servicetitle").click(function(){                            
                var path2load = "services/projectconsultancy.html";
                $("#sBox").fadeOut("fast",function(){
                   $("#sBox").load(path2load,function(){$(this).fadeIn("slow");});
                   //$("#tBox").fadeIn("slow");                                      
                });            
                return false;                
            }).css("cursor","pointer");
            
            function updatePos(){
                var posX;
                
                if(BrowserDetect.browser == "Explorer"){
                     posX = document.body.scrollLeft;
                     var ieposx = posX + "px";
                     $("#quicknav").hide();
                     $("#quicknav").css("left",ieposx);
                     setTimeout(function() {$("#quicknav").fadeIn("fast");},10); 
                }else{
                    posX = window.pageXOffset;
                    }


                if(!recDrag){
                    myoffset = posX;            
                }
                
                if(posX > 1500 && posStatus1 != false){ //about
                    posStatus1 = false;
                    $("#about_splat1").show();
                    setTimeout(function() {$("#about_splat2").show();},100);
                    setTimeout(function() {$("#about_splat3").show();},200);
                }            
                if(posX > 2500 && posStatus2 != false){ //services
                    posStatus2 = false;
                    $("#services_splat1").show();
                    setTimeout(function() {$("#services_splat2").show();},100);
                    setTimeout(function() {$("#services_splat3").show();},200);
                    setTimeout(function() {$("#services_splat4").show();},300);

                }            
                if(posX > 4300 && posStatus3 != false){ //team
                    posStatus3 = false;
                    $("#team_splat1").show();
                    setTimeout(function() {$("#team_splat2").show();},200);
                }            
                if(posX > 5500 && posStatus4 != false){ //last
                    posStatus4 = false;
                    $("#contact_splat1").show();
                    setTimeout(function() {$("#contact_splat2").show();},200);
                }            
                if(posStatus1 == false && posStatus2 == false && posStatus3 == false && posStatus4 == false){
                    //$(document).unbind('scroll',updatePos);
                }
            }
            
            //end
            
        });