Ayuda Boton enviar Formulario

Hola mi nombre es carlo somar mire lo seleccione a usted porque me parecio interesante su rama de estudios y va mucho con lo que yo necesito hacer.
Bueno mire lo que necesito es hacer un boton que de enviar el cual quiero que envie un formulario, bueno en si es un examen o test son varias preguntas y este mismo test me arroja un porcentaje total.
Lo que necesito es que al final del test haya un boton llamado ENVIAR EVALUACIÓN el cual quiero que se envie a mi correo ya sea de hotmail o de Outlook todas las respuestas correctas con su porcentaje me podria ayudar se lo agradeceria muchisimo.
mi correo es (xxxxxx)
y tambien tengo cuenta de skype el usuario es: omar_carlos1
soy de Mexico Morelos Cuernavaca en esta cuenta me podria localizar ojala y usted tenga skype y asi podremos comunicarnos se lo agradeceria me urge espero su respuesta
un saludo

1 respuesta

Respuesta
1
No suelo contactar a usuarios de TodoExpertos via mail, IM o ningun otro medio que no sea este.
¿Con qué tecnologia piensa hacer el formulario? ¿Su hosting le permite enviar correos?
hola gracias por tu pronta respuesta mira esque genere un test y ahora necesito que las respuestas y el total en porcentaje quiero que me las envie a mi correo como lo tengo que hacer quieres el codigo?
Puede hacerlo con ASP o PHP, indistintamente, ¿sabes si tu servidor soporta alguna de las dos? HTML por sí solo, no es capaz de enviar un correo.
perdon no se muy bien de eso solo lo estoy haciendo en un block de notas y lo estoy probando en el explorador que diferencia hay en el php y el asp me lo podras decir gracias si quieres te envio el codigo para que lo revises te parece
Hola mira este el codigo que e hecho te pido que me ayudes diciendo donde le pongo lo del envio a mi correo porfa voy a intalarle el php ok te pido de favor que me ayudes gracias.
Codigo:
<?xml version="1.0"?>
       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
             xml:lang="en">
