var xmlHttp;

// Ajax object to get connection
function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    return xmlHttp;
}

// Set Edit mode on given field
function GetEdit(EdtCtrl)
{
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?pid=" + document.all.PID.value + "&getedit=" + EdtCtrl;
    xmlHttp.onreadystatechange=GetEditReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;
}

// Process return info from ajax to set edit mode
function GetEditReturn()
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("GetEditReturn();", 250);
    else
    {
        var ParmsSplit = xmlHttp.responseText.split("|");
        var ParmSplit;
        var InpHTML = "";
        var NumInputs;
        var cols_rows;
        var DoPost = "";

        // Cycle through all inputs
        for(NumInputs = 0; NumInputs < ParmsSplit.length;NumInputs++)
        {
            // Get params for current input
            ParmSplit = ParmsSplit[NumInputs].split("~");

            // If setting an edit box, do it now
            if(ParmSplit[0] == "EditBox")
            {
                InpHTML += "<input size=" + ParmSplit[3] + " class=textbox type=text id=Inp" + ParmSplit[1] + NumInputs + ' value=\\\"' + ParmSplit[2] + '\\\">';
                InpHTML += ParmSplit[4];
            }
            if(ParmSplit[0] == "TextArea")
            {
                cols_rows = ParmSplit[3].split(".");
                InpHTML += "<textarea cols=" + cols_rows[0] + " rows=" + cols_rows[1] + " class=textbox id=Inp" + ParmSplit[1] + NumInputs + ">";
                InpHTML += ParmSplit[2] + "</textarea><br>";
                DoPost = "Post";
                //alert(InpHTML);
            }
        }

        // Now add save and cancel buttons
        InpHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";
        InpHTML += " <input class=submit type=button value=Save onClick=" + '\\\"SaveEdit' + DoPost + "('" + ParmSplit[1] + "', " + NumInputs + ", 1);" + '\\\">';
        InpHTML += " <input class=submit type=button value=Cancel onClick=" + '\\\"SaveEdit' + DoPost + "('" + ParmSplit[1] + "', " + NumInputs + ", 0);" + '\\\">';


        // Now set edit box parms
        var Eval1 = "document.all." + ParmSplit[1] + ".innerHTML = \"" + InpHTML + "\";";
        eval(Eval1);
    }
}

function CreateEditLink(EdtCtrl)
{
    var RetHTML = " <span class=\\\"EditLink\\\"><a href=\\\".\\\" onClick=\\\"return GetEdit('" + EdtCtrl + "');\\\">Edit</a></span>";

    return RetHTML;
}

// Call ajax function on save request
function SaveEdit(EdtCtrl, NumInputs, SaveType)
{
    var NewVal = "";
    var i;

    // Concatenate all inputs tied to this div together
    for(i=0;i<NumInputs;i++)
    {
        if(i) NewVal += "|";
        NewVal += eval("document.all.Inp" + EdtCtrl + i + ".value");
    }
    // Send info to server. SaveType=1 means save, SaveType=0 means cancel (i.e., get previous)
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?pid=" + document.all.PID.value + "&savetype=" + SaveType + "&saveedit=" + EdtCtrl +"&val=" + escape(NewVal);
    xmlHttp.onreadystatechange=SaveEditReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;

}

