/* - - 
Seriously though, this code is Copyright TradeOnlySearch.com 2007-2009.
- - */

function showHideExchOverride(bool)
{
	if (bool) $('#currency_self_show').css('display','inline');
	else {
		$('#currency_self').val('');
		$('#currency_self_show').css('display','none');
	}
};

function prodAddToQuote(id,stats_id) {
	$('#load_quote').hide(200).html('Loading...').show(100);
	$.get('ajax.php?go=quote-sheet&do=add_product&id='+id+'&stats_id='+stats_id,function(d){
		$('#load_quote')
		 .html(d)
		 .hide(0)
		 .show(200)
		 ;
		setTimeout(function(){oohLookAtMe($('#load_quote'))},200);
	});
	return false;
};

function prodAddToIdeas(id,stats_id) {
	$('#load_ideas').hide(200).html('Loading...').show(100);
	$.get('ajax.php?go=ideas-sheet&do=add_product&id='+id+'&stats_id='+stats_id,function(d){
		$('#load_ideas')
		 .html(d)
		 .hide(0)
		 .show(200)
		 ;
		setTimeout(function(){oohLookAtMe($('#load_ideas'))},200);
	});
	return false;
};

function prodAddToTransfers(id,stats_id) {
	$('#load_transfers').hide(200).html('Loading...').show(100);
	$.get('ajax.php?go=transfers&id='+id+'&stats_id='+stats_id,function(d){
		$('#load_transfers')
		 .html(d)
		 .hide(0)
		 .show(200)
		 ;
		setTimeout(function(){oohLookAtMe($('#load_transfers'))},200);
	});
	return false;
}

function prodAddToTransfers2()
{
	$('#prodAddToTransfers').submit();
}

function oohLookAtMe(el)
{
	el.css('borderTop','2px solid #fff')
	 .animate({borderTopWidth:"30px"},100)
	 .animate({borderTopWidth:"0"},200)
	 .animate({borderTopWidth:"5px"},100)
	 .animate({borderTopWidth:"0"},100)
	;
};

function enableDeleteMsg()
{
	$('.deletemsg').bind('click',function(){
		el=$(this);
		el.unbind('click');
		$('#load_msg_box').hide(200);
		var id=el.attr('id').split("_")[1];
		$.get('ajax.php?go=msg&do=delete&id='+id, function(data){
			if (data!="") {
				$('#load_msg_box').html(data).show(200);
				enableDeleteMsg();
			}
		});
		return false;
	});
};

function submitMiniSearchForm() {
	excludeVal('k_input2');
	return true;
};

function submitAdvsearchForm() {
	excludeVal('k_input');
	excludeVal('kx_input');
	loading(true);
	$('#advsearchForm').unbind('submit').submit();
	return false;
};

function submitSearchServicesForm() {
	$('#searchServicesForm').submit();
};

function excludeVal(id)
{
	if ($('#'+id).val()==$('#'+id+'_exclude').val()) $('#'+id).val('');
};

$.fn.extend({

	showDrop: function(time) {
		$(this).animate({height:'auto'},500);
	}
	,
	titleInValue: function(options) {
		
		var form=this;
		this.find('input[type="text"],textarea').each(function(i) {
			var title=$(this).attr('title');
			if ($(this).val()=='') {
				$(this).addClass('waiting').val(title)
					.blur(function(){
						$(this).removeClass('active');
						if ($(this).val()=='' || $(this).val()==title) $(this).addClass('waiting').val(title);
					})
					.focus(function(){
						$(this).removeClass('waiting').addClass('active');
						if ($(this).val()==title) $(this).val('');
					});
				//
			}
			else
			{
				$(this).unbind('click');
			}
		});
		// clear the titles on submit
		$(this).unbind('submit');
		$(this).bind('submit',function(){
			form.find('input[type="text"],textarea').each(function(i){
				if ($(this).val()==$(this).attr('title')) $(this).val('');
			});
			return true;
		});
	}
});

