    var Brand = getQS("brand");
    var BrandID = 0;
    var BrandDisplayName;
    var LogoLink;
    var BrandImagePath;
    var FooterImgPath;
    var FooterLogoTarget = ' target="_blank"';
    
    
    switch (Brand.toLowerCase())
    {
        case "flightcentre" :
            BrandID = 1;
            LogoLink = "http://www.flightcentre.com.au/";
            BrandDisplayName = "Flight Centre";            
            break;
            
        case "escapetravel" :
            BrandID = 2
            LogoLink = "http://www.escapetravel.com.au/"
            BrandDisplayName = "Escape Travel"
            break;
            
        case "studentflights" :
            BrandID = 3
            LogoLink = "http://www.studentflights.com.au/"
            BrandDisplayName = "Student Flights"
            break;
            
        case "travelassociates" :
            BrandID = 4
            LogoLink = "http://www.travel-associates.com.au/"
            BrandDisplayName = "Travel Associates"
            break;
            
        case "campustravel" :
            BrandID = 5
            LogoLink = "javascript: void(0)"
            BrandDisplayName = "Campus Travel"
            break;
            
        case "fcbt" :
            BrandID = 6
            LogoLink = "http://www.fcbt.com.au/"
            BrandDisplayName = "Business Travel"
            break;
            
        case "fcm" :
            BrandID = 7
            LogoLink = "http://www.au.fcm.travel/"
            BrandDisplayName = "FCM"                
            break;
    }    

    if(BrandID == 0)
    {
        switch (window.location.hostname.toLowerCase())
        {
            case "catalogues.flightcentre.com.au" :
                BrandID = 1;
                Brand = "flightcentre"
                LogoLink = "http://www.flightcentre.com.au/";
                BrandDisplayName = "Flight Centre";            
                break;
                
            case "catalogues.escapetravel.com.au" :
                BrandID = 2
                Brand = "escapetravel"
                LogoLink = "http://www.escapetravel.com.au/"
                BrandDisplayName = "Escape Travel"
                break;
                
            case "catalogues.studentflights.com.au" :
                BrandID = 3
                Brand = "studentflights"
                LogoLink = "http://www.studentflights.com.au/"
                BrandDisplayName = "Student Flights"
                break;
                
            case "catalogues.travel-associates.com.au" :
                BrandID = 4
                Brand = "travelassociates"
                LogoLink = "http://www.travel-associates.com.au/"
                BrandDisplayName = "Travel Associates"
                break;
                
            case "catalogues.campustravel.com.au" :
                BrandID = 5
                Brand = "campustravel"
                LogoLink = "javascript: void(0)"
                BrandDisplayName = "Campus Travel"
                break;
                
            case "catalogues.fcbt.com.au" :
                BrandID = 6
                Brand = "fcbt"
                LogoLink = "http://www.fcbt.com.au/"
                BrandDisplayName = "Business Travel"
                break;
                
            case "catalogues.au.fcm.travel" :
                BrandID = 7
                Brand = "fcm"
                LogoLink = "http://www.au.fcm.travel/"
                BrandDisplayName = "FCM"                
                break;   
        }
    }
    if (BrandID == 0)
    {
        BrandID = 1
        Brand = "flightcentre"
        LogoLink = "http://www.flightcentre.com.au/"
        BrandDisplayName = "Flight Centre"
    }
    
    var wtURI = "http://" + window.location.hostname + window.location.pathname + window.location.search

    BrandImagePath = "skins/flightcentre/viewer/" + Brand + "/images/";
    FooterImgPath = BrandImagePath + "footer/";
    if(LogoLink.indexOf("void(0)") > -1){FooterLogoTarget = "";}
    var logparam3 = BrandDisplayName;

    var wtTrack = true;
    if(BrandID > 4){wtTrack = false}

    document.write('<LINK rel="stylesheet" type="text/css" href="skins/flightcentre/viewer/' + Brand + '/viewer_style.css">');
    
    //override global
	focusingimage='skins/flightcentre/viewer/'+Brand+'/images/focusing.gif';
	RVKernel.zoom.cursor_in = 	'skins/flightcentre/images/zoombig.cur';
	RVKernel.zoom.cursor_out = 	''//skins/flightcentre/images/zoombig_out.cur';	
	RVKernel.zoom.cursor_offsetx = 15;
	RVKernel.zoom.img_in = 	'skins/flightcentre/images/zoombig2.png';
	RVKernel.zoom.img_out = 	'skins/flightcentre/images/zoombig_out.png';
	email_url = 'global/content/emailafriend.aspx';
	
	//if (doAjax == "true") {
	    doAjax = true
	//} else {
	//    doAjax = false
	//}
	
    var DefaultEnquiryText = 'What are you interested in on this page?';
	
    var RVscrollbar = {
	    b_vertical : true,
	    n_controlWidth: 15,
	    n_controlHeight: 200,
	    n_sliderWidth: 13,
	    n_sliderHeight: 50,
	    s_baseclassName:'thumb_scrollbar_base',
	    s_scrollbarclassName:'thumb_scrollbar_slider',
	    n_zIndex: 7,
	    n_minValue : 0,
	    n_maxValue : 100,
	    n_step : 1,
	    s_sliderclassName:'genericpanel'
    };

	var contentspanel= {
		sb:RVscrollbar,
		GUID:'contents',
		boxwidth:286,
		boxheight:345,
		boxpadding:2,
		boxtop:-2000,
		boxleft:-2000,
		boxendtop:70,
		boxendleft:0,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		fixedtop:30,
		state_open:false,
		s_sliderclassName:'contents_panel'
	};	
	var searchpanel= {
		sb:RVscrollbar,
		GUID:'search',
		boxwidth:344,
		boxheight:350,
		boxpadding:2,
		boxtop:-405,
		boxleft:0,
		boxendtop:70,
		boxendleft:0,
		handleside:'right',
		handlealign:30,
		handleimage:'',
		handleimagew:73,
		handleimageh:23,
		state_open:false,
		s_sliderclassName:'search_panel'
	};
	
	var helppanel= {
		sb:RVscrollbar,
		GUID:'help',
		boxwidth:291,
		boxheight:380,
		boxpadding:2,
		boxtop:-500,
		boxleft:'100%',
		boxendtop:70,
		boxendleft:'50%',
		handleside:'left',
		handlealign:30,
		handleimage:'',
		handleimagew:73,
		handleimageh:23,
		state_open:false,
		s_sliderclassName:'help_panel'
	};
		
    var printpanel= {
		sb:RVscrollbar,
		s_sliderclassName:'printpanel',
		GUID:'print',
		boxwidth:286,
		boxheight:232,
		boxpadding:2,
		boxtop:-1000,
		boxleft:608,
		boxendtop:70,
		boxendleft:608,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false
	};

var emailpanel =	{
		sb:RVscrollbar,
		s_sliderclassName:'emailpanel',
		GUID:'email',
		boxwidth:280,
		boxheight:350,
		boxpadding:2,
		boxtop:-1000,
		boxleft:608,
		boxendtop:70,
		boxendleft:608,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false
};

var shortlistpanel =	{

		sb:RVscrollbar,
		GUID:'shortlist',
		boxwidth:332,
		boxheight:385,
		boxpadding:2,
		boxtop:-1000,
		boxleft:-600,
		boxendtop:70,
		boxendleft:0,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false,
		fixedtop:35,
		fixedbottom:35,
	    n_zIndex:2000,
		s_sliderclassName:'shortlistpanel'
};

var helpshortlistpanel =	{

		sb:RVscrollbar,
		s_sliderclassName:'helpshortlistpanel',
		GUID:'helpshortlist',
		boxwidth:332,
		boxheight:455,
		boxpadding:2,
		boxtop:-1000,
		boxleft:608,
		boxendtop:70,
		boxendleft:608,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		n_zIndex:2000,
		state_open:false
};

var enquirypanel =	{

		sb:RVscrollbar,
		s_sliderclassName:'enquirypanel',
		GUID:'enquiry',
		boxwidth:265,
		boxheight:343,
		boxpadding:2,
		boxtop:-1000,
		boxleft:608,
		boxendtop:70,
		boxendleft:608,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false

};
// combined shortlist/enquiry panel
var shortenqpanel =	{

		sb:RVscrollbar,
		GUID:'shortenq',
		boxwidth:332,
		boxheight:240,
		boxpadding:2,
		boxtop:-1000,
		boxleft:-600,
		boxendtop:70,
		boxendleft:0,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false,
		fixedtop:35,
		fixedbottom:235,
		n_zIndex:2000,		
		s_sliderclassName:'shortenqpanel'
};

var zoomtoolbar =	{

		sb:'',
		GUID:'zoomtoolbar',
		boxwidth:300,
		boxheight:80,
		boxpadding:2,
		boxtop:-1000,
		boxleft:-600,
		boxendtop:70,
		boxendleft:0,
		handleside:'right',
		handlealign:'top',
		handleimage:'',
		handleimagew:103,
		handleimageh:23,
		state_open:false,
		n_zIndex:2000,
		opacity:70,
		s_sliderclassName:'zoomtoolbar'
		
		//s_sliderclassName:'zoomtoolbarpanel'
};

function loadzoomtoolbar() {
    var s = '<div id="zoomtoolbar" class="zoomtoolbar">';
    s+='<div id="zoom_addbtn_left" style="position:absolute;top:12;left:4;"><img border=0 src="/skins/flightcentre/viewer/flightcentre/images/panels/zoomAddShortListLeft.gif" onclick="toolbar_doshortlist_left();"></a></div>'
    s+='<div id="zoom_addbtn_right" style="position:absolute;top:12;left:235;"><img border=0 src="/skins/flightcentre/viewer/flightcentre/images/panels/zoomAddShortListRight.gif" onclick="toolbar_doshortlist_right();"></div>'
    s+='</div>';
    
    return s;
};


