var system = '/cgi-bin/ecommerce/system.pl';
var search_script = '/cgi-bin/ecommerce/search.pl';
var advert_widget = '/cgi-bin/infxwidgets/widget-adverts.pl';
var basket_widget = '/cgi-bin/infxwidgets/widget-basket.pl';
var product_widget = '/cgi-bin/infxwidgets/widget-product.pl';
var login_widget = '/cgi-bin/infxwidgets/widget-login.pl';
var profile_widget = '/cgi-bin/infxwidgets/widget-profile.pl';
var review_widget = '/cgi-bin/infxwidgets/widget-review.pl';
var payment_control = '/cgi-bin/payment-control.pl';
var newsletter_signup = '/cgi-bin/newsletter.pl?ac=subscribe&json=1';
var send_info = '/cgi-bin/send-info.pl';

var system_state = '';
var basket_state = '';
var last_search = '';
var search_timeout;
	
function $(id){
	return document.getElementById(id);
}

function submit_form(json){
	var frmObj = $(json.frmname);
	if(frmObj){
		for(var n in json){
			var obj = $(n);
			if(obj){
				obj.value = json[n];
			}else if(n != 'frmname' && n != 'val_list' && n != 'error_panel'){
				alert("Can't Set "+n+" in "+json.frmname+" to "+json[n]);
			}		
		}
		if(json.val_list){
			if(verifylist(frmObj,json.val_list,json.error_panel)){
				frmObj.submit();
			}
		}else{
			frmObj.submit();
		}
	}else{
		alert("Can't find form with name "+json.frmname);
	}
}


function signup_for_newsletter(type,message){
	if($('signup_name')){ $('signup_name').value = ($('signup_name').value == 'Your Name')?"":$('signup_name').value; }
	if($('signup_email')){ $('signup_email').value = ($('signup_email').value == 'your@email.com')?"":$('signup_email').value; }
	if(validate_single_field($('signup_email'),{'signup_email':'email'})){ 
		var name = ($('signup_name'))?$('signup_name').value:"";
		ajax_request(newsletter_signup+'&name='+name+'&email='+$('signup_email').value+'&signup_type='+type+'&successtext='+escape(message),"newsletter_callback('newsletter_signup',http_request.responseText);");
	}
}

function newsletter_callback(id,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	if($(id)){
		$(id).innerHTML = "<b>"+json.title+"</b><br/>"+json.message;
	}
}

function send_page_to_a_friend(message){
	if(validate_single_field($('friend_email'),{'friend_email':'email'})){ 
		ajax_request(send_info+'?ac=send_to_a_friend&friends_email='+$('friend_email').value+'&recommended_page='+escape(location.href)+'&successtext='+escape(message),"ajax_fill_data('send_to_a_friend',http_request.responseText);");
	}
}

