var willow = function($) {
	var searchVal = "";
	if(parent.pdGlobal){
		var obj = parent.document.getElementById('PageHead');
	    var contents = obj.innerHTML;
	    document.write(contents);
	}
	if(parent.pdGlobal != undefined){
		var pdGlobal = parent.pdGlobal;
	}
	return {
		log : function(str){
			if(window.console) {
				console.debug(str);
			}
		},
		openURL : function(url){
			window.location.href=url;
			parent.window.scrollTo(0,0);
		},
		jump : function(f) {
			f.submit();
		},
		ReSizeIFRAME: function() {
			var aIF = window.parent.document.getElementsByTagName('IFRAME');
			var objIF;
			for (x=0; x < aIF.length;x++) {
				if(aIF[x].id.substring(0,2) == 'if') objIF = aIF[x]
			}	
			objBody = document.getElementById('__pdIFRAMEarea')
			objIF.style.height = objBody.offsetHeight;
		},
		getL1 : function($obj){
			$obj.html(pdGlobal.currentPages[0].title);
		},
		getL2 : function($obj){
			if(pdGlobal.currentPages.length > 1){
				$obj.html(pdGlobal.currentPages[1].title);
			}
		},
		getL3 : function($obj){
			if(pdGlobal.currentPages.length > 2){
				$obj.html(pdGlobal.currentPages[2].title);
			}
		},
		setSearch : function($obj){
			$obj.keydown(function(evt){
				var charCode = (evt.which) ? evt.which : event.keyCode;
				if(charCode == "13" || charCode == "26"){
					willow.submitSearch($(this).val());
					return false;
				}
			}).focus(function(){
				searchVal = $(this).val();
				$(this).val("");
			}).blur(function(){
				$(this).val(searchVal);
			});
		},
		submitSearch : function(search){
			if($.isFunction(__pdSiteSearch)){
				__pdSiteSearch('', search);
			}else{
				window.location = "/podium/default.aspx?t=52392&q="+search+"&pt=Search Results";
			}
			
		},
		__pdL : function(taskid, taskname, tasktypeid, taskargs, path, clearhistory, subtaskid, subtaskname) {
			parent.window.location = "/podium/default.aspx?t=" + taskid;
		},
		sendEmail : function(address, linkto) {
		   	var aryAddress = new Array
		   	var mailTo = new String;
		   	address = address.replace(/x/g, ',64');address = address.replace(/y/g, ',46');address = address.replace(/z/g, ',');
		   	aryAddress = address.split(',') 
		   	for (q=1; q<aryAddress.length;q++) {  
		   		mailTo = mailTo + String.fromCharCode(aryAddress[q]);   
		   	}
		   	linkto.href = 'mailto:'+mailTo;
		},
		getLinks : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=link&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getMenu : function(ids,callback) {
			$.getJSON('/data/json.asp?type=menu&id=' + ids,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getNews : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=news&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getPhotos : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=photo&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getAllPhotos : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=photoall&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getList : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=list&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		getText : function(groupid,callback){
			$.getJSON('/data/json.asp?type=text&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					willow.log("Missing callback function");
				}
			});
		},
		GetRandomNumberBetween : function(intMin, intMaximum) {
			return Math.round(Math.random() * (intMaximum - intMin)) + intMin;
		}
	};
}(jQuery);
