/**
 * funcion que agrega un mail y codigo postal al servicio
 * @param email mail a agregar
 * @param name nombre de la persona registrada
 **/
function addMail( email , name ){
    email   = jQuery.trim( email );
    name = jQuery.trim( name );
    $.ajax({type: "POST", url: "/newsletter/action.php", data: "cmd=1&email="+email+"&name="+name, success:getAnswer, 
            error:getAnswer});
    $("#input").hide();
    $("#procesing").show();
}

/**
 * definicion de funcion DOMParser porque IE y safari no soportan hay que parchar
 **/
if (typeof DOMParser == "undefined") {
    DOMParser = function (){}
    DOMParser.prototype.parseFromString = function (str, contentType) {
        if (typeof ActiveXObject != "undefined") {
            var d = new ActiveXObject("MSXML.DomDocument");
            d.loadXML(str);
            return d;
        }else if (typeof XMLHttpRequest != "undefined") {
            var req = new XMLHttpRequest;
            req.open("GET", "data:" + (contentType || "application/xml") +
                    ";charset=utf-8," + encodeURIComponent(str), false);
            if (req.overrideMimeType) {
                req.overrideMimeType(contentType);
            }
            req.send(null);
            return req.responseXML;
        }
    }
}

/**
 * funcion que es llamada si la peticion de addmail se ejecuta corectamente
 * @param xml resultante de la peticion
 **/
function getAnswer( xml ){
    setTimeout( function() { processAnswer( xml );} , 2000 );
}

/**
 * funcion que es llamada para parsear el xml y mostrar la info resultante
 * @param xml, xml a procesar
 **/
function processAnswer( xml ){
    var success = "false";
    var actions = "2";
    try{
        var xmlobject = (new DOMParser()).parseFromString(xml, "text/xml");
        var eRoot  = xmlobject.getElementsByTagName("root")[0];
        var eAction   = eRoot.getElementsByTagName("action");
        success = eAction[0].getAttribute('success');
        actions = 0;
        if( success != 'true' ){
            actions = eAction[0].firstChild.nodeValue;
        }
    }catch( e ){}
    setTimeout( "showOptionsTimeout( '"+success+"', "+actions+" )", 2000);
}

/**
 * funcion que muestra el mensaje del proceso
 * @param oSuccess true la insercion se efectuo, false en caso contrario
 * @param oErrorType tipo del error
 **/
function showOptionsTimeout( oSuccess, oErrorType ){
    $("#procesing").hide();
    var strKeyDiv = "#successful";
    if( oSuccess == "false"){
        strKeyDiv = "#error";
    }
    $( strKeyDiv ).show();
    setTimeout( "showOriginalDiv( '"+strKeyDiv+"' )", 2000);
	if( strKeyDiv == "#successful" ){
		setTimeout( " window.location='/newsletter/index.php'; ", 3000);
	}
}

/**
 * funcion que oculta el div del mensaje y muestra la forma de agregar
 * @param strKeyDiv llave del elemento a ocultar
 **/
function showOriginalDiv( strKeyDiv ){
    $(strKeyDiv).hide();
    $("#input").show();
}
