//////////////////////////////////////////////////////
//TOP Toolbar
//////////////////////////////////////////////////////


$(document).ready(function() {
	
	var topHtml = '<div id="topBar"><div id="topBarInner"><div id="twitterFeed" style="display:none"><div id="leftFade"></div><div id="rightFade"></div><ul id="twitterFeedList"></ul></div><div id="globalSearch"></div></div></div>'
	
	if($("#mainNav").length > 0){
		$("body").prepend(topHtml);	
	}
	$("#globalSearch").load("/global_search.html", function(){
		var searchVal =  "Search Switchwise"						
		$('#siteSearch').focus(function() {
			if(searchVal = $("#siteSearch").val()){
				$("#siteSearch").attr('value', '');	
			}
		});														
	});

	/*** IN PROGRESS ***/

			
JQTWEET = {
	
	// Set twitter username, number of tweets & id/class to append tweets
	user: 'Switchwise',
	numTweets: 10,
	appendTo: '#twitterFeedList',

	// core function
	loadTweets: function() {
		
		$.ajax({
			url: 'https://api.twitter.com/1/statuses/user_timeline.json/',
			type: 'GET',
			dataType: 'jsonp',
			data: {
				screen_name: JQTWEET.user,
				include_rts: true,
				count: JQTWEET.numTweets,
				include_entities: true
			},
			statusCode: {
    			404: function() {
      			alert('page not found');
    		}},
			success: function(data, textStatus, xhr) {
			 $("#twitterFeed").show();
			 var html = '<li class="tweet">TWEET_TEXT<span class="time">- AGO</span></li>';

				 // append tweets into page
				 for (var i = 0; i < data.length; i++) {
					$(JQTWEET.appendTo).append(
											   
						html.replace('TWEET_TEXT', JQTWEET.ify.clean(data[i].text))
							.replace(/USER/g, data[i].user.screen_name)
							.replace('AGO', JQTWEET.timeAgo(data[i].created_at))
							.replace(/ID/g, data[i].id_str)
					);
					
					// CALCULATE THE LIST SO WE CAN ANIMATE IT
					
				 }	
				 
					//START ANIMATION
					jQuery.fn.liScroll = function(settings) {
						settings = jQuery.extend({
						travelocity: 0.07
						}, settings);		
						return this.each(function(){
								var $strip = jQuery(this);
								$strip.addClass("newsticker")
								var stripWidth = 1;
								$strip.find("li").each(function(i){
								stripWidth += jQuery(this, i).outerWidth(true); // thanks to Michael Haszprunar and Fabien Volpi
								});
								var $mask = $strip.wrap("<div class='mask'></div>");
								var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");								
								var containerWidth = $strip.parent().parent().width();	//a.k.a. 'mask' width 	
								$strip.width(stripWidth);			
								var totalTravel = stripWidth+containerWidth;
								var defTiming = totalTravel/settings.travelocity;	// thanks to Scott Waye		
								function scrollnews(spazio, tempo){
								$strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);});
								}
								scrollnews(totalTravel, defTiming);				
								$strip.hover(function(){
								jQuery(this).stop();
								},
								function(){
								var offset = jQuery(this).offset();
								var residualSpace = offset.left + stripWidth;
								var residualTime = residualSpace/settings.travelocity;
								scrollnews(residualSpace, residualTime);
								});			
						});	
				};
				    $(function(){
    					$("#twitterFeedList").liScroll({travelocity: 0.05});
    				}); 	
				
					//END ANIMATION
			}	

		});
		
	}, 

		
	/**
      * relative time calculator FROM TWITTER
      * @param {string} twitter date string returned from Twitter API
      * @return {string} relative time like "2 minutes ago"
      */
    timeAgo: function(dateString) {
		var rightNow = new Date();
		var then = new Date(dateString);
		
		if ($.browser.msie) {
			// IE can't parse these crazy Ruby dates
			then = Date.parse(dateString.replace(/( \+)/, ' UTC$1'));
		}

		var diff = rightNow - then;

		var second = 1000,
		minute = second * 60,
		hour = minute * 60,
		day = hour * 24,
		week = day * 7;

		if (isNaN(diff) || diff < 0) {
			return ""; // return blank string if unknown
		}

		if (diff < second * 2) {
			// within 2 seconds
			return "right now";
		}

		if (diff < minute) {
			return Math.floor(diff / second) + " seconds ago";
		}

		if (diff < minute * 2) {
			return "about 1 minute ago";
		}

		if (diff < hour) {
			return Math.floor(diff / minute) + " minutes ago";
		}

		if (diff < hour * 2) {
			return "about 1 hour ago";
		}

		if (diff < day) {
			return  Math.floor(diff / hour) + " hours ago";
		}

		if (diff > day && diff < day * 2) {
			return "yesterday";
		}

		if (diff < day * 365) {
			return Math.floor(diff / day) + " days ago";
		}

		else {
			return "over a year ago";
		}
	}, // timeAgo()
    
	
    /**
      * CLean up my tweets with regex
      * Eg:
      * ify.clean('your tweet text');
      */
    ify:  {
      link: function(tweet) {
        return tweet.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g, function(link, m1, m2, m3, m4) {
          var http = m2.match(/w/) ? 'http://' : '';
          return '<a class="twtr-hyperlink" target="_blank" href="' + http + m1 + '">' + ((m1.length > 25) ? m1.substr(0, 24) + '...' : m1) + '</a>' + m4;
        });
      },

      at: function(tweet) {
        return tweet.replace(/\B[@@]([a-zA-Z0-9_]{1,20})/g, function(m, username) {
          return '<a target="_blank" class="twtr-atreply" href="http://twitter.com/intent/user?screen_name=' + username + '">@' + username + '</a>';
        });
      },

      list: function(tweet) {
        return tweet.replace(/\B[@@]([a-zA-Z0-9_]{1,20}\/\w+)/g, function(m, userlist) {
          return '<a target="_blank" class="twtr-atreply" href="http://twitter.com/' + userlist + '">@' + userlist + '</a>';
        });
      },

      hash: function(tweet) {
        return tweet.replace(/(^|\s+)#(\w+)/gi, function(m, before, hash) {
          return before + '<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23' + hash + '">#' + hash + '</a>';
        });
      },

      clean: function(tweet) {
        return this.hash(this.at(this.list(this.link(tweet))));
      }
    } // ify

	
};
});


