var bOldIE = ($.browser.msie && $.browser.version<=8);

var Menu = {}

Menu.Open = function(sNewMenu){
	$(".clsMainMenu ul").not("#oSubMenu"+ sNewMenu).slideUp(300);
	$("#oSubMenu"+ sNewMenu).slideDown(300);
}

jQuery.fn.outerHTML = function(s) {
	return s
		? this.before(s).remove()
		: jQuery("<p>").append(this.eq(0).clone()).html();
};

var Projects = {
	bLoading : false,
	nItemsEachDisplay : 3
}

Projects.Init = function (){
	var $oToDisplay = $(".clsProjects").find(".clsItem:hidden:lt("+ Projects.nItemsEachDisplay +")");
	$oToDisplay.show();
	
	$(".clsContent").slideDown(1000,function(){
		if( $(".clsProjects").find(".clsItem:hidden:lt(1)").length > 0 ){
			Projects.InitScrolling();
		}
		else{
			$("#oLoading").hide();
			$(".clsFooter").show();
		}
	});

	var arrProjectsToLoad = [];
	$oToDisplay.each(function(){
		arrProjectsToLoad.push( $(this).attr("data-id") );
	});
	
	Gallery.Init(arrProjectsToLoad);
}

var nWinHeight, nGlobalHeight;
Projects.InitScrolling = function (){
	$(window).scroll(function(){
		if ( $('#oLoading').is(':inView') ) Projects.LoadMoreItems();
	});
}

Projects.LoadMoreItems = function(){
	if(Projects.bLoading) return;
	var $oToDisplay = $(".clsProjects").find(".clsItem:hidden:lt("+ Projects.nItemsEachDisplay +")");
	if( $oToDisplay.length==0 ){
		$("#oLoading").hide();
		$(".clsFooter").show();
		return;
	}

	Projects.bLoading = true;

	var arrProjectsToLoad = [];
	$oToDisplay.each(function(){
		arrProjectsToLoad.push( $(this).attr("data-id") );
	});
	
	Gallery.Init(arrProjectsToLoad, function(){
		Projects.bLoading = false;
		$oToDisplay.show();
		nGlobalHeight = $(".clsContent").height()

		if( $(".clsProjects").find(".clsItem:hidden:lt(1)").length==0 ) $(".clsFooter").show();
	});
}


Gallery = {}

Gallery.Init = function(arrProjects, callback){
	
	var arrPreload = [],
		sGallery = "";

	for (x in arrProjects){
		nProjectID = arrProjects[x];
		if(arrProjectImg[nProjectID]){
			arrPreload = [];
			sGallery = "";
			nImages = 0;

			for(i=0; i<arrProjectImg[nProjectID].length; i++){
				if(arrProjectImg[nProjectID][i]){
					if(i==0) arrPreload.push(arrProjectImg[nProjectID][i]);
					sGallery += "<td><img src=\""+ arrProjectImg[nProjectID][i] +"\" alt=\"\" /></td>";
					nImages++;
				}
			}

			$(document.createElement('img')).bind('load', function() {
				if(arrPreload.length>0)
					this.src = arrPreload.shift();
				else
					if(callback) setTimeout(function(){callback.call()},2000);
			}).trigger('load');

			sGallery = "<table><tr>"+ sGallery +"</tr></table>";
			if(nImages>1){
				sGallery += "<div class=\"clsNext\" onclick=\"Gallery.Slide("+ nProjectID +", true)\"></div>";
				sGallery += "<div class=\"clsPrev clsNotActive\" onclick=\"Gallery.Slide("+ nProjectID +", false)\"></div>";
			}

			$("#oProject"+ nProjectID).find(".clsGallery").html(sGallery);
		}
	}
}

Gallery.Slide = function(nProjectID, bNext){
	var $obj = $("#oProject"+ nProjectID).find(".clsGallery").find("table");
	if( $obj.is(':animated') ) return false;
	var nItems = $obj.find("td").length;
	var nLeft = $obj.css("left");
	nLeft = nLeft.substr(0,nLeft.length-2) *1;
	var nCurrItem = Math.abs( nLeft / 600 ) + 1;

	if(bNext){
		if(nCurrItem<nItems){
			$obj.animate({left: (nLeft-600) +"px"},400,'easeInQuad');
			$obj.parent().find(".clsPrev").removeClass("clsNotActive");
			if((nCurrItem+1)==nItems) $obj.parent().find(".clsNext").addClass("clsNotActive");
		}

	}
	else{
		if(nCurrItem>1){
			$obj.animate({left: (nLeft+600) +"px"},400,'easeInQuad');
			$obj.parent().find(".clsNext").removeClass("clsNotActive");
			if((nCurrItem-2)==0) $obj.parent().find(".clsPrev").addClass("clsNotActive");
		}

	}
}




/*** THIS FUNCTION GENERATES FAKE <A HREF="MAILTO:..."> TAG ***/
function fPrintEmailLink(sUserName, sDomain, linkText, linkTitle, cssClass, sSubject, sBody){
	var sQS=""
	if(!sUserName || !sDomain) return false;
	var sLinkText=linkText||null, sLinkTitle=linkTitle||null, sCssClass=cssClass||null;
	if(!sLinkText) sLinkText=sUserName +"@"+ sDomain;
	if(sSubject || sBody) sQS+="?";
	if(sSubject) sQS+="subject="+ sSubject;
	if(sSubject && sBody) sQS+="&";
	if(sBody) sQS+="body="+ sBody;
	if(sLinkTitle) sLinkTitle=" title='"+ sLinkTitle +"'"
	if(sCssClass) sCssClass=" class='"+ sCssClass +"'"
	document.write("<a "+ sLinkTitle +" "+ sCssClass +" href='m&#97;ilto:"+ sUserName +"&#64;"+ sDomain + sQS +"'>"+ sLinkText +"</a>")
}











// this func by http://james.padolsey.com/

$.extend($.expr[':'],{
	inView: function(a) {
		var st = (document.documentElement.scrollTop || document.body.scrollTop),
			ot = $(a).offset().top,
			wh = (window.innerHeight && window.innerHeight < $(window).height()) ? window.innerHeight : $(window).height();
		return ot > st && ($(a).height() + ot) < (st + wh);
	}
});

