/****************************************
	Enquiry Functions
*****************************************/
locked = false;

function submitQuickEnquiry() {
	
	if ( locked == false && validateEnquiry() ) {
		
		$('quickSubmitID').value = 'ajax';
		locked = true;
		new Ajax.Updater('quickResult', $('quickEnquiry').action, { method: 'post', 
																	parameters: $('quickEnquiry').serialize(),
																	onCreate:function(){quickStart()},
																	onComplete:function(){quickFinish()} });
	}
}

function validateEnquiry() {
	var name	= trim($('qName').value);
	var email	= trim($('qEmail').value);
	var comment = trim($('qComments').value);
	var noErrors = true;

	if ( name.length == 0 || name.toLowerCase() == 'enter name') {
		$('qName').className = 'qError';
		noErrors = false;
	}
	else {
		$('qName').className = '';
	}

	if ( checkEmail(email) == false ) {
		$('qEmail').className = 'qError';
		noErrors = false;
	}
	else {
		$('qEmail').className = '';
	}		

	return noErrors;
}

function quickStart() {
	new Effect.Fade('quickEnquiry', { duration: 1, queue: 'front' });
}

function quickFinish() {
	new Effect.Appear('quickResultDiv', { duration: 1, queue: 'end' });
	setTimeout('locked = false;', 2000);
}

function trim(inString) {
	return inString.replace(/^\s+|\s+$/g, '');
}
function checkEmail(inEmail) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(inEmail)) {
		return false;
	}
}


/************************************************/

function addBookmark(title, url) {
        if (window.sidebar) { // firefox
              window.sidebar.addPanel(title, url,"");
        } else if( document.all ) { //MSIE
                window.external.AddFavorite( url, title);
        } else {
               alert("Sorry, your browser doesn't support this");
        }
}

function selectAll(objName, b) {

    if (b >= 1) {
        var box = document.getElementById(objName);
        if (box != null) {
            for (var i = 0; i < box.options.length; i++) {
                if (box.options[i].value != null) {
                    box.options[i].selected = true;
                }
            }
        }
    }
    return true;
}

function moveSel(dnDir, formName, selName) {

    var srcText = srcValue = destText = destValue = "";
    var srcIndex = destIndex = 0;

    var docFormName = 'document.' + formName;

//    selObj = eval(docFormName + '.'+ selName);
    selObj = document.getElementById(selName);
    srcIndex = selObj.selectedIndex;
    if (srcIndex >= 0) {
        switch (dnDir) {
        case "t":
            if (srcIndex == 0) return;
            destIndex = 0;
            break;
        case "b":
            if (srcIndex == selObj.length) return;
            destIndex = selObj.length - 1;
            break;
        case true:
            increment = 1
            if (srcIndex +1 == selObj.length) 
            return;
            destIndex = srcIndex + increment;
            break;
        case false:
            increment = -1
            if (srcIndex < 1) return;
            destIndex = srcIndex + increment;
            break;
        }
        with (selObj) {
            srcText = options[srcIndex].text;
            srcValue = options[srcIndex].value;
            destText = options[destIndex].text;
            destValue = options[destIndex].value;
            options[destIndex].text = srcText;
            options[destIndex].value = srcValue;
            options[srcIndex].text = destText;
            options[srcIndex].value = destValue;

            selectedIndex = destIndex;
        }
    }
    
}