// JavaScript Document

function display_loading() {
		var doc_height = $(document).height();
		var win_height = $(window).height();
		var win_width = $(window).width();
		var loader_height = $("#preloader").height();
		var loader_width = $("#preloader").width();
		var loader_top = (win_height / 2) - (loader_height / 2);
		var loader_left = (win_width / 2) - (loader_width / 2);
		$("#overlay").css({height: doc_height, width: win_width}).show();
		$("#preloader").css({top: loader_top, left: loader_left}).show();
}

function remove_loading() {
		$("#preloader").hide();
		$("#overlay").hide();
}

function display_content(data, textStatus) {
		$("#content_wrapper").html('');
		$("#content_wrapper").html(data);
}

function check_overlay(base_url) {
	$(".ajax_link").click(function() {
		
		$(window).scroll(function () {
			window.scrollTo(0,0);
		});
		var hash = $(this).attr('href');
		hash = hash.replace(base_url, '');
		hash = hash.substr(0,hash.length-5);
		window.location.hash = hash;
		
		var doc_height = $(document).height();
		var win_height = $(window).height();
		var win_width = $(window).width();
		var loader_height = $("#preloader").height();
		var loader_width = $("#preloader").width();
		var loader_top = (win_height / 2) - (loader_height / 2);
		var loader_left = (win_width / 2) - (loader_width / 2);
		$("#preloader").css({top: loader_top, left: loader_left}).show();
		$("#overlay").css({height: doc_height, width: win_width}).show();
		return false;
	});
}

function page_load(hash) {
	if(hash) {
		// restore ajax loaded state
		$.ajax({
			type: "GET",
			url: hash + '.html',
			success: display_content
		});
	}
	else {
		// start page
		$.ajax({
			type: "GET",
			url: 'home.html',
			success: display_content
		});
	}
}


function ajaxed_menu(base_url) {
	
	$.historyInit(page_load);
		
	$("#content_wrapper").ajaxStart(display_loading);

	$("#content_wrapper").ajaxStop(remove_loading);

	$(".ajax_link").click(function() {
		var hash = $(this).attr('href');
		hash = hash.replace(base_url, '');
		hash = hash.substr(0,hash.length-5);
		window.location.hash = hash;
		$.historyLoad(hash);
		$.ajax({
			type: "GET",
			url: hash + '.html',
			success: display_content
		});
		return false;
	});
}

function ajaxed_menu_in_body(base_url) {
	
	//$.historyInit(page_load);
		
	$("#content_wrapper").ajaxStart(display_loading);

	$("#content_wrapper").ajaxStop(remove_loading);

	$(".ajax_link_in_body").click(function() {
		var hash = $(this).attr('href');
		hash = hash.replace(base_url, '');
		hash = hash.substr(0,hash.length-5);
		window.location.hash = hash;
		$.historyLoad(hash);
		$.ajax({
			type: "GET",
			url: hash + '.html',
			success: display_content
		});
		return false;
	});
}

function bind_ajaxed_menu_in_body(base_url) {
	$(".ajax_link_in_body").livequery('', function() {
		ajaxed_menu_in_body(base_url);										   
	});
}

function magnify_map(selector) {
	$(selector).magnify({
		preload: true,
		lensWidth: 100,
		lensHeight: 75,
		stagePlacement: 'right',
		showEvent: 'click',
		hideEvent: 'click',
		lensCss: { backgroundColor: '#FFFFFF', border: '1px dashed #000000', opacity: 0.25 },
		stageCss: { border: '4px solid #666666' }
	});
}

function bind_magnify_map() {
	$("#magnifier").livequery('', function() {
		magnify_map(this);
	});
}

function contact_us(selector) {
	$(selector).submit(function() {
		var url = $(this).attr('action');
		var cuf_name = $("#cuf_name").val();
		var cuf_email = $("#cuf_email").val();
		var cuf_contact = $("#cuf_contact").val();
		var cuf_subject = $("#cuf_subject").val();
		var cuf_message = $("#cuf_message").val();
		var cuf_ip = $("#cuf_ip").val();
		var string = "cuf_name=" + cuf_name + "&cuf_email=" + cuf_email + "& cuf_contact=" + cuf_contact + "& cuf_subject=" + cuf_subject + "& cuf_message=" + cuf_message + "& cuf_ip=" + cuf_ip;
		$.ajax({
			type: "POST",
			url: url,
			data: string,
			success: display_content
		});
		return false;
	});
}

function bind_contact_us() {
	$("#contact_us_form").livequery('', function() {
		contact_us(this);
	});
}

function hide_solutions() {
	$(".solutions p:gt(2)").hide();
}

function show_solutions() {
	$(".solutions p:gt(2)").slideDown("slow");
}

function read_more_solutions() {
	$(".solutions p:gt(2)").livequery('', function() {
		hide_solutions();											 
	});
	$("#read_more_solutions").livequery('', function() {
		$("#read_more_solutions").show();	
	});
	$("#read_more_solutions").livequery('click', function() {
		show_solutions();	
	});
	$("#read_more_solutions").livequery('click', function() {
		$("#read_more_solutions").hide();	
	});
}
