/*
-------------------------------------------------------------------------------
code language:		js
package name:		files/js/
class name:		project
class type:		static
version:			4.0
date:			20101103
copyright:		massimo cardascia
url:				www.plustic.de / www.dot-control.com
-------------------------------------------------------------------------------
*/

///*	imports //////////////////////////////////////////////////////////////////

///* class definition /////////////////////////////////////////////////////////
	function Project()
		{
///*		class versionising //////////////////////////////////////////////////
		Project.__s_classVersion = "1.0";						///h	dclib intern class version
		Project.__s_className = "Project";						///h	dclib intern class name
		Project.__s_classType = "class";						///h	dclib intern class type ["class", "subclass"]

///*		class properties ////////////////////////////////////////////////////
		Project.__dat_navigation;
		Project.__o_page;
		Project.__s_logo_url;
		Project.__s_filter;
		Project.__b_logoChanged;

///*		class system init ///////////////////////////////////////////////////
		Project.f_initSystem = function()
			{
///*			wait for dom
			$(Project.f_init);

///*			wait for window loading
//			window.onload = (function(){Project.f_init();});

///*			unload function used for reload back button problem
		//	$(window).unload(function(){});
			}

///*		public static functions /////////////////////////////////////////////

///*		change page mode ----------------------------------------------------
		Project.f_updateIPadScale = function()
			{
                if (!window.orientation) {
                    return;
                }
			var $s_orientation = (((window.orientation == -90) || (window.orientation == 90)) ? "horizontal" : "vertical");
			if($s_orientation != Project.__s_orientation)
				{
///*				get orientation
				Project.__s_orientation = $s_orientation;
			/*
///*				update position
				window.scrollTo(0, 1);
				
				var metatags = document.getElementsByTagName('meta');
				var orient = (Project.i_currentWidth == 320) ? "profile" : "landscape";
				document.body.setAttribute("orient", orient);
				window.scrollTo(0, 1);
				
				var i_width = ((Project.__s_orientation == "vertical") ? 320 : 1000);
				var $s_scale = ((Project.__s_orientation == "vertical") ? "0.5" : "1.0"); 
				$s_scale = "1.0";

				var $ojq_viewport = $("head meta[name=viewport]");
				$ojq_viewport.attr("content", 'width=' + i_width + ', initial-scale=' + $s_scale + ', maximum-scale=2.0, minimum-scale=0.1, user-scalable=yes');
//				alert(Project.__s_orientation + " " + $ojq_viewport.attr("content"));
*/
				var $ojq_viewport = $("head meta[name=viewport]");
				//$ojq_viewport.attr("content", 'width=' + "600" + ', initial-scale=' + "1.0" + ', maximum-scale=2.0, minimum-scale=0.1, user-scalable=yes');
				var $s_width = ((Project.__s_orientation == "vertical") ? "1000" : "1000");
				$ojq_viewport.attr("content", ("width=" + $s_width));
				
				//alert(Project.__s_orientation + " 7");
				}
			}

///*		change page mode ----------------------------------------------------
		Project.f_initIPadScale = function()
			{
			window.setInterval(Project.f_updateIPadScale, 400);
			Project.f_updateIPadScale();
			}

///*		change page mode ----------------------------------------------------
		Project.f_initJQAddress = function()
			{
///*			init
			$.address.autoUpdate(false);
			$.address.update();
			
///*			address change
			$.address.change(function(event){Project.f_updateStatus()});
			}

///*		change page mode ----------------------------------------------------
		Project.f_initPrototype = function()
			{
///*			index of
			if(!Array.indexOf)
				{
				Array.prototype.indexOf = function (obj, start)
					{
					for (var i = (start || 0); i < this.length; i++)
						{
						if (this[i] == obj)
							{
							return i;
							}
						}
					return -1;
					}
				}
			}

///*		change page mode ----------------------------------------------------
		Project.f_init = function()
			{
///*			init funtions
			Project.f_initPrototype();
				
///*			init filter
			Project.f_initFilter();

///*			init page template
			Project.f_initPageTemplate();

///*			init data
			Project.f_initData();

///*			init display
			Project.f_initDisplay();

///*			init jquery address
			Project.f_initJQAddress();

///*			init content
			Project.f_initNavigation();
			
///*			init ipad scale
			Project.f_initIPadScale();
			}

///*		change page mode ----------------------------------------------------
		Project.f_initDisplay = function($s_filter)
			{
///*			properties
			var $jqo_pattern;

///*			logo rollover
			$jqo_pattern = $("#logo_rollOver");
			$jqo_pattern.css({visibility:"visible"});
			$jqo_pattern.fadeTo(0, 0);
			}



///*		change page mode ----------------------------------------------------
		Project.f_changeFilter = function($s_filter)
        {
            ///*			check if filter valid
            if($s_filter == undefined)
            {
                $s_filter = "all";

            }
            ///*			check page template
            if(Project.__s_pageTemplateID != "pt_overview" || Project.__o_base != "" )
            {
                window.location = (Project.__o_base + "galleries/#/?filter=" + Project.__a_filter_to_slug_dict[$s_filter]);
            }else{
                $.address.parameter("filter", Project.__a_filter_to_slug_dict[$s_filter]);
                $.address.update();
            }

            ///*			scroll to top
            $("html, body").animate({scrollTop:0}, 0);
        }

///*		change page mode ----------------------------------------------------
		Project.f_changeFilter_byClick = function($jqo_div)
			{
///*			properties
			var $storage_data;
			var $s_filter;
			
///*			get releavant storage
			$storage_data = Project.__dat_navigation.f_getData({div_navi:$jqo_div[0]});

			Project.f_changeFilter($storage_data.s_id);
			}

///*		change page mode ----------------------------------------------------
		Project.f_adjustIFrame = function()
			{
			$("#iframe_0").height(900);
			}

///*		change page mode ----------------------------------------------------
		Project.f_openExternLink = function($s_url,$trgt)
			{

                        
			if($trgt==0){
                            window.location = $s_url;
                        }
                        if($trgt>0){
                            window.open($s_url, "blank");
                        }
			}

///*		change page mode ----------------------------------------------------
		Project.f_initFilter = function()
			{
///*			properties
			var $s_filter;

///*			get current filter
			$s_filter = $.address.parameter("filter");
			if($s_filter == undefined)
				{
				$s_filter = Project.__a_filter_to_slug_dict["all"];
				$.address.parameter("filter", $s_filter);
				}
			Project.__s_filter = $s_filter;
			}

///*		change page mode ----------------------------------------------------
		Project.f_updateStatus = function()
			{
///*			init filter
			Project.f_initFilter();

///*			change logo
			Project.f_updateLogo();
			}

///*		change page mode ----------------------------------------------------
		Project.f_showLogo = function()
			{
///*			properties
			var $jqo_logo;
			var $i_duration;

///*			animation
			$i_duration = ((Project.__b_logoChanged != true) ? 1 : 200);
			Project.__b_logoChanged = true;

///*			show logo
			$jqo_logo = $("#logo").find("img");
			$jqo_logo.delay(100).animate({opacity:1}, $i_duration);
			$jqo_logo.css("display", "block");
			}

///*		change page mode ----------------------------------------------------
		Project.f_updateLogo = function()
			{
///*			properties
			var $s_filer;
			var $storage_data;
			var $s_url;
			var $jqo_logo;
			var $jqo_rollOver;
			var $s_logo_url;

///*			get filter
			$s_filter = Project.__a_slug_to_filter_dict[$.address.parameter("filter")];

///*			get relevant storage
			$storage_data = Project.__dat_navigation.f_getData({s_id:$s_filter});
			if($storage_data == null)
				{
				$s_logo_url = "logo.gif";
				}
			else
				{
				$s_logo_url = $storage_data.s_logo_url;
				}

///*			check if change necessary
			if($s_logo_url == this.__s_logo_url)
				{
				return;
				}
			this.__s_logo_url = $s_logo_url;

///*			load relevant logo
			$s_url = (Project.__o_base+"/website/files/bmp/" + this.__s_logo_url);
			$jqo_logo = $("#logo").find("img");
			$jqo_logo.css("display", "none");
			$jqo_logo.css("opacity", 0);
			$jqo_logo.attr("src", $s_url);
			if($jqo_logo[0].complete == true)
				{
				Project.f_showLogo();
				}
			else
				{
				$jqo_logo.load(function(){Project.f_showLogo();});
				}
				
///*			rollover	
			$jqo_rollOver = $("#logo");
            $jqo_rollOver.click(function(){
                window.location = Project.__o_base;
            });
            }

///*		change page mode ----------------------------------------------------
		Project.f_initNavigation = function()
			{
///*			properties
			var $a_navi;
			var $jqo_navi;
			var $div_navi;
			var $s_id;
			var $storage_data;
                        var $trgt;

///*			navigazion a
			$a_navi = $(".navigation_a_container");
			for($i_loop = 0; $i_loop < $a_navi.length; $i_loop ++)
				{
///*				get relevant div
				$div_navi = $a_navi[$i_loop];
				$jqo_div = $($div_navi);
				
///*				rewrite link
				//$jqo_div.find("a").attr("href", "javascript:;");
                                //$trgt = ($i_loop==0)?('int'):('ext');
				//$jqo_div.bind("click", {s_id:Project.__a_navigation_a[$i_loop][1]}, function($o_event){Project.f_openExternLink($o_event.data.s_id,$i_loop);})
				}

///*			navigazion b
			$a_navi = $(".navigation_b_container");
			for($i_loop = 0; $i_loop < $a_navi.length; $i_loop ++)
				{
///*				get relevant div
                // relevant for WHAT?!?!?!?!?!? Please turn yourself in if you did this: DAD <daniel@dornhardt.com>
				$div_navi = $a_navi[$i_loop];
				$jqo_div = $($div_navi);
				$s_id = ($jqo_div.attr("id").substr(13));

///*				get relevant storage
				$storage_data = Project.__dat_navigation.f_getData({s_id:$s_id});
				if($storage_data != null)
					{
					$storage_data.div_navi = $div_navi;

///*				click function
					$jqo_div.find("a").attr("href", "javascript:;");
					$jqo_div.click(function(){Project.f_changeFilter_byClick($(this));})
					}
				}

				$('#navigation_b_bout_us').click(function(){Project.f_changeFilter("aboutus");}); 
				$('#navigation_b_jobs').click(function(){Project.f_changeFilter("jobs");}); 
			}

///*		change page mode ----------------------------------------------------
		Project.f_initPageTemplate = function()
			{
///*			init page template
			Project.__o_page = eval("new Project_" + Project.__s_pageTemplateID + "()");
			Project.__o_page.f_init();
			}

///*		change page mode ----------------------------------------------------
		Project.f_initData = function()
			{
///*			properties
			var $i_loop;
			var $i_elements;
			var $storage_data;
			var $o_data;

///*			create posts database
			Project.i_currentWidth = -1;
			Project.__dat_navigation = new DCJS_dataStorage("s_id");
			for($i_loop = 0; $i_loop < Project.__a_navigation_b.length; $i_loop ++)
				{
				$o_data = Project.__a_navigation_b[$i_loop];
				$storage_data = Project.__dat_navigation.f_addData({s_id:$o_data[2], s_title:$o_data[1], s_logo_url:$o_data[3]});
				}
			}

///*		private static functions ////////////////////////////////////////////

///*		public functions ////////////////////////////////////////////////////

///*		private functions ///////////////////////////////////////////////////

///*		class constructor ///////////////////////////////////////////////////


		}

///*	init system
var $o_class = new Project();
Project.f_initSystem();