$(document).ready(function () {
	// start jqtweet!
	//if(top.location.protocol=="http:"){	
		JQTWEET.loadTweets();
	//}
});


//////////////////////////////////////////////////////
//END TOP Toolbar
//////////////////////////////////////////////////////	

var m_OnCallBack_exit = true;
var m_OnOnlineHelp_exit = true;





function ShowCalendar(calobj, edtname, anchorname) {
  edtobj = document.getElementById(edtname);
  
  if (calobj && edtobj) {
    calobj.select(edtobj, anchorname, 'dd/MM/yyyy');
  }
}





function OnCallBack_exit() {

   if (m_OnCallBack_exit) {

      

      ShowCallBackPopup();
      
      var url = '/personalised-search.asp';
     

      //self.location = url;

      //return "\nCall back ";

      //return false;
   }

}


function OnOnlineHelp_exit() {

   if (m_OnOnlineHelp_exit) {

      

      ShowOnlineHelpPopup();
      
      var url = '/personalised-search.asp';
     

      //self.location = url;

      //return "\nCall back ";

      //return false;
   }

}




//////////////////////////////////////////////////////
//ShowEmailResultsPopup
//////////////////////////////////////////////////////
function ShowEmailResultsPopup() {
   
   var PopUp = document.getElementById('EmailResultsPopUp');
   var fullHeight = $(document).height();
   var browserVersion = $.browser.version;
   var browserType = $.browser.msie;	
	
	$("#callback_overlay").height(fullHeight);
   if (PopUp) {
      if (PopUp.style.display == "none") {
         PopUp.style.display = "";
			var ifr = document.getElementById('callback_iframe');
			ifr.src = ifr.src; //reload
			if ( browserType = true && browserVersion == '6.0') {
			$('select').hide();
		}; 
		    
      }
      else {
         PopUp.style.display = "none";
		  if ( browserType = true && browserVersion == '6.0') {
			$('select').show();
		};
      };
   };
   return false;

} //ShowEmailResultsPopup



//////////////////////////////////////////////////////
//ShowCallBackPopup
//////////////////////////////////////////////////////
function ShowCallBackPopup() {
   
   	var PopUp = document.getElementById('CallBackPopUp');
	var browserVersion = $.browser.version;
	var browserType = $.browser.msie;
	var fullHeight = $(document).height();
	
	
  	
	$("#callback_overlay").height(fullHeight);
	
	
	
   if (PopUp) {
      if (PopUp.style.display == "none") {
         PopUp.style.display = "";
		 if ( browserType = true && browserVersion == '6.0') {
			$('select').hide();
		};   
      }
      else {
         PopUp.style.display = "none";
		 if ( browserType = true && browserVersion == '6.0') {
			$('select').show();
		};
      };
   };
   return false;

} //ShowCallBackPopup