function loadshortenqform() {
    var s = '<div id="shortenquiry_form">'; 
	s+='<table cellspacing=0 cellpadding=0>';
	s+='<tr><td class="enquiry_form_text">Your Name</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=shortenq_name></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Email Address</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=shortenq_email></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Postcode</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=shortenq_postcode></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Phone</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=shortenq_phone></td></tr>';
	s+='</table>';
	s+='<div id="shortenquirymessage" style="display:none"></div>';
	//s+='<div id="shortenquirypanel_send"><input id="shortenquirypanel_send_enquiry_btn" type=button value="SEND" onclick="SendEnquiry()"></div>';
	s+='<div id="shortenquirypanel_send"><a href="javascript:SendEnquiry(\'shortenq\')"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/send_enquiry_btn.gif" border="0" /></a></div>';
    
    return s;
}


function loadenquiryform() {
    var s = '<div id="enquiry_form">'; 
	s+='<table cellspacing=0 cellpadding=0>';
	s+='<tr><td class="enquiry_form_text">Your Name</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=enq_name></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Email Address</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=enq_email></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Postcode</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=enq_postcode></td></tr>';
	s+='<tr><td class="enquiry_form_text">Your Phone</td></tr>';
	s+='<tr><td><input type="text" class="enquiry_input" id=enq_phone></td></tr>';
	if (!SL.NotesExist){s+='<div id="enquiry_text"><tr><td class="enquiry_form_text">Your Enquiry</td></tr><tr><td><textarea id=enq_text cols=27 onfocus="DelEnqText(this);"></textarea></td></tr></div>';}

	s+='</table></div>';
	s+='<div id="enquirymessage" style="display:none"></div>';
	s+='<div id="enquirypanel_send"><a href="javascript:SendEnquiry(\'enquiry\')"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/send_enquiry_btn.gif" border="0" /></a></div>';
	s+='<div id="enquirypanel_close"><a href=\'javascript:SaveEnquiryFields();togglePanel("enquiry",0,0)\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';

    return s;
}

function loadshortlistbottom() {
    var s = '';
    if (SL.PanelName == 'shortlist') {
        s += '<div id="shortlist_send"><a href="javascript:toolbar_doshortenquiry()"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/send_enquiry_btn.gif" border="0" /></a></div>';
        s += '<div id="shortlist_help"><a href="javascript:toolbar_doshortlisthelp()"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/help_btn.gif" border="0" /></a></div>';
    } else {
        s += '<hr width="100%">';
        s += loadshortenqform();
    }
    
    return s;
};

function loadshortlisthelp() {
    var s ='<div id="shortlisthelp">';
    s += SL.HelpContents;
	s += '</div>';
	s += '<div id="shortlisthelp_header"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/shortlist_help.gif"></div>'
	s += '<div id="shortlisthelp_close"><a href=\'javascript:togglePanel("helpshortlist",0,0);\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';

    return s;
};

function loadsearchform() {
		
	var lyr = document.createElement('div');
	var lyrResults = document.createElement('div');
	lyr.appendChild(lyrResults);
	lyrResults.id = 'searchresults';
	lyr.className = 'searchresults';
	return lyr;
	
} ;

function loademailform()	{
	
	var s = '<div id="email_form">';
	s+='<table cellspacing=0 cellpadding=0>';
	s+='<tr><td>Your Name</td></tr>';
	s+='<tr><td><input type="text" class="email_input" id=your_name></td></tr>';
	s+='<tr><td>Your Email Address</td></tr>';
	s+='<tr><td><input type="text" class="email_input" id=your_email></td></tr>';
	s+='<tr><td>Your Friend\'s Name</td></tr>';
	s+='<tr><td><input type="text" class="email_input" id=friend_name></td></tr>';
	s+='<tr><td>Your Friend\'s Email Address</td></tr>';
	s+='<tr><td><input type="text" class="email_input" id=friend_email></td></tr>';
	s+='<tr><td>Your Personal Note</td></tr>';
	s+='<tr><td><textarea id="email_note"></textarea></td></tr>';
	s+='</table></div>';
	s+='<div id="emailpanel_send"><a href="javascript:getemaildetail()"><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/send_btn.gif" border=0></a></div>';
	s+='<div id="emailpanel_close"><a href=\'javascript:togglePanel("email",0,0)\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';
	return s;

};
	
function getemaildetail() {

  var emaildetail;
  var yourname = getobj('your_name').value;
  var targetemail = getobj('friend_email').value;
  var EmailTemplateID = 'flightcentre';
  var emailnote = getobj('email_note').value;
  var youremail = getobj('your_email').value;
  var targetname = getobj('friend_name').value;

  emaildetail='yourname=' + yourname+ '&youremail=' + youremail + '&targetemail=' + targetemail+ '&targetname=' + targetname + '&emailnote=' + emailnote;
  emaildetail+='&EmailTemplateID=' + EmailTemplateID + '&BrandDisplay=' + BrandDisplayName + '&SiteUrl=' + LogoLink; 

  sendemail(emaildetail);
};

function sendemail(emaildetail)	{

	var qs;
	var p = cur_right_page==1?1:cur_left_page;

	//var l = location.search.toLowerCase();
	var l = location.href.toLowerCase();
	l = l.replace(/&startpage=\d+/,'');
	l = l.replace(/\?startpage=\d+/,'');
	l+='&startpage=' + p;
	var lnk = escape(l);
	var issuename = getAttrib(RVKernel.xml.firstChild,'name');
	qs='?pid=' + RVKernel.pid + '&lnk=' + lnk +'&issue=' + issuename +'&pub='+RVKernel.pname+'&pageid='+RVPages[p].dbID+'&'; 
	// new stuff for pac emails
	qs += 'clp='+cur_left_page+'&crp='+cur_right_page+'&iid='+RVKernel.iid+'&';
	   
    if ((typeof  emaildetail=='undefined')   ||  (arguments.length==0)) {
	
        var yourname = getobj('your_name').value;
        var targetemail = getobj('friend_email').value;
        var emailnote = getobj('email_note').value;
        var youremail = getobj('your_email').value;
        var targetname = getobj('friend_name').value;

        qs+='yourname=' + yourname + '&youremail=' + youremail+ '&targetemail=' + targetemail + '&targetname=' + targetname + '&emailnote=' + emailnote +'&EmailTemplateID=flightcentre';


    } else {
        qs+=emaildetail;
    }

    qs = (qs.replace(/\n/g,'%0d'));
    var http = new RVhttprequest;

    http.dopost(email_url + qs,'',showemailresults,true);
};

    function showemailresults(res)	{
	    var txt = res.responseText?res.responseText:res;
	    var eurl = email_url.toLowerCase();
	    if(eurl.indexOf("emailafriend.aspx") != -1)
	    {
	        // will return success, validationerror, or error(from try/catch or component)
	        switch (txt)
	        {
	            case 'success':
	                getPanel('email').box.loadcontent(loademailform() + '<div id="email_retval">' +email_friend_success+'</div>');
	                break;
	            case 'validationerror':
	                getPanel('email').box.loadcontent(loademailform() + '<div id="email_retval">' +email_friend_validationerr+'</div>');
	                break;

	            default:
	                getPanel('email').box.loadcontent(loademailform() + '<div id="email_retval">' +txt+'</div>');
	                break;
	        }
	    }
	    else
	    {
	        getPanel('email').box.loadcontent(loademailform() + '<div id="email_retval">' +txt+'</div>');
	        logevent('pluginless_emailfriend_cmd',RVPages[cur_right_page==1?1:cur_left_page].dbID);
	    }
	};

