var newsletter_signup = '/cgi-bin/infxnewsletter/emailer.pl?ac=subscribe';

var advert_widget = '/cgi-bin/infxwidgets/widget-adverts.pl';
var search_widget = '/cgi-bin/infxwidgets/widget-site-search.pl';
var send_info = '/cgi-bin/send-info.pl';

var search_timeout;

function $(id){
	return document.getElementById(id);
}

function submit_form(json){
	var frmObj = $(json.frmname);
	//var str = "";
	//for(var p in json){
	//	str += p + " = " + json[p] + " / ";
	//}
	//alert(str);
	if(frmObj){
		for(var n in json){
			var obj = $(n);
			//alert("Set "+n+" in "+json.frmname+" to "+json[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]);
			}		
		}
		//Check to see if validation is required
		//alert("VALIDATE LIST " + json.val_list);
		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_db(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('/cgi-bin/newsletter.pl?ac=subscribe&json=1&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 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),"ajax_fill_data('newsletter_signup',http_request.responseText);");
	}
}

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 keyCheck(e,checkcode){
	var keycode = (window.event)?event.keyCode:e.keyCode;
	return (keycode == checkcode)?true:false;
}

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

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 BC_datachange(obj,lcb_fieldname){
	$('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 email(name, domain, suffix, text){
   var address = name + "\u0040" + domain + "." + suffix;
   var url = "mailto:" + address;
   document.write("<a href=\"" + url + "\">" + ((!text)?address:text) + "</a>");
}

// SEARCH RELATED FUNCTIONS
function search_control(json){
	if($('search_spinner')) $('search_spinner').style.visibility = (json.searchtxt != '')?'visible':'hidden';
	if(json.searchtxt != ''){
		ajax_post_request(search_widget,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 delay_submit_search(value){
	if(search_timeout) clearTimeout(search_timeout);
	value = escape(value);
	search_timeout = setTimeout("search_control({'searchtxt':'"+value+"','ac':'search'});",500);
}

function submit_search(value){
	var json = {};
	json.ac = 'search';
	json.searchtxt = value;
	ajax_post_request(search_widget,json,"ajax_fill_data('search_results',http_request.responseText);");
}

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(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 close_search(value){
	ajax_fill_data('search_results','');
}