// Call ajax function on save request - via post
function SaveEditPost(EdtCtrl, NumInputs, SaveType)
{
    var NewVal = "";
    var Params = "";
    var FieldValue;
    var i;

    // Concatenate all inputs tied to this div together
    for(i=0;i<NumInputs;i++)
    {
        if(i) NewVal += "|";
        FieldValue = document.all['Inp' + EdtCtrl + i].value.replace(/"/g, "'");
        NewVal += FieldValue;
        //NewVal += eval("document.all.Inp" + EdtCtrl + i + ".value");
    }
    // Send info to server. SaveType=1 means save, SaveType=0 means cancel (i.e., get previous)
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php";

    Params = "pid=" + document.all.PID.value + "&";
    if(SaveType)
        Params += "savetype=" + SaveType + "&saveedit=" + EdtCtrl +"&val=" + escape(NewVal);
    else
        Params += "savetype=" + SaveType + "&saveedit=" + EdtCtrl +"&val=x";

    xmlHttp.onreadystatechange=SaveEditReturn;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", Params.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(Params);

    return false;
}

// Return handler for Ajax save request
function SaveEditReturn()
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("SaveEditReturn();", 250);
    else
    {
        var ParmSplit = xmlHttp.responseText.split("~");
        var svReturn = "";

        // If plainbox, simply set the box and reset the edit control
        if(ParmSplit[0] == "PlainBox")
        {
            svReturn = "document.all." + ParmSplit[1] + ".innerHTML = \"" + ParmSplit[2] + CreateEditLink(ParmSplit[1]) + "\";";
            eval(svReturn);
        }

        // If plainhtml, simply display the given parm without edit control
        if(ParmSplit[0] == "PlainHTML")
        {
            svReturn = "document.all." + ParmSplit[1] + ".innerHTML = \"" + ParmSplit[2] + "\";";
            eval(svReturn);
        }
    }
}

// Edit summary
function ShowEditSummary()
{
    GetEdit('Summary');

    return false;
}

// Edit want referrals
function ShowEditWantReferral()
{
    GetEdit('WantReferral');

    return false;
}

// Edit Skills
function ShowEditSkills()
{
    GetEdit('Skills');

    return false;
}

// Validate fields
function ValidatePosition(Prfx)
{
    var ErrList = "";

    // Title
    if(eval("document.all." + Prfx + "title.value == \"\""))
        ErrList = ErrList + "Position Title.\n";

    // Company
    if(eval("document.all." + Prfx + "company.value == \"\""))
        ErrList = ErrList + "Company / Organization Name.\n";

    // Description
    if(eval("document.all." + Prfx + "description.value == \"\""))
        ErrList = ErrList + "Description of role / accomplishments.\n";

	// If any errors, show error window and return false
	if(ErrList != "")
	{
        window.alert("Please enter the following required inputs:\n\n" + ErrList);
		return false;
	}
	return true;
}

// Validate fields
function ValidateDegree(Prfx)
{
    var ErrList = "";

    // School
    if(eval("document.all." + Prfx + "school.value == \"\""))
        ErrList = ErrList + "Name of School / Institution.\n";

    // Degree
    //if(eval("document.all." + Prfx + "degree.value == \"\""))
    //    ErrList = ErrList + "Degree Type (e.g., BS, MBA, etc.)\n";

    // Course
    //if(eval("document.all." + Prfx + "course.value == \"\""))
    //    ErrList = ErrList + "Area(s) of study / major(s).\n";

    // Notes
    //if(eval("document.all." + Prfx + "notes.value == \"\""))
    //    ErrList = ErrList + "Activities / Notes.\n";

	// If any errors, show error window and return false
	if(ErrList != "")
	{
        window.alert("Please enter the following required inputs:\n\n" + ErrList);
		return false;
	}
	return true;
}

// ValidateBHSlot
function ValidateBHSlot()
{
    return true;
}