function showresults(res,searchterm,scope)	{
    var maxResults = 500;
	var msg='<div id=search_close><a href=javascript:togglePanel("search",0,0)><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';
	
	
	if (arguments.length==0)	{
		msg += '<span class=searchresult_header><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/search_neg.gif" align=absmiddle>&nbsp;&nbsp; Please enter a search term.</span>';
	}
	else	{
        var root = res.responseXML.getElementsByTagName('xml_search_results')[0];
        var numresults = getText(res.responseXML.getElementsByTagName('status')[0])
		//var searchterm = root.attributes[1].value;
	
		msg += '<span class=searchresult_header><img src="skins/flightcentre/viewer/'+Brand+'/images/panels/search_' + (numresults==0?'neg':'pos') +'.gif" align=texttop>&nbsp;&nbsp; Your search for ' + searchterm + ' returned ' + numresults ;
		msg+=(numresults==1?' result.':' results.')+'</span>';
		msg+='<br><br>';
	    msg+='<tr><td height=100>&nbsp;</td></tr></table></div>';
	}		
/*
	if (numresults > 0)	{
		var results = res.responseXML.getElementsByTagName('hits')[0];
		msg+='<div  id=searchresult_body><table cellspacing=5 cellpadding=5>';
		for (var i =0;i<results.childNodes.length;i++)	{
			var cur = results.childNodes[i].childNodes[0];
			var coords = getAttrib(results.childNodes[i],'coord');
			var page =  getPageNumberFromPageName(getAttrib(results.childNodes[i],'file'));
			var txt = cur.text?cur.text:cur.textContent;
			msg+='<tr><td><a class=searchresult_page href="javascript:showSearchResult('+page+',\'' + coords +'\')"><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/bullet.gif" border=0>&nbsp;Page ' + page +' </a><br><span class=searchresult_text>' + txt + '</span></td></tr>';
	
		}
	}
*/	
		if (numresults > 0)	
		{
			// cycle through <hits>, check for pg change, otherwise show results
			var results = ConvertHitsToArray(res.responseXML.getElementsByTagName('hits')[0],'');
	
			var last_search_page=0;
			var cur_search_page, cur_id = '', coords='', pagehit = ''
			//	var issuesystemname = getAttrib(results.responseXML,'sysname')
			msg+='<div  id=searchresult_body><table cellspacing=2 cellpadding=2>';
			
			for (var i =0;i<results.length;i++)	
			{
				cur_search_page =  results[i].page;
				var txt = results[i].txt;
				var disp_name = '';
			    if (scope=='archive')	
				    disp_name = ' - ' + results[i].dispname + ' ';					
				
				if (last_search_page == 0)
				{ // 1st page
				    newPage();
				}
                else if ((cur_search_page != last_search_page)) 
                { // new page
                    // append the previous page
                    msg+='<tr><td><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/bullet.gif" border=0></td><td><a class=searchresult_page href="javascript:showSearchResult('+ last_search_page +',\'' + coords +'\','+cur_id+')">';
                    msg+='Page ' + last_search_page + disp_name + ' </a></td></tr>';
                    msg+=pagehit;
                    // start the new page
                	newPage();
	            }
                else  // same search page  
                {
	                coords += results[i].coords;
	                pagehit+='<tr><td></td><td><span class=searchresult_text>' + txt + '</span></td></tr>';
                }
            }
		    msg+='<tr><td><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/bullet.gif" border=0></td><td><a class=searchresult_page href="javascript:showSearchResult('+last_search_page+',\'' + coords +'\','+cur_id+')">Page ' + last_search_page + disp_name +' </a></td></tr>';
		    msg+=pagehit;
			msg+='<tr><td height=100>&nbsp;</td></tr></table></div>';
        }

		getobj('searchresults').innerHTML = msg;
		getPanel('search').checkscrollbar();
		
		function newPage()  // private function to init new search result page
		{
        	coords = results[i].coords;
        	cur_id  = results[i].id;
            pagehit = '<tr><td></td><td><span class=searchresult_text>' + txt + '</span></td></tr>';
            last_search_page = cur_search_page;		
		}
};

function dosearchNOTUSED()	{

	var term=getobj('txtSearch').value;
	if (term=='')	{
		showresults();
	}
	else	{
		// send results to server, then process results
		var http = new RVhttprequest;
		var term=getobj('txtSearch').value;
		var scope='current';
		http.dopost('global/search/search.asp?term=' + term +'&scope=' + scope + '&publicationid=' + RVKernel.pid+ '&i=' +  RVKernel.i,'',showresults,true);
	}	
};

    // Shortlist globals
    var CatalogueCount = 0
    var SL_Catalogue_Array = new Array();
    var SL_Page_Array = new Array();
    var SL = {
        NotesExist:false,
        NotesPageNumber:1,
        Cat_Sep:':&^%(@#',
        Cur_Cat_Index:0,
        Cur_Page_Index:0,
        Cur_EnqPage_ID:0,
        HelpContents:'',
        PanelName:'shortlist'
    }

    var EnquiryFields = {
        Name:'',
        Email:'',
        Postcode:'',
        Phone:'',
        Text:DefaultEnquiryText,
        Status:-1,
        InvalidDateCount:0,
        InvalidDateMsg:'Some products on this page may have expired. Please\n submit your travel details and a consultant will contact you.',
        InvalidDateMsgShown:false
    }
    // minimum/current size for contents panel
    var ContentsConfig = {
        minH:470,
        minW:620,
        H:0,
        W:0
    }

    function initUserDefinedSliders()	{
            
            ContentsConfig.H = parseInt(pageheight) - 2; 
            ContentsConfig.W = pagewidth * 2;	
            // minimum size for contents panel
            if (ContentsConfig.H < ContentsConfig.minH || ContentsConfig.W < ContentsConfig.minW) {
                ContentsConfig.H = ContentsConfig.minH;
                ContentsConfig.W = ContentsConfig.minW;
            }

	        contentspanel.boxwidth  = ContentsConfig.W;	
	        contentspanel.boxheight = ContentsConfig.H;

			var panel_contents = new slider(contentspanel,'')
		
			panel_contents.box.loadcontent(loadthumbs(panel_contents))
			
			var panel_help = new slider(helppanel,'');
			panel_help.box.loadcontent(loadhelp());
			
			var panel_email = new slider(emailpanel,'');
			panel_email.box.loadcontent(loademailform());
			
			var panel_enquiry = new slider(enquirypanel,'');
			panel_enquiry.box.loadcontent(loadenquiryform());

                      
			var panel_shortlist = new slider(shortlistpanel,'');
			panel_shortlist.box.loadcontent(LoadShortlist());	            
            
			var panel_shortlist_help = new slider(helpshortlistpanel,'');
			panel_shortlist_help.box.loadcontent(loadshortlisthelp());
			
			var panel_shortenq = new slider(shortenqpanel,'');
			
            if (typeof(initInfoPanel)=="function"){initInfoPanel()};
            
            // draggable layers...commented out
            if (1 == 2) {
                initDrag('shortlist');
                initDrag('shortenq');
                initDrag('helpshortlist');
                
			    var panel_zoomtoolbar = new slider(zoomtoolbar,'');
			    panel_zoomtoolbar.box.loadcontent(loadzoomtoolbar());
			    
			    initDrag('zoomtoolbar', 300, 13);      
                
            }
           
	};

    function usercallback_showfullscreen(){
	    // show zoom toolbar
        /*
	    var panel_zoom         = getPanel('zoomtoolbar');
	    panel_zoom.boxleft      = panel_zoom.boxendleft = pageleft + pagewidth - panel_zoom.boxwidth;
	    panel_zoom.boxtop       = panel_zoom.boxendtop  = 0;

	    togglePanel('zoomtoolbar',-1,0,{x:-1,y:-1});    
        */
    
    };
    
    function usercallback_hidefullscreen() {
        togglePanel('zoomtoolbar',-1,0,{x:-1,y:-1}); 
    
    };
    
    
    function usercallback_pagechange() {

        var p = getobj('pageindicator');
        var l,r,sep;
        if (cur_left_page ==0)	{
	        l='';
	        sep='';
        }	
        else	{
	        l=cur_left_page;
	        sep='-';
        }	
        if (cur_right_page>pagecount){
	        r='';
	        sep='';
        }	
        else	{
	        r=cur_right_page;
	        s='-';
        }
        getobj('pageindicator').value = l+sep+r;


    };

    function usercallback_windowload() {
        //document.title = BrandDisplayName + ' : ' + RVKernel.i 
        
        
        // create the grey layer for behind the shortlist panel
        var gp = document.createElement('div');
        gp.id='greypage';
        gp.style.top = -1000;
        gp.style.left = -1000;
        gp.style.width = pagewidth;
        gp.style.height = pageheight;
        gp.style.display = 'none';
        document.body.appendChild(gp);
        
        InitShortlist();

        //if (doAjax) {
            var ohttp = new RVhttprequest;
            var qs = '?Action=GetCatalogInvalid&CatId=' + RVKernel.iid;
            ohttp.dopost('/cms/ajax.aspx' + qs,'', GetCatalogInvalid_callback, false);
            ohttp = '';
        //}        
    }
    
    function GetCatalogInvalid_callback(theRequest) {
        ProcessShortlistXML(theRequest.responseText, 'getcataloginvalid');
    };

    function btnOver(i)	{

	    i.src = i.src.replace(/.gif/,'-over.gif');
	    i.src = i.src.replace(/.png/,'-over.png');
	    i.style.cursor='pointer';
    };
    function btnOut(i,bTag)	{

	    i.src = i.src.replace(/-over.gif/,'.gif');
	    i.src = i.src.replace(/-over.png/,'.png');
	    i.style.cursor='auto';
    	
    };

    function toolbar_dosearch()	{
	    dosearch();
	    var l = findObjectPosition(getobj('toolbar_search_btn')).x-getPanel('search').boxwidth +35;
	    l=l<0?0:l;
	    getPanel('search').boxendleft = getPanel('search').boxleft= l;
	    togglePanel('search',1,0,{x:-1,y:-1});
    };

    function toolbar_docontents()	{

	    //getPanel('contents').boxleft =getPanel('contents').boxendleft = findObjectPosition(getobj('toolbar_thumbnails_btn')).x- getPanel('contents').boxwidth +97;
	    var panel_contents          = getPanel('contents');
	    
	    if (suffix != '_0.jpg'){
	        panel_contents.boxleft      = panel_contents.boxendleft = pageleft;
	        panel_contents.boxtop       = panel_contents.boxendtop  = pagetop;
        } else {
            panel_contents.boxleft      = panel_contents.boxendleft = (pageleft + pagewidth)-(ContentsConfig.W/2);
            panel_contents.boxtop       = panel_contents.boxendtop  = 0;
        }	        
	    panel_contents.checkscrollbar();
	    togglePanel('contents',-1,0,{x:-1,y:-1});
        scrollToFocusCurrentPage(cur_left_page);
    }	;

    function toolbar_dohelp()	{
        var h = getPanel('help');
	    if (!h.state_open)
		    logevent('pluginless_help_cmd',RVPages[cur_right_page==1?1:cur_left_page].dbID);
	    getPanel('help').boxleft = getPanel('help').boxendleft =findObjectPosition(getobj('toolbar_help_btn')).x - getPanel('help').boxwidth +101;
	    togglePanel('help',-1,0,{x:-1,y:-1});
    }	;

    function toolbar_doprint()	{
	    getPanel('print').box.loadcontent(loadprintpage());
	    getPanel('print').boxleft = getPanel('print').boxendleft = findObjectPosition(getobj('toolbar_print_btn')).x- getPanel('print').boxwidth +106;
	    togglePanel('print',-1,0,{x:-1,y:-1});
    	
    }	;

    function toolbar_doemail()	{
    	
	    var l = findObjectPosition(getobj('toolbar_email_btn')).x-getPanel('email').boxwidth +125;
	    l=l<0?0:l;
	    getPanel('email').boxleft = getPanel('email').boxendleft =l;
	    getPanel('email').box.loadcontent(loademailform());
	    togglePanel('email',-1,0,{x:-1,y:-1})	;
    	
    }	;

    function toolbar_doenquiry()	{
        if (EnquiryFields.InvalidDateCount > 0) {ShowInvalidDateMsg()}
        if (SL.NotesExist) {
            // load the combined panel
            SL.PanelName = 'shortenq';
            toolbar_doshortlist(false, SL.NotesPageNumber, false);
            LoadEnquiryFields();
            return;
        
        }

        if (getobj('greypage').style.display=='block') {
            //togglePanel(SL.PanelName,0,0);
            HideGreyPage();
        }
        
	    var btn = findObjectPosition(getobj('toolbar_enquiry_btn'))
	    var l = btn.x-getPanel('enquiry').boxwidth + 125;
	    l=l<0?0:l;
	    var t = btn.y-getPanel('enquiry').boxheight - 15;
	    t=t<0?0:t;
    	
	    getPanel('enquiry').boxleft = getPanel('enquiry').boxendleft =l;
	    getPanel('enquiry').boxtop = getPanel('enquiry').boxendtop =t;
	    getPanel('enquiry').box.loadcontent(loadenquiryform());

	    togglePanel('enquiry',-1,0,{x:-1,y:-1})	;
	    LoadEnquiryFields();
    }	;

    function toolbar_doshortlisthelp() {

        var l = '';
        if (SL.NotesPageNumber%2!=0) {
            l = getPanel(SL.PanelName).boxendleft + getPanel(SL.PanelName).boxwidth;
        } else {
            l = getPanel(SL.PanelName).boxendleft - getPanel('helpshortlist').boxwidth;  
        }
        var t = getPanel(SL.PanelName).boxtop
        
        getPanel('helpshortlist').boxleft = getPanel('helpshortlist').boxendleft = l;
        getPanel('helpshortlist').boxtop = getPanel('helpshortlist').boxendtop = t;
        getPanel('helpshortlist').box.loadcontent(loadshortlisthelp());
        togglePanel('helpshortlist',-1,0,{x:-1,y:-1});
    };
    
    function ShowInvalidDateMsg(){
        if (!EnquiryFields.InvalidDateMsgShown) {
            alert(EnquiryFields.InvalidDateMsg);
            EnquiryFields.InvalidDateMsgShown = true;
        }
    }
    
    function toolbar_doshortenquiry() {
        if (EnquiryFields.InvalidDateCount > 0) {ShowInvalidDateMsg()}
        SaveNotes();
        togglePanel('shortlist',-1,0,{x:-1,y:-1});
        SL.PanelName = 'shortenq';
        toolbar_doenquiry();
    };

    function toolbar_doshortlist_left() {
        SL.PanelName = 'shortlist';
        toolbar_doshortlist(true, cur_left_page)
    };

    function toolbar_doshortlist_right() {
        SL.PanelName = 'shortlist';
        toolbar_doshortlist(true, cur_right_page)
    };

    function toolbar_doshortlist(newnote, pnum, reload)	{

        if (pnum==0) {return};
        if (pnum=='') {pnum = SL.NotesPageNumber}
        if (reload=='undefined'){reload = false}

        var lor = pnum==cur_right_page?lor = 'left':lor = 'right';
     
        var loc; var t; var l;
        
        if (lor=='right') 
        {
            SL.NotesPageNumber = cur_left_page;
            loc = findObjectPosition(getobj('rightpage'));
        } else {
            SL.NotesPageNumber = cur_right_page;
            loc = findObjectPosition(getobj('leftpage'));
        }

        var oSLpanel = getPanel(SL.PanelName);

        t = loc.y;
	    t=t<0?0:t;
    	
	    // grey page left
	    gpl = loc.x
    	
	    // pg.left + (pg.width / 2) - (panelwidth / 2)
	    l = loc.x + (pagewidth / 2) - (oSLpanel.boxwidth / 2);

        l=l<0?0:l;
        gpl=gpl<0?0:gpl;

        // toggle grey layer under panel
        var gp = getobj('greypage')
        if (gp.style.display=='block' && !reload) {
            HideGreyPage();
        } else {
            gp.style.top = t;
            gp.style.left = gpl;
            gp.style.width = pagewidth;
            gp.style.height = pageheight;
            gp.style.display = 'block';
        }

        oSLpanel.boxleft = oSLpanel.boxendleft = l;
	    oSLpanel.boxtop = oSLpanel.boxendtop = t;
        oSLpanel.box.loadcontent(LoadShortlist(newnote, pnum, reload));
        //getobj('slidepanel7').style.zIndex = 2000;        
	    togglePanel(SL.PanelName,-1,0,{x:-1,y:-1});
    }
    
    

    function loadthumbs(container)
    {
        var hasCells = false;
        var RowCount = 0;
        var thumbw = 141;
    	var thumbh = 200;
    	var contentcloseLeft = (ContentsConfig.W) - 18 - 18;  //#########################

    	var fixedtoplayer = '<div id="contentsheader" style="position:absolute;top:3;left:10;height:' + getPanel('contents').fixedtop + ';"><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/contents_header.gif"><div><div id="contentsclose" style="position:absolute;top:3;left:' + contentcloseLeft + ';"><a href="javascript:togglePanel(\'contents\',0,0)"><IMG border=0 SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif"></a></div>';

    	getobj('contentsfixedtop').innerHTML = fixedtoplayer;
	    var outerlayer = document.createElement('div');
        //outerlayer.height = pageheight - 2 - 30;
        
	    var thumbsinrow = 2 // parseInt((parseInt(container.box.boxcontent.style.width,10))/((2*RVPages[1].thumb.w)+thumb_spacing),10) ;
	    var rows = Math.ceil(pagecount/thumbsinrow);
	    if (getobj('contentstable'))
	    {
		    return;
	    }	
	    var tbl = document.createElement("table");
	    var tbody = document.createElement("tbody");  // i hate IE
    	
	    tbl.id='contentstable';
	    tbl.setAttribute('cellspacing',0);
	    tbl.setAttribute('cellpadding',1);
	    tbl.style.marginLeft='10px';		
	    tbl.setAttribute('height','100%');
        tbl.setAttribute('width','100%');
	    var ic=RVKernel.features.StartDPS?1:0;
	    var currentrow,currentcell,cellwrapper;

	    for (var i=1;i<=rows;i++)
	    {
		    currentrow = document.createElement('tr');
		    hasCells = false
		    
		    for (var j=1;j<=thumbsinrow;j++)
		    {
			    if (ic <=pagecount)
			    {
    				hasCells = true;
				    currentcell=document.createElement('td');
				    cellwrapper = document.createElement('div');
				    currentcell.setAttribute('id','thumbcell'+ic);
				    //currentcell.setAttribute('width',(2*RVPages[j].thumb.w)+thumb_spacing);
				    //currentcell.setAttribute('height',RVPages[j].thumb.h);
				    currentcell.setAttribute('width',(2*thumbw)+thumb_spacing);
				    currentcell.setAttribute('height',thumbh);				    
				    currentcell.setAttribute('noWrap','nowrap');
				    cellwrapper.style.position='relative';
				    //cellwrapper.style.width=2*RVPages[j].thumb.w;
				    //cellwrapper.style.height=RVPages[j].thumb.h;				    
				    cellwrapper.style.width=2*thumbw;
				    cellwrapper.style.height=thumbh;
				    cellwrapper.style.top='0px';
				    cellwrapper.style.left='0px';
    				
    				
				    cellwrapper.appendChild(getThumb(ic));
						    ic++;
    						
				    if (ic <= pagecount)	
					    cellwrapper.appendChild(getThumb(ic));
    					
				    else
					    cellwrapper.appendChild(getThumb(0));
    			
				    ic++;
    				
				    currentcell.appendChild(cellwrapper);
				    currentcell.setAttribute('align','left');
				    currentcell.setAttribute('valign','top');
				    currentrow.appendChild(currentcell);
			    }
		    }	
		    if (hasCells) {
		        tbody.appendChild(currentrow)
		        RowCount ++;
		    }	;
    		
		    //add padding row
    //		currentrow = document.createElement('tr');
    //		currentrow.innerHTML = '<td colspan='+thumbsinrow+'height=2></td>';
    //		tbody.appendChild(currentrow)	;
	    }
	    
	    outerlayer.style.height = (RowCount * thumbh);
	    //outerlayer.style.height = pageheight-30;
	    
	    tbl.appendChild(tbody);
	    outerlayer.appendChild(tbl);
	    highlightCurrentPageCell();	 // only first load	
    	
	    return outerlayer;
    };


var thumb_width = 141;
var thumb_height = 200;
var thumb_suffix = '_0.jpg'
var thumb_src    
var bThumbSizeSet = false;

    function SetThumbSize(x){
            x = 1;
            var pXML = RVKernel.xml.firstChild.firstChild.childNodes;
            thumb_width = getAttrib(pXML[x],'w');
            thumb_height = getAttrib(pXML[x],'h');
            thumb_suffix = getAttrib(pXML[x],'s') + '.jpg';       
            //alert('w:'+thumb_width+',h:'+thumb_height+',s:'+thumb_suffix+'src:'+RVPages[1].normal.src)	

            bThumbSizeSet = true;
    }

    function createThumb(x) {

        if(!bThumbSizeSet && x>0){
            //SetThumbSize(x);
        }
        if(RVKernel.iid!=5753 && RVKernel.iid!=5552 && RVKernel.iid!=5767){
            thumb_src = '/global/images/empty.gif' //RVPages[x].thumb.src.replace('_thumb.jpg', thumb_suffix);
        } else {
            thumb_width = 141;
            thumb_height = 200;
            thumb_src = '/global/images/empty.gif' //RVPages[x].thumb.src.replace('_thumb.jpg', '_2.jpg');
        }  
              
    	var thumbw = thumb_width;
    	var thumbh = thumb_height;
	    var tmp_image = document.createElement('img')	;
	    tmp_image.id = 'thumb'+x;
	    tmp_image.style.display='inline';
	    //tmp_image.src= RVPages[x].thumb.src;
	    //tmp_image.width=RVPages[x].thumb.w;
	    //tmp_image.height=RVPages[x].thumb.h;
	    if (x != 0) {
	        tmp_image.src= thumb_src //RVPages[x].normal.src;
        } else {
            tmp_image.src= 'global/images/placeholder.gif';
        }
	    tmp_image.width=thumbw;
	    tmp_image.height=thumbh;    	
    	
		    // new wrapper stuff
		    var d = document.createElement('div')	;
		    var num = document.createElement('div');
		    d.style.position='absolute';
    		
		    if (x != 0)
		    {
			    addEvent(tmp_image,'click',t_c,false);
			    addEvent(tmp_image,'mouseover',t_mover,false);
			    addEvent(tmp_image,'mouseout',t_mout,false);
			    num.className='thumb_pagenumber';
			    num.innerHTML = x;
		    }
    		
		    num.style.position='absolute';
		    num.style.top='0px';
		    //d.style.width=RVPages[x].thumb.w;
		    //d.style.height=RVPages[x].thumb.h;    		
		    d.style.width=thumbw;
		    d.style.height=thumbh;
		    d.appendChild(tmp_image);
		    d.appendChild(num);
		    tmp_image.style.position='absolute';
		    tmp_image.style.top='0px';
		    if ((RVKernel.features.StartDPS && x%2!=0 ) || (!RVKernel.features.StartDPS && (x%2==0|| x==0 ))) {
			    d.style.left =0 + 'px';
		    } else {
		        //d.style.left=RVPages[x].thumb.w + 'px';
			    d.style.left=thumbw + 'px';
            }			    
		    getobj('imgstack').appendChild(d);
    		
	    return d;
    };

    function loadprintpage()	{
        
        var thumbw = 60;
        var thumbh = 85;
        
	    var s='';
	    if ((cur_left_page != 0) && (cur_right_page <=pagecount))
	    {
		    s+='<div id=printpanel_leftpage><a href="javascript:doprint('+cur_left_page+')"><img width="'+thumbw+'" height="'+thumbh+'" border="0" src="'+ RVPages[cur_left_page].thumb.src + '"></a><br><br>Page ' + cur_left_page +'</div>';
		    s+='<div id=printpanel_rightpage><a href="javascript:doprint('+cur_right_page+')"><img width="'+thumbw+'" height="'+thumbh+'" border="0" src="'+ RVPages[cur_right_page].thumb.src + '"></a><br><br>Page ' +cur_right_page +'</div>';
	    }
	    else
	    {
		    var p = cur_left_page==0?cur_right_page:cur_left_page;
		    s+='<div id=printpanel_leftpage><a href="javascript:doprint('+p+')"><img width="'+thumbw+'" height="'+thumbh+'" border="0" src="'+ RVPages[p].thumb.src + '"></a><br><br>Page ' + p +'</div>';
    		
	    }
        s+='<div id="printpanel_close"><a href=\'javascript:togglePanel("print",0,0)\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';
	    return s;


    };

    function loadhelp()	{
    	
	    var s='<div style="position:absolute;top:5;left:0;text-align:right;width:284;"><a href=\'javascript:togglePanel("help",0,0)\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';
	    s+='<div id="helplink">For further assistance <A href=mailto:custservice@cataloguecentral.com.au>click here </a>. </div>';
	    s+='<div style="position:absolute;top:250;left:0;width:285;height:40;"><A href="http://www.realview.com.au" target="_blank"><img border=0 width=100% height=100% src="global/images/placeholder.gif"></a></td></tr></table></div>';
	    return s;


    };


    function dropShadow()	{

	    var p = getobj('publication');
	    var pos = findObjectPosition(p);
	    var pagepad=16;
	    var dropshadow;
	    if (!getobj('dropshadow'))	{
		    dropshadow = document.createElement('div');
		    dropshadow.id='dropshadow';
		    var b = document.getElementsByTagName('body')[0];
		    b.insertBefore(dropshadow,b.firstChild);
	    }
	    else	{
		    dropshadow = getobj('dropshadow');
	    }
	    dropshadow.style.left = pos.x -pagepad;
	    dropshadow.style.top = pos.y -pagepad;
	    dropshadow.style.width = parseInt(p.style.width) +(pagepad*2);
	    dropshadow.style.height = parseInt(p.style.height) +(pagepad*2);
	    dropshadow.className='dropshadow';

        createborderobj('tl',0,0,16,16,'tcorner-tl.gif','no-repeat');
        createborderobj('tr',0,parseInt(dropshadow.style.width)-pagepad,pagepad,pagepad,'tcorner-tr.gif','no-repeat');
        createborderobj('bl',parseInt(dropshadow.style.height)-pagepad,0,pagepad,pagepad,'tcorner-bl.gif','no-repeat');
        createborderobj('br',parseInt(dropshadow.style.height)-pagepad,parseInt(dropshadow.style.width)-pagepad,pagepad,pagepad,'tcorner-br.gif','no-repeat');
        createborderobj('t',0,pagepad,parseInt(dropshadow.style.width)-(pagepad*2),pagepad,0);
        createborderobj('b',parseInt(dropshadow.style.height)-pagepad,pagepad,parseInt(dropshadow.style.width)-(pagepad*2),pagepad,'pageborder_top.gif','repeat-x');
        createborderobj('l',pagepad,0,pagepad,parseInt(dropshadow.style.height)-(pagepad*2),'pageborder_side.gif','repeat-y');
        createborderobj('r',pagepad,parseInt(dropshadow.style.width)-pagepad,pagepad,parseInt(dropshadow.style.height)-(pagepad*2),'pageborder_side.gif','repeat-y');
        createborderobj('bg',6,6,parseInt(dropshadow.style.width)-12,parseInt(dropshadow.style.height)-12,0);
    	
	    //nested function
	    function createborderobj(o,t,l,w,h,bgimage,bgrepeat)	{
		    var x = getobj(o);
		    if (!x)	{
			    x = 	document.createElement('div');
			    x.id = o;
			    x.style.position='absolute';
			    if (bgimage==0)	{
				    x.style.backgroundColor='#FFFFFF';
			    }
			    else	{
				    x.style.backgroundImage='url(skins/flightcentre/viewer/'+Brand+'/images/' + bgimage +')';
				    x.style.backgroundRepeat=bgrepeat;
			    }
			    dropshadow.appendChild(x);

		    }
			    x.style.top=t;
			    x.style.left=l;
			    x.style.width=w;
			    x.style.height=h;
	    };
    	
    	
    };

    function dosubmitform(f)	{

    var rv = new RVhttprequest,qs='?'
    qs = formData2QueryString(f)
    rv.dopost('skins/cc/brandpower/mainland_process.asp?' + qs ,'',after,true)


    }
    
    
    function after(res)	{
	    getobj('imgstack').appendChild(getobj('mainland_form_container').parentNode)
	    alert('Thankyou, your entry has been submitted')

    }

    function t_mout() {

        var t = this.parentNode.parentNode;
	    if (t.className=='thumb_selected')
		    return;
	    else
		    t.className='thumb_out';


    };

    function t_mover() {

	    var t = this.parentNode.parentNode;
	    if (t.className=='thumb_selected')
		    return;
	    else
		    t.className='thumb_over';
    };


    function InitShortlist() {
        GetShortlistXML();
        GetShortListHelp();
    }

    function LoadShortlist(newnote, pagenum, reload) {
        // Load the Catalogue/Page arrays into the Shortlist panel.
        // Process the Catalogue array backwards so we get the current
        // catalogue's shortlist at the top of the panel.
        
        // if newnote is true we'll create a new shortlist entry by adding it to the
        // array before we process the array. otherwise we'll just process the array.

        if (reload=='undefined') {reload = false}
        if (reload) {getPanel(SL.PanelName).state_open = false;}
        var PubName = '';
        var CatName = '';

        if (newnote) {
            // AddToShortlist will add this page to the shortlist
            // arrays or just set the SL index so we can scroll to it.
            //PubName = RVKernel.pname;
            //CatName = RVKernel.i;

            AddToShortlist(RVKernel.pname, RVKernel.i, pagenum);

        } 
        var LinkText = 'javascript:SaveNotes()';
        if (SL.PanelName == 'shortenq') {LinkText += ';SaveEnquiryFields()'}
        LinkText += ';togglePanel("'+SL.PanelName+'",0,0);HideGreyPage()';
        
        getobj(SL.PanelName+'fixedtop').innerHTML = '<div id="shortlist_close"><a href=\''+LinkText+'\'><IMG SRC="skins/flightcentre/viewer/'+Brand+'/images/panels/close.gif" border=0></a></div>';
        getobj(SL.PanelName+'fixedbottom').innerHTML = loadshortlistbottom();
        
        var outerlayer = document.createElement('div');
        outerlayer.style.position = 'absolute';
        outerlayer.id = 'shortlist';

        var t = 0; var NoteLeft = 70; var DeleteLeft = 265; var TextHeight = 18; var NoteWidth = 185;
        
        // process array here
        for (i=SL_Catalogue_Array.length-1; i>=0; i--) {
            
            SL.NotesExist = true;
            
            PubName = SL_Catalogue_Array[i].split(SL.Cat_Sep)[0];
            CatName = SL_Catalogue_Array[i].split(SL.Cat_Sep)[1];
            
            //s += '<div id="slp_cat_' + i + '" class="slp_cat">'
            var catdiv = document.createElement('div');
            catdiv.id         = 'slp_cat_' + i;
            //catdiv.className  = 'slp_cat';
            
            //s += '<div id="slp_cat_' + i + '_hdr" class="slp_cat_hdr" style="position:absolute; top:' + t + '">'+ CatName + '</div>';
            var catname = document.createElement('div');
            catname.id              = 'slp_cat_' + i + '_hdr';
            catname.className       = 'slp_cat_hdr';
            catname.style.position  = 'absolute';
            catname.style.top       = t;
            catname.style.width     = 290;
            catname.innerHTML       = CatName;
            
            t += TextHeight;
            
            //s += '<div id="slp_cat_' + i + '_page_hdr" style="position:absolute; top:' + t + '">Page</div><div id="slp_cat_' + i + '_note_hdr" style="position:absolute; top:' + t + '; left:' + NoteLeft + '; width:185;">Notes to consultant</div>';
            var catpagehdr = document.createElement('div');
            catpagehdr.id              = 'slp_cat_' + i + '_page_hdr';
            catpagehdr.className       = 'slp_cat_page_hdr';
            catpagehdr.style.position  = 'absolute';
            catpagehdr.style.top       = t;
            catpagehdr.innerHTML       = 'Page';        
            
            var catnotehdr = document.createElement('div');
            catnotehdr.id              = 'slp_cat_' + i + '_note_hdr';
            catnotehdr.className       = 'slp_cat_note_hdr';
            catnotehdr.style.position  = 'absolute';
            catnotehdr.style.top       = t;
            catnotehdr.style.left      = NoteLeft;
            catnotehdr.style.width     = NoteWidth;
            catnotehdr.innerHTML       = 'Notes to consultant';        
                    
            t += TextHeight;
            
            catdiv.appendChild(catname);
            catdiv.appendChild(catpagehdr);
            catdiv.appendChild(catnotehdr);
            
            for (j=0; j<SL_Page_Array.length; j++) {
                if (PubName==SL_Page_Array[j][0] && CatName==SL_Page_Array[j][1]) {

                    var pagenum = SL_Page_Array[j][2];
                    var thumbpath = SL_Page_Array[j][3];
                    var notetext = SL_Page_Array[j][4];
                    //s += '<div id="slp_cat_' + i + '_row_' + j + '_thumb" style="position:absolute; top:' + t + '; left:0"><img src="' + thumbpath + '"></div>';
                    var catrowthumb = document.createElement('div');
                    catrowthumb.id              = 'slp_cat_' + i + '_row_' + j + '_thumb';
                    catrowthumb.style.position  = 'absolute';
                    catrowthumb.style.top       = t;
                    catrowthumb.style.left      = 0;
                    
                    var catrowthumbimg = document.createElement('img');
                    catrowthumbimg.src      = thumbpath;
                    catrowthumbimg.border   = 0;
                    
                    var catrowthumbnum = document.createElement('div');
                    catrowthumbnum.className = 'thumb_pagenumber';
                    catrowthumbnum.style.position  = 'absolute';
                    catrowthumbnum.style.top       = 0;
                    catrowthumbnum.style.left      = 0;                
                    catrowthumbnum.innerHTML       = pagenum;

                    //s += '<div id="slp_cat_' + i + '_row_' + j + '_note" style="position:absolute; top:' + t + '; left:' + NoteLeft + ';"><textarea id="slp_cat_' + i + '_row_' + j + '_text">' + notetext + '</textarea></div>';
                    var catrownote = document.createElement('div');
                    catrownote.id              = 'slp_cat_' + i + '_row_' + j + '_note';
                    catrownote.style.position  = 'absolute';
                    catrownote.style.top       = t;
                    catrownote.style.left      = NoteLeft;       
                    
                    var catrownotetext = document.createElement('textarea');
                    catrownotetext.id       = 'slp_cat_' + i + '_row_' + j + '_text';
                    catrownotetext.style.height     = 60;
                    catrownotetext.value    = notetext;
                    
                    addEvent(catrownotetext,'focus',function(){DelEnqText(this);},false);
 
                    //s += '<div id="slp_cat_' + i + '_row_' + j + '_delete" style="position:absolute; top:' + t + '; left:' + DeleteLeft + ';">delete</div>';
                    var catrowdelete = document.createElement('div');
                    catrowdelete.id             = 'slp_cat_' + i + '_row_' + j + '_delete';
                    catrowdelete.style.position = 'absolute';
                    catrowdelete.style.top      = t;                
                    catrowdelete.style.left     = DeleteLeft;
                    catrowdelete.innerHTML      = 'delete';
                    
                    var catrowdelete_a = document.createElement('a');
                    catrowdelete_a.href         = 'javascript:DeleteNote('+i+','+j+');';
                    catrowdelete_a.className    = 'slp_cat_row_delete';
                    
                    t += 90;

                    catrowthumb.appendChild(catrowthumbimg);
                    catrowthumb.appendChild(catrowthumbnum);
                    catrownote.appendChild(catrownotetext);
                    catrowdelete_a.appendChild(catrowdelete);
                    
                    catdiv.appendChild(catrowthumb);
                    catdiv.appendChild(catrownote);
                    catdiv.appendChild(catrowdelete_a);
                }    
            }
            //s += '</div>';  //slp_cat_999 

            outerlayer.appendChild(catdiv);
        }
        
        //s += '</span>';    //shortlistcontainer 

        return outerlayer;
    }
    
    function DeleteNoteFromDB(enqpageid) {
        //if (doAjax) {
            var ohttp = new RVhttprequest;
            ohttp.dopost('/cms/ajax.aspx?Action=DeleteBookmark&page=' + enqpageid,'', '',false);
            ohttp = ''; 
        //}         
    }

    function DeleteNote(catIndex, pageIndex) { 
        // save notes first.
        SaveNotes();
        
        // delete from db here
        DeleteNoteFromDB(SL_Page_Array[pageIndex][6]);  
        
        // delete note from page array. move all higher index notes down one, then shrink array by one.
        var PubCatName = SL_Page_Array[pageIndex][0]+SL.Cat_Sep+SL_Page_Array[pageIndex][1];

        for (i = pageIndex+1; i < SL_Page_Array.length ; i++) {
            SL_Page_Array[i-1][0] = SL_Page_Array[i][0];
            SL_Page_Array[i-1][1] = SL_Page_Array[i][1];
            SL_Page_Array[i-1][2] = SL_Page_Array[i][2];
            SL_Page_Array[i-1][3] = SL_Page_Array[i][3];
            SL_Page_Array[i-1][4] = SL_Page_Array[i][4];  
            SL_Page_Array[i-1][5] = SL_Page_Array[i][5];  
            SL_Page_Array[i-1][6] = SL_Page_Array[i][6];  
        }
        SL_Page_Array.length = SL_Page_Array.length-1;
        
        // delete catalogue from cat array if no pages exist.
        var CatPages = 0;
        for (i=0; i < SL_Page_Array.length; i++) {

            if (SL_Page_Array[i][0]+SL.Cat_Sep+SL_Page_Array[i][1] == PubCatName) {
                CatPages ++;
            }
        }

        if (CatPages == 0) {
            for (i=0; i < SL_Catalogue_Array.length; i++) {
                
                if (SL_Catalogue_Array[i] == PubCatName) {
                    
                    var catIndex = i;
                    break;
                }
            }
              
            for (i = catIndex+1; i < SL_Catalogue_Array.length; i++) {
                SL_Catalogue_Array[i-1] = SL_Catalogue_Array[i];
            } 

            SL_Catalogue_Array.length = SL_Catalogue_Array.length-1;
        }
        
        if (SL_Catalogue_Array.length == 0){SL.NotesExist = false}
        
        toolbar_doshortlist(false, 1, true);  
    }

    function SaveNotes() {
        var notetext;

        for (i=0; i < SL_Catalogue_Array.length; i++) {

            for (var j = 0; j < SL_Page_Array.length; j++) {
                if (SL_Catalogue_Array[i] == SL_Page_Array[j][0]+SL.Cat_Sep+SL_Page_Array[j][1]) {
                    notetext = getobj('slp_cat_'+ i + '_row_'+ j + '_text').value;
                    
                    if (notetext != SL_Page_Array[j][4]) {
                        SL_Page_Array[j][4] = notetext;
                        // db save
                        // set page array index
                        SL.Cur_Page_Index = j
                        if(SL_Page_Array[j][5] != 'undefined')
                        {
                            AddPageToShortlist_DB(notetext, SL_Page_Array[j][5], SL_Page_Array[j][6])
                        }
                    }
                }
            }
        }
    }

    function HideGreyPage() {getobj('greypage').style.display = 'none';}

    function SendEnquiry(panelGUID) {
        SaveEnquiryFields();
        var pre = SL.NotesExist?'short':'';
        var em = getobj(pre+'enquirymessage');
        // validate
        
        var errmsg = '';
        
        if (EnquiryFields.Name == '') {
            errmsg = 'Please enter your name.';
        } else if (EnquiryFields.Email == '' && EnquiryFields.Phone == '') {
            errmsg = 'Please enter your Email and/or Phone.';
        } else if (!validEmail(EnquiryFields.Email)) {
            errmsg = 'Please enter a valid Email address.';
        } else if (EnquiryFields.Postcode == '' || !IsNumeric(EnquiryFields.Postcode) || (EnquiryFields.Postcode.length != 4 && EnquiryFields.Postcode.length != 3)) {
            errmsg = 'Please enter a valid Postcode.';
        } else if (pre == '' && EnquiryFields.Text == '') {
            errmsg = 'Please enter your Enquiry.';
        }
        
        if (errmsg != '') {   
            em.innerHTML = errmsg;
            
        } else {
            if (EnquiryFields.Phone == '') {EnquiryFields.Phone = ' '}
            if (EnquiryFields.Email == '') {EnquiryFields.Email = ' '}
            if(EnquiryFields.Text == DefaultEnquiryText) {EnquiryFields.Text = ""};
            EnquiryFields.Text = EnquiryFields.Text.replace(/"/g, '')
            // then save to db, send email
            //if (doAjax) {
                var ohttp = new RVhttprequest;
                var qs = '?Action=SendEnquiry&useremail=' + EnquiryFields.Email + '&postcode=' + EnquiryFields.Postcode + '&name=' + EnquiryFields.Name + '&phone=' + EnquiryFields.Phone + '&enqtxt=' + EnquiryFields.Text + '&brandid=' + BrandID
                ohttp.dopost('/cms/ajax.aspx' + qs,'', SendEnquiry_callback, false);
                ohttp = '';
                
                // webtrends tracking
                if(wtTrack) {
                    WebtrendsTracking();
                    f2convert(dcsDS.getClientId(),'Catalogue Enquiry#13000*1',getUTC(),dcsDS.getIsNew(),dcsDS.getAdInfo());
                }
            //}
            em.innerHTML = '<b>Your enquiry has been sent.</b>'; //Click the "X"<br> to close your shortlist.
            SL_Page_Array.length = 0;
            InitShortlist();
            var t=setTimeout("togglePanel('"+panelGUID+"',0,0);HideGreyPage()",2000)
        }
        em.style.display = 'inline';
    }

    function WebtrendsTracking() {
        var CatalogueName = "";
        var PageNumber = "";
        
        for (var i = 0; i < SL_Page_Array.length; i++) {
            CatalogueName = SL_Page_Array[i][1];
            PageNumber = SL_Page_Array[i][2];
            
            var d = new Date();
            dcsMultiTrack('DCS.dcsuri', wtURI,'WT.ti',document.title,'DCSext.Catalogue',CatalogueName,'DCSext.Page',PageNumber,
            'WT.cg_n', 'Catalogue Enquiry',  
            'WT.si_n', 'Catalogue Enquiry',
            'WT.si_x', '1',
            'WT.si_cs', '1',
            'WT.tx_e', 'p',
            'WT.tx_u', '1',
            'WT.tx_i', Math.round((Math.random()*100000000),0).toString(),
            'WT.tx_id',d.getDay().toString() + "/" + d.getMonth().toString() + "/" + d.getFullYear().toString(),
            'WT.tx_it',d.getHours().toString() + ":" + d.getMinutes().toString() + ":" + d.getSeconds().toString(),
            'DCSext.Conversion', 'Enquiry',
            'WT.pn', 'Catalogue Enquiry',
            'WT.pn_fa', 'Catalogue Enquiry',
            'WT.pn_gr', 'Catalogue Enquiry');

        }
    }

    function getUTC()
    {
        var d = new Date();
        return Date.UTC(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds());
    }

    function IsNumeric(str)
    {
        return /^\d+$/.test(str) ? true : false;
    }
    
    function SendEnquiry_callback(theRequest) {
        ProcessShortlistXML(theRequest.responseText, 'sendenquiry');
    };

    function SaveEnquiryFields() {
        if (SL.NotesExist){SaveNotes()};
        var pre = SL.NotesExist?'short':'';
        EnquiryFields.Name = getobj(pre+'enq_name').value;
        EnquiryFields.Email = getobj(pre+'enq_email').value; 
        EnquiryFields.Postcode = getobj(pre+'enq_postcode').value; 
        EnquiryFields.Phone = getobj(pre+'enq_phone').value;
        if (objExists(pre+'enquiry_text')) {EnquiryFields.Text = getobj(pre+'enq_text').value;}
                
    }

    function LoadEnquiryFields() {
        var pre = SL.NotesExist?'short':'';
        getobj(pre+'enq_name').value = EnquiryFields.Name;
        getobj(pre+'enq_email').value = EnquiryFields.Email; 
        getobj(pre+'enq_postcode').value = EnquiryFields.Postcode; 
        getobj(pre+'enq_phone').value = EnquiryFields.Phone;
        if (objExists(pre+'enquiry_text')) {getobj(pre+'enq_text').value = EnquiryFields.Text;}
         
    }

    function DelEnqText(obj) {

        if (obj.value==DefaultEnquiryText) {
            obj.value = '';
        }    
    }

    function GetShortlistXML() {
        //if (doAjax) {
            var ohttp = new RVhttprequest;
            ohttp.dopost('/cms/ajax.aspx?Action=GetBookmarkInfo','', GetShortlistXML_callback,false);
            ohttp = '';
        //}
    };

    function GetShortlistXML_callback(theRequest) {
        ProcessShortlistXML(theRequest.responseText, 'getshortlist');
    };
    
    function ProcessShortlistXML(xmlstring, action) {
                    
        //xmlstring = ''; // testing only


        if (typeof DOMParser == "undefined") {
           DOMParser = function () {}

           DOMParser.prototype.parseFromString = function (str, contentType) {
              if (typeof ActiveXObject != "undefined") {
                 var d = new ActiveXObject("MSXML.DomDocument");
                 d.loadXML(str);
                 return d;
              } else if (typeof XMLHttpRequest != "undefined") {
                 var req = new XMLHttpRequest;
                 req.open("GET", "data:" + (contentType || "application/xml") +
                                 ";charset=utf-8," + encodeURIComponent(str), false);
                 if (req.overrideMimeType) {
                    req.overrideMimeType(contentType);
                 }
                 req.send(null);
                 return req.responseXML;
              }
           }
        }
        
        if (xmlstring != '') {
            
            // convert the string to an XML object
            var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
            // get the XML root item
            var root = xmlobject.getElementsByTagName('AjaxXML')[0];

            var ajaxstatus = root.getElementsByTagName("AjaxStatus")[0].firstChild.nodeValue;            
            
            switch (action) {
            
                case 'getshortlist' :

                    CatalogueCount = 0
                    SL_Catalogue_Array = new Array();
                    SL_Page_Array = new Array();
                    SL = {
                        NotesExist:false,
                        NotesPageNumber:1,
                        Cat_Sep:':&^%(@#',
                        Cur_Cat_Index:0,
                        Cur_Page_Index:0,
                        Cur_EnqPage_ID:0,
                        PanelName:'shortlist'
                    }

                    if (parseInt(ajaxstatus) > 0) {

                        var catalogues = root.getElementsByTagName("catalogues")[0];

                        var catalogue = catalogues.getElementsByTagName("catalogue");
         
                        for (var i = 0 ; i < catalogue.length ; i++) {
                            // get one catalog after another
                            var cat = catalogue[i];
                            
                            var catname     = cat.getAttribute("catname");
                            var thumbpath   = cat.getAttribute("path");
                            var pubname     = cat.getAttribute("pubname");

                            SL_Catalogue_Array.length ++;
                            SL_Catalogue_Array[i] = pubname+SL.Cat_Sep+catname;

                            // now we have the catalogue object, time to get the pages
                            var pages = cat.getElementsByTagName("page");
                            
                            for (var j = 0; j < pages.length; j++) {
                                var page = pages[j];
                                // get the thumbnail
                                var thumb = thumbpath + '/webimages/' + page.getAttribute("pagename") + '_thumb.jpg';
                                var pagenum = page.getAttribute("pagenum");
                                var pacid = page.getAttribute("pacid");
                                var enqpageid = page.getAttribute("enqpageid");
                                // get the quantity
                                var notetext = page.getAttribute("note");
                        	    
                                AddPageToShortlist(pubname, catname, pagenum, thumb, notetext, pacid, enqpageid);
                                SL.NotesExist = true;
                            }
                        }
                    }
                    break;

                case 'getenqpageid' :
                                        
                    SL.Cur_EnqPage_ID = ajaxstatus;
                    break;
                
                case 'getcataloginvalid' :
                    
                    EnquiryFields.InvalidDateCount = root.getElementsByTagName("InvalidDateCount")[0].getAttribute("count");
                    break;
                
                case 'sendenquiry' :
                    
                    EnquiryFields.Status = ajaxstatus;
                    break;                    
            }
        }      
     };


    function GetShortListHelp() {

        var ohttp = new RVhttprequest;
        ohttp.dopost('/skins/flightcentre/viewer/shortlisthelp.htm','', GetShortListHelp_callback,false);
        ohttp = '';
    };

    function GetShortListHelp_callback(theRequest) {
        SL.HelpContents = theRequest.responseText;
    };

    function AddToShortlist(pubname, catname, pagenum) {
        // add page and/or set SL array indexes to point to the note
        
        var PageFound = false;
        var CatFound = false;

        for (i=0; i < SL_Catalogue_Array.length; i++) {
            
            if (SL_Catalogue_Array[i] == pubname+SL.Cat_Sep+catname) {
                // found the catalogue, now find the page
                CatFound = true;
              
                // set cat array index
                SL.Cur_Cat_Index = i;
                
                for (var j = 0; j < SL_Page_Array.length; j++) {
                    if (pubname == SL_Page_Array[j][0] && catname == SL_Page_Array[j][1] && parseInt(pagenum) == parseInt(SL_Page_Array[j][2])) {
                        // set page array index 
                        SL.Cur_Page_Index = j;
                        
                        PageFound = true;
                        break;
                        
                    }              
                }
                
                if (!PageFound) {

                    AddPageToShortlist(pubname, catname, pagenum, RVPages[pagenum].thumb.src, DefaultEnquiryText, RVKernel.PageID[pagenum], 0);
                    
                    // set page array index
                    SL.Cur_Page_Index = SL_Page_Array.length-1;

                }
                
                break;
            } 
        }
        
        if (!CatFound) {
                 
            // set cat array index
            SL.Cur_Cat_Index = SL_Catalogue_Array.length;  
            
            // add this cat to array           
            SL_Catalogue_Array.length ++;
            SL_Catalogue_Array[SL.Cur_Cat_Index] = pubname+SL.Cat_Sep+catname;

            // add page to array
            AddPageToShortlist(pubname, catname, pagenum, RVPages[pagenum].thumb.src, DefaultEnquiryText, RVKernel.PageID[pagenum], 0);
            
            // set page array index
            SL.Cur_Page_Index = SL_Page_Array.length-1;            
            
            // add to db
            AddPageToShortlist_DB(DefaultEnquiryText, RVKernel.PageID[pagenum], 0);

        }
    };

    function AddPageToShortlist_DB(note, pacid, enqpageid) {
        //if (doAjax) {
            var ohttp = new RVhttprequest;
            ohttp.dopost('/cms/ajax.aspx?Action=AddBookmarkInfo&page=' + pacid + '&notes=' + note + '&enqpageid=' + enqpageid + '&brandid=' + BrandID,'', AddPageToShortlist_DB_callback, false);
            ohttp = '';
        //}
    }
    
    function AddPageToShortlist_DB_callback(theRequest) {
	    ProcessShortlistXML(theRequest.responseText, 'getenqpageid');    
        
        if (parseInt(SL.Cur_EnqPage_ID) > 0) {
            SL_Page_Array[SL.Cur_Page_Index][6] = SL.Cur_EnqPage_ID;
        }
    }

    function AddPageToShortlist(pubname, catname, pagenum, thumb, notetext, pacid, enqpageid) {
        var PageCtr = SL_Page_Array.length;
        SL_Page_Array.length ++;
        SL_Page_Array[PageCtr] = new Array(7);
        SL_Page_Array[PageCtr][0] = pubname;
        SL_Page_Array[PageCtr][1] = catname;
        SL_Page_Array[PageCtr][2] = pagenum;
        SL_Page_Array[PageCtr][3] = thumb;
        SL_Page_Array[PageCtr][4] = notetext;
        SL_Page_Array[PageCtr][5] = pacid;
        SL_Page_Array[PageCtr][6] = enqpageid;
    }

    function objExists(theVal) {

        if (getobj(theVal) != null) 
        {
            return true;
        } else {
            return false;
        }
    }

function validEmail(str) {

    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
    var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
    if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
        // valid
        return true;
    }
    return false; // invalid
}

function setPageSizes()	{
	
	RVKernel.coords.p.maxw =  Number(RVKernel.coords.winw - (RVKernel.coords.donutmin.l +RVKernel.coords.donutmin.r));
	RVKernel.coords.p.maxh =  Number(RVKernel.coords.winh - (RVKernel.coords.donutmin.t +RVKernel.coords.donutmin.b));
	RVKernel.coords.p.origw = Number(getAttrib(RVKernel.xml.firstChild.firstChild,'w'));
	RVKernel.coords.p.origh = Number(getAttrib(RVKernel.xml.firstChild.firstChild,'h'));
	pagecount = Number(getAttrib(RVKernel.xml.firstChild,'pagecount'));
	RVKernel.PageID = RVKernel.xml.getElementsByTagName('pageid')[0].firstChild.nodeValue.split(',');
	RVKernel.PageID.unshift(0);
	RVKernel.PageID.pop();
	
	var pXML = RVKernel.xml.firstChild.firstChild.childNodes;
	
	var foundlarge=false,foundflip=false;
	thumbwidth = getAttrib(pXML[0],'w');
	thumbheight = getAttrib(pXML[0],'h');
	thumbsuffix = getAttrib(pXML[0],'s') + '.jpg';
 	 for (var i=pXML.length;i>1;i--) 	 {
 		var w=Number(getAttrib(pXML[i-1],'w'));
 		var h=Number(getAttrib(pXML[i-1],'h'));
 		if 	(Number(getAttrib(pXML[i-1],'t'))==2 && foundlarge==false) {
 				largewidth = w;
 	 			largeheight = h;
 	 			largesuffix = getAttrib(pXML[i-1],'s');
 	 			foundlarge=true;
 		}
 		//finds smallest available tflip page expcet for smallest size which is the thumbnail size
 		if 	(Number(getAttrib(pXML[i-1],'t'))==1 && foundflip==false && getAttrib(pXML[i-1],'w') !='690' && getAttrib(pXML[i-1],'s') !='_print' && getAttrib(pXML[i-1],'s') !='_0') {
 	 		if ( w <= RVKernel.coords.p.maxw/2 &&  h <= RVKernel.coords.p.maxh) {
 	 			foundflip = true;
 	 		}
 	 			pagewidth = w;
 	 			pageheight = h;
 	 			suffix = getAttrib(pXML[i-1],'s')+ '.jpg';
 	 			mid=pagewidth;
 	 					
 	 	}
 	 }
  };


    
