var HTTP_SERVER = 'http://www.solutionbuilt.com';
var contact = seobasic = seoadvanced = seoadvancedplus = seocommerce = height = '';

$(function() {
	setServicesMenu();
	setLinks();
	setImages();
	if($('div#portfolio').length > 0) setPortfolio();
	if($('div#enc').hasClass('contact')) {setContact();loadContactMap();}
	/*if($('div#enc').hasClass('support')) {setSupportLinks();}*/
});

function setServicesMenu() {
	$('ul#navigation li.services > a').click(function() {
		$('ul#navigation ul').slideToggle('normal');
		return false;
	});
}

function setLinks() {
	if($('div#consultus').length > 0 && $('div#contactbox').length < 1) {
		contact = $('div#consultus').html();
		$('div#consultus').remove();
		$(document.createElement('p')).attr('id','contactpage').appendTo('body');
	}
	if($('div#seobasic').length > 0) {
		seobasic = $('div#seobasic').html();
		$('div#seobasic').remove();
		$(document.createElement('p')).attr('id','seopage').appendTo('body');
	}
	if($('div#seoadvanced').length > 0) {
		seoadvanced = $('div#seoadvanced').html();
		$('div#seoadvanced').remove();
		$(document.createElement('p')).attr('id','seopage').appendTo('body');
	}
	if($('div#seoadvancedplus').length > 0) {
		seoadvancedplus = $('div#seoadvancedplus').html();
		$('div#seoadvancedplus').remove();
		$(document.createElement('p')).attr('id','seopage').appendTo('body');
	}
	if($('div#seocommerce').length > 0) {
		seocommerce = $('div#seocommerce').html();
		$('div#seocommerce').remove();
		$(document.createElement('p')).attr('id','seopage').appendTo('body');
	}
	$('div#context a, ul#links a').each(function() {
		var id = getLinkId($(this).attr('href'));
		if((id == 'contact' && contact != '' && $(this).attr('rel') != 'contact') || id == 'seobasic' || id == 'seoadvanced' || id == 'seoadvancedplus' || id == 'seocommerce') {
			$(this).click(function() {
				if(!contact) var contact = window[id];
				height = getHeight(contact);
				Shadowbox.open({
			        player:     'html',
			        content:    contact,
			        height:     height,
			        width:      400,
					options: 	{enableKeys:false}
			    });
				return false;
			});
		}
	});
}

function setImages() {
	$('div#context img').each(function(i) {
		var rel = $(this).attr('rel');
		if(rel != '') {
			$(this).css('cursor','pointer');
			//$(this).parent().append("<img src='"+HTTP_SERVER+"/images/layout/icon-EnlargeImage.png' alt='' class='zoom' />");
			$(this).click(function() {
				var type = rel.split('.').reverse()[0];
				var player = 'iframe';
				var width = height2 = '';
				if(type.indexOf(';') > 0) {
					var params = type.split(';');
					rel = rel.split(';')[0];
					type = params[0];
					width = params[1];
					height2 = params[2];
				}
				if(rel.indexOf(HTTP_SERVER) == 0) {
					switch(type) {
						case 'jpg':
						case 'gif':
						case 'png':
							player = 'img';break;
						case 'swf':
							player = 'iframe';break;
						case 'flv':
							player = 'flv';break;
						case 'mov':
							player = 'qt';break;
					}
				}
				if(width != '') {
					Shadowbox.open({
				        player:     player,
				        content:    rel,
						width:		width,
						height:		height2,
						options: 	{enableKeys:false}
				    });
				} else {
					Shadowbox.open({
				        player:     player,
				        content:    rel,
						options: 	{enableKeys:false}
				    });
				}
			})
		}
	});
}

function setSupportLinks() {
	$('p#supportlinks, p#faqslinks').css('cursor','pointer').click(function() {
		$('p#'+this.id+' + p').slideToggle('fast');
	})
}

function getHeight(content) {
	var tempmsg = $(document.createElement('div')).attr('id','tempmsg').html(content);
	$('body').append(tempmsg);
	tempheight = $('div#tempmsg').height();
	$('div#tempmsg').remove();
	return tempheight;
}

function getLinkId(link) {
	var params = link.split('/').reverse();
	return params[0];
}

function setContact() {
	$('div#contactbox form').submit(function() {submitContact();return false;});
}