jQuery.fn.center = function(params) {

		var options = {

			vertical: true,
			horizontal: true

		}
		op = jQuery.extend(options, params);

	return this.each(function(){
		var width = $(this).width();
		var height = $(this).height();
		var halfWidth = (width/2)*(-1);
		var halfHeight = ((height/2)*(-1));
		var top=Math.ceil(($(window).height()/2) - (height/2)+ $(window).scrollTop()) + 'px';
		$(this).css({position: 'absolute'});
		$(this).css({top:top,width:width,left:'50%',marginLeft:halfWidth});
  });
};

jQuery.fn.thumbpop = function(params) {

	var imgpoparray='1,0|1,1|0,1|-1,1|-1,0|-1,-1|0,-1|1,-1';
	imgpoparray=imgpoparray.split("|");
	var imgpop_startsize=25;
	var imgpop_offset=130;
	return this.each(function(){
		var offset=$(this).offset();
		$(this).hover(function(){
			ids=$(this).attr('class').split(' ')[1].replace("{","").replace("}","").split(',');
			imgsrc=$(this).attr('src');
			var imgpop_ctrtop=offset.top+($(this).height()/2)-(imgpop_startsize/2);
			var imgpop_ctrleft=offset.left+($(this).width()/2)-(imgpop_startsize/2);
			for (i=0;i<ids.length;i++)
			{
				var this_offset=imgpoparray[i].split(",");
				var imgpop_top=(offset.top + (this_offset[1]*imgpop_offset));
				var imgpop_left=(offset.left + (this_offset[0]*imgpop_offset));
				var imgpop_topstart=imgpop_top+($(this).height()-imgpop_startsize)/2;
				var imgpop_leftstart=imgpop_left+($(this).width()-imgpop_startsize)/2;
				imgnew=imgsrc.replace("_","_"+ids[i]+"_");
				var img = new Image(); // load before displaying
				$('body').append('<div class="imgpopped" id="imgpopped_'+ids[i]+'"style="position:absolute;"><img src="'+imgnew+'" alt="img" style="height:100%;width:100%;" /></div>');
				$('#imgpopped_'+ids[i]).css({background:'#fff',opacity:0.5, top:imgpop_topstart+'px', left:imgpop_leftstart+'px', height:imgpop_startsize+'px', width:imgpop_startsize+'px',zIndex:999});
				$('#imgpopped_'+ids[i]).animate({opacity:1,top:imgpop_top+'px',left:imgpop_left+'px',width:'125px',height:'125px'}, 200+(50*i) );
			}
		},function(){
			for (i=0;i<ids.length;i++)
			{
				$('#imgpopped_'+ids[i]).animate({opacity:0}, 100 +(i*25));
				setTimeout("$('#imgpopped_"+ids[i]+"').remove()",101+(i*25));
	
			}
		});
	});
};

function isNumberKey(charCode)
{
	if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=46) return false;
	else return true;
};

function downloadFile(fn)
{
	$('body').append('<iframe frameborder="0" width="1" height="1" style="display:none;" src="index.php?go=download&amp;do=d&amp;fn='+fn+'"></iframe>');
};

/* pre 2008 */

var blocks = new Array();
var blocksUrls = new Array();
var blockCount;

function initBlocks() {
	blockCount=blocks.length;
	temp=parent.document.URL.split("#");
	if (blockCount>0) showBlock(1);
	if (temp[1]!='' && blockCount>1) {
		for (i=0; i<blockCount; i++) {
			if (blocks[i]==temp[1]) {
				var blocknum=i+1
				showBlock(blocknum);
			}
		}
	} 
};

function hideBlocks() {
	blockCount=blocks.length;
	for (var x=1; x<=blockCount; x++)
	{
		$('#block'+x).hide();
		$('#tab'+x).removeClass('on').addClass('off');
		tabclass=$('#tab'+x).attr('class');
		if (tabclass!=undefined)
		{
			if ($('#tab'+x).attr('class').substr(0,8)!='disabled') $('#tab'+x).addClass('off');
		}
	}
};