// ShowAddBHSlot - Give form for adding a new blitz time slot
function ShowAddBHSlot(PeopleFlag)
{
    var WeekDays = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    var i,j,jmin,CurHr,ampm, CurT, DaySeconds;
    var CurTm = "13:00";

    // Store existing html
    if(document.all.InpNewBHBlock.value == "")
        document.all.InpNewBHBlock.value = document.all.NewBHBlock.innerHTML;

    var FrmHTML = "";

    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidateBHSlot();\">";
    FrmHTML += "<b>Add \"Blitz Hours\" Slot:</b><br> <br>";

    if(PeopleFlag) FrmHTML += "<input type=hidden name=bk value=people>";
    FrmHTML += "<table border=0><tr><td><b>Slot Length (minutes): </b></td><td valign=top><input type=text name=bh_slotminutes value=15 class=textbox size=3></td></tr>";
    FrmHTML += "<tr><td><b>Break Length (seconds): </b></td><td><input type=text name=bh_breakseconds value=60 class=textbox size=3></td></tr>";
    FrmHTML += "<tr><td><b>Weekly \"Blitz Hours\" Time: </b></td><td><select name=bh_weekday class=selectbox>";

    for(i=0;i<7;i++)
        FrmHTML += "<option value=" + i + ">" + WeekDays[i] + "s";
    FrmHTML += "</select> <b>@</b> <select name=bh_time class=selectbox>";

    for(i=7;i<22;i++)
    {
        CurHr = i;
        ampm = " AM";
        if(i > 11) ampm = " PM";
        if(i > 12) CurHr -= 12;
        for(j=0;j<60;j+=30)
        {
            jmin = j;
            if(!j) jmin = "00";
            CurT = i + ":" + jmin;
            DaySeconds = (i * 3600) + (j * 60);
            FrmHTML += "<option value='" + DaySeconds + "'";
            if(CurT == CurTm) FrmHTML += " SELECTED";
            FrmHTML += ">" + CurHr + ":" + jmin + ampm;
        }
    }

    FrmHTML += "</select></td></tr>";
    FrmHTML += "</table>";

    FrmHTML += "<input class=submit type=submit value=Submit> ";
    FrmHTML += "<input class=submit type=button value=Cancel onClick=\"return CancelBHAdd();\"> <br>";

    // Now show form
    document.all.NewBHBlock.innerHTML = FrmHTML;

    return false;
}

// CancelBHAdd - Cancel add BH Slot request
function CancelBHAdd()
{
    document.all.NewBHBlock.innerHTML = document.all.InpNewBHBlock.value;
    document.all.InpNewBHBlock.value = "";
}

// Create form for adding website link
function ShowAddWebsite()
{
    var FrmHTML = "";

    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidateWebsite('add_web_');\"><span class=ProfTitle>Add New Website Link:</span> <br>";
    FrmHTML += "<input type=hidden name=NewWebsite value=true>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";

    // Create form with blank fields
    FrmHTML += GetWebsiteHTML("add_web_", "", "http://", "");

    FrmHTML += "<input type=submit class=submit value=\"Save New Link\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"document.all.AddWebsite.style.display = 'none';\">";
    FrmHTML += "</form>";

    // Now show form
    document.all.AddWebsite.style.display = '';
    document.all.AddWebsite.innerHTML = FrmHTML;

    //document.bgColor = "#330000";

    return false;
}

// Create form for adding document link
function ShowAddDocument()
{
    var FrmHTML = "";

    FrmHTML = "<form enctype=multipart/form-data method=post action=profile.php onSubmit=\"return ValidateDocument('add_document_');\"><span class=ProfTitle>Add New Document Link:</span> <br>";
    FrmHTML += "<input type=hidden name=NewDocument value=true>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";

    // Create form with blank fields
    FrmHTML += GetDocumentHTML("add_document_", "", "", "");

    FrmHTML += "<input type=submit class=submit value=\"Save New Document Link\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"document.all.AddDocument.style.display = 'none';\">";
    FrmHTML += "</form>";

    // Now show form
    document.all.AddDocument.style.display = '';
    document.all.AddDocument.innerHTML = FrmHTML;

    //document.bgColor = "#330000";

    return false;
}

// ShowUploadPhoto - Give form for uploading
function ShowUploadPhoto()
{
    // Get contents of div
    if(document.all.InpUplPhoto.value == "")
        document.all.InpUplPhoto.value = document.all.UplPhoto.innerHTML;

    var FrmHTML = "";

    FrmHTML = "<form enctype=multipart/form-data method=post action=profile.php onSubmit=\"return ValidatePhotoUpload();\">";
//    FrmHTML += "<span class=smtext><b>Upload Photo:</b><br>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";
    FrmHTML += "<input type=file class=textbox name=NewPhoto size=10><br>";
    FrmHTML += "<input type=submit class=submit value=Upload> <input type=button class=submit value=Cancel onClick=\"return CancelUploadPhoto();\">";
    FrmHTML += "<input type=hidden name=UploadingPhoto value=true></form>";

    document.all.UplPhoto.innerHTML = FrmHTML;

    return false;
}