<head>
<meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to LABORATORIO 7 VPH.">
</meta>
<meta name="keywords" content="Hot Potatoes, Hot Potatoes, Half-Baked Software, Windows, University of Victoria">
</meta>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC:Creator" content="LABORATORIO 7 VPH" />
<meta name="DC:Title" content="CONOCIMIENTOS ESPECIFICOS DEL ÁREA DE INFORME DE RESULTADOS" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>
CONOCIMIENTOS ESPECIFICOS DEL ÁREA DE INFORME DE RESULTADOS
</title>
<!-- Made with executable version 6.3 Release 0 Build 3 -->
<!-- The following insertion allows you to add your own code directly to this head tag from the configuration screen -->
<style type="text/css">
/* This is the CSS stylesheet used in the exercise. */
/* Elements in square brackets are replaced by data based on configuration settings when the exercise is built. */
/* BeginCorePageCSS */
/* Made with executable version 6.3 Release 0 Build 3 */
/* Hack to hide a nested Quicktime player from IE, which can't handle it. */
* html object.MediaPlayerNotForIE {
 display: none;
}
body{
 font-family: Arial,Geneva,sans-serif;
 background-color: #C0C0C0;
 color: #000000;
 background-image: url(../../Mis documentos/Mis imágenes/classic-zone-wallpaper-terry-bogard[1].jpg);
 margin-right: 5%;
 margin-left: 5%;
 font-size: small;
}
p{
 text-align: left;
 margin: 0px;
 font-size: 100%;
}
table,div,span,td{
 font-size: 100%;
 color: #000000;
}
div.Titles{
 padding: 0.5em;;
 text-align: center;
 color: #000000;
}
button{
 font-family: Arial,Geneva,sans-serif;
 font-size: 100%;
 display: inline;
}
.ExerciseTitle{
 font-size: 140%;
 color: #000000;
}
.ExerciseSubtitle{
 font-size: 120%;
 color: #000000;
}
div.StdDiv{
 background-color: #FFFFFF;
 text-align: center;
 font-size: 100%;
 color: #000000;
 padding: 0.5em;
 border-style: solid;
 border-width: 1px 1px 1px 1px;
 border-color: #000000;
 margin-bottom: 1px;
}
/* EndCorePageCSS */
.RTLText{
 text-align: right;
 font-size: 150%;
 direction: rtl;
 font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Arial,Geneva,sans-serif;
}
.CentredRTLText{
 text-align: center;
 font-size: 150%;
 direction: rtl;
 font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Arial,Geneva,sans-serif;
}
button p.RTLText{
 text-align: center;
}
.RTLGapBox{
 text-align: right;
 font-size: 150%;
 direction: rtl;
 font-family: "Times New Roman", Arial,Geneva,sans-serif;
}
.Guess{
 font-weight: bold;
}
.CorrectAnswer{
 font-weight: bold;
}
div#Timer{
 padding: 0.25em;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 color: #000000;
}
span#TimerText{
 padding: 0.25em;
 border-width: 1px;
 border-style: solid;
 font-weight: bold;
 display: none;
 color: #000000;
}
span.Instructions{
}
div.ExerciseText{
}
.FeedbackText, .FeedbackText span.CorrectAnswer, .FeedbackText span.Guess, .FeedbackText span.Answer{
 color: #000000;
}
.LeftItem{
 font-size: 100%;
 color: #000000;
 text-align: left;
}
.RightItem{
 font-weight: bold;
 font-size: 100%;
 color: #000000;
}
span.CorrectMark{
}
input, textarea{
 font-family: Arial,Geneva,sans-serif;
 font-size: 120%;
}
select{
 font-size: 100%;
}
div.Feedback {
 background-color: #C0C0C0;
 left: 33%;
 width: 34%;
 top: 33%;
 z-index: 1;
 border-style: solid;
 border-width: 1px;
 padding: 5px;
 text-align: center;
 color: #000000;
 position: absolute;
 display: none;
 font-size: 100%;
}
div.ExerciseDiv{
 color: #000000;
}
/* JMatch flashcard styles */
table.FlashcardTable{
 background-color: transparent;
 color: #000000;
 border-color: #000000;
 margin-left: 5%;
 margin-right: 5%;
 margin-top: 2em;
 margin-bottom: 2em;
 width: 90%;
 position: relative;
 text-align: center;
 padding: 0px;
}
table.FlashcardTable tr{
 border-style: none;
 margin: 0px;
 padding: 0px;
 background-color: #FFFFFF;
}
table.FlashcardTable td.Showing{
 font-size: 140%;
 text-align: center;
 width: 50%;
 display: table-cell;
 padding: 2em;
 margin: 0px;
 border-style: solid;
 border-width: 1px;
 color: #000000;
 background-color: #FFFFFF;
}
table.FlashcardTable td.Hidden{
 display: none;
}
/* JMix styles */
div#SegmentDiv{
 margin-top: 2em;
 margin-bottom: 2em;
 text-align: center;
}
a.ExSegment{
 font-size: 120%;
 font-weight: bold;
 text-decoration: none;
 color: #000000;
}
span.RemainingWordList{
 font-style: italic;
}
div.DropLine {
 position: absolute;
 text-align: center;
 border-bottom-style: solid;
 border-bottom-width: 1px;
 border-bottom-color: #000000;
 width: 80%;
}
/* JCloze styles */
.ClozeWordList{
 text-align: center;
 font-weight: bold;
}
div.ClozeBody{
 text-align: left;
 margin-top: 2em;
 margin-bottom: 2em;
 line-height: 2.0
}
span.GapSpan{
 font-weight: bold;
}
/* JCross styles */
table.CrosswordGrid{
 margin: auto auto 1em auto;
 border-collapse: collapse;
 padding: 0px;
 background-color: #000000;
}
table.CrosswordGrid tbody tr td{
 width: 1.5em;
 height: 1.5em;
 text-align: center;
 vertical-align: middle;
 font-size: 140%;
 padding: 1px;
 margin: 0px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
 color: #000000;
}
table.CrosswordGrid span{
 color: #000000;
}
table.CrosswordGrid td.BlankCell{
 background-color: #000000;
 color: #000000;
}
table.CrosswordGrid td.LetterOnlyCell{
 text-align: center;
 vertical-align: middle;
 background-color: #ffffff;
 color: #000000;
 font-weight: bold;
}
table.CrosswordGrid td.NumLetterCell{
 text-align: left;
 vertical-align: top;
 background-color: #ffffff;
 color: #000000;
 padding: 1px;
 font-weight: bold;
}
.NumLetterCellText{
 cursor: pointer;
 color: #000000;
}
.GridNum{
 vertical-align: super;
 font-size: 66%;
 font-weight: bold;
 text-decoration: none;
 color: #000000;
}
.GridNum:hover, .GridNum:visited{
 color: #000000;
}
table#Clues{
 margin: auto;
 vertical-align: top;
}
table#Clues td{
 vertical-align: top;
}
table.ClueList{
  margin: auto;
}
td.ClueNum{
 text-align: right;
 font-weight: bold;
 vertical-align: top;
}
td.Clue{
 text-align: left;
}
div#ClueEntry{
 text-align: left;
 margin-bottom: 1em;
}
/* Keypad styles */
div.Keypad{
 text-align: center;
 display: none; /* initially hidden, shown if needed */
 margin-bottom: 0.5em;
}
div.Keypad button{
 font-family: Arial,Geneva,sans-serif;
 font-size: 120%;
 background-color: #ffffff;
 color: #000000;
 width: 2em;
}
/* JQuiz styles */
div.QuestionNavigation{
 text-align: center;
}
.QNum{
 margin: 0em 1em 0.5em 1em;
 font-weight: bold;
 vertical-align: middle;
}
textarea{
 font-family: Arial,Geneva,sans-serif;
}
.QuestionText{
 text-align: left;
 margin: 0px;
 font-size: 100%;
}
.Answer{
 font-size: 120%;
 letter-spacing: 0.1em;
}
.PartialAnswer{
 font-size: 120%;
 letter-spacing: 0.1em;
 color: #000000;
}
.Highlight{
 color: #000000;
 background-color: #ffff00;
 font-weight: bold;
 font-size: 120%;
}
ol.QuizQuestions{
 text-align: left;
 list-style-type: none;
}
li.QuizQuestion{
 padding: 1em;
 border-style: solid;
 border-width: 0px 0px 1px 0px;
}
ol.MCAnswers{
 text-align: left;
 list-style-type: upper-alpha;
 padding: 1em;
}
ol.MCAnswers li{
 margin-bottom: 1em;
}
ol.MSelAnswers{
 text-align: left;
 list-style-type: lower-alpha;
 padding: 1em;
}
div.ShortAnswer{
 padding: 1em;
}
.FuncButton {
 text-align: center;
 border-style: solid;
 border-left-color: #ffffff;
 border-top-color: #ffffff;
 border-right-color: #7f7f7f;
 border-bottom-color: #7f7f7f;
 color: #000000;
 background-color: #FFFFFF;
 border-width: 2px;
 padding: 3px 6px 3px 6px;
 cursor: pointer;
}
.FuncButtonUp {
 color: #FFFFFF;
 text-align: center;
 border-style: solid;
 border-left-color: #ffffff;
 border-top-color: #ffffff;
 border-right-color: #7f7f7f;
 border-bottom-color: #7f7f7f;
 background-color: #000000;
 color: #FFFFFF;
 border-width: 2px;
 padding: 3px 6px 3px 6px;
 cursor: pointer;
}
.FuncButtonDown {
 color: #FFFFFF;
 text-align: center;
 border-style: solid;
 border-left-color: #7f7f7f;
 border-top-color: #7f7f7f;
 border-right-color: #ffffff;
 border-bottom-color: #ffffff;
 background-color: #000000;
 color: #FFFFFF;
 border-width: 2px;
 padding: 3px 6px 3px 6px;
 cursor: pointer;
}
/*BeginNavBarStyle*/
div.NavButtonBar{
 background-color: #000000;
 text-align: center;
 margin: 2px 0px 2px 0px;
 clear: both;
 font-size: 100%;
}
.NavButton {
 border-style: solid;
 border-left-color: #7f7f7f;
 border-top-color: #7f7f7f;
 border-right-color: #000000;
 border-bottom-color: #000000;
 background-color: #000000;
 color: #ffffff;
 border-width: 2px;
 cursor: pointer; 
}
.NavButtonUp {
 border-style: solid;
 border-left-color: #7f7f7f;
 border-top-color: #7f7f7f;
 border-right-color: #000000;
 border-bottom-color: #000000;
 color: #000000;
 background-color: #ffffff;
 border-width: 2px;
 cursor: pointer; 
}
.NavButton {
 border-style: solid;
 border-left-color: #7f7f7f;
 border-top-color: #7f7f7f;
 border-right-color: #000000;
 border-bottom-color: #000000;
 background-color: #000000;
 color: #ffffff;
 border-width: 2px;
 cursor: pointer; 
}
.NavButtonUp {
 border-style: solid;
 border-left-color: #7f7f7f;
 border-top-color: #7f7f7f;
 border-right-color: #000000;
 border-bottom-color: #000000;
 color: #000000;
 background-color: #ffffff;
 border-width: 2px;
 cursor: pointer; 
}
.NavButtonDown {
 border-style: solid;
 border-left-color: #000000;
 border-top-color: #000000;
 border-right-color: #7f7f7f;
 border-bottom-color: #7f7f7f;
 color: #000000;
 background-color: #ffffff;
 border-width: 2px;
 cursor: pointer; 
}
/*EndNavBarStyle*/
a{
 color: #0000FF;
}
a:visited{
 color: #0000CC;
}
a:hover{
 color: #0000FF;
}
div.CardStyle {
 position: absolute;
 font-family: Arial,Geneva,sans-serif;
 font-size: 100%;
 padding: 5px;
 border-style: solid;
 border-width: 1px;
 color: #000000;
 background-color: #FFFFFF;
 left: -50px;
 top: -50px;
 overflow: visible;
}
.rtl{
 text-align: right;
 font-size: 140%;
}
</style>
<script type="text/javascript">
//<![CDATA[
<!--
function Client(){
//if not a DOM browser, hopeless
 this.min = false; if (document.getElementById){this.min = true;};
 this.ua = navigator.userAgent;
 this.name = navigator.appName;
 this.ver = navigator.appVersion; 
//Get data about the browser
 this.mac = (this.ver.indexOf('Mac') != -1);
 this.win = (this.ver.indexOf('Windows') != -1);
//Look for Gecko
 this.gecko = (this.ua.indexOf('Gecko') > 1);
 if (this.gecko){
  this.geckoVer = parseInt(this.ua.substring(this.ua.indexOf('Gecko')+6, this.ua.length));
  if (this.geckoVer < 20020000){this.min = false;}
 }
//Look for Firebird
 this.firebird = (this.ua.indexOf('Firebird') > 1);
//Look for Safari
 this.safari = (this.ua.indexOf('Safari') > 1);
 if (this.safari){
  this.gecko = false;
 }
//Look for IE
 this.ie = (this.ua.indexOf('MSIE') > 0);
 if (this.ie){
  this.ieVer = parseFloat(this.ua.substring(this.ua.indexOf('MSIE')+5, this.ua.length));
  if (this.ieVer < 5.5){this.min = false;}
 }
//Look for Opera
 this.opera = (this.ua.indexOf('Opera') > 0);
 if (this.opera){
  this.operaVer = parseFloat(this.ua.substring(this.ua.indexOf('Opera')+6, this.ua.length));
  if (this.operaVer < 7.04){this.min = false;}
 }
 if (this.min == false){
  alert('Your browser may not be able to handle this page.');
 }
//Special case for the horrible ie5mac
 this.ie5mac = (this.ie&&this.mac&&(this.ieVer<6));
}
var C = new Client();
//for (prop in C){
// alert(prop + ': ' + C[prop]);
//}
//CODE FOR HANDLING NAV BUTTONS AND FUNCTION BUTTONS
//[strNavBarJS]
function NavBtnOver(Btn){
 if (Btn.className != 'NavButtonDown'){Btn.className = 'NavButtonUp';}
}
function NavBtnOut(Btn){
 Btn.className = 'NavButton';
}
function NavBtnDown(Btn){
 Btn.className = 'NavButtonDown';
}
//[/strNavBarJS]
function FuncBtnOver(Btn){
 if (Btn.className != 'FuncButtonDown'){Btn.className = 'FuncButtonUp';}
}
function FuncBtnOut(Btn){
 Btn.className = 'FuncButton';
}
function FuncBtnDown(Btn){
 Btn.className = 'FuncButtonDown';
}
function FocusAButton(){
 if (document.getElementById('CheckButton1') != null){
  document.getElementById('CheckButton1').focus();
 }
 else{
  if (document.getElementById('CheckButton2') != null){
   document.getElementById('CheckButton2').focus();
  }
  else{
   document.getElementsByTagName('button')[0].focus();
  }
 }
}
//CODE FOR HANDLING DISPLAY OF POPUP FEEDBACK BOX
var topZ = 1000;
function ShowMessage(Feedback){
 var Output = Feedback + '<br /><br />';
 document.getElementById('FeedbackContent').innerHTML = Output;
 var FDiv = document.getElementById('FeedbackDiv');
 topZ++;
 FDiv.style.zIndex = topZ;
 FDiv.style.top = TopSettingWithScrollOffset(30) + 'px';
 FDiv.style.display = 'block';
 ShowElements(false, 'input');
 ShowElements(false, 'select');
 ShowElements(false, 'object');
 ShowElements(true, 'object', 'FeedbackContent');
//Focus the OK button
 setTimeout("document.getElementById('FeedbackOKButton').focus()", 50);
//
}
function ShowElements(Show, TagName, ContainerToReverse){
// added third argument to allow objects in the feedback box to appear
//IE bug -- hide all the form elements that will show through the popup
//FF on Mac bug : doesn't redisplay objects whose visibility is set to visible
//unless the object's display property is changed
 //get container object (by Id passed in, or use document otherwise)
 TopNode = document.getElementById(ContainerToReverse);
 var Els;
 if (TopNode != null) {
  Els = TopNode.getElementsByTagName(TagName);
 } else {
  Els = document.getElementsByTagName(TagName);
 }
 for (var i=0; i<Els.length; i++){
  if (TagName == "object") {
   //manipulate object elements in all browsers
   if (Show == true){
    Els.style.visibility = 'visible';
    //get Mac FireFox to manipulate display, to force screen redraw
    if (C.mac && C.gecko) {Els.style.display = '';}
   }
   else{
    Els.style.visibility = 'hidden';
    if (C.mac && C.gecko) {Els.style.display = 'none';}
   }
  }
  else {
   // tagName is either input or select (that is, Form Elements)
   // ie6 has a problem with Form elements, so manipulate those
   if (C.ie) {
    if (C.ieVer < 7) {
     if (Show == true){
      Els.style.visibility = 'visible';
     }
     else{
      Els.style.visibility = 'hidden';
     }
    }
   }
  }
 }
}
function HideFeedback(){
 document.getElementById('FeedbackDiv').style.display = 'none';
 ShowElements(true, 'input');
 ShowElements(true, 'select');
 ShowElements(true, 'object');
 if (Finished == true){
  Finish();
 }
}
//GENERAL UTILITY FUNCTIONS AND VARIABLES
//PAGE DIMENSION FUNCTIONS
function PageDim(){
//Get the page width and height
 this.W = 600;
 this.H = 400;
 this.W = document.getElementsByTagName('body')[0].clientWidth;
 this.H = document.getElementsByTagName('body')[0].clientHeight;
}
var pg = null;
function GetPageXY(El) {
 var XY = {x: 0, y: 0};
 while(El){
  XY.x += El.offsetLeft;
  XY.y += El.offsetTop;
  El = El.offsetParent;
 }
 return XY;
}
function GetScrollTop(){
 if (typeof(window.pageYOffset) == 'number'){
  return window.pageYOffset;
 }
 else{
  if ((document.body)&&(document.body.scrollTop)){
   return document.body.scrollTop;
  }
  else{
   if ((document.documentElement)&&(document.documentElement.scrollTop)){
    return document.documentElement.scrollTop;
   }
   else{
    return 0;
   }
  }
 }
}
function GetViewportHeight(){
 if (typeof window.innerHeight != 'undefined'){
  return window.innerHeight;
 }
 else{
  if (((typeof document.documentElement != 'undefined')&&(typeof document.documentElement.clientHeight !=
     'undefined'))&&(document.documentElement.clientHeight != 0)){
   return document.documentElement.clientHeight;
  }
  else{
   return document.getElementsByTagName('body')[0].clientHeight;
  }
 }
}
function TopSettingWithScrollOffset(TopPercent){
 var T = Math.floor(GetViewportHeight() * (TopPercent/100));
 return GetScrollTop() + T;
}
//CODE FOR AVOIDING LOSS OF DATA WHEN BACKSPACE KEY INVOKES history.back()
var InTextBox = false;
function SuppressBackspace(e){
 if (InTextBox == true){return;}
 if (C.ie) {
  thisKey = window.event.keyCode;
 }
 else {
  thisKey = e.keyCode;
 }
 var Suppress = false;
 if (thisKey == 8) {
  Suppress = true;
 }
 if (Suppress == true){
  if (C.ie){
   window.event.returnValue = false; 
   window.event.cancelBubble = true;
  }
  else{
   e.preventDefault();
  }
 }
}
if (C.ie){
 document.attachEvent('onkeydown',SuppressBackspace);
 window.attachEvent('onkeydown',SuppressBackspace);
}
else{
 if (window.addEventListener){
  window.addEventListener('keypress',SuppressBackspace,false);
 }
}
function ReduceItems(InArray, ReduceToSize){
 var ItemToDump=0;
 var j=0;
 while (InArray.length > ReduceToSize){
  ItemToDump = Math.floor(InArray.length*Math.random());
  InArray.splice(ItemToDump, 1);
 }
}
function Shuffle(InArray){
 var Num;
 var Temp = new Array();
 var Len = InArray.length;
 var j = Len;
 for (var i=0; i<Len; i++){
  Temp = InArray;
 }
 for (i=0; i<Len; i++){
  Num = Math.floor(j  *  Math.random());
  InArray = Temp[Num];
  for (var k=Num; k < (j-1); k++) {
   Temp[k] = Temp[k+1];
  }
  j--;
 }
 return InArray;
}
function WriteToInstructions(Feedback) {
 document.getElementById('InstructionsDiv').innerHTML = Feedback;
}
function EscapeDoubleQuotes(InString){
 return InString.replace(/"/g, '"')
}
function TrimString(InString){
        var x = 0;
        if (InString.length != 0) {
                while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){
                        InString = InString.substring(0, InString.length - 1)
                }
                while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){
                        InString = InString.substring(1, InString.length)
                }
                while (InString.indexOf('  ') != -1) {
                        x = InString.indexOf('  ')
                        InString = InString.substring(0, x) + InString.substring(x+1, InString.length)
                 }
                return InString;
        }
        else {
                return '';
        }
}
function FindLongest(InArray){
 if (InArray.length < 1){return -1;}
 var Longest = 0;
 for (var i=1; i<InArray.length; i++){
  if (InArray.length > InArray[Longest].length){
   Longest = i;
  }
 }
 return Longest;
}
//UNICODE CHARACTER FUNCTIONS
function IsCombiningDiacritic(CharNum){
 var Result = (((CharNum >= 0x0300)&&(CharNum <= 0x370))||((CharNum >= 0x20d0)&&(CharNum <= 0x20ff)));
 Result = Result || (((CharNum >= 0x3099)&&(CharNum <= 0x309a))||((CharNum >= 0xfe20)&&(CharNum <= 0xfe23)));
 return Result;
}
function IsCJK(CharNum){
 return ((CharNum >= 0x3000)&&(CharNum < 0xd800));
}
//SETUP FUNCTIONS
//BROWSER WILL REFILL TEXT BOXES FROM CACHE IF NOT PREVENTED
function ClearTextBoxes(){
 var NList = document.getElementsByTagName('input');
 for (var i=0; i<NList.length; i++){
  if ((NList.id.indexOf('Guess') > -1)||(NList.id.indexOf('Gap') > -1)){
   NList.value = '';
  }
  if (NList.id.indexOf('Chk') > -1){
   NList.checked = '';
  }
 }
}
//EXTENSION TO ARRAY OBJECT
function Array_IndexOf(Input){
 var Result = -1;
 for (var i=0; i<this.length; i++){
  if (this == Input){
   Result = i;
  }
 }
 return Result;
}
Array.prototype.indexOf = Array_IndexOf;
//IE HAS RENDERING BUG WITH BOTTOM NAVBAR
function RemoveBottomNavBarForIE(){
 if ((C.ie)&&(document.getElementById('Reading') != null)){
  if (document.getElementById('BottomNavBar') != null){
   document.getElementById('TheBody').removeChild(document.getElementById('BottomNavBar'));
  }
 }
}
//HOTPOTNET-RELATED CODE
var HPNStartTime = (new Date()).getTime();
var SubmissionTimeout = 30000;
var Detail = ''; //Global that is used to submit tracking data
function Finish(){
//If there's a form, fill it out and submit it
 if (document.store != null){
  Frm = document.store;
  Frm.starttime.value = HPNStartTime;
  Frm.endtime.value = (new Date()).getTime();
  Frm.mark.value = Score;
  Frm.detail.value = Detail;
  Frm.submit();
 }
}
//JQUIZ CORE JAVASCRIPT CODE
var CurrQNum = 0;
var CorrectIndicator = '';
var IncorrectIndicator = '';
var YourScoreIs = '';
//New for 6.2.2.0
var CompletedSoFar = '';
var ExerciseCompleted = 'Fin de la Evaluación';
var ShowCompletedSoFar = true;
var ContinuousScoring = true;
var CorrectFirstTime = '';
var ShowCorrectFirstTime = false;
var ShuffleQs = false;
var ShuffleAs = false;
var DefaultRight = 'Correcto';
var DefaultWrong = '';
var QsToShow = 15;
var Score = 0;
var Finished = false;
var Qs = null;
var QArray = new Array();
var ShowingAllQuestions = false;
var ShowAllQuestionsCaption = 'Mostrar todas las Preguntas';
var ShowOneByOneCaption = 'Mostrar preguntas de una a una';
var State = new Array();
var Feedback = '';
var TimeOver = false;
var strInstructions = '';
var Locked = false;
//The following variable can be used to add a message explaining that
//the question is finished, so no further marking will take place.
var strQuestionFinished = '';
function CompleteEmptyFeedback(){
 var QNum, ANum;
 for (QNum=0; QNum<I.length; QNum++){
//Only do this if not multi-select
  if (I[QNum][2] != '3'){
    for (ANum = 0; ANum<I[QNum][3].length; ANum++){
     if (I[QNum][3][ANum][1].length < 1){
      if (I[QNum][3][ANum][2] > 0){
       I[QNum][3][ANum][1] = DefaultRight;
      }
      else{
       I[QNum][3][ANum][1] = DefaultWrong;
      }
     }
    }
  }
 }
}
function SetUpQuestions(){
 var AList = new Array();
 var QList = new Array();
 var i, j;
 Qs = document.getElementById('Questions');
 while (Qs.getElementsByTagName('li').length > 0){
  QList.push(Qs.removeChild(Qs.getElementsByTagName('li')[0]));
 }
 var DumpItem = 0;
 if (QsToShow > QList.length){
  QsToShow = QList.length;
 }
 while (QsToShow < QList.length){
  DumpItem = Math.floor(QList.length*Math.random());
  for (j=DumpItem; j<(QList.length-1); j++){
   QList[j] = QList[j+1];
  }
  QList.length = QList.length-1;
 }
 if (ShuffleQs == true){
  QList = Shuffle(QList);
 }
 if (ShuffleAs == true){
  var As;
  for (var i=0; i<QList.length; i++){
   As = QList.getElementsByTagName('ol')[0];
   if (As != null){
     AList.length = 0;
    while (As.getElementsByTagName('li').length > 0){
     AList.push(As.removeChild(As.getElementsByTagName('li')[0]));
    }
    AList = Shuffle(AList);
    for (j=0; j<AList.length; j++){
     As.appendChild(AList[j]);
    }
   }
  }
 }
 for (i=0; i<QList.length; i++){
  Qs.appendChild(QList);
  QArray[QArray.length] = QList;
 }
//Show the first item
 QArray[0].style.display = '';
//Now hide all except the first item
 for (i=1; i<QArray.length; i++){
  QArray.style.display = 'none';
 }  
 SetQNumReadout();
 SetFocusToTextbox();
}
function SetFocusToTextbox(){
//if there's a textbox, set the focus in it
 if (QArray[CurrQNum].getElementsByTagName('input')[0] != null){
  QArray[CurrQNum].getElementsByTagName('input')[0].focus();
//and show a keypad if there is one
  if (document.getElementById('CharacterKeypad') != null){
   document.getElementById('CharacterKeypad').style.display = 'block';
  }
 }
 else{
   if (QArray[CurrQNum].getElementsByTagName('textarea')[0] != null){
    QArray[CurrQNum].getElementsByTagName('textarea')[0].focus(); 
//and show a keypad if there is one
   if (document.getElementById('CharacterKeypad') != null){
    document.getElementById('CharacterKeypad').style.display = 'block';
   }
  }
//This added for 6.0.4.11: hide accented character buttons if no textbox
  else{
   if (document.getElementById('CharacterKeypad') != null){
    document.getElementById('CharacterKeypad').style.display = 'none';
   }
  }
 }
}
function ChangeQ(ChangeBy){
//The following line prevents moving to another question until the current
//question is answered correctly. Uncomment it to enable this behaviour.
// if (State[CurrQNum][0] == -1){return;}
 if (((CurrQNum + ChangeBy) < 0)||((CurrQNum + ChangeBy) >= QArray.length)){return;}
 QArray[CurrQNum].style.display = 'none';
 CurrQNum += ChangeBy;
 QArray[CurrQNum].style.display = '';
//Undocumented function added 10/12/2004
 ShowSpecialReadingForQuestion();
 SetQNumReadout();
 SetFocusToTextbox();
}
var HiddenReadingShown = false;
function ShowSpecialReadingForQuestion(){
//Undocumented function for showing specific reading text elements which change with each question
//Added on 10/12/2004
 if (document.getElementById('ReadingDiv') != null){
  if (HiddenReadingShown == true){
   document.getElementById('ReadingDiv').innerHTML = '';
  }
  if (QArray[CurrQNum] != null){
//Fix for 6.0.4.25
   var Children = QArray[CurrQNum].getElementsByTagName('div');
   for (var i=0; i<Children.length; i++){
   if (Children.className=="HiddenReading"){
     document.getElementById('ReadingDiv').innerHTML = Children.innerHTML;
     HiddenReadingShown = true;
//Hide the ShowAllQuestions button to avoid confusion
     if (document.getElementById('ShowMethodButton') != null){
      document.getElementById('ShowMethodButton').style.display = 'none';
     }
    }
   } 
  }
 }
}
function SetQNumReadout(){
 document.getElementById('QNumReadout').innerHTML = (CurrQNum+1) + ' / ' + QArray.length;
 if ((CurrQNum+1) >= QArray.length){
  if (document.getElementById('NextQButton') != null){
   document.getElementById('NextQButton').style.visibility = 'hidden';
  }
 }
 else{
  if (document.getElementById('NextQButton') != null){
   document.getElementById('NextQButton').style.visibility = 'visible';
  }
 }
 if (CurrQNum <= 0){
  if (document.getElementById('PrevQButton') != null){
   document.getElementById('PrevQButton').style.visibility = 'hidden';
  }
 }
 else{
  if (document.getElementById('PrevQButton') != null){
   document.getElementById('PrevQButton').style.visibility = 'visible';
  }
 }
}
var I=new Array();
I[0]=new Array();I[0][0]=100;
I[0][1]='';
I[0][2]='0';
I[0][3]=new Array();
I[0][3][0]=new Array('Si','',1,100,1);
I[0][3][1]=new Array('No','',1,0,1);
I[1]=new Array();I[1][0]=100;
I[1][1]='';
I[1][2]='0';
I[1][3]=new Array();
I[1][3][0]=new Array('Excel','',1,70,1);
I[1][3][1]=new Array('Access','',1,100,1);
I[1][3][2]=new Array('Visual Fox Pro','',1,50,1);
I[1][3][3]=new Array('Word','',1,0,1);
I[2]=new Array();I[2][0]=100;
I[2][1]='';
I[2][2]='0';
I[2][3]=new Array();
I[2][3][0]=new Array('Si','',1,100,1);
I[2][3][1]=new Array('No','',1,50,1);
I[3]=new Array();I[3][0]=100;
I[3][1]='';
I[3][2]='3';
I[3][3]=new Array();
I[3][3][0]=new Array('Nombre del Estado','',1,100,1);
I[3][3][1]=new Array('No. del Estado (De acuerdo con INEGI)','',1,100,1);
I[3][3][2]=new Array('Unidad Medica Familiar o Jurisdicci\u00F3n','',1,100,1);
I[3][3][3]=new Array('No. Solicitud de Analisis','',1,100,1);
I[3][3][4]=new Array('Nombredel Paciente','',1,100,1);
I[3][3][5]=new Array('Folio','',1,100,1);
I[3][3][6]=new Array('Fecha de Toma','',1,100,1);
I[3][3][7]=new Array('Fecha de Entrega','',1,100,1);
I[3][3][8]=new Array('No. de Hoja de Solicitud de An\u00E1lisis','',1,100,1);
I[3][3][9]=new Array('Orden de Servicio RCS/Placa','',1,100,1);
I[3][3][10]=new Array('Ubicaci\u00F3n de la Muestra en la Placa de Procesamiento','',1,100,1);
I[3][3][11]=new Array('Fecha de An\u00E1lisis','',1,100,1);
I[3][3][12]=new Array('Resultado','',1,100,1);
I[3][3][13]=new Array('RLU/CUTOFF','',1,100,1);
I[3][3][14]=new Array('Fecha de Lectura','',1,100,1);
I[4]=new Array();I[4][0]=100;
I[4][1]='';
I[4][2]='0';
I[4][3]=new Array();
I[4][3][0]=new Array('Supervisor del \u00E1rea de Informe de Resultados y Auxiliar Administrativo','',1,100,1);
I[4][3][1]=new Array('Jefe del Laboratorio y Auxiliar Administrativo','',1,0,1);
I[4][3][2]=new Array('Auxiliar Administrativo','',1,0,1);
I[4][3][3]=new Array('Supervisor del \u00C1rea de Informe de Resultados','',1,0,1);
I[5]=new Array();I[5][0]=100;
I[5][1]='';
I[5][2]='0';
I[5][3]=new Array();
I[5][3][0]=new Array('Supervisor del \u00C1rea de Informe de Resultados y Auxiliar Administrativo','',1,100,1);
I[5][3][1]=new Array('Jefe del Laboratorio y Axiliar Administrativo','',1,0,1);
I[5][3][2]=new Array('Axiliar Administrativo','',1,0,1);
I[5][3][3]=new Array('Supervisor \u00E1rea Informe de Resultados','',1,0,1);
I[6]=new Array();I[6][0]=100;
I[6][1]='';
I[6][2]='0';
I[6][3]=new Array();
I[6][3][0]=new Array('SICAM','',1,0,1);
I[6][3][1]=new Array('Generan una Base solo para Muestras Rechazadas','',1,80,1);
I[6][3][2]=new Array('Se incluyen en la Base General','',1,100,1);
I[6][3][3]=new Array('No se registran','',1,0,1);
I[7]=new Array();I[7][0]=100;
I[7][1]='';
I[7][2]='3';
I[7][3]=new Array();
I[7][3][0]=new Array('Folio del Paciente','',1,100,1);
I[7][3][1]=new Array('Nombre del Paciente','',1,100,1);
I[7][3][2]=new Array('Jurisdicci\u00F3n','',1,100,1);
I[7][3][3]=new Array('Fecha de rechazo de la muestra','',1,100,1);
I[7][3][4]=new Array('Motivo del rechazo','',1,100,1);
I[7][3][5]=new Array('Ninguna de las Anteriores','',1,100,1);
I[8]=new Array();I[8][0]=100;
I[8][1]='';
I[8][2]='0';
I[8][3]=new Array();
I[8][3][0]=new Array('Siempre','',1,100,1);
I[8][3][1]=new Array('A veces','',1,40,1);
I[8][3][2]=new Array('Nunca','',1,0,1);
I[9]=new Array();I[9][0]=100;
I[9][1]='';
I[9][2]='0';
I[9][3]=new Array();
I[9][3][0]=new Array('Diario','',1,100,1);
I[9][3][1]=new Array('Semanalmente','',1,100,1);
I[9][3][2]=new Array('Cada 15 d\u00EDas','',1,100,1);
I[9][3][3]=new Array('Por Mes','',1,100,1);
I[9][3][4]=new Array('Nunca','',1,100,1);
I[10]=new Array();I[10][0]=100;
I[10][1]='';
I[10][2]='0';
I[10][3]=new Array();
I[10][3][0]=new Array('Siempre','',1,100,1);
I[10][3][1]=new Array('A Veces','',1,40,1);
I[10][3][2]=new Array('Nunca','',1,0,1);
I[11]=new Array();I[11][0]=100;
I[11][1]='';
I[11][2]='0';
I[11][3]=new Array();
I[11][3][0]=new Array('Diario','',1,100,1);
I[11][3][1]=new Array('Semanalmente','',1,100,1);
I[11][3][2]=new Array('Cada 15 d\u00EDas','',1,100,1);
I[11][3][3]=new Array('Por Mes','',1,100,1);
I[11][3][4]=new Array('Nunca','',1,100,1);
I[12]=new Array();I[12][0]=100;
I[12][1]='';
I[12][2]='0';
I[12][3]=new Array();
I[12][3][0]=new Array('Base de Datos General','',1,100,1);
I[12][3][1]=new Array('Nueva Base de Datos solo para Resultados','',1,100,1);
I[12][3][2]=new Array('Las 2 anteriores','',1,100,1);
I[12][3][3]=new Array('No se capturan','',1,0,1);
I[13]=new Array();I[13][0]=100;
I[13][1]='';
I[13][2]='0';
I[13][3]=new Array();
I[13][3][0]=new Array('Siempre','',1,100,1);
I[13][3][1]=new Array('A Veces','',1,40,1);
I[13][3][2]=new Array('Nunca','',1,0,1);
I[14]=new Array();I[14][0]=100;
I[14][1]='';
I[14][2]='0';
I[14][3]=new Array();
I[14][3][0]=new Array('Diario','',1,100,1);
I[14][3][1]=new Array('Semanalmente','',1,100,1);
I[14][3][2]=new Array('Cada 15 d\u00EDas','',1,100,1);
I[14][3][3]=new Array('Por Mes','',1,100,1);
I[14][3][4]=new Array('Nunca','',1,0,1);
function StartUp(){
 RemoveBottomNavBarForIE();
//If there's only one question, no need for question navigation controls
 if (QsToShow < 2){
  document.getElementById('QNav').style.display = 'none';
 }
//Stash the instructions so they can be redisplayed
 strInstructions = document.getElementById('InstructionsDiv').innerHTML;
 GetUserName();
 CompleteEmptyFeedback();
 SetUpQuestions();
 ClearTextBoxes();
 CreateStatusArray();
//Check search string for q parameter
 if (document.location.search.length > 0){
  if (ShuffleQs == false){
   var JumpTo = parseInt(document.location.search.substring(1,document.location.search.length))-1;
   if (JumpTo <= QsToShow){
    ChangeQ(JumpTo);
   }
  }
 }
//Undocumented function added 10/12/2004
 ShowSpecialReadingForQuestion();
}
function ShowHideQuestions(){
 FuncBtnOut(document.getElementById('ShowMethodButton'));
 document.getElementById('ShowMethodButton').style.display = 'none';
 if (ShowingAllQuestions == false){
  for (var i=0; i<QArray.length; i++){
    QArray.style.display = '';
   }
  document.getElementById('Questions').style.listStyleType = 'decimal';
  document.getElementById('OneByOneReadout').style.display = 'none';
  document.getElementById('ShowMethodButton').innerHTML = ShowOneByOneCaption;
  ShowingAllQuestions = true;
 }
 else{
  for (var i=0; i<QArray.length; i++){
    if (i != CurrQNum){
     QArray.style.display = 'none';
    }
   }
  document.getElementById('Questions').style.listStyleType = 'none';
  document.getElementById('OneByOneReadout').style.display = '';
  document.getElementById('ShowMethodButton').innerHTML = ShowAllQuestionsCaption;
  ShowingAllQuestions = false; 
 }
 document.getElementById('ShowMethodButton').style.display = 'inline';
}
function CreateStatusArray(){
 var QNum, ANum;
//For each item in the item array
 for (QNum=0; QNum<I.length; QNum++){
//Check if the question still exists (hasn't been nuked by showing a random selection)
  if (document.getElementById('Q_' + QNum) != null){
   State[QNum] = new Array();
   State[QNum][0] = -1; //Score for this q; -1 shows question not done yet
   State[QNum][1] = new Array(); //answers
   for (ANum = 0; ANum<I[QNum][3].length; ANum++){
    State[QNum][1][ANum] = 0; //answer not chosen yet; when chosen, will store its position in the series of choices
   }
   State[QNum][2] = 0; //tries at this q so far
   State[QNum][3] = 0; //incrementing percent-correct values of selected answers
   State[QNum][4] = 0; //penalties incurred for hints
   State[QNum][5] = ''; //Sequence of answers chosen by number
  }
  else{
   State[QNum] = null;
  }
 }
}
function CheckMCAnswer(QNum, ANum, Btn){
//if question doesn't exist, bail
 if (State[QNum].length < 1){return;}
//Get the feedback
 Feedback = I[QNum][3][ANum][1];
//Now show feedback and bail if question already complete
 if (State[QNum][0] > -1){
//Add an extra message explaining that the question
// is finished if defined by the user
  if (strQuestionFinished.length > 0){Feedback += '<br />' + strQuestionFinished;}
//Show the feedback
  ShowMessage(Feedback);
//New for 6.2.2.1: If you want to mark an answer as correct even when it's the final choice, uncomment this line.
//  if (I[QNum][3][ANum][2] >= 1){Btn.innerHTML = CorrectIndicator;}else{Btn.innerHTML = IncorrectIndicator;} 
  return;
 }
//Hide the button while processing
 Btn.style.display = 'none';
//Increment the number of tries
 State[QNum][2]++;
//Add the percent-correct value of this answer
 State[QNum][3] += I[QNum][3][ANum][3];
//Store the try number in the answer part of the State array, for tracking purposes
 State[QNum][1][ANum] = State[QNum][2];
 if (State[QNum][5].length > 0){State[QNum][5] += ' | ';}
 State[QNum][5] += String.fromCharCode(65+ANum);
//Should this answer be accepted as correct?
 if (I[QNum][3][ANum][2] < 1){
//It's wrong
//Mark the answer
  Btn.innerHTML = IncorrectIndicator;
//Remove any previous score unless exercise is finished (6.0.3.8+)
  if (Finished == false){
   WriteToInstructions(strInstructions);
  } 
//Check whether this leaves just one MC answer unselected, in which case the Q is terminated
  var RemainingAnswer = FinalAnswer(QNum);
  if (RemainingAnswer > -1){
//Behave as if the last answer had been selected, but give no credit for it
//Increment the number of tries
   State[QNum][2]++;  
//Calculate the score for this question
   CalculateMCQuestionScore(QNum);
//Get the overall score and add it to the feedback
   CalculateOverallScore();
//New for 6.2.2.1
   var QsDone = CheckQuestionsCompleted();
   if ((ContinuousScoring == true)||(Finished == true)){
    Feedback += '<br />' + YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone;
    WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone);
   }
   else{
    WriteToInstructions(QsDone);
   }
  }
 }
 else{
//It's right
//Mark the answer
  Btn.innerHTML = CorrectIndicator;
//Calculate the score for this question
  CalculateMCQuestionScore(QNum);
//New for 6.2.2.0
  var QsDone = CheckQuestionsCompleted();
//Get the overall score and add it to the feedback
  if (ContinuousScoring == true){
   CalculateOverallScore();
   if ((ContinuousScoring == true)||(Finished == true)){
    Feedback += '<br />' + YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone;
    WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone);
   }
  }
  else{
   WriteToInstructions(QsDone);
  }
 }