function submitContact() {
	var id = getLinkId(window.location.href);
	if(id == '') id = 'index';
	var formvalues = $('div#sb-content form').serialize();
	if(formvalues == '') formvalues = $('div#contactbox form').serialize();
	$.ajax({
	    url: HTTP_SERVER+'/js_functions.php?type=consult_contact',
	    type: 'POST',
		data: formvalues+'&page='+id+'inquiry',
	    dataType: 'html',
	    timeout: 1000,
	    error: function(){alert('Please try again');},
	    success: function(result){
			var array = result.split('|||');
			if(array[0] == 'error' && $('div#sb-content h3').length > 0) {
				var errorHeight = getHeight(array[1]);
				errorHeight = errorHeight+height;
				var windowHeight = $(window).height();
				if(height > windowHeight-100) height = windowHeight-100;
				$('div#sb-wrapper').css('top',(windowHeight - errorHeight - 26)/2);
				$('div#sb-body').css('height',errorHeight+'px');
				if($('#sb-content #system_message').length > 0) {
					$('#sb-content #system_message').remove();
					$('#sb-content #system_message').remove();
				}
				$('#sb-content h3').after($('<div id="system_message">'+array[1]+'</div>'));
				$('#sb-content').animate({scrollTop: 0}, 500);
			} else {
				pageTracker._trackPageview("/inquiry");
				pageTracker._trackPageview("/inquiry-contact");
				height = getHeight(array[1]) + 5;
				if(array[0] == 'error') height = height + 5;
				window.parent.Shadowbox.open({
			        player: 'html',
					content: array[1],
					height: height,
					width: 427,
					options: {onFinish: function() {$('#sb-content').addClass('error');}}
			    });
				if($('div#contactbox').length > 0) {clearForm($('div#contactbox form'));}
			}
	    }
	});
}

function submitSEO() {
	var id = getLinkId(window.location.href);
	if(id == '') id = 'index';
	$.ajax({
	    url: HTTP_SERVER+'/js_functions.php?type=seo_contact',
	    type: 'POST',
		data: $('div#sb-content form').serialize()+'&page='+id,
	    dataType: 'html',
	    timeout: 1000,
	    error: function(){alert('Please try again');},
	    success: function(result){
			var array = result.split('|||');
			if(array[0] == 'error') {
				var errorHeight = getHeight(array[1]);
				errorHeight = errorHeight+height;
				var windowHeight = $(window).height();
				if(height > windowHeight-100) height = windowHeight-100;
				$('div#sb-wrapper').css('top',(windowHeight - errorHeight - 26)/2);
				$('div#sb-body').css('height',errorHeight+'px');
				if($('#sb-content #system_message').length > 0) {
					$('#sb-content #system_message').remove();
					$('#sb-content #system_message').remove();
				}
				$('#sb-content h3').after($('<div id="system_message">'+array[1]+'</div>'));
				$('#sb-content').animate({scrollTop: 0}, 500);
			} else {
				pageTracker._trackPageview("/inquiry");
				pageTracker._trackPageview("/inquiry-seo");
				height = getHeight(array[1]);
				window.parent.Shadowbox.open({
			        player: 'html',
					content: array[1],
					height: height,
					width: 427,
					options: {onFinish: function() {$('#sb-content').addClass('error');}}
			    });
			}
	    }
	});
}

function clearForm(form) {
	$(':input', form).each(function() {
		var type = this.type;
		var tag = this.tagName.toLowerCase();
		if (type == 'text' || type == 'password' || tag == 'textarea') {this.value = "";}
		else if (type == 'checkbox' || type == 'radio') {this.checked = false;}
		else if (tag == 'select') {this.selectedIndex = 0;}
	});
};

function setPortfolio() {
	var flashvars = {
		configPath: HTTP_SERVER+'/portfolio/Config/settings.xml'
	};
	var params = {
		quality: "high",
		play: "true",
		loop: "true",
		scale: "noScale",
		wmode: "transparent",
		devicefont: "false",
		name: "carousel",
		menu: "true",
		allowFullScreen: "false",
		allowScriptAccess:"sameDomain",
		salign: ""
	};
	var attributes = {
	  id: "carousel",
	  name: "carousel",
	  align: "left"
	};
	swfobject.embedSWF(HTTP_SERVER+"/portfolio/carousel.swf", "flash", "200", "300", "8.0.0",HTTP_SERVER+"/expressInstall.swf", flashvars, params, attributes);
	//$('div#portfolio').append('<a href="javascript:void();">View Website</a><img src="'+HTTP_SERVER+'/portfolio/clients/american-crew-screenshot.jpg" alt="" />')
	//$('div#portfolio a').click(function() {getPortfolioSite('http://www.solutionbuilt.com/flash/american_crew/index.swf;750;450');});
	$('div#portfolio').append('<a href="javascript:void();">View Website</a><img src="'+HTTP_SERVER+'/portfolio/clients/halo-lounge-screenshot.jpg" alt="" />')
	$('div#portfolio a').click(function() {getPortfolioSite('http://www.halolounge.com/');});
	setTimeout(function() {$('#carousel').css('display','block');}, 500);
}