function ValidatePhotoUpload()
{
    if(document.all.NewPhoto.value == "")
    {
        alert("Please choose a photo for your profile.");
        return false;
    }

    if( (document.all.NewPhoto.value.toLowerCase().indexOf(".jpg") == -1) &&
        (document.all.NewPhoto.value.toLowerCase().indexOf(".jpeg") == -1) )
    {
        alert("Please select a file of type .jpg or .jpeg");
        return false;
    }

    return true;
}

function CancelUploadPhoto()
{
    document.all.UplPhoto.innerHTML = document.all.InpUplPhoto.value;
    document.all.InpUplPhoto.value = "";

    return false;
}

function CancelEditAudioIntro()
{
    document.all.AudioIntro.innerHTML = document.all.InpAudioIntro.value;
    document.all.InpAudioIntro.value = "";

    return false;
}

function RefreshAudioIntro(PID)
{
    // Simply make ajax code to get latest draft back
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?pid=" + PID + "&getaudiodraft=t";
    xmlHttp.onreadystatechange=RefreshAudioIntroReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;

}

function RefreshAudioIntroReturn(PID)
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("RefreshAudioIntroReturn();", 250);
    else
    {
        var ParmsSplit = xmlHttp.responseText.split("|");

        EditAudioIntro(ParmsSplit[0], ParmsSplit[1], ParmsSplit[2], ParmsSplit[3]);
    }

    return false;
}

function EditAudioIntro(AudioLine, Passcode, DraftAudioID, PID)
{
    if(document.all.InpAudioIntro.value == "")
        document.all.InpAudioIntro.value = document.all.AudioIntro.innerHTML;

    var FrmHTML = "";

    //FrmHTML = "<table bgcolor=#000099 width=292 cellspacing=1 cellpadding=0><td width=292><table bgcolor=#ffffff cellspacing=0 cellpadding=0 width=290><td width=290>";

    FrmHTML += "<span class=title><b>Record New Audio Intro:</b></span><br> <br>";
    FrmHTML += "<form method=get action=profile.php><input type=hidden name=pid value=" + PID + ">";
    FrmHTML += "<input type=hidden name=save_audio_id value=" + DraftAudioID + ">";
    FrmHTML += "1) Dial <b>" + AudioLine + "</b> on your telephone and";
    FrmHTML += " enter <b>" + Passcode + "</b> as your passcode.<br>";

    FrmHTML += "2) Record your intro, then after you hang-up, <a href=# onClick=\"return RefreshAudioIntro(" + PID + ");\"><b>Click Here to Refresh Draft Audio:</b></a><br>";

    if(DraftAudioID)
    {
        FrmHTML += "<span style=\"font-size: 6px\"> <br></span><center><object height=\"20\" width=\"290\">";
        FrmHTML += "<embed src=\"/images/mp3player.swf?&amp;file=http%3a//www.blitztime.com/files/audio_intro/" + PID + "-" + DraftAudioID + ".mp3&amp;autoPlay=y&amp;song_title=Audio%20Intro\" height=\"20\" width=\"220\"></embed>";
        FrmHTML += "</object></center><span style=\"font-size: 6px\"> <br></span>";
    }

    FrmHTML += "3) Click Save below when you are satisfied, or repeat steps 1 & 2 to re-record.";

    FrmHTML += "<br> <span style=\"font-size: 6px\"> <br></span>";
    FrmHTML += "<input type=submit class=submit value=Save> ";
    FrmHTML += "<input type=button class=submit value=Cancel onClick=\"return CancelEditAudioIntro();\"> ";
    FrmHTML += "<span class=smtext><br><i>Note: The above phone # is for recording audio introductions only. It is not an active BlitzLine.</i></span>";
    FrmHTML += "</form>";

    //FrmHTML += "</td></table></td></table>";

    document.all.AudioIntro.innerHTML = FrmHTML;

    return false;
}

// Create form for adding degree
function ShowAddEducation()
{
    var FrmHTML = "";

    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidateDegree('add_deg_');\"><span class=ProfTitle>Add New School / Degree:</span> <br>";
    FrmHTML += "<input type=hidden name=NewDegree value=true>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";

    // Create form with blank fields
    FrmHTML += GetEducationHTML("add_deg_", "", "", "", 0, 0, "");

    FrmHTML += "<input type=submit class=submit value=\"Save New Degree\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"document.all.AddEducation.style.display = 'none';\">";
    FrmHTML += "</form>";

    // Now show form
    document.all.AddEducation.style.display = "";
    document.all.AddEducation.innerHTML = FrmHTML;

    return false;
}