//////////////////////////////////////////////////////
//ShowOnlineHelpPopup
//////////////////////////////////////////////////////
function ShowOnlineHelpPopup() {
   
   var PopUp = document.getElementById('OnlineHelpPopUp');

   if (PopUp) {
      if (PopUp.style.display == "none") {
         PopUp.style.display = "";
		    
      }
      else {
         PopUp.style.display = "none";
      };
   };
   return false;

} //ShowOnlineHelpPopup



//////////////////////////////////////////////
//ShowProductDetailsPopup
//////////////////////////////////////////////
function ShowProductDetailsPopup(packageid,prodId) {
        	
	var PopUp = document.getElementById('ProductDetailsPopUp');
	var frDet = document.getElementById('productdetails_iframe');
	
   if (PopUp) {
      if (PopUp.style.display == "none") {
         PopUp.style.display = "";

			var window_w = jQuery(window).width();
			var window_h = jQuery(window).height();
						
			if (frDet) {
				frDet.src = '/step-02-detail_popup.asp?packageid='+packageid+'&id='+prodId;
																							
				var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
				var dLeft =document.all? iebody.scrollLeft :  40;
				var dTop  = document.all ? iebody.scrollTop : 40;

				var frOverlay = document.getElementById('productdetails_overlay');
				if (frOverlay){
					var oH = iebody.scrollHeight;
					var oW = iebody.scrollWidth;
					
					frOverlay.style.height = oH + 'px';
					frOverlay.style.width =  oW  + 'px';					
				}
												
				var dvFrame = document.getElementById('productdetails_div_frame');
				if (dvFrame) {				
					dTop = dTop + ((window_h - 650)/2);
					dLeft = dLeft + ((window_w - 965)/2);

					if (dTop < 0) dTop = 40;
					if (dLeft < 0) dLeft = 40;
				
					dvFrame.style.top =  dTop + 'px';
					dvFrame.style.left = dLeft + 'px';
				}				
			}									
			
      }
      else {
         PopUp.style.display = "none";
			if (frDet) frDet.src = '';
			
      };
   };
   return false;

} //ShowProductDetailsPopup



//---------------------------------------------------------------
// ShowDetails()
//---------------------------------------------------------------
function ShowDetails(prodId,packageid) {
  
  ShowProductDetailsPopup(packageid,prodId);
  
  //url = '/step-02-detail_popup.asp?packageid='+packageid+'&id='+prodId;
  //ShowTC(url);
//  document.location.href = url;  
//  window.open(url, "_blank", "height=500,width=800,left=0,top=20,scrollbars=yes");
}



//---------------------------------------------------------------
// SwitchOrShowDetails()
//---------------------------------------------------------------
function SwitchOrShowDetails(prodId,packageid,url_query) {
  
  
  url = '/step-03.asp?packageid='+packageid+'&pid='+prodId + url_query;

	if (top.location.host=='www.switchwise.com.au') {
		url = 'https://' + top.location.host + url;
	}

	var PopUp = parent.window.document.getElementById('ProductDetailsPopUp');
   if (PopUp) {
      PopUp.style.display = "none";
		var frDet = parent.window.document.getElementById('productdetails_iframe');
		if (frDet) 
			frDet.src = '';

		if (parent.window.location.pathname != '/step-04.asp')
			parent.location.href =url;
		return;			
	}

	document.location.href =url; 
	
/*
		if (!document.getElementById('myframe')) 
  {
		if (parent.window.document.getElementById('tandc').style.visibility = 'visible') {
			parent.location.href =url;
			return;
		}
	}
*/	
}






function ShowHidStateCountry() {
	var idType = document.getElementById('idtype');
	
	if (idType) {

		if ((idType.value != 'Drivers Licence') && (idType.value !='Passport'))	{				
			HideObj('divState');
			HideObj('divCountry');				
		}
		
		if (idType.value=='Passport') {
			HideObj('divState');
			ShowObj('divCountry');
		}
		
		if (idType.value=='Drivers Licence') 	{
			ShowObj('divState');
			HideObj('divCountry');
			
		}

	}	

	
}




