/* JavaScript Document */
/*<![CDATA[*/
function mete_html(el, o) {
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
	var html = document.getElementById(o).innerHTML
	/*@cc_on // innerHTML
	oldEl.innerHTML = html;
	return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
};

function cambiarFondo( c, i ){
	document.getElementById( c ).style.background = "url( " + i + " )";
}

function esRegEx(){
	var valido = false;
	if( window.RegExp ){
		var tmp = "nci";
		var rTmp = new RegExp( tmp );
		valido = ( rTmp.test( tmp ) ) ? true : false;
	}
	return valido;
}

function esEmail( m ){
	var v = m.value.toLowerCase();
	if( !esRegEx() ){ return ( v.indexOf( "." ) > 2 ) && ( v.indexOf( "@" ) > 0 ); }
	var r1 = new RegExp( "(@.*@)|(\\.\\.)|(@\\.)|(^\\.)" );
	var r2 = new RegExp( "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$" );
	return ( !r1.test( v ) && r2.test( v ) );
}

function dEvento( e ){ return ( e ) ? e : ( document.addEventListener || document.captureEvents ) ? event : ( !e && window.event ) ? window.event : null; }
function dCodigo( e ){ return ( e.which ) ? e.which : ( e.keyCode ) ? e.keyCode : ( e.charCode ) ? e.charCode : ( e.button ) ? e.button :  null; }

function noEnter( e ){
	var e = dEvento( e );
	var c = dCodigo( e );

	if(  c == 13 ){ return false; }
}

function envia( frm, em ){
	var f = document.getElementById( frm );
    var c = new Array('nombre', 'empresa', 'actividad', 'province', 'pais', 'email', 'telefono', 'asunto', 'comentarios');
    var m = false;

    for (i = 0; i < c.length; ++i) {
        d = document.getElementById(c[i]);
        if (d.value == '') {
            m = 'All fields are required:\n\nCheck "' + c[i].toUpperCase() + '".\nThank you.';
            break;
        }
        else{
            if (c[i] == em && !esEmail(document.getElementById(em))) {
                m = 'All fields are required:\n\nProvided e-Mail is not valid.\nThank you.';
                break;
            }
        }
    }

    if (m == false) {
        document.getElementById('estado').value = 'e1299a983ca20ab7f95f2c7034d7a98b';
        f.submit();
    }
    else{
        document.getElementById('estado').value = '';
        alert(m);
    }
}

typeMatic = Class.create(
{
    initialize: function(element, textArray, options)
    {
        this.options = Object.clone(typeMatic.DefaultOptions);
        Object.extend( this.options, options || { } );

        this.element = element = $(element);
        this.textArray = textArray;
        this.totalTextNodes = 0;
        this.currentTextNode = 0;
        this.lastTextNode = textArray[0].length;

        this.loadText();
    },
    blinking: function()
    {
        var c = $( this.options.cursorId );
        if(c.visible()) c.hide();
        else c.show();
        setTimeout( this.element.id + ".blinking()", this.options.cursorSpeed );
    },
    loadText: function()
    {
        wrapper = new Element('span').insert(this.textArray[this.totalTextNodes].substring(0, this.currentTextNode)).insert(
            new Element('span', { 'id': this.options.cursorId }).insert(this.options.cursorText)
        );

        this.element.update(wrapper);

        if(this.options.running == false) this.blinking();

        if(this.currentTextNode++ == this.lastTextNode)
        {
            this.currentTextNode = 0;
            this.options.running = true;

            setTimeout( this.element.id + ".loadText()", this.options.transition );

            this.totalTextNodes++;
            if(this.totalTextNodes == this.textArray.length ) this.totalTextNodes = 0;

            this.lastTextNode = this.textArray[this.totalTextNodes].length;
        } else {
            setTimeout( this.element.id + ".loadText()", this.options.speed );
        }
    }
});

Object.extend(typeMatic,
{
    DefaultOptions:
    {
        running: false,
        speed: 75,
        transition: 12000,
        cursorSpeed: 750,
        cursorText: '_',
        cursorId: 'typeMatic_cursor'
    }
});
/*]]>*/