// Open link in new window
function OpenLink(LinkLoc)
{
    var Link = eval("document.all." + LinkLoc + ".value");

    window.open(Link, "_blank");
    return false;
}

// Create web link form with given fields
function GetWebsiteHTML(FldPrefix, WebTitle, WebLink, WebDescription)
{
    var WebHTML = "";

    WebHTML += "<table border=0 cellpadding=0 cellspacing=5>";
    WebHTML += "<tr><td class=subtitle align=right><b>Title:</b></td><td><input size=23 class=textbox type=text name=" + FldPrefix + "title value=\"" + WebTitle + "\"></td></tr>";
    WebHTML += "<tr><td class=subtitle align=right valign=top><b>Link:</b></td><td valign=top><input size=23 class=textbox type=text name=" + FldPrefix + "link value=\"" + WebLink + "\">";
    WebHTML += " <a href=. onClick=\"return OpenLink('" + FldPrefix + "link');\"><span class=EditLink>Test Link</span></a>";
    WebHTML += "</td></tr>";
    //WebHTML += "<tr><td class=subtitle align=right><b>Description:</b></td><td><textarea class=textbox rows=5 cols=27 name=" + FldPrefix + "description>" + WebDescription + "</textarea></td></tr>";

    WebHTML += "</table>";

    return WebHTML;
}

// Delete a web link
function DeleteWebLink(WebLinkID)
{
    if(!confirm("Are you sure you want to delete this web link?"))
        return false;

    // Send info to server.
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?pid=" + document.all.PID.value + "&deleteweblink=" + WebLinkID;
    xmlHttp.onreadystatechange=DeleteWebLinkReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;
}

// Erase deleted web link from screen
function DeleteWebLinkReturn()
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("DeleteWebLinkReturn();", 250);
    else
    {
        document.all["WebLink" + xmlHttp.responseText].style.display = 'none';
    }

    return false;
}

// Create document form with given fields
function GetDocumentHTML(FldPrefix, DocumentTitle, DocumentLink, DocumentDescription)
{
    var WebHTML = "";

    WebHTML += "<table border=0 cellpadding=0 cellspacing=5>";
    WebHTML += "<tr><td class=subtitle align=right><b>Title:</b></td><td><input size=24 class=textbox type=text name=" + FldPrefix + "title value=\"" + DocumentTitle + "\"></td></tr>";
    WebHTML += "<tr><td class=subtitle align=right><b>Document:</b></td><td><input size=24 class=textbox type=file name=" + FldPrefix + "link value=\"" + DocumentLink + "\">";
    WebHTML += "</td></tr>";
    WebHTML += "<tr><td class=subtitle align=right><b>Description:</b></td><td><textarea class=textbox rows=5 cols=23 name=" + FldPrefix + "description>" + DocumentDescription + "</textarea></td></tr>";

    WebHTML += "</table>";

    return WebHTML;
}

// Delete a document
function DeleteDocument(DocumentID)
{
    if(!confirm("Are you sure you want to delete this document?"))
        return false;

    // Send info to server.
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?pid=" + document.all.PID.value + "&deletedocument=" + DocumentID;
    xmlHttp.onreadystatechange=DeleteDocumentReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;
}

// Erase deleted Document from screen
function DeleteDocumentReturn()
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("DeleteDocumentReturn();", 250);
    else
    {
        document.all["Document" + xmlHttp.responseText].style.display = 'none';
    }

    return false;
}