function getPortfolioLink(link) {
	if(link.indexOf(';') > 0) {
		var params = link.split(';');
		$('div#portfolio img').attr('src',params[0]);
		if(params.length > 2) params[1] = params[1]+';'+params[2]+';'+params[3];
		$('div#portfolio a').unbind('click').click(function(){
			getPortfolioSite(params[1]);
		});
	}
}

function getPortfolioSite(link) {
	if(link.indexOf(';') > 0) {
		var params = link.split(';');
		Shadowbox.open({
	        player:     'iframe',
	        content:    params[0],
			width:		params[1],
			height:		params[2],
			options: 	{enableKeys:false}
	    });
	} else {
		Shadowbox.open({
	        player:     'iframe',
	        content:    link,
			options: 	{enableKeys:false}
	    });
	}
}

function loadContactMap() {
	if(GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById('contactmap'));
		map.addControl(new GSmallMapControl());
        map.setCenter(new GLatLng(33.855021,-84.451904), 10);
        SBicon = new GIcon();
        SBicon.shadowSize = new GSize(34, 34);
		SBicon.shadow = "images/layout/map-marker_shadow.png";
		SBicon.iconSize = new GSize(34, 34);
		SBicon.image = "images/layout/map-marker.png";
		SBicon.iconAnchor = new GPoint(16, 16);
		SBicon.infoWindowAnchor = new GPoint(16, 16);
		markerOptions = { icon:SBicon };
		var marker1 = new GMarker(new GLatLng(33.947045,-84.548025),markerOptions);
		var marker2 = new GMarker(new GLatLng(33.775439,-84.378592),markerOptions);
		GEvent.addListener(marker1, "click", function() {
			marker1.openInfoWindowHtml(buildMapWindow("<strong>Headquarters</strong><br />319 Atlanta St<br />Suite 200<br />Marietta, GA 30060",1));
		});
		GEvent.addListener(marker2, "click", function() {
			marker2.openInfoWindowHtml(buildMapWindow("<strong>Midtown Office</strong><br />769 Penn Ave<br />Atlanta, GA 30308",2));
		});

        map.addOverlay(marker1);
        map.addOverlay(marker2);
	}
}

function buildMapWindow(info,i) {
	return '<div class="mapwindow">' +
	info +
	'<hr />' +
	'<div class="directions" id="map-directions-to'+i+'">Get directions: <b>To here<\/b> - <a href="javascript:void(0)" onclick="toggleDirections(\''+i+'\');">From here<\/a><br \/>' +
	'<form action="http://maps.google.com/maps" id="dirto" target="_blank">' +
	'<input type="hidden" name="lsm" value="1" \/>' +
	'<input type="hidden" name="daddr" value="'+info.replace("<br />",", ")+'" \/>' +
	'<input type="hidden" name="geocode" value="" \/>' +
	'<input type="hidden" name="dirflg" value="" \/>' +
	'<label>Start address<\/label><br \/>' +
	'<input class="inptsmall" type="text" id="iwdiraddr-to" name="saddr" autocomplete="off" \/><input type="submit" value="Go" class="submit" \/>' +
	'<\/form>' +
	'<\/div>' +
	'<div class="directions hidden" id="map-directions-from'+i+'">Get directions: <a href="javascript:void(0)" onclick="toggleDirections(\''+i+'\');">To here<\/a> - <b>From here<\/b><br \/>' +
	'<form action="http://maps.google.com/maps" id="dirfrm" target="_blank">' +
	'<input type="hidden" name="lsm" value="1" \/>' +
	'<input type="hidden" name="saddr" value="'+info.replace("<br />",", ")+'" \/>' +
	'<input type="hidden" name="geocode" value="" \/>' +
	'<input type="hidden" name="dirflg" value="" \/>' +
	'<label>End address<\/label><br \/>' +
	'<input class="inptsmall" type="text" id="iwdiraddr-from" name="daddr" autocomplete="off" \/><input type="submit" value="Go" class="submit" \/>' +
	'<\/form>' +
	'</div></div>';
}

function toggleDirections(i) {
	var to = $('map-directions-to'+i);
	var fr = $('map-directions-from'+i);
	
	if (to.hasClassName('hidden')) {
		to.removeClassName('hidden');
		fr.addClassName('hidden');
		$('iwdiraddr-to').focus();
	} else {
		fr.removeClassName('hidden');
		to.addClassName('hidden');
		$('iwdiraddr-from').focus();
	}
}