function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}


function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 8.0 ) 
      msg = "You're using a recent copy of Internet Explorer. " + ver
    else
      msg = "You should upgrade your copy of Internet Explorer. " + ver;
  }
  alert( msg );
}






function SetBestSavings(savings) {
  obj = document.getElementById('bestsavings');
  //savingsFont
  //bestsavings
  if (obj) {
		obj.innerHTML=savings;
	}
}










function ShowObj(aname) {
  obj = document.getElementById(aname);
  if (obj) {
    obj.style.visibility = 'visible';
    obj.style.display = '';
  }
}


function DisableObj(aname,bolEnable) {
  obj = document.getElementById(aname);
  if (obj) {
    obj.disabled = bolEnable;
  }
}


function HideObj(aname) {
  obj = document.getElementById(aname);
  
  if (obj) {
    obj.style.visibility = 'hidden';
    obj.style.display = 'none';
  } //else {alert(aname);}
  
}



function ChangeMoveIn(postcode) {
  var bShowRetailers;
  var bShowUsageHouseHold;
  var bShowUsageSpend;

  objMovein = document.getElementById('movein');
  objEstimate = document.getElementById('estimateusage');

  if ((objMovein) && (objEstimate)) {

    if (objMovein.value == 'no')
    {
        //if (objEstimate.value == 'spend')
        //    bShowRetailers = false;
        //else
            bShowRetailers = true;
    }
    else
      bShowRetailers = (objEstimate.value == 'no');;


    bShowUsageSpend = (objEstimate.value == 'spend');
    bShowUsageHouseHold = (objEstimate.value == 'yes');


    if (objEstimate.value == 'no')
        {ShowObj('usage01');}
    else
        {HideObj('usage01');}


    if (bShowRetailers)
       {ShowObj('addinfo02');}
    else
       {HideObj('addinfo02');}


    if (bShowUsageHouseHold)
       ShowObj('usage02')
    else
       HideObj('usage02');

    if (bShowUsageSpend)
       ShowObj('usage022')
    else
       HideObj('usage022');


    ChangeFuel(postcode);

  } //((objMovein) && (objEstimate)) {

  HideObj('hideit');
}




function ChangeFuel(postcode) {
	movein = document.getElementById('movein').value;
	estimate = document.getElementById('estimateusage').value;
	fuel = document.getElementById('packageid').value;
	
	
	function HideGroup(grpname) {
		HideObj(grpname+'span00');
      HideObj(grpname+'span00a');
		HideObj(grpname+'span01');
		HideObj(grpname+'span02');
      HideObj(grpname+'span02a');
		HideObj(grpname+'span03');
		HideObj(grpname+'span03s0');
		HideObj(grpname+'span03s');
		HideObj(grpname+'span04');
		HideObj(grpname+'span05');
	}

	function ShowGroup(grpname) {
		ShowObj(grpname+'span00');
      ShowObj(grpname+'span00a');
		ShowObj(grpname+'span01');
		ShowObj(grpname+'span02');
      ShowObj(grpname+'span02a');
		ShowObj(grpname+'span03');
    
		if ((postcode) && (postcode.substr(0,1) == '2')) {
			ShowObj(grpname+'span03s0');
			ShowObj(grpname+'span03s');
		}
    
		ShowObj(grpname+'span04');
		ShowObj(grpname+'span05');
	}
    

	if (estimate == 'yes') {
		ShowObj('usage02');//estimate
		HideObj('usage01');//recent bill

	}else if (estimate == 'no') {				
		HideObj('usage02');//estimate
		ShowObj('usage01');	//recent bill
	}else if (estimate == 'spend') {
		HideObj('usage02'); //estimate		
		HideObj('usage01'); //recent bill
		//HideObj('addinfo02'); //supplier
      ShowObj('usage022');	//recent bill

	}

  //fuel
  //0: select
  //1: elec
  //2: gas
  //3: dual
  ShowGroup('gas');
  ShowGroup('elec');  
  if (fuel==1) HideGroup('gas'); 
  if (fuel==2) HideGroup('elec');  
   		  

}





//---------------------------------------------------------------
// StrToDate()
//---------------------------------------------------------------
function StrToDate(adate) {

  var dayfield = adate.split("/")[0]
  var monthfield = adate.split("/")[1]
  var yearfield = adate.split("/")[2]
  
  return new Date(yearfield, monthfield-1, dayfield);
}

