
var Website = Class.create({
	 initialize: function() {
		
	 	new DynamicPhotoContent();
	 	try {
	 		this.historyManager();
	 		this.screenchange();
	 		YAHOO.util.Event.addListener(window, "resize", this.screenchange, this, this);
 		} catch(e) {} 
	 },
	 
	 historyManager: function() {
		
	 	function loadSection(section) {
	        var url = section;
	
	        function successHandler(obj) {
	            YAHOO.util.Dom.get("bd").innerHTML = obj.responseText;
	            YAHOO.util.Dom.get("bd").innerHTML.evalScripts();
	        }
	
	        function failureHandler(obj) {
	            // Fallback...
	           
	        }
	
	        YAHOO.util.Connect.asyncRequest("GET", url,
	            {
	                success: successHandler,
	                failure: failureHandler
	            }
	        );
	    }
	
	    function initializeNavigationBar() {
	      
	        var anchors, i, len, anchor, href, section, currentSection;
	        
	        $$("ul.menu a").each(function(anchor) {
	            
	            YAHOO.util.Event.addListener(anchor, "click", function (evt) {
	                href = this.getAttribute("href");

	                section = YAHOO.util.History.getQueryStringParameter("do", href) || "build/home/";
	               	
	                try {
	                    YAHOO.util.History.navigate("navbar", section);
	                } catch (e) {
	                    loadSection(section);
	                }
	                YAHOO.util.Event.preventDefault(evt);
	            });
	        });
	
	        
	        currentSection = YAHOO.util.History.getCurrentState("navbar");
	        loadSection(currentSection);
	    }
	    
	    bookmarkedSection = YAHOO.util.History.getBookmarkedState("navbar");
	    querySection = YAHOO.util.History.getQueryStringParameter("do");
	    initSection = bookmarkedSection || querySection || "build/home/";
	
	    
	    YAHOO.util.History.register("navbar", initSection, function (state) {
	        loadSection(state);
	    });
	
	    
	    YAHOO.util.History.onReady(function () {
		    
	        initializeNavigationBar();
	    });
	
	    try {
	        YAHOO.util.History.initialize("yui-history-field", "yui-history-iframe");
	    } catch (e) {
	       
	        loadSection(initSection);
	    }
	},
	 
	form: function(id) {
		var instance = this;
		Form.getElements(id).each(function(el) {
			
			
			Event.observe(el, 'blur', function() {
				var count = 0;
				if(!instance.validate(el)) {
					$(el).className = 'error';
					count++;	
				}
				
				if(!count) {
					$(el).removeClassName("error");	
				}
			});
			
			if(el.type == "button") {
				Event.observe(el, 'click', function(ev) {
					$(id).request({
					 	onComplete: function(transport){ 
					 		$("response").innerHTML = transport.responseText;
					 		$("response").show();
						}
					});
				});
			}
		});
	},
	
	validate:function(el) {
			
		var ref = $(el).getAttribute('reference');
		var required = $(el).getAttribute('required');
		if(!ref && !required) {
			return true;
		}
		var val = $(el).value;
		
		if(ref == "email") {
			return this.emailCheck(val);	
		}
		if(required) {
			
			return val.empty() ? false : true;
		
		}
	}, 
	
	emailCheck:function(str) {
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str)) {
			return true;
		} else{
			return false;
		}
	},
	
	screenchange: function(){
		
		if (document.documentElement.clientWidth < 900 ){
			document.getElementById('content').className='website_smallwidth';
		} else if (document.documentElement.clientHeight < 650){

			document.getElementById('content').className='website_smallheight';
		} else {
			document.getElementById('content').className='website_bigscreen';
		}
		
	}
})