function showBlock(blocknum,template,id) {
	hideBlocks();
	$('#block'+blocknum).show();
	$('#tab'+blocknum).removeClass('off').addClass('on');
	
	if (blocksUrls.length>0) {
		url=blocksUrls[blocknum-1];
		if (url!='') 
		{
			temp=url.split("&");
			template=temp[0];
			if ($('#load_'+template).html()=='') loadReplace('index.php?go='+url,'load_'+template,1,false,true);
		}
	}
};

var browser = new sniffBrowser();

function switchPriceTable(num)
{
	$(".pricetable").hide();
	$("#pricetable_"+num).show();
	$("#pricetable_tabs span").removeClass('on');
	$("#pricetable_tab_"+num).addClass('on');
};

function addSupplier(id)
{
	moveSupplier(id,true);
};

function removeSupplier(id)
{
	moveSupplier(id,false);
};

function moveSupplier(id,tofrom)
{
	var suppliers_in=ge("suppliers_in").value;
	var suppliers_out=ge("suppliers_out").value;
	if (tofrom)
	{
		// remove from out and add to in
		suppliers_out=eval('suppliers_out.replace(/,'+id+',/,",")');
		suppliers_in+=id+',';
		ge("sin_"+id).style.display='block';
		ge("sout_"+id).style.display='none';
	}
	else
	{
		suppliers_in=eval('suppliers_in.replace(/,'+id+',/,",")');
		suppliers_out+=id+',';
		ge("sin_"+id).style.display='none';
		ge("sout_"+id).style.display='block';
	}
	ge("suppliers_in").value=suppliers_in;
	ge("suppliers_out").value=suppliers_out;
};

function saveSupplierList()
{
	ge("form_supplier_list").submit();
};

function zoomProcessOpen(prod_id)
{
	loadReplace('ajax.php?go=zoomify&prod_id='+prod_id,'zoomMovie');
	ge('zoomWindow').style.display='block';
	setTimeout('zoomOpen('+prod_id+');',12000);
	ge('zoomLink').innerHTML='<strong>Processing...</strong>';
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 10</h2>';",1000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 9</h2>';",2000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 8</h2>';",3000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 7</h2>';",4000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 6</h2>';",5000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 5</h2>';",6000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 4</h2>';",7000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 3</h2>';",8000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 2</h2>';",9000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait... 1</h2>';",10000);
	setTimeout("ge('zoomMovie').innerHTML='<h2>Processing image. Please wait...</h2>';",11000);
	setTimeout("ge('zoomLink').innerHTML='<strong><a href=\"#\" onclick=\"zoomOpen("+prod_id+");\">Zoom and pan</a></strong>'",11000);
};

function zoomOpen(prod_id) {
	imagepath='/voyager_images/products/'+prod_id+'/'+prod_id+'_trim_zdata';
	ge('zoomWindow').style.display='block';
	AC_FL_RunContent('elementid','zoomMovie','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','width','750','height','500','id','zoomMovie','flashvars','zoomifyImagePath='+imagepath,'src','_src/blankDynamicViewer','menu','FALSE','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','name','zoomMovie' );
}
function zoomClose() {
	ge('zoomWindow').style.display='none';
};


function showAltImage(image_id)
{
	var prod_id=image_id.split("-")[0];
	var image='http://www.tradeonly.co.uk/voyager_images/products/'+prod_id+'/'+image_id+'_300.jpg';
	ge('prod_img').src=image;
};

function undoAltImage(image_id)
{
	var prod_id=image_id.split("-")[0];
	var image='http://www.tradeonly.co.uk/voyager_images/products/'+prod_id+'/'+prod_id+'_300.jpg'; // revert to prod id
	//replace src
	ge('prod_img').src=image;
	
};

function openLargeImage(image_prod_id,image_id)
{
	var prod_id=image_prod_id.split("-")[0];
	var image='http://www.tradeonly.co.uk/voyager_images/products/'+image_prod_id+'/'+image_prod_id+'_large.jpg';
	ge('prod_image_large').style.display='block';
	ge('prod_image_large_inner').innerHTML='<a href="#" onclick="closeLargeImage();return false;" title="Click to close"><img width="600" height="600" src="'+image+'" alt="Large Image" title="Click to close" /></a>';
	
//	loadReplace(image,'load_prod_image_large',1,true,true);
};