function findPos(obj){		
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function keyCheck(e,checkcode){
	var keycode = (window.event)?event.keyCode:e.keyCode;
	return (keycode == checkcode)?true:false;
}

function join_objects(){
	for(var x=1;x<arguments.length;x++){
		for(var p in arguments[x]){
			arguments[0][p] = arguments[x][p];
		}
	}
}

function BC_datachange(obj,lcb_fieldname){
	if($('datachange')) $('datachange').value = 1;
	$(lcb_fieldname).value = '';
}

function toggle_panels(id_list,force){
	var id_array = id_list.split(',');
	for(var x=0;x<id_array.length;x++){
		toggle_panel(id_array[x],force);
	}
}


function toggle_panel(id,force){
	var obj = $(id);
	if(obj) obj.style.display = (obj.style.display == 'none' || force == 1)?'block':'none';
}

function toggle_panel_visibility(id,force){
	var obj = $(id);
	if(obj) obj.style.visibility = (obj.style.visibility == 'hidden' || force == 1)?'show':'hidden';
}

function panel_control(id,display){
	var obj = $(id);
	if(obj) obj.style.display = display;
}

function load_page(href){
	if(href != location.href) location.href = href;
}

function login_refresh(){
	_infx.popup.layer(0,'');
	window.location.reload(true);
}

function login_popup(json){
	if(json.ac != ''){
		ajax_post_request(login_widget,json,"popup_callback(http_request.responseText)");
	}
}

function profile_popup(json){
	if(json.ac != ''){
		if(json.sendform) add_form_to_json(json,json.sendform);		//ADD FORM CONTENTS TO POST
		ajax_post_request(profile_widget,json,"popup_callback(http_request.responseText)");
	}
}

function popup_callback(jsonstr){
	var json;
	eval("json = "+jsonstr+";");

	if(json.ac == 'display_dialog'){
		_infx.popup.layer(1,json.dialog_html);
	}else if(json.ac == 'refresh'){
		window.location.reload(true);
	}
}

function add_form_to_json(json,formid){
	var frmobj = $(formid);
	var elements = frmobj.getElementsByTagName('input');
	for(var x=0;x<elements.length;x++){
		json[elements[x].id] = elements[x].value;		//Copy billing address info to delivery
	}
	
	var selectors = frmobj.getElementsByTagName('select');
	for(var x=0;x<selectors.length;x++){
		json[selectors[x].id]  = selectors[x].value;
	}
}

function write_review_popup(json){
	if(json.ac != ''){
		ajax_post_request(review_widget,json,"write_review_callback(http_request.responseText)");
	}
}

function write_review_callback(jsonstr){
	var json;
	eval("json = "+jsonstr+";");

	if(json.ac == 'display_dialog'){
		_infx.popup.layer(1,json.dialog_html);
		jsQ('input[@type=radio].star').rating();		//RE-RUN THE
	}else if(json.ac == 'refresh'){
		window.location.reload(true);
	}
}

function quote_request(json){
	if(json.ac != ''){
		ajax_post_request(product_widget,json,"quote_request_callback(http_request.responseText)");
	}
}

function quote_request_callback(jsonstr){
	var json;
	eval("json = "+jsonstr+";");

	if(json.ac == 'display_dialog'){
		_infx.popup.layer(1,json.dialog_html);
	}
}

function control_payment_gateways(json){
	var payment_type = $('payment_type');
	//alert('function control_payment_gateways '+json.load_form);
	if((json.type == '' || json.type == undefined) && payment_type) json.type = payment_type.value;
	else payment_type.value = json.type; 

	if(json.highlight == 1){
		var payment_method_fieldset = $('payment_method');
		var options = payment_method_fieldset.getElementsByTagName('div');
		for(var x=0;x<options.length;x++){
			options[x].className = (options[x].id == 'payment_gateway_'+json.type)?'option_on':'option_off';
		}
	}
	
	if(json.reset_selector == 1){	
		//Clear card selector if a payment option is manually selected
		var card_select = $('select_card_detail_id');
		if(card_select) card_select.selectedIndex = 0;
	}

	if(json.submit == 1){
		_infx.popup.masker(1);	
		ajax_request_form('dynamic_form_div',json.type);
	}else if(json.load_form){								//Need to load a form		
		var params = {};
		params.ac = 'load_form';
		params.form_type = json.load_form;
		params.type = json.type;
		if($('mode')){
			params.mode = $('mode').value;
		}
		//_infx.popup.loading(1);
		ajax_post_request(payment_control,params,"callback_fill_payment_form('"+json.type+"','"+json.highlight+"',http_request.responseText);");
	}else {
		if(json.type == 'paypal' || json.type == 'google'){														//Hide any loaded forms
			var payment_form_div = $('payment_form');
			payment_form_div.innerHTML = '';
		}
		if(json.highlight == 1){				//       BC 2009 changed this display_checkout button to be shown for all json.types , NOT just paypal or google
			display_checkout_button(json.type);
		}
	}
}

function display_checkout_button(type){
	var checkout_button = $('checkout_button');
	if(checkout_button){
		var checkout_button_text = $('checkout_button_text');
		if(checkout_button_text) checkout_button_text.innerHTML = ((type == 'paypal')?'Checkout with Paypal':((type == 'google')?"Checkout with Google":"Checkout"));
		checkout_button.style.display = (type != '')?'block':'none';
	}
}

function callback_fill_payment_form(type,highlight,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	ajax_fill_data('payment_form',json.html);
	if(highlight == 1){
		display_checkout_button(type);
	}
	_infx.popup.loading(0);
}

function search_control(json){
	if(json.searchtxt != ''){
		if(json.searchtxt != last_search || (json['search._start'] || json['search._limit'])){
			if($('search_spinner')) $('search_spinner').style.visibility = (json.searchtxt != '')?'visible':'hidden';
			last_search = json.searchtxt;
			ajax_post_request(search_script,json,"display_search_results('search_results',http_request.responseText);");
		}
	}else{
		display_search_results('search_results','');	//Clear search results
	}
}

function display_search_results(fill_id,returned){
	if (document.getElementById(fill_id)){
		if($('search_spinner')) $('search_spinner').style.visibility = 'hidden';
		document.getElementById(fill_id).innerHTML = returned;
	}
}

function modify_basket_item(json){
	json.ac = 'modify_item';
	
	var validate = {};
	validate[json.validate] = 'numeric';
	delete json.validate;				//clean up validate property
	
	var container_div;
	//alert(json.element_container);
	if(json.element_container != ''){
		container_div = $(json.element_container);
	}
	
	if(!container_div) container_div = $('detail');
	
	if(container_div && json.ignore != 'options'){
		var elements = container_div.getElementsByTagName('select');
		//alert(elements.length);
		for(var x=0;x<elements.length;x++){
			json[elements[x].id] = elements[x].value;
			//alert(json[elements[x].id] + " = "+elements[x].value)
		}
	}
	
	if(validate_single_field($(json.validate),validate)){
		_infx.popup.layer(0,'');
		//_infx.popup.loading(1);
		_infx.popup.mini_loading('mini_basket_spinner',1);
		ajax_post_request(basket_widget,json,"basket_callback(http_request.responseText);");
	}
}

function modify_basket_quantity(json){
	json.ac = 'modify_quantity';
	
	var validate = {};
	validate[json.validate] = 'numeric';
	
	if(validate_single_field($(json.validate),validate)){
		//_infx.popup.loading(1);			//Loading overlay on
		_infx.popup.mini_loading('mini_basket_spinner',1);
		delete json.validate;				//clean up validate property
		if(json.mini){
			ajax_post_request(basket_widget,json,'update_mini_basket(\''+json.mode+'\');');
		}else{
			ajax_post_request(basket_widget,json,'update_basket();');
		}
	}
}

function remove_promo_code(json){
	json.ac = 'remove_promo_code';	
	var confirm = window.confirm('Do you really want to remove this promotional code from your order?');
	if(confirm) ajax_post_request(basket_widget,json,'update_basket();');
}

function add_promo_code(json){
	json.ac = 'add_promo_code';	
	var validate = {};
	validate[json.validate] = 'text';
	if(validate_single_field($(json.validate),validate)){
		if(json.popup_message){
			ajax_post_request(basket_widget,json,'promo_callback_with_popup_message(http_request.responseText);');
		}else{
			ajax_post_request(basket_widget,json,'promo_callback(http_request.responseText);');
		}
	}
}

function promo_callback(jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	update_basket();
	display_message(json.message,json.message_style);	
}

function promo_callback_with_popup_message(jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	update_basket();
	_infx.popup.layer(1,"<div id='popup_form' style='width:450px;padding:0px;'><div class='close' onmousedown=\"_infx.popup.layer(0,'');\" title='Close this popup'>&nbsp;<\/div><h2 style='margin:0px;'>Add Promo Code<\/h2><div id='message' style='margin:0px;background-color:"+json.message_style+";width:437px;'>"+json.message+"<\/div><div class='clear'><\/div><\/div>");
}


function remove_basket_item(json){
	json.ac = 'remove_from_basket';	
	
	if(json.mini){		
		//_infx.popup.loading(1);			//Loading overlay on
		_infx.popup.mini_loading('mini_basket_spinner',1);
		ajax_post_request(basket_widget,json,'update_mini_basket(\''+json.mode+'\');');
	}else{
		//_infx.popup.loading(1);			//Loading overlay on
		_infx.popup.mini_loading('mini_basket_spinner',1);
		ajax_post_request(basket_widget,json,'update_basket();');
	}
}

function add_to_basket(json){
	json.ac = 'add_to_basket';
	json.mode = basket_state;
	
	var validate = {};
	validate[json.validate] = 'numeric';
	
	if($('minibasket') && $('basket')) alert('Hmmmm we have both basket types on this page.. Should only ever have one!');
	if($('minibasket')){
		json.mini = 1;
	}
	
	var option_div = $('options_'+json.product_id);
	if(option_div && json.ignore_options != 1){
		var elements = option_div.getElementsByTagName('select');
		for(var x=0;x<elements.length;x++){
			json[elements[x].id] = elements[x].value;
		}
	}
	
	if(validate_single_field($(json.validate),validate)){
		delete json.validate;				//clean up validate property
		_infx.popup.layer(0,'');
		ajax_post_request(basket_widget,json,'basket_callback(http_request.responseText);');
	}
}


function basket_callback(jsonstr){	//response comes back as json string
	var json;
	eval("json = "+jsonstr+";");

	if(json.add_to_basket == 1){
		_infx.popup.add_to_basket_message();
	}

	if(json.ac == 'display_options'){
		_infx.popup.layer(1,json.option_html);
	}else if(json.ac == 'update_mini_basket'){
		update_mini_basket(json.mode);
	}else if(json.ac == 'update_basket'){
		update_basket();
	}
}

function mini_basket_control(mode){
	//alert("UPDATE MINI BASKET");
	var json = {};
	json.ac = (mode == 'expand')?'mini_basket_expand':'mini_basket';
	basket_state = mode;	//store basket state
	
	_infx.popup.mini_loading('mini_basket_spinner',1);
	ajax_post_request(basket_widget,json,"basket_control_callback('minibasket','"+mode+"',http_request.responseText);");
}

function flash_basket(id){
	setTimeout("_infx.popup.fadeUp('"+id+"',70,95,100);",50);
	setTimeout("_infx.popup.fadeDown('"+id+"',95,70,100);",750);
}

function basket_control_callback(fill_id,mode,returned){
	ajax_fill_data(fill_id,returned);
	if(mode == 'expand'){
		_infx.popup.fadeUp(fill_id,70,95,100);
	}else{
		_infx.popup.fadeDown(fill_id,95,70,100);
	}
}

function update_mini_basket(mode){
	//alert("UPDATE MINI BASKET");
	var json = {};
	json.ac = (mode == 'expand')?'mini_basket_expand':'mini_basket';
	ajax_post_request(basket_widget,json,"ajax_fill_data('minibasket',http_request.responseText);");
}

function update_basket(){
	//alert("UPDATE BASKET");
	var json = {};
	json.ac = 'basket';
	ajax_post_request(basket_widget,json,"main_basket_callback('basket',http_request.responseText);");
}

function main_basket_callback(fill_id,returned){
	var checkout_form = $('form');
	//alert("sub main_basket_callback() "+returned.indexOf("<!--[EMPTY BASKET]-->"));
	if(returned.indexOf("<!--[EMPTY BASKET]-->") != -1){
		if(checkout_form) checkout_form.style.display = 'none';
	}else{
		if(checkout_form) checkout_form.style.display = 'block';
	}
	ajax_fill_data(fill_id,returned);
}

function delay_submit_search(value){
	var ac = 'search';
	if(search_timeout) clearTimeout(search_timeout);
	value = escape(value);
	if(arguments[1] != null){
		ac = arguments[1];
	}
	search_timeout = setTimeout("search_control({'searchtxt':'"+value+"','ac':'"+ac+"'});",750);
}

function close_search(value){
	ajax_fill_data('search_results','');
}

function update_dyn_date(field,selects){
//'F_card_detail.start_date','month',this.value);
	var obj = $(field);
	if(obj){
		var select_array = selects.split(',');
		var s1 = $(select_array[0]);
		var s2 = $(select_array[1]);
		obj.value = s1.value + '/' + s2.value;
		//alert(obj.value);
	}
}

function change_card_detail(json){
	if(json.card_detail_id != -1){
		var params = {};
		params.ac = 'load_form';
		params.form_type = 'card';
		params.mode = system_state;
		params['F_card_detail.id'] = json.card_detail_id;
		
		ajax_post_request(payment_control,params,"callback_change_card_detail('payment_form',http_request.responseText);");
	}else{
		var obj = $('payment_type');
		if(obj) obj.value = '';
		control_payment_gateways({'type':'','highlight':1});
		var payment_form_div = $('payment_form');	
		if(payment_form_div) payment_form_div.innerHTML = '';
	}
}

function callback_change_card_detail(target_id,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	//alert(json.html);
	//alert(json.type);
	control_payment_gateways({'type':json.type,'highlight':1});
	ajax_fill_data(target_id,json.html);
}

function copy_billing_to_delivery(){
	var delivery_fieldset = $('delivery_address');
	var elements = delivery_fieldset.getElementsByTagName('input');
	//alert(elements.length);
	//F_client.billing_post_code
	//F_delivery_address.delivery_post_code
	for(var x=0;x<elements.length;x++){
		var delivery_id = elements[x].id;
		if(delivery_id == 'F_delivery_address.delivery_name'){		//bug found 2/9/08 CM dont set delivery_address_id to client id duh!!
			var tobj = $('F_client.title');
			var fnobj = $('F_client.forename');
			var snobj = $('F_client.surname');
			if(tobj && fnobj && snobj) elements[x].value = ((tobj.value == -1)?"":tobj.value) + " " + fnobj.value + " " + snobj.value;		//Copy billing address info to delivery
		}else if(delivery_id != 'F_delivery_address.id' && delivery_id != 'F_delivery_address.delivery_country_id'){						//bug found 2/9/08 CM dont set delivery_address_id to client id duh!!
			var billing_id = delivery_id.replace('_delivery_address','_client');
			billing_id = billing_id.replace('delivery_','billing_');
			var obj = $(billing_id);
			if(obj) elements[x].value = obj.value;		//Copy billing address info to delivery
		}
	}
	
	var selectors = delivery_fieldset.getElementsByTagName('select');
	for(var x=0;x<selectors.length;x++){
		var delivery_id = selectors[x].id;
		if(delivery_id != 'select_delivery_address_id'){		//bug found 1/12/08 CM dont mess around with select_delivery_address_id!!
			var billing_id = delivery_id.replace('_delivery_address','_client');
			billing_id = billing_id.replace('delivery_','billing_');
			var obj = $(billing_id);
			
			var changed = 0;
			var options = selectors[x].options;
			
			for (var y=0;y<options.length;y++ ){
				if (options[y].value == obj.value){		
					var old_val = selectors[x].value;
					options[y].selected = true;
					if(selectors[x].onchange && options[y].value != -1 && old_val != obj.value) selectors[x].onchange();
					changed = 1;
				}
			}
			if(!changed) alert("Sorry not all fields could be copied.");
		}
	}
	
	var updated_obj = $('F_delivery_address.updated');
	if(updated_obj) updated_obj.value = '';
}

function update_state(json){
	json.ac = 'basket';	
	ajax_post_request(basket_widget,json,"main_basket_callback('basket',http_request.responseText);");
}

function update_delivery_charge(json){
	json.ac = 'basket';
	ajax_post_request(basket_widget,json,"main_basket_callback('basket',http_request.responseText);");
	_infx.popup.delivery_changed_message();
}

function change_delivery_address(json){
	json.ac = 'ajax_change_delivery_address';
	json.dataview = (json.profile)?2:1;
	ajax_post_request(system,json,"callback_delivery_address('"+((json.profile)?'profile_delivery_address':'delivery_address')+"','"+json.profile+"',http_request.responseText);");
}

function callback_delivery_address(target_id,profile,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	ajax_fill_data(target_id,json.html);
	if(profile != 'true') _infx.popup.loading(0);
}
 
var current_option;
function change_product_option(json){

	//alert(json.option_select_div);
	if(json.option_select_div){
		current_option = json.option_select_div;
		delete json.option_select_div;
	}
	ajax_post_request(product_widget,json,"callback_change_product_option(http_request.responseText);");	
}

function callback_change_product_option(jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	//alert(current_option);
	for(var p in json){
		if(p.indexOf("option_select_") != -1){
			if(current_option) current_option.innerHTML = json[p];
		}else{
			ajax_fill_data(p,json[p]);
		}
	}
	
}

function display_message(text,bgcolor){
	var mobj = $('message');
	if(mobj){
		mobj.style.display = 'block';
		mobj.innerHTML = text;
		mobj.style.backgroundColor = bgcolor;
	}
}

function email(name, domain, suffix, text){
   var address = name + "\u0040" + domain + "." + suffix;
   var url = "mailto:" + address;
   document.write("<a href=\"" + url + "\">" + ((!text)?address:text) + "</a>");
}

function switch_advert_category(type,amount,target,category,control_type){
	var json = {};
	json.type = type;		//smallads or mainads
	json.dir = (type == 'smallads')?'/dyn/_smallads/':'/dyn/_mainads/';
	json.amount = amount;
	json.category = category;
	json.control_type = control_type;
	json.ajax = 1;
	ajax_post_request(advert_widget,json,"advert_callback('"+target+"',http_request.responseText);");
}

function advert_callback(target,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	ajax_fill_data(json.control_type,json.control_html);
	ajax_fill_data(target,json.content);
}

function checkout_form_control(config){
	//alert("function checkout_form_control ( ac = "+config.ac+" type = "+config.type+")");
	
	// Canada 38   // Australia 13 // United Kingdom 225 // United States 226
	
	var element;
	var state_or_county_input = ((config.type == 'delivery')?'delivery_state_or_county_input':'billing_state_or_county_input');	
	if(config.ac == 'change_state'){
		//CHANGING STATE CONFIG
		if(config.type == 'delivery') update_delivery_charge({'delivery_state':config.state_id});
	}else if(config.ac == 'change_country'){
		//CHANGING COUNTRY CONFIG
		var dyn_element_prefix = ((config.type == 'delivery')?"F_delivery_address":"F_client");
		var tab_index = ((config.type == 'delivery')?"108":"133");

		if(config.country_id == 13 || config.country_id == 38 || config.country_id == 226){
			if(config.country_id == 13){															//AUSTRALIA CONFIGURATION
				element = $(((config.type == 'delivery')?'delivery_post_code_text':'billing_post_code_text'));		if(element) element.innerHTML = 'Postcode';
			}else if(config.country_id == 38){														//CANADIAN CONFIGURATION
				element = $(((config.type == 'delivery')?'delivery_post_code_text':'billing_post_code_text'));		if(element) element.innerHTML = 'Postal Code';
			}else if(config.country_id == 226){ 													//UNITED STATES OF AMERICA CONFIGURATION
				element = $(((config.type == 'delivery')?'delivery_post_code_text':'billing_post_code_text'));		if(element) element.innerHTML = 'Zip Code';
			}
			
			var ajax_json = {};
			ajax_json.ac = 'ajax_drop_down';
			ajax_json.drop_down_type = 'state';
			ajax_json.country_id = config.country_id;
			ajax_json.tab_index = tab_index;
			ajax_json.form_type = config.type;
			ajax_json.element_name = dyn_element_prefix+"."+((config.type == 'delivery')?"delivery_state_id":"billing_state_id");
			ajax_post_request(payment_control,ajax_json,"checkout_form_callback('"+state_or_county_input+"',http_request.responseText);");	
		}else{														//ALL OTHERS + UNITED KINGDOM CONFIGURATION
			element = $(((config.type == 'delivery')?'delivery_post_code_text':'billing_post_code_text'));		if(element) element.innerHTML = 'Postcode';
			element = $(state_or_county_input);
			
			if(element){
				var dyn_element_name = ((config.type == 'delivery')?"delivery_county":"billing_county");
				element.innerHTML = "<label for='County'>County <span class='astrix'>*</span></label><br /><input class='textbox' name='"+dyn_element_prefix+"."+dyn_element_name+"' id='"+dyn_element_prefix+"."+dyn_element_name+"' tabindex='"+tab_index+"' onchange=\"BC_datachange(this,'"+dyn_element_prefix+".updated');\" value=''/>";
			}
		}
		if(config.type == 'delivery') update_delivery_charge({'delivery_country':config.country_id});
	}

}

function checkout_form_callback(target,jsonstr){
	var json;
	eval("json = "+jsonstr+";");
	
	if(json.success){
		ajax_fill_data(target,json.prefix+json.html);
	}
//	var str = "";
//	for(var p in json){
//		str += p + " = " + json[p] + " / ";
//	}
//	alert(str);
}

function stop_propagation(event){
	event.cancelBubble = true;
	if (event.stopPropagation) event.stopPropagation();
	return false;
} 

//These functions remove the boxes around links
function remove_link_focus(){
	for(var i=0 ; i < document.links.length ; i++) document.links[i].onfocus=blur_link; 
}

function blur_link() {
	if (this.blur) this.blur(); 
}

if(window.attachEvent){ window.attachEvent('load',remove_link_focus); }
else{ window.addEventListener('load',remove_link_focus,false); }

/**
 * Copyright (C) 2004, CodeHouse.com. All rights reserved.
 * CodeHouse(TM) is a registered trademark.
 *
 * THIS SOURCE CODE MAY BE USED FREELY PROVIDED THAT
 * IT IS NOT MODIFIED OR DISTRIBUTED, AND IT IS USED
 * ON A PUBLICLY ACCESSIBLE INTERNET WEB SITE.
 *
 * Script Name: E-mail Hider
 *
 * You can obtain this script at http://www.codehouse.com
 */
 
function email(name, domain, suffix, text)
{
   var address = name + "\u0040" + domain + "." + suffix;
   var url = "mailto:" + address;

   if( ! text )
   {
      text = address;
   }

   document.write("<a href=\"" + url + "\">" + text + "</a>");
}
