var t;
var formId = "fr_contact";
var cField = "dsign";
var jField = "jsign";

function setCookie(c_name) {
    var date = new Date();
    date.setTime(date.getTime()+(900*1000));
    document.cookie = c_name+"=nwiq2svyfnwed57fin36dqvnv7v21u;expires="+date.toGMTString()+";path=/;domain="+location.host;
}

function c_rand(minV,maxV) {
    maxV++;
    var range = maxV - minV;
    var n = Math.floor(Math.random()*range) + minV;
    return n;
}

function generateSessionId() {
    session_id = "";
    session_id = session_id + String.fromCharCode(c_rand(97, 122));
    for(var i = 1; i < 30; i++) {
	if(c_rand(0, 1)) {
	    session_id = session_id + String.fromCharCode(c_rand(97, 122));
	} else {
	    session_id = session_id + String.fromCharCode(c_rand(48, 57));
	}
    }
    return session_id;
}

function setVal() {
    var sessId = generateSessionId();
    if(sessId) {
	setCookie(sessId);
	document.getElementById(formId).elements[cField].value = sessId;
    }
    t = setTimeout("hideVal()",5000);
}

function hideVal() {
    document.getElementById(formId).elements[jField].value = "sd43f374hfo2r7vg3b84txb1c023tvrg02c7894btr0";
    clearTimeout(t);
}

$(document).ready(function() {
    var cfName = new LiveValidation('cfName', {
        onInvalid: function() {
            $('#cfName').css('border', '1px solid red');
        },
        onValid: function() {
            $('#cfName').css('border', '1px solid #c0c1ac');
        },
        onlyOnSubmit: true
    });
    cfName.add(Validate.Presence);

    var cfEmail = new LiveValidation('cfEmail', {
        onInvalid: function() {
            $('#cfEmail').css('border', '1px solid red');
        },
        onValid: function() {
            $('#cfEmail').css('border', '1px solid #c0c1ac');
        },
        onlyOnSubmit: true
    });
    cfEmail.add(Validate.Email);
    cfEmail.add(Validate.Presence);

    var cfCountry = new LiveValidation('cfCountry', {
        onInvalid: function() {
            $('#cfCountry').css('border', '1px solid red');
        },
        onValid: function() {
            $('#cfCountry').css('border', '1px solid #c0c1ac');
        },
        onlyOnSubmit: true
    });
    cfCountry.add(Validate.Presence);

    var cfTopic = new LiveValidation('cfTopic', {
        onInvalid: function() {
            $('#cfTopic').css('border', '1px solid red');
        },
        onValid: function() {
            $('#cfTopic').css('border', '1px solid #c0c1ac');
        },
        onlyOnSubmit: true
    });
    cfTopic.add(Validate.Presence);

    $('#cfSubmit').bind('click', function() {
        var valid = true;
        valid = cfName.validate();
        valid = cfTopic.validate();
        valid = cfEmail.validate();

        if(valid) {
            var table = $('#mailTbl');
            var div = $(document.createElement('div'));
            div.css('position', 'absolute');
            div.css('left', table.offset().left);
            div.css('top', table.offset().top);
            div.css('width', table.width());
            div.css('height', table.height());
            div.css('text-align', 'center');
            div.css('font-size', '16px');
            div.css('font-weight', 'bold');
            div.appendTo(document.body);

	 var ajaxinput = $(document.createElement('input'));
	 ajaxinput.attr('name', 'ajaxmethod')
 		 .attr('type', 'hidden')
		 .val('processcontactform');

	 $('#fr_contact').append(ajaxinput);

            table.animate({opacity: 0.4}, 500, null, function() {
                div.html('<br/><br/><br/><br/><br/><br/><br/>Sending!');
                var options = {
                    type: 'POST',
		    url: '/jcontroller/index.php',

                    success: function(responseText, statusText) {
                        if(responseText == '1') {
                            var close = $(document.createElement('a'));
                            close.html('Send another one');
                            close.attr('href', 'javascript:void(0)');
                            close.bind('click', function() {
                                div.remove();
                                table.animate({opacity: 1}, 500);
                                $('#fr_contact').resetForm();
                            });
                            div.html('<br/><br/><br/><br/><br/><br/>Message has been sent!<br/>');
                            div.append(close);

                        }
                    }
                };
                $('#fr_contact').ajaxSubmit(options);
            });

            return false;
        }
    });
});