function closeLargeImage()
{
	ge('prod_image_large').style.display='none';
};

function checkQmqForm()
{
	if (ge('quantity1').value=='') 
	{
		alert('Request at least one quantity');
		return false;
	}
	else return true;
};

function keepalive()
{
	loadReplace('keepalive.php','load_keepalive',1);
};

function hideSelectsBecauseIeIsRubbish(hide) {
	if (browser.ie6) {
		var s = document.getElementsByTagName('select');
		for (var i=0; i<s.length; i++) {
			if (hide==true) selectReplaceBlank(s[i]);
			else selectUnReplaceBlank(s[i]);
		}
	}
}
function selectReplaceBlank(obj)
{
//	div='<div style="border:5px solid red;"></div>';
	obj.style.display='none';
};

function selectUnReplaceBlank(obj)
{
	obj.style.display='inline';
};

function startup() {
	loadReplace('ajax.php?go=ideas-sheet&do=show_sheet','load_ideas',1);
	loadReplace('ajax.php?go=quote-sheet&do=show_sheet','load_quote',1);
	loadReplace('ajax.php?go=transfers','load_transfers',1);
	loadReplace('ajax.php?go=prod_add_samples','load_prod_add_samples',1);
}

function deleteUser()
{
	ge('user_ac').value=-1;
	ge('user_form').submit();
};

function showSearchOB() {ge('links_ob').style.display='block';};
function hideSearchOB() {ge('links_ob').style.display='none';};

function switchSupplierList()
{
	if (ge('prefsup').checked==true) loadReplace('ajax.php?go=misc&do=xu&list=user','load_u',1);
	else loadReplace('ajax.php?go=misc&&do=xu&list=all','load_u',1);
};

function showAddFav()
{
	ge('fav_form').style.display='block'; // ie is rubbish
};

function hideAddFav()
{
	ge('fav_form').style.display='none';
};

function addFav() {
	loadReplacePost('form_add_to_fav','load_user_fav',1,true,'Adding...');
	ge('fav').innerHTML='<div id="is_fav_star"></div>';
	ge('fav_form').style.display='none';
};

// reg form
function checkPassword_a() {
	if (ge('reg_pass_a').value.length<8) ge('pass_error_a').innerHTML='Too short';
	//else if (toLowerCase(ge('reg_pass_a').value)='password') ge('pass_error_a').innerHTML='"password" is a rubbish password! Please choose another.';
	else ge('pass_error_a').innerHTML='';
};

function checkPassword_b() {
	if (ge('reg_pass_a').value.length==ge('reg_pass_b').value.length && ge('reg_pass_a').value!=ge('reg_pass_b').value) 
	{
		ge('pass_error_b').innerHTML='Does not match';
	}
	else 
	{
		ge('pass_error_b').innerHTML='';
	}
};


function redirect(wherego) {
	window.location = wherego;
};


function productAddSampleToCart() {
	loadReplacePost('form_prod_add_samples','load_prod_add_samples',1,true);
	ge('submit_prod_add_samples').disabled=true;
	ge('submit_prod_add_samples').value='Products Added';
	ge('prod_add_samples_info').style.display='block';
};

function sampleRemoveFromCart(id) {
	ge('sample_'+id).value=0;
	ge('form_samples').submit();
};

function checkLength(id,howmany) {
	var string=$('#'+id).val();
	var count = $('#'+id).val().length;
	var remaining = howmany-count;
	if (count>=howmany) {('#'+id).val(string.substring(0,howmany));remaining='No';}
	$('#'+id+'_cr').html(remaining+' characters remaining');
};


function supplierTabSendEmail() {
	loadReplacePost('form_supplier_sendemailto','load_supplier_sendemailto',1,true,'Sending...');
	//setTimeout("ge(\'contacts_2\').style.display=\'none\';ge(\'contacts_1\').style.display=\'block\';",500);
	ge('contacts_2').style.display='none';ge('contacts_1').style.display='block';
};

