// JavaScript Document
var $$ = function(call)
	{
		return document.getElementById(call); 	
	}

///// LOAD PAGES INTO CARD
var RSNAV = {
	REGISTER: new Object(),
	CURRENT: false, 
	LOAD: function()
		{
			for (var i = 0; i<NAVIGATION.LIs.length; i++)
				{
					var A = NAVIGATION.LIs[i]; 
					RSNAV.LOADER(A); 
				}
				
		},
	LOADER: function(Obj)
		{
				var Start = self.document.location.hash.replace("#",""); 
				var D = document.createElement("DIV"); 
				D.className="page"; 
				RSNAV.REGISTER[Obj.button] = D;
				if (RSNAV.CURRENT == false) RSNAV.CURRENT = D;
				var CC = $$("card_content"); 
				$.ajax({
					   type: "GET",
					   url: Obj.href, 
					   success: function(page)
					   	{
							D.innerHTML = page; 
							var Off = CC.childNodes.length; 
							D.style.marginLeft =  (Off == 0) ? "-1px" : "900px"; 
							D.style.marginTop = (Off == 0) ? "0px" : "-400px"; 
							CC.appendChild(D);
							if (Obj.button == Start) RSNAV.Navigate(Start);
							if (Obj.onload !== false) Obj.onload(); 
						}
					   }); 
		},
	Navigate: function(id)
		{
			var A = NAVIGATION.LIs[NAVIGATION.RLI[id]]; 
			var D = RSNAV.REGISTER[id]; 
			if (RSNAV.CURRENT == D) return false;
			$("#navigate").html(A.button + " + ");
			window.location.href= "#" + A.button;
			D.style.zIndex = 2; 
			if (RSNAV.CURRENT !== false) RSNAV.CURRENT.style.zIndex = 1; 
			var SX = parseInt(D.style.marginLeft);
			var An = setInterval(function()
				{
					SX -= 40; 
					D.style.marginLeft = SX + "px"; 
					if (SX <= 0) 
						{
							clearInterval(An); 
							D.style.marginLeft = "-1px";
							if (RSNAV.CURRENT !== false) 
								{
									RSNAV.CURRENT.style.marginLeft = "900px"; 
								}
							RSNAV.CURRENT = D;
						}
				}, 15);
		}
	}
	
	
function form_validate(f)
	{
		var E= /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		var Err = new Array(); 
		if (f.pn.value.length < 2) Err.push("Your Name"); 
		if (!f.pe.value.match(E)) Err.push("Your Email"); 
		if (f.cn.value.length < 2) Err.push("Your Message"); 
		if (Err.length > 0) 
			{
				var D = document.createElement("DIV"); 
				D.className="error"; 
				D.innerHTML = "<strong>MISSING:</strong>" + Err.join(", "); 
				$$("err_div").innerHTML = "";
				if (window.ETO) clearTimeout(window.ETO);
				$$("err_div").appendChild(D); 
				window.ETO = setTimeout(function()
					{
						if (D !== undefined) $$("err_div").removeChild(D);	
					}, 4 * 1000);
				return false;	
			}
		$.ajax({
			   url: 'contact_send.php', 
			   type: "POST",
			   data: "fn=" + escape(f.pn.value) + "&em=" + escape(f.pe.value) + "&m=" + escape(f.cn.value),
			   success: function(reply)
			   	{
					
					if (reply == "true") 
						{
							f.disabled = true; 
							for (var i = 0; i<f.elements.length; i++)
								{
									f.elements[i].disabled = true;	
								}
							$$("err_div").innerHTML="Thank You, Your Message has been sent"; 	
						}
					else
						{
							$$("err_div").innerHTML=reply;
							if (window.ETO) clearTimeout(window.ETO);
							window.ETO = setTimeout(function()
								{
									$$("err_div").innerHTML="";
								}, 4 * 1000);
						}
				}
			   });
		return false;
	}
	

var Services = 
	{
		CURRENT : false, 
		INITIATED: false,  
		INIT: function()
			{
				if (Services.INITIATED == false) 
					{
					var SN = $$("service_nav");
					Services.INITIATED = true;
					var ULs = SN.getElementsByTagName("UL"); 
					for (var i = 0; i<ULs.length; i++)
						{
							var UL = ULs[i]; 
							var LIs = UL.getElementsByTagName("LI"); 
							for (var l = 0; l<LIs.length; l++)
								{
									var LI = LIs[l]; 
									var A = LI.getElementsByTagName("A"); 
									if (A.length > 0)
										{
											A=A[0];
											Services.BINDER(LI, A);
										}
									
									
								}
						}
					}
			}, 
		BINDER: function(LI, A)
			{
				var U = A.href; 
				A.href="javascript:;";
				$(LI).bind("click", function(){ 
					$("#service_content").load(U); 	
					Services.SELECT(LI);						 
						 }); 
				if (Services.CURRENT == false) 
					{
						Services.SELECT(LI);	
						$("#service_content").load(U); 	
					}
			},
		SELECT: function(LI)
			{
				if (Services.CURRENT !== false)
					{
						Services.CURRENT.className=""; 	
					}
				LI.className="on"; 
				Services.CURRENT = LI;
			}
	}
	