//Show the button again
 Btn.style.display = 'inline';
//Finally, show the feedback 
 ShowMessage(Feedback);
//Check whether all questions are now done
 CheckFinished();
}
function CalculateMCQuestionScore(QNum){
 var Tries = State[QNum][2] + State[QNum][4]; //include tries and hint penalties
 var PercentCorrect = State[QNum][3];
 var TotAns = GetTotalMCAnswers(QNum);
 var HintPenalties = State[QNum][4];
//Make sure it's not already complete
 if (State[QNum][0] < 0){
//Allow for Hybrids
  if (HintPenalties >= 1){
   State[QNum][0] = 0;
  }
  else{
//This line calculates the score for this question
   if (TotAns == 1){
    State[QNum][0] = 1;
   }
   else{
    State[QNum][0] = ((TotAns-((Tries*100)/State[QNum][3]))/(TotAns-1));
   }
  }
//Fix for Safari bug added for version 6.0.3.42 (negative infinity problem)
  if ((State[QNum][0] < 0)||(State[QNum][0] == Number.NEGATIVE_INFINITY)){
   State[QNum][0] = 0;
  }
 }
}
function GetTotalMCAnswers(QNum){
 var Result = 0;
 for (var ANum=0; ANum<I[QNum][3].length; ANum++){
  if (I[QNum][3][ANum][4] == 1){ //This is an MC answer
   Result++;
  }
 }
 return Result;
}
function FinalAnswer(QNum){
 var UnchosenAnswers = 0;
 var FinalAnswer = -1;
 for (var ANum=0; ANum<I[QNum][3].length; ANum++){
  if (I[QNum][3][ANum][4] == 1){ //This is an MC answer
   if (State[QNum][1][ANum] < 1){ //This answer hasn't been chosen yet
    UnchosenAnswers++;
    FinalAnswer = ANum;
   }
  }
 }
 if (UnchosenAnswers == 1){
  return FinalAnswer;
 }
 else{
  return -1;
 }
}
function CheckMultiSelAnswer(QNum){
//bail if question doesn't exist or exercise finished
 if ((State[QNum].length < 1)||(Finished == true)){return;}
//Increment the tries for this question
 State[QNum][2]++;
 var ShouldBeChecked;
 var Matches = 0;
 if (State[QNum][5].length > 0){State[QNum][5] += ' | ';}
//Check if there are any mismatches
 Feedback = '';
 var CheckBox = null;
 for (var ANum=0; ANum<I[QNum][3].length; ANum++){
  CheckBox = document.getElementById('Q_' + QNum + '_' + ANum + '_Chk');
  if (CheckBox.checked == true){
   State[QNum][5] += 'Y';
  }
  else{
   State[QNum][5] += 'N';
  }
  ShouldBeChecked = (I[QNum][3][ANum][2] == 1);
  if (ShouldBeChecked == CheckBox.checked){
   Matches++;
  }
  else{
   Feedback = I[QNum][3][ANum][1];
  }
 }
//Add the hit readout
 Feedback = Matches + ' / ' + I[QNum][3].length + '<br />' + Feedback;
 if (Matches == I[QNum][3].length){
//It's right
  CalculateMultiSelQuestionScore(QNum);
//New for 6.2.2.0
  var QsDone = CheckQuestionsCompleted();
  if (ContinuousScoring == true){
   CalculateOverallScore();
   if ((ContinuousScoring == true)||(Finished == true)){
    Feedback += '<br />' + YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone;
    WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + '<br />' + QsDone);
   }
   else{
    WriteToInstructions(QsDone);
   }
  }
 }
 else{
//It's wrong -- Remove any previous score unless exercise is finished (6.0.3.8+)
  if (Finished == false){
   WriteToInstructions(strInstructions);
  } 
 }