function toolbar_imgup(){} //dummy

////////////////////////////////////////
// panel drag ///////////////////////////
////////////////////////////////////////

/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 * Script featured on Dynamic Drive (http://www.dynamicdrive.com) 12.08.2005
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/

var Drag = {

	obj : null,

	init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
	{
		o.onmousedown	= Drag.start;

		o.hmode			= bSwapHorzRef ? false : true ;
		o.vmode			= bSwapVertRef ? false : true ;

		o.root = oRoot && oRoot != null ? oRoot : o ;

		if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
		if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
		if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
		if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

		o.minX	= typeof minX != 'undefined' ? minX : null;
		o.minY	= typeof minY != 'undefined' ? minY : null;
		o.maxX	= typeof maxX != 'undefined' ? maxX : null;
		o.maxY	= typeof maxY != 'undefined' ? maxY : null;

		o.xMapper = fXMapper ? fXMapper : null;
		o.yMapper = fYMapper ? fYMapper : null;

		o.root.onDragStart	= new Function();
		o.root.onDragEnd	= new Function();
		o.root.onDrag		= new Function();
	},

	start : function(e)
	{
		var o = Drag.obj = this;
		e = Drag.fixE(e);
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		o.root.onDragStart(x, y);

		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

		if (o.hmode) {
			if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
			if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
		} else {
			if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
			if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
		}

		if (o.vmode) {
			if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
			if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
		} else {
			if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
			if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
		}

		document.onmousemove	= Drag.drag;
		document.onmouseup		= Drag.end;

		return false;
	},

	drag : function(e)
	{
		e = Drag.fixE(e);
		var o = Drag.obj;

		var ey	= e.clientY;
		var ex	= e.clientX;
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		var nx, ny;

		if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
		if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
		if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
		if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

		nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
		ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

		if (o.xMapper)		nx = o.xMapper(y)
		else if (o.yMapper)	ny = o.yMapper(x)

		Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
		Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
		Drag.obj.lastMouseX	= ex;
		Drag.obj.lastMouseY	= ey;

		Drag.obj.root.onDrag(nx, ny);
		return false;
	},

	end : function()
	{
		document.onmousemove = trackCursor;   //null; //CHANGED TO RE-ENABLE FULLS SCREEN DRAG
		document.onmouseup   = null;
		Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
									parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
		Drag.obj = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
};


     function initDrag(panelname,draghandleW, draghandleH){
        
        if (typeof draghandleW == 'undefined'){draghandleW = 300};
        if (typeof draghandleH == 'undefined'){draghandleH = 35};
        
        var objname = '';

        for (i=0; i<A_SLIDERS.length; i++) {

            if (A_SLIDERS[i].GUID == panelname) {
                objname = A_SLIDERS[i].slidepanel.id ;
                break;
            }
        }
        
        var handleName = objname + '_draghandle';
        
        getobj(objname).style.zIndex = 2000;  
        
        var dragHandle = document.createElement('div');
         
        dragHandle.id = handleName;
        dragHandle.style.position = 'relative'
        dragHandle.style.width = draghandleW;
        dragHandle.style.height = draghandleH;
        dragHandle.style.zIndex = parseInt(getobj(objname).style.zIndex) + 1;
        dragHandle.title = 'drag me';
        dragHandle.style.cursor = 'move';
        getobj(objname).appendChild(dragHandle);
        
        Drag.init(getobj(handleName), getobj(objname));
     };


function LoadContentsAsync(t,x)
{
	if(RVKernel.iid!=5753 && RVKernel.iid!=5552 && RVKernel.iid!=5767)
	{
		t.src = RVPages[x].thumb.src.replace('_thumb.jpg', thumb_suffix);
	} 
	else 
	{
		t.src = RVPages[x].thumb.src.replace('_thumb.jpg', '_2.jpg');
	}
};