window.onload = function() {
    setNewWinLnks();
}   

// print page script
function printPage() {
	printPageCont = document.getElementById("printPage");
	if (printPageCont != null){
		printPageText = document.createTextNode("Print this page");
		printPageLink = document.createElement("a");
		printPageLink.setAttribute("href", "#");
		printPageLink.onclick = function(){window.print();return false;};
		printPageLink.appendChild(printPageText);
		printPageCont.appendChild(printPageLink);
	}
}

// footer external links
 function surfto() {
    var form=document.getElementById("site");
    var url = form.options[form.options.selectedIndex].value;
    if (url !=="0") {
    _hbLink('More+Sky+Sites+-+'+url);
    newWin(url);
    }
}

// ensures focus on new windows
function setNewWinLnks() {
    var lnks = document.getElementsByTagName("a");
    for (var i = 0; i < lnks.length; i++) {
        if (lnks[i].target =="_blank") {
            lnks[i].onclick = newWin;
        } 
    }  
}

function newWin(url) {
    if (this.href !==undefined) url = this.href;
    win = window.open(url);
    win.focus();
    return false;
}

//Get objects from class name 
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className)) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
    // split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}


//JS to open links in new window 
$(document).ready(function() {
    $('a[rel="external"]').click( function() {
        window.open( $(this).attr('href') );
        return false;
    });
});

function AdHeight(inside, outside, addTo, minHeight){
    this.inside = inside;
    this.outside = outside;
    
    if (addTo == null) this.addTo = 0;
        else this.addTo = addTo;
    if (minHeight == null) this.minHeight = 0;
        else this.minHeight = minHeight;
    
}

AdHeight.prototype.init = function(){
    if (!($(this.outside).hasClass('adHeight'))){   
       $(this.outside).addClass('adHeight');   
       var height = $(this.outside).height();   
       $(this.outside).css('height', height);                 
   } 
}

AdHeight.prototype.run = function(callback){    
   this.init();
        var height =  $(this.inside).height() + this.addTo;       
        if ((this.minHeight) && (height < this.minHeight)) height = this.minHeight;
        $(this.outside).animate({'height' : height}, callback);   
}

AdHeight.prototype.pause = function(){
    $(this.outside).removeClass('adHeight').css('height', 'auto');
}