function GetCurrentDate()
{
	var currentDate = new Date();
    return new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
}

//---------------------------------------------------------------
// addWorkingDays()
//---------------------------------------------------------------
function addWorkingDays(myDate,days) { // adate = starting date, days = no. working days to add.
  
  var currentDate = new Date();
  var tempdate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
  var i = 1;
  var days_to_add = 1;
  
/* 
	/////////////////////////////////////////////////
	this if for testing only
	/////////////////////////////////////////////////
	var xx = 3;
	currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+xx);  
	tempdate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());  
	myDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
*/
      
  while ( 
	(i < days) 
	|| ( 
		(tempdate.getDay() == 0) || (tempdate.getDay() == 6)
		) 
	)
  {   
	
	//0 = Sunday, 6 = Saturday, if the date not equals a weekend day then increase by 1
    if ((tempdate.getDay() == 0) || (tempdate.getDay() == 6)) 
	 {
		tempdate = new Date(tempdate.getTime() + (days_to_add*24*60*60*1000));
    }
	 else
	  {
		tempdate = new Date(tempdate.getTime() + (days_to_add*24*60*60*1000));
      i++;
    }
  }

  return tempdate;
}

//---------------------------------------------------------------
// CheckDate
//---------------------------------------------------------------
function CheckDate(adate) {
  var validformat = /^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
  var returnval = true;
  
  if (adate == '') {
    return true;
  }
  
  if (!validformat.test(adate)) {
    returnval = false;
//    alert("Invalid Date Format. Please correct and submit again.")
  }
  else { //Detailed check for valid date ranges
    var dayfield=adate.split("/")[0]
    var monthfield=adate.split("/")[1]
    var yearfield=adate.split("/")[2]
    var dayobj = new Date(yearfield, monthfield-1, dayfield)

    if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)) {
      returnval = false;
//      alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
    }
    else {
      returnval=true;
    }
  }

//  if (returnval==false) input.select()
  return returnval;
}

//---------------------------------------------------------------
// PopupURL()
//---------------------------------------------------------------
function PopupURL(url,small) {
  if (small) {
    size = 'width=500,height=500,';
  }
  else {
    size = 'width=1000,height=700,';
  }
  
  window.open( url,
   	       'popup', size + 'status=no,resizable=no,top=100,left=100,dependent=yes,alwaysRaised=yes'
	);
}



//---------------------------------------------------------------
// PopupTermsConditions()
//---------------------------------------------------------------
function PopupTermsConditions() {
//alert(top.location.host);  
  window.open('/terms-conditions/'
   ,'popupTermsConditions'
   ,'width=1050,height=700,status=0,resizable=0,top=100,left=100,dependent=1,alwaysRaised=1,scrollbars=1'
  );
  
}


//---------------------------------------------------------------
// MailThis()
//---------------------------------------------------------------
function MailThis(url) {
  if (url != '') {
    title = document.title;
  }
  else {
    url = document.location.href;
    title = document.title;
  }
  
  if (title == '') {
    title = 'Switchwise';
  }
  
  newurl = '/emailthispage.asp?title='+title+'&link='+url;
  
  window.open( newurl,
   	       'emailpage', 'width=500,height=460,status=no,resizable=no,top=100,left=100,dependent=yes,alwaysRaised=yes'
	);
}

function HideTC() {
  if (document.getElementById('myframe') != null) {
		document.getElementById('myframe').src = '/empty.htm';
		document.getElementById('tandc').style.visibility = 'hidden';
		document.getElementById('tandc').style.display = 'none';
	}
}
function ShowTC(url) { 
  if (!document.getElementById('myframe')) {
    alert('myframe not found!');
  }
  else {
    document.getElementById('myframe').src = url;
  }

  if (!document.getElementById('tandc')) {
    alert('tandc not found!');
  }
  else {
    document.getElementById('tandc').style.visibility = 'visible';
    document.getElementById('tandc').style.display = '';
  }

  handleScrollEvent();
}



//---------------------------------------------------------------
// Secure()
//---------------------------------------------------------------
function Secure(url) {
}

