(function(j){
	function doCufon(){
		Cufon.replace('h1, h2, h3, h4, h5, h6', {hover :'true'});	
	};
	
	function pagemenu(pageid){
		j(pageid + " ul").css({display: "none"});
		j(pageid).find('a').removeAttr('title');
		var kl = j(pageid + " li").filter(":has(>ul)");
		
		kl.each(function(){
			j(this).css({position: "relative"});
			j(this).find('a:eq(0)').css({position: "relative"}).append('<span class="arrow"></span>');
		
			j(this).hover(function(){
				j(this).addClass('onhove');
				j(this).find('a:eq(0)').addClass('onhov');
				j(this).find('ul:first').stop().css({overflow:"hidden", height:"auto",visibility: "visible",display: "none"}).slideDown(200,
					function(){
						j(this).css({overflow:"visible", height:"auto"});
					}
				);	
			}, function(){
				var biz = j(this).find('a:eq(0)');		
				j(this).find('ul:first').stop().css({overflow:"hidden", display:"none"});
				biz.removeClass('onhov');
				j(this).removeClass('onhove');				
			});
		})
		j(pageid +' .current_page_item').find('a:first').addClass('pageactive');
		j(pageid +' .current-menu-item').find('a:first').addClass('pageactive');
		
	};
	
	function dotooltip(target_items, name){
		j(target_items).each(function(i){
			j("body").append("<div class='"+name+"' id='"+name+i+"'><p>"+j(this).attr('title')+"</p></div>");
			var my_tooltip = j("#"+name+i);
			
			if(j(this).attr("title") != ""){ // checks if there is a title

				j(this).removeAttr("title").mouseover(function(){
						my_tooltip.css({opacity:0.8, display:"none"}).fadeIn(200);
				}).mousemove(function(kmouse){
						var mr = my_tooltip.width();
						var hr = my_tooltip.height();
						my_tooltip.css({left:kmouse.pageX-(Math.round(mr/2)), top:kmouse.pageY-(hr*2)});
				}).mouseout(function(){
						my_tooltip.fadeOut(50);
				});

			}
			
			j(this).hover(function(){
				j(this).find('img').stop().animate({opacity: 0.6}, 200);
			}, function(){
				j(this).find('img').stop().animate({opacity: 1.0}, 200).css({opacity:1.0});
			});
			
		});
	};
	
/* contact form handle */	
	function ContactHandle()
	{
		j('#contact_submit').click( function() {
		
			var name = j('#hname').val();
			var mail = j('#hmail').val();
			var subs = j('#hsubj').val();
			var mess = j('#hmess').val().replace(/\r?\n|\r/g, "<br>");
			var sendto = j('#sendto').val();
			
			j('.contactload').fadeIn('fast');
			
			if (name != "" && mail != "" && subs != "" && mess != "")
				{
					var uril = j("#urlto").val();

					j.ajax(
						{
							url: uril,
							type: 'GET',
							data: "hname=" + name + "&hmail=" + mail + "&hsubj=" + subs + "&hmess=" + mess + "&sendto=" + sendto,
							success: function(result) 
							{
								j('.contactload').fadeOut('fast');
								if(result == "email_error") {
									j('#hmail').next('.req').html(' ! <small>please enter your valid email address</small>');
								} else {
									j('#hname, #hmail, #hsubj, #hmess').val("");
									j('<p id="contact_success">' + result + '<span class="jq_close"></span></p>').insertBefore('#adm-contact');
									j('.jq_close').click(function(){
										j(this).parent().fadeOut(300, function(){ j(this).remove(); });
									});
								}
							}
						}
					);
					return false;
					
				} 
			else 
				{
					j('.contactload').fadeOut('fast');
					if(name == "") j('#hname').next('.req').text(' !');
					if(mail == "") j('#hmail').next('.req').text(' !');
					if(subs == "") j('#hsubj').next('.req').text(' !');
					if(mess == "") j('#hmess').next('.req').text(' !');
					return false;
				}
		});
		
		j('#hname, #hmail, #hsubj, #hmess').focus(function(){
			j(this).next('.req').text(' *');
		});
		
	};
	
	function doLoader(){
		j('#full_layout').tgPreload();
	};
	
	function doPretty(){
		var gal = j('.gallery').find('a');
		gal.each(function(){
			if(this.href.match(/\.(jpe?g|png|bmp|gif|tiff?)$/i)){
				j(this).attr('rel', 'prettyPhoto[gallery]');
			}
		});
	
		j("a[rel^='prettyPhoto']").prettyPhoto({theme:'facebook'});
	};
	
	function afterloader(){
		var imglength = j('.portfolio_image_preview').length;
		
		if( imglength > 0 ){

				j('.portfolio_image_preview').each(function(){
					j(this).hover(function(){
						var thisimg = j(this).find('img');
							
						thisimg.stop().animate({opacity : 0.5}, 400);
					}, function() {
						var thisimg = j(this).find('img');
	
						j(this).find('img').stop().animate({opacity : 1}, 400);
					});
				})
		}
	};
	
j(document).ready(function(){
	doCufon();
	pagemenu('#eqnav');
	dotooltip('a.need_tool', 'tooltip');
	doLoader();
	ContactHandle();
	doPretty();
});
j(window).load(function(){
	afterloader();
});
})(jQuery);
