﻿/**
* contact.js
*/
var answerVisible = false;
var validSites = Array("are", "salen", "vemdalen", "hemsedal", "trysil", "portal");
var dotnetAutoId;
var answerPrinted = false;
var timeout;
var textAreaBlur = false;

window.onload = function() {
    initContact();
}

initContact = function() {
    dotnetAutoId = $('autoGenId').value;

    var initUrl = '/app/projects/common/templates/jenny/JennyAjaxHandler.php';
    var lang = $(dotnetAutoId + '_bLang1').value;	
	
    var p = $H({
        action: 'updateLang',
        jLang: lang
    });

    new Ajax.Request(initUrl, {
        method: 'get',
        parameters: p
    });

    if ($(dotnetAutoId + '_ansPrinted1').value == 'yes')
    {
        answerPrinted = true;
    }
	
	var initval = $(dotnetAutoId + '_query1').value;

	if(initval.length > 0)
	{
		querySmilla(false,false,false);
	}

    $(dotnetAutoId + '_query1').focus();

}

checkSubmit = function(field, e) {
    var keycode;

    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    else
        return true;

    if (keycode == 13) {
        validateForm();
        return false;
    }
    else
        return true;

}

isQuerySmilla = function(field, e) {
    var keycode;
    var val = $(dotnetAutoId + '_query1').value;

    if (val.length == 0) {
        $('autoanswer1').style.display = 'none';
        $('contactform1').style.display = 'block';
    }

    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    else
        return true;

    //space or return or ? or tab
    if (keycode == 32 || keycode == 13 || keycode == 63) {
        return true;
    }
    else
        return false;
}

getValidSite = function(site) {
    for (i = 0; i < validSites.length; i++) {
        if (site == validSites[i])
            return site;
    }

    return "salen";
}

querySmilla = function(field, e, force) {
	
	clearTimeout(timeout);		
	
	/* Do not remove the mail form if the user is moving focus from textarea direclty to radio button */
	if (e.type=='blur')
	{
		textAreaBlur = true;
		send();
	}
	else
	{
		timeout = setTimeout("send();",1000);
	}	
		
  	
}

send = function()
{
	var site = getValidSite($(dotnetAutoId + '_bSite1').value);
    var lang = $(dotnetAutoId + '_bLang1').value;
    var q = $(dotnetAutoId + '_query1').value;
    var url = '/app/projects/common/templates/jenny/JennyAjaxHandler.php';
    var target = $('smillaAnswer');
    var p = $H({
    	action: 'getQuestionAnswer',
        entry: q,
        lang: lang,
        site: site
    });
		
	var ajax = new Ajax.Request(url, {
		method: 'get',
	    parameters: p,
	    onComplete: function(transport) {
	
		    var answer = transport.responseText;
		    if (answer.length > 0) {
		
		    $(target).update(answer);
		
		    if (!answerVisible) {
		    	answerVisible = true;
		    }
		
		    $('autoanswer1').style.display = 'block';
		    
			if (textAreaBlur)
			{
		    	textAreaBlur = false;
			}
			else
			{
				$(dotnetAutoId + '_helped1').checked = 'checked';
				$('contactform1').style.display = 'none';
			}
		
		    if (!answerPrinted && $(dotnetAutoId + '_ansPrinted1').value == '') {
		    	sendStat("Answer", "");
		        $(dotnetAutoId + '_ansPrinted1').value = "yes";
		        answerPrinted = true;
		    }
		
		    	return false;
		    }
		    else {
		    	$(target).update("");
		        $(dotnetAutoId + '_helped2').checked = 'checked';
		        $('autoanswer1').style.display = 'none';
		        $('contactform1').style.display = 'block';
		        answerVisible = false;
		        return false;
		     }
	     },
	     onFailure: function(transport) {
	     return false;
	   }
	});
}