//---------------------------------------------------------------
// SetSelectIdx()
//---------------------------------------------------------------
function SetSelectIdx(sel, value) {
  if (sel) {
	  for (cnt=0; cnt<sel.options.length; cnt++) {
	    //alert('val:' + value + '-' + sel.name + ' value[' + cnt + '] = "' + sel.options[cnt].value + '"');
/*		 
		 if ( (sel.options[cnt].value == value) && 
				(sel.selectedIndex != cnt) ) {
			sel.selectedIndex = cnt;
			break;
		 }
*/		 
		 if (sel.options[cnt].value == value) {
			sel.selectedIndex = cnt;
			break;
		 }
		 
	  }
  }
}

/* switchwise jquery scripts */
var temp, status, isMac, ieHover;

try
{

$(document).ready( function(){
	
	isMac = (navigator.appVersion.indexOf("Mac")!=-1);
	
	// content expand and colapse (step 04)
	$('#detailtab1') .toggle(function() {
		$('.content1').slideDown (100);
		 $(this).addClass('open');
	},
	function() { 
		$('.content1').slideUp (100);
		$(this).removeClass('open');
	});
	
	$('#detailtab2') .toggle(function() {
		$('.content2').slideDown (100);
		$(this).addClass('open');
	},
	function() { 
		$('.content2').slideUp (100);
		$(this).removeClass('open');
	});
	
	$('#detailtab3') .toggle(function() {
		$('.content3').slideDown (100);
		$(this).addClass('open');
	},
	function() { 
		$('.content3').slideUp (100);
		$(this).removeClass('open');
	});
	

	//inner tabs
	// tab array - advanced search | filter search & corresponding elements
	var innerTabs = new Array();
	innerTabs[0] = new Object();
	innerTabs[0].tab = 'innertab1';
	innerTabs[0].element = 'advancedTab';
	innerTabs[1] = new Object();
	innerTabs[1].tab = 'innertab2';
	innerTabs[1].element = 'filterTab';
	innerTabs[2] = new Object();
	innerTabs[2].tab = 'tab1';
	innerTabs[2].element = 'advancedTab';
	innerTabs[3] = new Object();
	innerTabs[3].tab = 'tab2';
	innerTabs[3].element = 'filterTab';

	$('.innerTabLink, .searchTab').click(function() {
		
		var currentTabId = $(this).attr("id");
		var currentOpen = $(this).hasClass('open');
		var currentTabIndex = -1;

		for (var i = 0; i < innerTabs.length; i++)
		{
			if (innerTabs[i].tab == currentTabId)
			{
				currentTabIndex = i;
				break;
			}
		}

		if (currentTabIndex == -1) return

		if (currentOpen)
		{
			// close current tab
			$('.' + innerTabs[currentTabIndex].element).slideUp (100);
			$('#' + innerTabs[currentTabIndex].tab).removeClass('open');

			// show form dropdown
			$('.questionItem select, .perPage select').show();
		}
		else
		{
			// open current tab
			// close other element first if open
			var tabClosed = false;
			var tabToClose = -1;
			for (var i = 0; i < innerTabs.length; i++)
			{
				if ($('#' + innerTabs[i].tab).hasClass('open'))
				{
					tabToClose = i;
					tabClosed = true;
					break;
				}
			}

			if (tabToClose > -1)
			{
				// close other element, open current element			
				$('.' + innerTabs[tabToClose].element).hide();
				$('#' + innerTabs[tabToClose].tab).removeClass('open');
				$('.' + innerTabs[currentTabIndex].element).show();
				$('#' + innerTabs[currentTabIndex].tab).addClass('open');
			}
			else
			{
				// open current element
				$('.' + innerTabs[currentTabIndex].element).slideDown (100);
				$('#' + innerTabs[currentTabIndex].tab).addClass('open');

				// hide form dropdown for ie 6
				$('.questionItem select, .perPage select').hide();				
			}
		}
		return false;
	});

	//column height detector	
    //column height detector	
    profH = $('.profileContent').height();	// 1
    topqH = $('.topQuestion').height();		// 3
    ftrH = $('.featuredContent').height();	// 4

    visL = profH;
    visR = topqH + ftrH;
    
    maxH = visL;
    if (visR > maxH) maxH = visR;

//do not set    $('.profileContent').height( maxH + 48 );
//do not set    $('.featuredContent').height( maxH - topqH );
	
//	if( ($('.profileContent').height() - $('.topQuestion').height()) > $('.featuredContent').height() )
//	{
//		$('.featuredContent').height( $('.profileContent').height() - $('.topQuestion').height() - 22);
//	}
//	else
//	{
//		$('.profileContent').height( $('.TopResults').height() - 86 );
//	}	
	
	//Transparent Hover
	// transparency on these hovers, doesn't work for ff on mac
	if (!isMac || !$.browser.mozilla)
	{
		$('.sizeUp, .sizeDown, .homeSuppliers a span, .backtotop, .switchsubmit, .featuredTable .logo a img, .resultsListTable .logo a img, .backList ul li a, .utilsList ul li a, .utilsListGeneric ul li a, .utilsListShort a, .utilsReceipt ul li a, .advancedBut input, .switchlgsubmit input, .modifiyDetails input, .detailssubmit, .genericButton div, .genericContent table .viewbut span, .modifysubmit25/06/2008').hover( function(){ $(this).css({'opacity': 0.7}); },	function(){ $(this).css({'opacity': 1}); });
	}	
	
	//
	
	//IE6 Dropdown Hover Script
	$('#mainNav li, .questionDial a').hover(function(){
		$(this).addClass('iehover');
	},
	function(){
		$(this).removeClass('iehover');
	});
	
		
})


} catch(e) {

};