var Projects = {
		INIT: function()
			{
				var m = $$("projects_ul"); 
				 $("#project_nav").mousemove(function(e){
					var y = e.pageY -  $("#project_nav").offset().top;
					var h = $("#project_nav").height() - 20;
					var p = (y / h);
					var mh = m.offsetHeight  - h; 
					var ph = Math.round(mh * p); 
					if (m.offsetHeight > h) m.style.marginTop = (ph * -1) + "px";
			   }); 
				
				var LIs = m.getElementsByTagName("LI"); 
				for(var q = 0; q<LIs.length; q++)
					{
						var LI = LIs[q]; 
						
						if (LI.childNodes[0].tagName == "A")
							{
							var prep = function(L)
								{
									var URL = LI.childNodes[0].href; 	
									LI.childNodes[0].href="javascript:;";
									$(LI.childNodes[0]).bind("click", function()
									{
										Projects.PageLoad(URL);
									});
									if (L == true) Projects.PageLoad(URL);	
								}
							if (q == 0) prep(true);
							else prep(false);
							$(LI.childNodes[0]).bind("mouseover", function()
								{
									var BG = $(this).css("backgroundColor");
									var PD = $(this).css("padding");
									$(this).animate({padding: "8px"}, 300).animate({backgroundColor: "#f6d103"}, 300).animate({backgroundColor: "#de4439"}, 500);
									$(this).bind("mouseout", function()
										{
											$(this).animate({padding: "4px"}, 200).animate({backgroundColor: BG}, 200);	
										}); 
								}); 
							}
						
					}
			}, 
			PageLoad: function(URL)
				{
					$.ajax({
					type: "GET",
					url:  URL, 
					success: function(page)
						{
							if ($$("projects_right").childNodes.length > 0)
								{
									var Old =$$("projects_right").childNodes[0]; 
									Old.style.zIndex = "2"; 	
									Old.style.marginTop = "-400px";
								}
							var D = document.createElement("DIV"); 
							D.className="solid"; 
							D.style.width="715px";
							D.style.position="relative";
							D.style.marginLeft = "-715px";
							D.innerHTML = page; 
							D.style.zIndex = "3"; 
							if (Old) $$("projects_right").insertBefore(D, Old);
							else $$("projects_right").appendChild(D); 
							$(D).animate({marginLeft: "0px"}, 1000, function()
										{
											if (Old) Old.parentNode.removeChild(Old);
										});
							
						}
					 }); 
				},
			Gallery: function(obj)
				{
					$("#pr_img").fadeOut(200, function() { 
					$("#pr_img").attr("src",obj.src).fadeIn(300);
													   });
					$$("pr_desc").innerHTML = obj.alt; 
				}
}	

var Blog = {
		Year: function(date)
			{
				$.ajax({
					   type: "GET",
					   url: "blog_dates.php",
					   data: "Y=" + date,
					   success: function(page)
					   	{
							$$("blog_left").innerHTML = page; 
						}
					   }); 	
			},
			
			Fetch: function(Month, Year)
				{
					$.ajax({
					   type: "GET",
					   url: "blog.php",
					   data: "Y=" + Year + "&M=" + Month,
					   success: function(page)
					   	{
							$("#blog_right").fadeOut(200, function(){
							$(this).html(page).fadeIn(600)
							}); 
						}
					   }); 	
				}
}	


/// PAGE STARTUPS
$(document).ready(function()
		{

			//// MENU 
			window.NAVIGATION = 
				{
					UL: false, 
					LIs: new Array(), 
					ARR: new Object(),
					RLI: new Object(),
					WIDTH: false,
					CONT: $$("nav_container"),
					OVER: false,
					BUTTON: $$("navigate")
				}
			var UL = $$("navigation"); 
			var LI = UL.getElementsByTagName("LI"); 
			for(var i = 0; i<LI.length; i++)
				{
		
					var A = LI[i].getElementsByTagName("A"); 
					A = A[0]; 
					if (typeof A.onclick == "function") var Ex = A.onclick;
					else var Ex = false; 
					A.onclick = null;
					NAVIGATION.LIs.push({
						title: A.innerHTML, 
						href: A.href,
						button: A.id,
						width: LI[i].offsetWidth,
						id : i, 
						onload: Ex, 
						status : false
					}); 
					NAVIGATION.RLI[A.id] = i;
					NAVIGATION.ARR[A.id] = i;
					A.href="javascript:;";
				
					$(A).bind("click", function(){
								RSNAV.Navigate(this.id); 
							  }); 
				}
			RSNAV.LOAD(); 	
			NAVIGATION.UL = UL; 
			NAVIGATION.WIDTH = UL.offsetWidth; 
			$("#nav_container").css("height","0px");
			$("#navigate, #nav_container").bind("click",function()
					{
						var W = parseFloat(NAVIGATION.CONT.style.height); 
						if ( W == 0 ) 
							{
								NAVIGATION.BUTTON.innerHTML = NAVIGATION.BUTTON.innerHTML.replace("+","-"); 
								$("#nav_container").animate({height: "36px"}, 500);	
							}
							else 
							{
								NAVIGATION.BUTTON.innerHTML = NAVIGATION.BUTTON.innerHTML.replace("-","+"); 
								$("#nav_container").animate({height: ("0px")}, 500);
							}
											
					});
			/// END MENU
			
			/// SERVICES INIT
			
		});