function newIdeasSheet() {
	loadReplace('ajax.php?go=ideas-sheet&do=clear_current','load_ideas',1);
};

function deleteIdeasSheet() {
	ge('ideas_sheet_form').st.value=-1;
	ge('ideas_sheet_form').submit();
	loadReplace('ajax.php?go=ideas-sheet&do=show_sheet','load_ideas',1);
};

function newQuoteSheet() {
	loadReplace('ajax.php?go=quote-sheet&do=clear_current','load_quote',1);
};

var areYouSureArray=new Array();

function areYouSure(divid,function_call,text) {
	if (text==undefined) text='Are you sure?';
	var nextcount=areYouSureArray.length;
	areYouSureArray[nextcount]=ge(divid).innerHTML;
	ge(divid).innerHTML=text+' <a href="#" onClick="'+function_call+'; return false;">Yes</a> <a href="#" onClick="areYouSureNo(\''+divid+'\','+nextcount+');return false;">No</a>';
};

function areYouSureNo(divid,nextcount) {
	ge(divid).innerHTML=areYouSureArray[nextcount];
};



function removeProdFromIdeasSheet(id) {
	ge('prods_'+id).value=-1;
	toHide=ge('prods_'+id+'_li');
	toHide.style.display='none'; // IE has problems with setting opacity with nested elements
	needsSaving();
};

function removeProdFromTransfers(id) {
	ge('prods_'+id).value=-1;
	toHide=ge('prods_'+id+'_li');
	toHide.style.display='none'; // IE has problems with setting opacity with nested elements
	needsSaving();
};

function needsSaving() {
	$('#changessaved').hide();
	$('#changesnotsaved').show();
	$('#changesnotsaved2').show();
}
function needsSavingNot() {
	$('#changessaved').show();
	$('#changesnotsaved').hide();
	$('#changesnotsaved2').hide();
};

function toggleRecent() {
	if (ge('listRecent').className=='on') ge('listFav').className='h';
	else
	{
		ge('listRecent').className='on';
		loadReplace('ajax.php?go=user_recent','load_user_recent',1,true);
	}
};

function toggleFav() {
	if (ge('listFav').className=='on') ge('listFav').className='h';
	else
	{
		ge('listFav').className='on';
		loadReplace('ajax.php?go=user_fav','load_user_fav',1,true);
	}
};

function toggleIdeas() {
	if (ge('listIdeas').className=='on') ge('listIdeas').className='h';
	else
	{
		ge('listIdeas').className='on';
		loadReplace('ajax.php?go=ideas-sheet&do=show_list','load_user_ideas',1,true);
	}
};

function toggleQuotes() {
	if (ge('listQuotes').className=='on') ge('listQuotes').className='h';
	else
	{
		ge('listQuotes').className='on';
		loadReplace('ajax.php?go=quote-sheet&do=show_list','load_user_quotes',1,true);
	}
};

function searchSuggestFull() {
	var str = escape(ge('qsrch_input').value);
	if (str.length>2) {
		loadReplace('ajax.php?go=suggest&s='+str,'qsrch_results',1,true); 
		hideSelectsBecauseIeIsRubbish(true);
	}
	else 
	{
		hideSelectsBecauseIeIsRubbish(false);
		searchSuggestHide();
	}
};

function searchSuggestHide() {
	hideSelectsBecauseIeIsRubbish(false);
	ge('qsrch_results').style.display='none';
};

function searchSuggest() {
	var str = escape(ge('k_input').value);
	if (str.length>2) loadReplace('ajax.php?go=suggest_keywords&s='+str,'k_results',2,true); 
	else ge('k_results').style.display='none';
};

function submitSearchThemeForm() {
	ge('searchThemeForm').submit();
};

function onChangeTheme (theme) {
	loadReplace('ajax.php?go=theme&ta='+theme,'load_tb',1)
};

