<?php
/*******************************************************************************
 * Copyright (c) 2013 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   Wayne Beaton - initial API and implementation
 *******************************************************************************/

/*
 * Add JQuery library import to the header.
 * This is in a separate file which we can easily require_once as many times
 * as we need to. This makes it much easier to keep track of whether or not
 * we've already tried to add this library, and prevent us from attempting to
 * add it multiple times.
 */
global $App;
$protocol = $_SERVER['HTTPS'] ? 'https' : 'http';
$App->AddExtraHtmlHeader("<script src=\"$protocol://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js\" type=\"text/javascript\"></script>");
?>