// Create degree form with given fields
function GetEducationHTML(FldPrefix, DegSchool, DegDegree, DegCourse, DegMonth, DegYear, DegNotes)
{
    var DegHTML = "";

    DegHTML += "<table border=0 cellpadding=0 cellspacing=5>";
    DegHTML += "<tr><td class=subtitle align=right><b>School:</b></td><td><input size=30 class=textbox type=text name=" + FldPrefix + "school value=\"" + DegSchool + "\"></td></tr>";
    DegHTML += "<tr><td class=subtitle align=right><b>Degree:</b></td><td><input size=30 class=textbox type=text name=" + FldPrefix + "degree value=\"" + DegDegree + "\"></td></tr>";
    DegHTML += "<tr><td class=subtitle align=right><b>Area(s) of Study:</b></td><td><input size=30 class=textbox type=text name=" + FldPrefix + "course value=\"" + DegCourse + "\"></td></tr>";
    DegHTML += "<tr><td class=subtitle align=right><b>Degree Date:</b></td><td>" + GetMonYear(FldPrefix + "grad_", DegMonth, DegYear) + "</td></tr>";
    DegHTML += "<tr><td class=subtitle align=right><b>Activities / Notes:</b></td><td><textarea class=textbox rows=5 cols=29 name=" + FldPrefix + "notes>" + DegNotes + "</textarea></td></tr>";

    DegHTML += "</table>";

    return DegHTML;
}

// Create form for adding position
function ShowAddPosition(Stat)
{
    var FrmHTML = "";

    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidatePosition('addpos_');\"><span class=ProfTitle>Add New Position:</span> <br>";
    FrmHTML += "<input type=hidden name=NewPosition value=true>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";

    // Create form with blank fields
    FrmHTML += GetPositionHTML("addpos_", "", "", 0, 0, Stat, 0, 0, "");

    FrmHTML += "<input type=submit class=submit value=\"Save New Position\">";
//    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"document.all.AddPosition.innerHTML = '';\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"document.all.AddPosition.style.display = 'none';\">";
    FrmHTML += "</form>";

    // Now show form
    document.all.AddPosition.style.display = "";
    document.all.AddPosition.innerHTML = FrmHTML;

    // Now make sure end date is valid / invalid as appropriate
    UpdatePosStatus("addpos_");

    return false;
}

// Cancel edit position
function CancelEditPosition(PosID)
{
    eval("document.all.Experience" + PosID + ".innerHTML = document.all.InpExperience" + PosID + ".value");
    eval("document.all.InpExperience" + PosID + ".value = \"\"");
}

// Show edit form for existing position
function ShowEditPosition(PosID)
{
    var FrmHTML = "";
    var PosParms = eval("document.all.ExpParms" + PosID + ".value");
    var Parms = PosParms.split("|");

    // If not in edit mode, get current html of div
    if(eval("document.all.InpExperience" + PosID + ".value == \"\""))
    {
        eval("document.all.InpExperience" + PosID + ".value = document.all.Experience" + PosID + ".innerHTML");
//        alert(eval("document.all.InpExperience" + PosID + ".value"));
    }

    // Create edit form
    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidatePosition('editpos" + PosID + "_');\"><span class=ProfTitle>Edit Position:</span> <br>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";
    FrmHTML += "<input type=hidden name=EditPosition value=" + PosID + ">";

//    FrmHTML += GetPositionHTML("editpos" + PosID + "_", Parms[0], Parms[1], parseInt(Parms[2]), parseInt(Parms[3]), parseInt(Parms[4]), parseInt(Parms[5]), parseInt(Parms[6]), Parms[7]);
    FrmHTML += GetPositionHTML("editpos" + PosID + "_", Parms[0], Parms[1], Parms[2], Parms[3], parseInt(Parms[4]), Parms[5], Parms[6], Parms[7]);

    FrmHTML += "<input type=submit class=submit value=\"Save Changes\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"CancelEditPosition(" + PosID + ");\">";

    // Now show form
    document.all["Experience" + PosID].innerHTML = FrmHTML;
    UpdatePosStatus("editpos" + PosID + "_");

    return false;
}

// Cancel edit position
function CancelEditDegree(DegID)
{
    eval("document.all.Degree" + DegID + ".innerHTML = document.all.InpDegree" + DegID + ".value");
    eval("document.all.InpDegree" + DegID + ".value = \"\"");
}