function onChangeServices (id,val) {
	var thisurl = 'ajax.php?go=search_services&s='+id+'&id=' + val; 
	if (id=='sb') {ge('load_sc').innerHTML='<select disabled="disabled"><option>- Define Further -</option></select>';}
	loadReplace(thisurl,'load_'+id,1)
};

/* - - CB - - */

function tos_onChangeCat (id,idx,val) {
	var thisurl = 'ajax.php?go=search_cat&c='+id+'&id=' + val+'&idx=' + idx; 
	if (id=='cb') {ge('load_cc'+idx).innerHTML='<select disabled="disabled"><option>- Define Further -</option></select>';}
	loadReplace(thisurl,'load_'+id+idx,1);
};

function checkMyaccount (thisform) {

	var f = thisform.title;
	var v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a title");
		f.focus();
		return false;
	}

	f = thisform.firstname;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a first name");
		f.focus();
		return false;
	}
	
	f = thisform.lastname;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a last name");
		f.focus();
		return false;
	}
	
	f = thisform.telephone;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a telephone");
		f.focus();
		return false;
	}
	
	f = thisform.email;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter an email");
		f.focus();
		return false;
	}
	
	f = thisform.password;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a password");
		f.focus();
		return false;
	}

	f = thisform.password2;
	v = f.value;
	if (v.replace(/ /gi,"")=="") {
		alert("please enter a confirmation password");
		f.focus();
		return false;
	}
	
	//return false;

	loadReplacePost(form_id,id,1,true);
	
	return false;
	
};

/* - - - - - */


function ge(e,f){
    if(document.layers){
        f=(f)?f:self;
        if(f.document.layers[e]) {
            return f.document.layers[e];
        }
        for(W=0;i<f.document.layers.length;W++) {
            return(ge(e,fdocument.layers[W]));
        }
    }
    if(document.all) {
        return document.all[e];
    }
    return document.getElementById(e);
};



/* not sure if these are used */

function getquerystring(prod_id) {
    var form = document.forms['f1'];
    qstr = 'prod_id=' + escape(prod_id);  // NOTE: no '?' before querystring

    return qstr;
};

function SetAndGo(f,id,v) {
	$('#'+id).val(v);
	$('#'+f).submit();
};

function SetAndStay(divid,v) {
	$('#'+divid+'_input').val(v);
	HideDiv(divid);
};

/* - - */



/* AJAX replace div innerHTML */

// http://developer.mozilla.org/en/docs/AJAX:Getting_Started
function loadReplace(url,id,type,block,loading) {
	loadReplaceReal('GET',url,id,type,block,loading);
};

function loadReplacePost(form_id,id,type,block,loading) {
	//loadReplaceReal('POST','ajax.php?'+makeQueryStringFromForm(form_id),id,type,block,loading);
	loadReplaceReal('GET','ajax.php?'+makeQueryStringFromForm(form_id),id,type,block,loading);
};

function loadReplaceReal(calltype,url,id,type,block,loading) {
	var httpRequest;

	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
			// See note below about this line
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
					   try {
							httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
						   } 
						 catch (e) {}
					  }
								   }

	if (!httpRequest) {
		//alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	httpRequest.onreadystatechange = function() { sendToDiv(httpRequest,id,type,block,loading); };
	httpRequest.open(calltype, url, true);
	if (calltype=="POST") {
		httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	}
	httpRequest.send('');

};


function sendToDiv(httpRequest,id,type,block,loading) {

/*	if (httpRequest.responseText.match( /^Relocating\:/i ))
	{
		var result=httpRequest.responseText;
		var url = result.replace( /^Relocating\:\s+/i, '' );
		document.write(url);//window.location.href = $url;
	} 
*/		
	if (block==true) $('#'+id).show();
		if (loading!=undefined) {
			if (loading==true || loading=='') loading='Loading...';
			$('#'+id).html('<img src="_src/images/ajax-loader.gif" /> '+loading);
		}
	
	if (httpRequest.readyState == 4) {
		if (httpRequest.responseText==undefined) return false;
		if (httpRequest.status == 200) {
			if (type==1 || type=='undefined') $('#'+id).html(httpRequest.responseText);
			else if (type==2) $('#'+id).html(parseClickToFill(httpRequest.responseText));
			else if (type==3) $('#'+id).val(httpRequest.responseText);
		} else {
			$('#'+id).html('Error');
		}
	}

};