showRelRec = function(param) {
    var site = getValidSite($(dotnetAutoId + '_bSite1').value);
    var lang = $(dotnetAutoId + '_bLang1').value;
    var url = '/app/projects/common/templates/jenny/JennyAjaxHandler.php';
    var p = 'action=getQuestionAnswer&param=' + param + '&lang=' + lang + '&site=' + site;
    var target = $('smillaAnswer');

    var ajax = new Ajax.Updater(target, url, {
        method: 'get',
        parameters: p,
        onSuccess: function(transport) {
            var answer = transport.responseText;
            if (answer.length > 0) {
                if (!answerVisible) {
                    
                    answerVisible = true;
                }
                
                $('autoanswer1').style.display = 'block';
                $(dotnetAutoId + '_name1').focus();
                $('contactform1').style.display = 'none';
                $(dotnetAutoId + '_helped1').checked = 'checked';
                
                return false;
            }
            else {
                return false;
            }
        }
    })
}

showRelatedQuestion = function(tqid) {
    var site = getValidSite($(dotnetAutoId + '_bSite1').value);
    var lang = $(dotnetAutoId + '_bLang1').value;
    var url = '/app/projects/common/templates/jenny/JennyAjaxHandler.php';
    var target = $('smillaAnswer');
    var p = 'action=getQuestionAnswer&qtype=tq&tq_id=' + tqid + '&lang=' + lang + '&site=' + site;

    var ajax = new Ajax.Updater(target, url, {
        method: 'get',
        parameters: p,
        onSuccess: function(transport) {
            var answer = transport.responseText;
            if (answer.length > 0) {
                if (!answerVisible) {                    
                    answerVisible = true;
                }

                $('autoanswer1').style.display = 'block';
                $(dotnetAutoId + '_name1').focus();
                $('contactform1').style.display = 'none';
                $(dotnetAutoId + '_helped1').checked = 'checked';  
                
                return false;

            }
            else {
                return false;
            }
        }
    })
}

releaseForm = function() {
    $('contactform1').style.display = 'block';
}

hideForm = function() {
$('contactform1').style.display = 'none';
}

validateForm = function() {

    $(dotnetAutoId + "_send1").disabled = true;

    var query = $(dotnetAutoId + '_query1').value;
    var name = $(dotnetAutoId + '_name1').value;
    var email = $(dotnetAutoId + '_email1').value;
    var cat = $(dotnetAutoId + '_cat1').value;
    var auto = $('smillaAnswer').innerHTML;
    var errorMsg = $(dotnetAutoId + '_error1').value;
    var errorMsgArr = errorMsg.split(":");
    var valid = true;

    if (cat == "unselected") {
        $(dotnetAutoId + '_send1').disabled = false;
        alert(errorMsgArr[5]);
        valid = false;
        return false;
    }

    if (query.length == 0) {
        $(dotnetAutoId + '_send1').disabled = false;
        alert(errorMsgArr[1]);
        $(dotnetAutoId + '_query1').focus();
        valid = false;
        return false;
    }

    if (name.length < 2) {
        $(dotnetAutoId + '_send1').disabled = false;
        alert(errorMsgArr[2]);
        $(dotnetAutoId + '_name1').focus();
        valid = false;
        return false;
    }

    if (email.length < 2) {
        $(dotnetAutoId + '_send1').disabled = false;
        alert(errorMsgArr[3]);
        $(dotnetAutoId + '_email1').focus();
        valid = false;
        return false;
    }

    if (!validateEmail(email)) {
        $(dotnetAutoId + '_send1').disabled = false;
        alert(errorMsgArr[4]);
        $(dotnetAutoId + '_email1').focus();
        valid = false;
        return false;
    }

    if (valid) {
        $(dotnetAutoId + '_sendCtrl1').value = 'send';
        var ptype;

        if (answerPrinted)        
            ptype = "SendAnswer";
        else
            ptype = "Send";

        sendStat(ptype, "send");       

        return true;
    }
    else {

        $(dotnetAutoId + '_send1').disabled = false;
        return false;
    }
}

validateEmail = function(email) {
    var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return pattern.test(email);
}

sendStat = function(t, cb) {
    var url = '/app/projects/common/templates/jenny/JennyAjaxHandler.php';
    var a = "sendEmailStat";

    var p = $H({
        action: a,
        type: t
    });

    var ajax = new Ajax.Request(url, {
        method: 'get',
        parameters: p
    });

    if (cb == "send") {
        $('aspnetForm').submit();
        return true;
    }

    return true;
}