function createPostcodeLookup(elementId, selectedPostcodeElementId, selectedSuburbElementId, selectedStateElementId) {
    $(elementId)
    // don't navigate away from the field on tab when selecting an item
			.bind("keydown", function (event) {
			    if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) {
			        event.preventDefault();
			    }
			})
			.autocomplete({
			    source: function (request, response) {
			        $.ajax({
			            url: "/getpostcodes.asp?type=xml&letters=" + escape(request.term),
			            dataType: "xml",
			            success: function (xml) {
			                var rows = $("rows", xml);
			                var item = $("message", rows);
			                var result = new Array();
			                if (item.val() != undefined) {
			                    result[0] = { value: item.text(), postcode: null, suburb: null, state: null };
			                    response(result);
			                } else {
			                    i = 0;
			                    $("row", rows).each(function () {
			                        var postcode = $("postcode", this).text();
			                        var suburb = $("suburb", this).text();
			                        var state = $("state", this).text();
			                        result[i++] = { value: postcode + "-" + suburb + "," + state, postcode: postcode, suburb: suburb, state: state };
			                    });
			                    response(result);
			                }
			            }
			        });
			    },
			    search: function () {
			        var term = jQuery.trim(this.value);
			        if (term.length < 2) {
			            return false;
			        }
			    },
			    focus: function () {
			        return false;
			    },
			    select: function (event, ui) {
			        if (selectedPostcodeElementId != "") $(selectedPostcodeElementId).val(ui.item.postcode);
			        if (selectedSuburbElementId != "") $(selectedSuburbElementId).val(ui.item.suburb);
			        if (selectedStateElementId != "") $(selectedStateElementId).val(ui.item.state);
			    }
			});

}

function createSlider(name, initialValue) {
    if ($("#sliderValue_" + name).val() != undefined) return;

    if (initialValue == "") {
        value = 0;
        initialValue = 0
        na = " checked='checked'";
    } else {
        value = initialValue * 2;
        na = "";
    }

    var slider = $("<span style='width:171px;display:inline-block;' id='slider_" + name + "' name='slider_" + name + "'></span>").insertAfter("#" + name).slider({
        min: 0,
        max: 10,
        range: "min",
        value: value,
        animate: true,
        slide: function (event, ui) {
            setTimeout(function () { $("#sliderText_" + name).html("&nbsp;&nbsp;&nbsp;" + (ui.value / 2) + "/5"); });
            $("#sliderValue_" + name).val(ui.value / 2);
        }
    });
    $("<span id='sliderText_" + name + "' style='display:inline-block;width:45px;text-align:right;padding-right:30px'>&nbsp;&nbsp;&nbsp;" + initialValue + "/5</span>").insertAfter("#slider_" + name);
    $("<input type='checkbox' name='slider_" + name + "_na' id='slider_" + name + "_na'" + na + " style='float:none; width:auto;' /><span>N/A</span>").insertAfter("#sliderText_" + name);
    $("<input type='hidden' id='sliderValue_" + name + "' name='sliderValue_" + name + "' />").insertAfter("#sliderText_" + name);
    $("#sliderValue_" + name).val(initialValue);
    $("#slider_" + name).slider("option", "disabled", (na != ""));
    $("#slider_" + name + "_na").click(function () {
        $("#slider_" + name).slider("option", "disabled", ($("input:checkbox[name='slider_" + name + "_na']:checked").val() != undefined));
    });
}