function alertContents(httpRequest) {

	if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			alert(httpRequest.responseText);
		} else {
			alert('There was a problem with the request.');
		}
	}

};

//http://www.dynamicajax.com/fr/AJAX_Suggest_JavaScript-271_290_312_314.html

function parseClickToFill(str) {
	str = str.split("\n");
	for(i=0; i < str.length - 1; i++) {
		//Build our element string.  This is cleaner using the DOM, but
		//IE doesn't support dynamically added attributes.
		var suggest = '<div ';
	//	suggest += 'onmouseover="suggestOver(this);" ';
		//suggest += 'onmouseout="suggestOut(this);" ';
		suggest += 'onclick="setSearch(this.innerHTML);" ';
		suggest += '>' + str[i] + '</div>';
	}
	return suggest;
};


//Click function
function setSearch(value) {
	ge('k_input').value = value;
	ge('k_results').innerHTML = '';
};

/* * * */

function makeQueryStringFromForm(form_id){
	queryString="";
	var frm = ge(form_id);
	var numberElements = frm.elements.length;
	for(var i = 0; i < numberElements; i++) {
		// check for unchecked checkbox and skip if so.
		if (frm.elements[i].type=='checkbox' && frm.elements[i].checked==false) continue;
		queryString += frm.elements[i].name+"="+
		encodeURIComponent(frm.elements[i].value)+"&";
	}
	
	return queryString;
};

/* * */


/* * * * */


function sniffBrowser() {
	agent = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);
	this.ns = ((agent.indexOf('mozilla') != -1) &&
	(agent.indexOf('spoofer') == -1) &&
	(agent.indexOf('compatible') == -1) &&
	(agent.indexOf('opera') == -1) &&
	(agent.indexOf('webtv') == -1) &&
	(agent.indexOf('hotjava') == -1));
	this.ns2 = (this.ns && (this.major == 2));
	this.ns3 = (this.ns && (this.major == 3));
	this.ns4 = (this.ns && (this.major == 4));
	this.ns6 = (this.ns && (this.major >= 5));
	this.ie = ((agent.indexOf("msie") != -1) &&
	(agent.indexOf("opera") == -1));
	this.ie3 = (this.ie && (this.major < 4));
	this.ie4 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 4") != -1));
	this.ie5 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 5.") != -1) &&
	(agent.indexOf("msie 5.5") == -1) &&
	(agent.indexOf("mac") == -1));
	this.iem5 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 5.") != -1) &&
	(agent.indexOf("mac") != -1));
	this.ie55 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 5.5") != -1));
	this.ie6 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 6.") != -1));
	this.ie7 = (this.ie && (this.major == 4) &&
	(agent.indexOf("msie 7.0b") != -1));
	this.nsdom = (this.ns4 || this.ns6);
	this.ie5dom = (this.ie5 || this.iem5 || this.ie55);
	this.iedom = (this.ie4 || this.ie5dom || this.ie6);
	this.w3dom = (this.ns6 || this.ie6 ||this.ie7);
};




// * * AC_RunActiveContent_in_element.js * * * * /

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
};

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
};

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
};

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
};

function AC_Generateobj(objAttrs, params, embedAttrs, elementid) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  
  ge(elementid).innerHTML=str;
//  document.write(str);
};

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs, ret.other["elementid"]);
};

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs, ret.other["elementid"]);
};

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  ret.other = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
	  case "elementid":
        ret.other["elementid"] = args[i+1];
	    break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
};




 /* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * $LastChangedDate: 2007-07-21 18:45:56 -0500 (Sat, 21 Jul 2007) $
 * $Rev: 2447 $
 * Version 2.1.1  */
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};})(jQuery);