// Show edit form for degree
function ShowEditDegree(DegID)
{
    var FrmHTML = "";
    var DegParms = document.all["DegParms" + DegID].value;
    var Parms = DegParms.split("|");

    // If not in edit mode, get current html of div
    if(eval("document.all.InpDegree" + DegID + ".value == \"\""))
    {
        document.all["InpDegree" + DegID].value = document.all["Degree" + DegID].innerHTML;
//        alert(eval("document.all.InpDegree" + DegID + ".value"));
    }

    // Create edit form
    FrmHTML = "<form method=post action=profile.php onSubmit=\"return ValidateDegree('edit_deg" + DegID + "_');\"><span class=ProfTitle>Edit School / Degree:</span> <br>";
    FrmHTML += "<input type=hidden name=pid value=" + document.all.PID.value + ">";
    FrmHTML += "<input type=hidden name=EditDegree value=" + DegID + ">";

    // Create form with blank fields
    FrmHTML += GetEducationHTML("edit_deg" + DegID + "_", Parms[0], Parms[1], Parms[2], Parms[4], Parms[3], Parms[5]);

    FrmHTML += "<input type=submit class=submit value=\"Save Changes\">";
    FrmHTML += " <input type=button class=submit value=Cancel onClick=\"CancelEditDegree(" + DegID + ");\">";
    FrmHTML += "</form>";

    // Now show form
    document.all["Degree" + DegID].innerHTML = FrmHTML;

    return false;
}

// Create position form with given fields
function GetPositionHTML(FldPrefix, PosTitle, PosCompany, PosStartMonth, PosStartYear, PosIsCurrent, PosEndMonth, PosEndYear, PosDescription)
{
    //alert(PosStartMonth + " -- " + PosStartYear + " | " + PosEndMonth + " -- " + PosEndYear);

    var PosHTML = "";

    PosHTML += "<table border=0 cellpadding=0 cellspacing=5>";
    PosHTML += "<tr><td class=subtitle align=right><b>Title:</b></td><td><input size=30 class=textbox type=text name=" + FldPrefix + "title value=\"" + PosTitle + "\"></td></tr>";
    PosHTML += "<tr><td class=subtitle align=right><b>Company:</b></td><td><input size=30 class=textbox type=text name=" + FldPrefix + "company value=\"" + PosCompany + "\"></td></tr>";

    PosHTML += "<tr><td class=subtitle align=right><b>Start Date:</b></td><td>" + GetMonYear(FldPrefix + "start_", PosStartMonth, PosStartYear) + "</td></tr>";
    PosHTML += "<tr><td class=subtitle align=right><b>Status:</b></td><td>" + GetPosStatus(FldPrefix, PosIsCurrent) + "</td></tr>";
    PosHTML += "<div id=" + FldPrefix + "ShowEnd>";
    //if(!PosIsCurrent)
        PosHTML += "<tr><td class=subtitle align=right><b>End Date:</b></td><td>" + GetMonYear(FldPrefix + "end_", PosEndMonth, PosEndYear) + "</td></tr>";
    PosHTML += "</div>";
    PosHTML += "<tr><td class=subtitle align=right><b>Description:</b></td><td><textarea class=textbox rows=5 cols=30 name=" + FldPrefix + "description>" + PosDescription + "</textarea></td></tr>";
    PosHTML += "</table>";

    return PosHTML;
}

// Get pulldown to toggle current / past job status
function GetPosStatus(Prfx, Stat)
{
    var StatHTML = "";

    StatHTML += "<select class=selectbox name=" + Prfx + "status onChange=\"UpdatePosStatus('" + Prfx + "');\">";
    StatHTML += "<option value=T";
    if(Stat) StatHTML += " SELECTED";
    StatHTML += ">Current Position";

    StatHTML += "<option value=F";
    if(!Stat) StatHTML += " SELECTED";
    StatHTML += ">Previous Position";

    StatHTML += "</select>";

    return StatHTML;
}

// Change position status and toggle end date selector
function UpdatePosStatus(Prfx)
{
    var CtrlHTML = "";
    var UpdCmd = "";
    var UpdElem = document.getElementById(Prfx + "ShowEnd");

    var Ctrl = Prfx + "status";
    var CurStat = eval("document.all." + Ctrl + ".value");

    // Build End selector if control is now set to previous pos, otherwise clear it out
    if(CurStat == "T" || CurStat == "F")
    {
        // Simply redisplay job function form with new status
        if(CurStat == "F")
        {
            eval("document.all." + Prfx + "end_month.disabled = false;");
            eval("document.all." + Prfx + "end_year.disabled = false;");
        }
        else
        {
            eval("document.all." + Prfx + "end_month.disabled = true;");
            eval("document.all." + Prfx + "end_year.disabled = true;");
        }
    }
}

// Get month and year pulldown
function GetMonYear(Prfx, GtMon, GtYear)
{
    var CurDate = new Date();
    var CurYear = CurDate.getYear();
    var GrHTML = "";
    var AllMonths = new Array("", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var i;

    // Adjust year for Firefox
    if(CurYear < 2000) CurYear += 1900;

    GrHTML = "<select name=" + Prfx + "month class=selectbox>";
    for(i=1;i<13;i++)
    {
        GrHTML += "<option value=" + i;
        if(i == GtMon) GrHTML += " SELECTED";
        GrHTML += ">" + AllMonths[i];
    }
    GrHTML += "</select> <select name=" + Prfx + "year class=selectbox>";
    for(i=CurYear;i > CurYear - 50;i--)
    {
        GrHTML += "<option value=" + i;
        if(i == GtYear) GrHTML += " SELECTED";
        GrHTML += ">" + i;
    }
    GrHTML += "</select>";

    //alert(GrHTML);

    return GrHTML;
}

function AJXReview(ReqID, ReviewFlag)
{
    var ViewURL = "/app/blitz/profile_ajx_requests.php?reqid=" + ReqID;
    ViewURL += "&returl=" + document.all.suburl.value;
    if(ReviewFlag) ViewURL += "&rvw=t";

    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    xmlHttp.onreadystatechange=AJXReviewReturn;
    xmlHttp.open("GET",ViewURL,true);
    xmlHttp.send(null);

    return false;
}

function AJXReviewReturn()
{
    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("AJXReviewReturn();", 250);
    else
    {
        //alert (xmlHttp.responseText);
        var Parms = xmlHttp.responseText.split("|");
        var FrmHTML = "";

        // Enable display on correct div
        document.all['DvReview' + Parms[0]].style.display = "";
        document.all['DvReview' + Parms[0]].border = 1;

        FrmHTML = "<table bgcolor=#064265 cellpadding=1 cellspacing=1 width=435><td width=435><table bgcolor=#ffffff cellspacing=0 cellpadding=0 width=433><td width=433>";
        FrmHTML += "<table border=0 cellpadding=0 cellspacing=0><tr><td width=400></td><td class=smtext>";
        FrmHTML += "<a href=. onClick=\"return CloseAJXReview(" + Parms[0] + ");\">(Close)</a>&nbsp;</td></tr><tr><td colspan=2 valign=top>";
        FrmHTML += Parms[1];
        FrmHTML += "</td></tr></table>";
        FrmHTML += "</td></table></td></table>";

        document.all['DvReview' + Parms[0]].innerHTML = FrmHTML;
    }

    return false;
}

function CloseAJXReview(UsrID)
{
    document.all['DvReview' + UsrID].innerHTML = "";
    document.all['DvReview' + UsrID].style.display = "none";

    return false;
}

function ValidateRQAccept()
{
    // Accept Time Selected
    if(document.all.acctime.value == "")
    {
        alert("Please choose a time slot to accept this conversation.");
        return false;
    }

	return confirm('Schedule this conversation?');
}

function ValidateRQReject()
{
    // Reject Time Selected
    if(document.all.rejconv.value == "")
    {
        alert("Please choose a reason for declining.");
        return false;
    }

	return confirm('Decline this conversation?');
}

// Clear out Control
function ClearControl(EdtCtrl)
{
    // First confirm
    if(!confirm('Are you sure you want to clear this field?'))
        return false;

    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "profile.php?savetype=1&saveedit=" + EdtCtrl +"&val=";
    xmlHttp.onreadystatechange=SaveEditReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    return false;

}

// Edit Video
function ShowEditVideo()
{
    GetEdit('Video');

    return false;
}



