/*  Campbox JavaScript
 *  (c) Copyright 2008 Martin Jansson.
 *
 * 	This file contains:
 *	SpamCheck, InsertTextInForm, Degradable Ajax
 */


/*  SpamCheck, 02-2008
 *
 *  Help user to prevent newsletter getting stuck in spamfilter. 
/*---------------------------------------------------------------*/
function spamCheckCapital (fieldname) {		// check too many capitals
	if (new RegExp(/[A-Z]{4}/).test($F(fieldname))) var type = 1;
	
	message(fieldname, type);
}

function spamCheckAttachment (fieldname) {	// check bad linking to pdf,zip,doc
	var new_string = $F(fieldname).match(/[^\/]*\.(pdf|zip|doc\w?|xls|pp(s|t)|mp3|exe)\s*$/i)	
	if (new_string) var type = 2;
	
	message(fieldname, type, new_string)
}

function message (fieldname, type, value) {
	var m = $(fieldname.id + "_message");
	
	switch (type) {
	   case 1 : m.innerHTML = "- writing uppercase might put newsletter in spam filters."; break;
	   case 2 : m.innerHTML = "- linking to " + value[0] + " might put newsletter in spam filters."; break;
	   default: m.innerHTML = '&nbsp;';
	}	
}

/*  InsertTextInForm, 02-2008
/*---------------------------------------------------*/
function insertAtCursor(fieldname, markup) {		
	var text_field = $(fieldname);
    
	//IE support
    if (document.selection) {
        text_field.focus();
		
        sel = document.selection.createRange();
        sel.text = markup;

    //Mozilla/Firefox/Netscape 7+ support
    } else if (text_field.selectionStart || text_field.selectionStart == '0') {

        text_field.focus();

        var startPos = text_field.selectionStart;
        var endPos = text_field.selectionEnd;
        text_field.value = text_field.value.substring(0, startPos) + markup + text_field.value.substring(endPos, text_field.value.length);
        text_field.setSelectionRange(endPos+markup.length, endPos+markup.length);
    } else {
        text_field.value += markup;
    }
}

function insertAfterClear (fieldname, markup) {
	$(fieldname).value = markup;
}

/*  Degradable Ajax, 02-2008
 *	
 *	Show class if support javascript/ajax
 *  Hide/Remove if not needed because of javascript/ajax
/*-----------------------------------------------------------*/
window.onload = function() {
	// show
	document.getElementsByClassName("add_for_ajax").each(function(element) { 
	element.style.display = ""; 
	});

	// hide
	document.getElementsByClassName("remove_for_ajax").each(function(element) { 
	element.style.display = "none"; 
	});
}