$(function() {
	
	$(".products-services-nav a").click(function(e) {
		e.preventDefault();
		var target = $( $(this).attr('href') );
		SetHeight_Scroll_FadeIn = function() {
			$('#ProductsServicesList')
				.height(target.height())
				.scrollTo( target, { easing:'easeInOutExpo', duration:1000 })
				.fadeTo('fast',1);
		}
		$('#ProductsServicesList').fadeTo('fast',.33,SetHeight_Scroll_FadeIn);
	});
	
	$("form").submit(function(e){
		form = e.target;
		var errorMsg = '';
		for(i = 0; i < form.elements.length; i++){
			field = $(form.elements[i]);
			if(field.hasClass('required') && form.elements[i].value.length < 1){
				title = field.attr('title');
				errorMsg += title + " field is required.\n";
			}
		}
		if(errorMsg != ''){
			e.preventDefault();
			alert(errorMsg);
			return false;
		}
		return true;
	});
	

	/*
	 * JTip
	 * By Cody Lindley (http://www.codylindley.com)
	 * Under an Attribution, Share Alike License
	 * JTip is built on top of the very light weight jquery library.
	 */
	$("a.jTip")
		.hover(function(){JT_show(this.rel,this.id,this.name)},function(){$('#JT').remove()})
		.click(function(e){e.preventDefault()});	   
	
	function JT_show(url,linkId,title){
		if(title == false)title="&nbsp;";
		var w = $(window).width();
		var hasArea = w - getAbsoluteLeft(linkId);
		var clickElementy = getAbsoluteTop(linkId) - 3; //set y position
		
		var queryString = url.replace(/^[^\?]+\??/,'');
		var params = parseQuery( queryString );
		if(params['width'] === undefined){params['width'] = 250};
		
		if(hasArea > ((params['width']*1)+75)){
			var arrowOffset = getElementWidth(linkId) + 11;
			var clickElementx = getAbsoluteLeft(linkId) + arrowOffset; //set x position
			$('body').append("<div id='JT' style='width:"+params['width']*1+"px;position:absolute;left:"+clickElementx+"px;top:"+clickElementy+"px;'><div id='JT_arrow_left'></div><div id='JT_close_left'>"+title+"</div><div id='JT_copy'><div class='JT_loader'><div></div></div>");//right side
		}else{
			var clickElementx = getAbsoluteLeft(linkId) - ((params['width']*1) + 15); //set x position
			$('body').append("<div id='JT' style='width:"+params['width']*1+"px;position:absolute;left:"+clickElementx+"px;top:"+clickElementy+"px;'><div id='JT_arrow_right' style='left:"+((params['width']*1)+1)+"px'></div><div id='JT_close_right'>"+title+"</div><div id='JT_copy'><div class='JT_loader'><div></div></div>");//left side
	
		}
		
		if(url.substr(0,1) == '#'){
			$('#JT_copy').html($(url).html());
		}else{
			$('#JT_copy').load(url);
		}
		$('#JT').show();
	
	}
	
	function getElementWidth(objectId) {
		width = $('#'+objectId).width() + 7;
		return width;
	}
	
	function getAbsoluteLeft(objectId) {
		// Get an object left position from the upper left viewport corner
		o = $('#'+objectId).offset();
		return o.left;
	}
	
	function getAbsoluteTop(objectId) {
		// Get an object top position from the upper left viewport corner
		o = $('#'+objectId).offset();
		return o.top;
	}
	
	function parseQuery ( query ) {
	   var Params = new Object ();
	   if ( ! query ) return Params; // return empty object
	   var Pairs = query.split(/[;&]/);
	   for ( var i = 0; i < Pairs.length; i++ ) {
	      var KeyVal = Pairs[i].split('=');
	      if ( ! KeyVal || KeyVal.length != 2 ) continue;
	      var key = unescape( KeyVal[0] );
	      var val = unescape( KeyVal[1] );
	      val = val.replace(/\+/g, ' ');
	      Params[key] = val;
	   }
	   return Params;
	}
	

	// Orderable list for Portfolio Admin page
    $('form .moveUp').click(function(e) {
		e.preventDefault();
		target = '#'+$(this).attr('rel')+' option';
        options = $(target);
        for(i=0;i<options.length;i++){
            if(options[i].selected == true && i != 0){
                var optionToMoveUp, optionToBump;
                toMoveUpHtml = $(options[i]).html();
                toBumpHtml = $(options[i-1]).html();
                toMoveUpValue = options[i].value;
                toBumpValue = options[i-1].value;
                $(options[i]).html(toBumpHtml);
                $(options[i-1]).html(toMoveUpHtml);
                options[i].value = toBumpValue;
                options[i-1].value = toMoveUpValue;
                options[i].selected = false;
                options[i-1].selected = true;
            }
        }
    });
    $('form .moveDown').click(function(e) {
		e.preventDefault();
		target = '#'+$(this).attr('rel')+' option';
        options = $(target);
        for(i=options.length-1;i>=0;i--){
            if(options[i].selected == true && i != options.length-1 ){
                toMoveHtml = $(options[i]).html();
                toBumpHtml = $(options[i+1]).html();
                toMoveValue = options[i].value;
                toBumpValue = options[i+1].value;
                $(options[i]).html(toBumpHtml);
                $(options[i+1]).html(toMoveHtml);
                options[i].value = toBumpValue;
                options[i+1].value = toMoveValue;
                options[i].selected = false;
                options[i+1].selected = true;
            }
        }
    });
    $('form.orderable').submit(function(){
        options = $('.orderable option');
        for(i=0;i<options.length;i++){
            options[i].selected = true;
        }
    });
	
});