//Show the feedback
 ShowMessage(Feedback);
//Check whether all questions are now done
 CheckFinished();
}
function CalculateMultiSelQuestionScore(QNum){
 var Tries = State[QNum][2];
 var TotAns = State[QNum][1].length;
//Make sure it's not already complete
 if (State[QNum][0] < 0){
  State[QNum][0] = (TotAns - (Tries-1)) / TotAns;
  if (State[QNum][0] < 0){
   State[QNum][0] = 0;
  }
 }
}
function CalculateOverallScore(){
 var TotalWeighting = 0;
 var TotalScore = 0;
 for (var QNum=0; QNum<State.length; QNum++){
  if (State[QNum] != null){
   if (State[QNum][0] > -1){
    TotalWeighting += I[QNum][0];
    TotalScore += (I[QNum][0] * State[QNum][0]);
   }
  }
 }
 if (TotalWeighting > 0){
  Score = Math.floor((TotalScore/TotalWeighting)*100);
 }
 else{
//if TotalWeighting is 0, no questions so far have any value, so
//no penalty should be shown.
  Score = 100;
 }
}
//New for 6.2.2.0
function CheckQuestionsCompleted(){
 if (ShowCompletedSoFar == false){return '';}
 var QsCompleted = 0;
 for (var QNum=0; QNum<State.length; QNum++){
  if (State[QNum] != null){
   if (State[QNum][0] >= 0){
    QsCompleted++;
   }
  }
 }
//Fixes for 6.2.2.2
 if (QsCompleted >= QArray.length){
  return ExerciseCompleted;
 }
 else{
  return CompletedSoFar + ' ' + QsCompleted + '/' + QArray.length + '.';
 }
}
function CheckFinished(){
 var FB = '';
 var AllDone = true;
 for (var QNum=0; QNum<State.length; QNum++){
  if (State[QNum] != null){
   if (State[QNum][0] < 0){
    AllDone = false;
   }
  }
 }
 if (AllDone == true){
//Report final score and submit if necessary
  CalculateOverallScore();
  FB = YourScoreIs + ' ' + Score + '%.';
  if (ShowCorrectFirstTime == true){
   var CFT = 0;
   for (QNum=0; QNum<State.length; QNum++){
    if (State[QNum] != null){
     if (State[QNum][0] >= 1){
      CFT++;
     }
    }
   }
   FB += '<br />' + CorrectFirstTime + ' ' + CFT + '/' + QsToShow;
  }
//New for 6.2.2.0
  FB += '<br />' + ExerciseCompleted;
  WriteToInstructions(FB);
  Finished == true;
  TimeOver = true;
  Locked = true;
  setTimeout('SendResults(' + Score + ')', 50);
  Finished = true;
  Detail = '<?xml version="1.0"?><hpnetresult><fields>';
  for (QNum=0; QNum<State.length; QNum++){
   if (State[QNum] != null){
    if (State[QNum][5].length > 0){
     Detail += '<field><fieldname>Question #' + (QNum+1) + '</fieldname><fieldtype>question-tracking</fieldtype><fieldlabel>Q ' + (QNum+1) + '</fieldlabel><fieldlabelid>QuestionTrackingField</fieldlabelid><fielddata>' + State[QNum][5] + '</fielddata></field>';
    }
   }
  }
  Detail += '</fields></hpnetresult>';
  setTimeout('Finish()', SubmissionTimeout);
 }
}
//CODE FOR HANDLING SENDING OF RESULTS
var UserName = '';
var StartTime = (new Date()).toLocaleString();
var ResultForm = '<html><body><form name="Results" action="http://www.hotmail.com" method="post" enctype="x-www-form-encoded">';
ResultForm += '<input type="hidden" name="recipient" value="'">(xxxxxx)"></input>';
ResultForm += '<input type="hidden" name="subject" value="CONOCIMIENTOS ESPECIFICOS DEL ÁREA DE INFORME DE RESULTADOS"></input>';
ResultForm += '<input type="hidden"...
Las difenrecias son muchas. A nivel usuario, casi ninguna, tal vez PHP es un poco mas rapido, pero nada mas. A Nivel programacion, son 2 cosas completamente distintas.
Para empezar ASP, es nativo de windows, aunque se a adaptado a servidores Linux. Y PHP es nativo de Linux, y se ha adaptado (junto con apache) para correr el windows.
Si lo estas haciendo sólo en el block de notas, y provango en el navegador, entonces no vas a poder enviar correos. A menos que instales apache y PHP en tu maquina, o bien el IIS y ASP.
a ok ok si si estoy descargando el appserver ese trae el apache el php y mysq este me va aservir veradad me lo recomiendas? sigo con el proceso de descraga?
Sinceramente, nunca lo use, siempre me trajo mas dolores de cabeza usar un paquete armado (utilicé Xampp) que instalarlo a mano. Pero por lo que dice en la pagina, si sirve
gracias, disculpe pero si me va a poder ayudar en lo que le pedi me va a indicar donde y como hacerlo en el codigo porfavor gracias
Como estas obteniendo actualmente los datos (me refiero a los que quieres recibir en el mail)
pues la verdad solo los esta visualizando en la web pero no hace nada de guardar nada lo que quiero es que al final del test me aparezca un boton de enviar u otra forma seria tambien enviar la informacion a una base de datos usted cual me recomienda cual es la manera mas facil para usted
Claro, pero no llego e ver en el codig, donde es que lo visuliza. Si en lugar de visulizarlo, lo guardara en un input, lo podríamos pasar a php, y usar la funcion mail, para enviarlo por correo
perdon no entendi como que no puede ver el codigo, el codigo esta en la parte de arriba ya se lo mande todo el codigo o de que otra forma se lo puedo mandar en un txt como seria
Bien, tienes que reemplzar la funcion SendResults, por esta, que abrirá un pop que enviará el mail.
function SendResults(Score){
 var today = new Date;
 var url = "enviarResultados.php?";
 var url += "Resultado=" + Score;
 var url += "&nombre=" + UserName;
 var url += "&empieza=" + (new Date()).toLocaleString();
 var url += "&termina=" + StartTime;
 var NewName = '' + today.getTime();
      var NewWin = window.open(url, NewName, 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,,width=400,height=300');
//If user has prevented popups, no way to proceed -- exit
 if (NewWin == null){
  return;
 }
}
y tienes que crear un archivo que se llame enviarResultados.php, que contenga esto:
<?php
$resultado = $_GET['Resultado'];
$nombre = $_GET['nombre'];
$empieza = $_GET['empieza'];
$termina = $_GET['termina'];
//define to correo
$to = '[email protected]';
//define el Asunto del correo
$subject = 'Resultado de '.$nombre;
//define el mensaje \n significa una nueva línea \t un tab
$message = "Nombre: $nombre\nResultado: $resultado\nEmpezó: $empieza\nTerminó: $termina";
//define los headers, solo es necesario el From:
$headers = "From: [email protected]";
//enviar el correo
$mail_sent = @mail( $to, $subject, $message, $headers );
//Si se envió el correo, dirá Enviado, caso contrario Falló
echo $mail_sent ? "Enviado" : "Falló";
?>
bueno marcelo cortamos la comunicacion con esta pregunta pero seguimos en la otra de javascript nos leemos despues estamos en contacto con el codigo gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas