﻿/*  
modalJob.js
Provides all client-side functionality for the displaying job information in a modal box
*/
var preID = '';
function setPreID(controlpreId)
{
    preID = controlpreId;
}

function showJob(customerid) {    
 var modal = $find(preID + 'mpeShowJob');
 clearModalDetails();
 modal.show();
 JobsXMLProvider.getJob(customerid, loadJobDetails);
 /*if (preID.indexOf('mainCPH') !=-1)
    document.aspnetForm.ctl00_mainCPH_txtFullName.focus();
 else if (preID.indexOf('ctl00') != -1)
    document.aspnetForm.ctl00_txtFullName.focus();
 else
    document.form1.txtFullName.focus();//*/
}

function clearModalDetails()
{
//Clear labels:
  document.getElementById(preID + 'lblName').innerHTML="";
  document.getElementById(preID + 'lblCategory').innerHTML="";
  document.getElementById(preID + 'lblSubCategory').innerHTML="";
  document.getElementById(preID + 'lblDescription').innerHTML="";
}

function validateUserDetails()
{
 var popup = $find(preID + 'mpeShowJob');
     if (popup) 
     {
          if (Page_ClientValidate('showJob'))
          {
                if (preID.indexOf('ctl00') != -1)
                {
                    var jobTitle = document.getElementById(preID + 'lblName');
                    document.getElementById(preID + 'hidJobCode').value = jobTitle.innerHTML;
                    document.getElementById(preID + 'btnSend').style.display =  'none';
                    document.getElementById(preID + 'btnClose').style.display =  'none';
                    document.getElementById(preID + 'lblMessage').style.display =  'inline';
                    fnClickSend('ctl00$btnSend','');
                }
                else
                {
                    var jobTitle = document.getElementById('lblName');
                    document.getElementById('hidJobCode').value = jobTitle.innerHTML;
                    document.getElementById('btnSend').style.display =  'none';
                    document.getElementById('btnClose').style.display =  'none';
                    document.getElementById('lblMessage').style.display =  'inline';
                    fnClickSend('btnSend','');
                }
                    
          }
     }
}


 function hideJob()
{
  var modal = $find(preID + 'mpeShowJob');
  modal.hide();
}


function loadJobDetails(job)
{
  var doc; 
  if (window.ActiveXObject) 
  { 
    doc=new ActiveXObject("Microsoft.XMLDOM"); 
    doc.async="false"; 
    doc.loadXML(job); 
  } 
  else 
  { 
    var parser=new DOMParser(); 
    var doc=parser.parseFromString(job,"text/xml"); 
  } 

  var root=doc.documentElement.childNodes; 
  var tags; 

  for(var i=0;i<root.length;i++) 
  { 
    if (root[i].nodeType==1) 
    { 
        tags=root[i].childNodes; 
    } 
  } 

  for(var i=0;i<tags.length;i++) 
  { 
    if (tags[i].nodeType==1) 
    { 
      var xmlvalue=tags[i].childNodes[0].nodeValue; 

      switch (tags[i].nodeName) 
      { 
        case "ID": 
        document.getElementById(preID + 'hidJobCode').value=xmlvalue; 
        break; 
        case "jobTitle": 
        var label=document.getElementById(preID + 'lblName'); 
        label.innerHTML=xmlvalue;
        break; 
        case "jobCatName": 
        var label=document.getElementById(preID + 'lblCategory'); 
        label.innerHTML=xmlvalue; 
        break; 
        case "jobSubCat": 
        var label=document.getElementById(preID + 'lblSubCategory'); 
        label.innerHTML=xmlvalue;
        break; 
        case "jobDescription": 
        var label=document.getElementById(preID + 'lblDescription');
        label.innerHTML=getHtmlValue(xmlvalue);
        break; 
      } 
    }
  }
} 

//Adds bullets and a new line to each value in the description label (if separted with ",")
function getHtmlValue(xmlvalue)
{
    if (xmlvalue.indexOf(",") != -1)
    {
        var valueArr = xmlvalue.split(",");
        var htmlValue = "";
        for (i = 0; i < valueArr.length; i++)
        {
            if (i != valueArr.length - 1)
                htmlValue += "&bull; " + valueArr[i] + "<br />";
        }
        htmlValue += "&bull; " + valueArr[valueArr.length-1];
        return htmlValue;
    }
    else
        return xmlvalue;
}
