﻿//create onDomReady Event
window.onDomReady = DomReady;

//Setup the event
function DomReady(fn) {
    //W3C
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", fn, false);
    }
    //IE
    else {
        document.onreadystatechange = function() { readyState(fn) }
    }
}

//IE execute function
function readyState(fn) {
    //dom is ready for interaction
    if (document.readyState == "interactive") {
        fn();
    }
}
function copyToClipboard(field) {
    //var content = eval("document." + field)
    field.focus()
    field.select()
    range = field.createTextRange()
    range.execCommand("Copy")
    window.status = "Contents copied to clipboard"
    setTimeout("window.status=''", 1800)
}
function HideFlash(show) 
{

    //var Divs = getElementsByClassName('FlashDiv', null);
    var Divs = document.getElementById("ctl00_ContentPlaceHolder1_profile_careerTracker1_divFlash");
    var x = 0;
    if(Divs)
    {
//        for(x = 0; x < Divs.length; x++)
//        {
            if(show)
            {
                //Divs[x].style.visibility = 'hidden';
                Divs.style.visibility = 'hidden';
                //Divs.style.display = 'none';
                
            }
            else
            {
                //Divs[x].style.visibility = 'visible';
                Divs.style.visibility = 'visible';
                //Divs.style.display = 'block';
            }
//        } 
    }       
}

function HideHelp(show, elementId)
{
    var help = document.getElementById(elementId);
    
    if(show)
    {
        help.style.display = '';                                        
    }
    else
    {
        help.style.display = 'none';
    }
}

function ShowHideMatchPreview(PercentDivId, MatchDivId, show, xoff)
{
    var PercentDiv = document.getElementById(PercentDivId);
    var MatchDiv = document.getElementById(MatchDivId); 
    
    if(xoff == null)
        xoff = 0;       
    
    if(show)
    {
        MatchDiv.style.display = '';
        var x = findPosX(PercentDiv);
        var y = findPosY(PercentDiv);
        MatchDiv.style.left = (x + 50 + xoff) + 'px';                                        
        MatchDiv.style.top = (y - 60) + 'px';
    }
    else
    {
        MatchDiv.style.display = 'none';
    }
}

function ShowHideMatchCandidatePreview(hlNameId, MatchDivId, show)
{
    var hlName = document.getElementById(hlNameId);
    var MatchDiv = document.getElementById(MatchDivId);
          
    
    if(show)
    {
        MatchDiv.style.display = '';
        var x = findPosX(hlName);
        var y = findPosY(hlName);
        MatchDiv.style.left = (x + hlName.offsetWidth) + 'px';     
        MatchDiv.style.top = (y - 60) + 'px';
    }
    else
    {
        MatchDiv.style.display = 'none';
    }
}

function showUpdateProgress(panelID, valGrp, show){  
    var panel = document.getElementById(panelID);
    if(show){
        if(Page_ClientValidate(valGrp)){       
            panel.style.display = 'block';
        }else{
            return false;
        }
    }else{
        panel.style.display = 'none';
    }    
}

function PlayProfVidForComp(userid, companyId, controlid, creditCountId, NavCreditid, mediaServerUrl)
{
    
    swfobject.embedSWF("../flash/mediaplayer.swf", "CompanyVideoView2", "400", "300", "9.0.0", "../flash/mediaplayer.swf",
		            { name1: "height=300&width=400&enablejs=true&bufferlength=5&javscriptid=CompanyVideoView2&file=rtmp://" + mediaServerUrl + "/vod/&id=" + userid + "\"" },
		            {wmode:"transparent", align:"t",scale: "exactfit",swliveconnect: "true", enablejs:"true" },
		            {});	            
	
		            
    var videoContainer = document.getElementById('CompanyVideoViewContainer');
    videoContainer.style.visibility = 'visible';
    var videobtn = document.getElementById(controlid);
    videobtn.style.visibility = 'hidden';
    
    CompanyProfessionalView.CompanyProfessionalViewPayment(userid, companyId, creditCountId, NavCreditid, 
        OnSuccessCProfViewCallback, OnServiceTimeout, OnServiceError);   
}
    
function OnSuccessCProfViewCallback(result)
{    
    document.getElementById(result[1]).innerHTML = result[0];
    
    if(result[2] != null)
        document.getElementById(result[2]).innerHTML = 'CREDITS (' + result[0] + ')';
}

function OnServiceTimeout(result) {
    alert(result + 'Timeout');
}

function OnServiceError(result) {
    alert(result + 'error');
}

function stopVideo(video1, video2)
{
    if(thisMovie(video1) != null)
    {
        sendEvent(video1, 'stop');
    }
    else 
    {
        if(thisMovie(video2) != null)
        {
            sendEvent(video2, 'stop');
        }
    }
}

function sendEvent(swf,typ, prm) 
{
    thisMovie(swf).sendEvent(typ,prm); 
};
function getUpdate(typ,pr1,pr2,swf) {};
function thisMovie(swf) 
{
  if(navigator.appName.indexOf("Microsoft") != -1) 
  {
    return document[swf];
  } 
  else 
  {
    return document[swf];
  }
};

function getElementsByClassName(classname, node)  
{
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

function SetUniqueRadioButton(nameregex, current)
{
   re = new RegExp(nameregex);
   for(i = 0; i < document.forms[0].elements.length; i++)
   {
      elm = document.forms[0].elements[i]
      if (elm.type == 'radio')
      {
         if (re.test(elm.name))
         {
            elm.checked = false;
         }
      }
   }
   current.checked = true;
}

function SetFooterY()
{
    //var content = document.getElementById('ContentWrapper');
    var footer = document.getElementById('FooterContainer');
    //var ContainerY = findPosY(content);
    var FooterY = findPosY(footer);
    var FooterOffset = 79;
    
    var windowheight = window.innerHeight;
    if(windowheight == null)
        windowheight = document.body.offsetHeight;
    
    if(navigator.appName.indexOf("Microsoft") != -1)
    {
        //alert('footer');
        FooterOffset = 137;
    }
    
    //alert(windowheight);
    
    var totalHeight = getPageSizeWithScroll();
    //alert(totalHeight[0]);
    
    
    if(FooterY < (windowheight - FooterOffset))
    {
       footer.setAttribute('style','position: absolute; left: 0px; top:' + (windowheight - FooterOffset) + 'px;');
       footer.style.position = 'absolute';
       footer.style.left = 0;
       footer.style.top = windowheight - FooterOffset;       
    }
    else
    {
       footer.setAttribute('style','position: absolute; left: 0px; top:' + (totalHeight[1] - FooterOffset) + 'px;');
       footer.style.position = 'absolute';
       footer.style.left = 0;
       footer.style.top = totalHeight[1] - FooterOffset;  
    }
    
    footer.style.display = '';
   
}

function getPageSizeWithScroll()
{     
    if (window.innerHeight && window.scrollMaxY)// Firefox
    {
        yWithScroll = window.innerHeight + window.scrollMaxY;
        xWithScroll = window.innerWidth + window.scrollMaxX;
    }
    else if (document.body.scrollHeight > document.body.offsetHeight)// all but Explorer Mac
    { 
        yWithScroll = document.body.scrollHeight;
        xWithScroll = document.body.scrollWidth;
    }
    else// works in Explorer 6 Strict, Mozilla (not FF) and Safari
    {
        yWithScroll = document.body.offsetHeight;
        xWithScroll = document.body.offsetWidth;
    }
    arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
    //alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );
    return arrayPageSizeWithScroll;
} 

function closeHelp(targetid)
{
    var control = document.getElementById(targetid);
    control.style.display = 'none';
}


//create function, it expects 2 values.
function insertAfter(newElement,targetElement) {
	//target is what you want it to go after. Look for this elements parent.
	var parent = targetElement.parentNode;
	
	//if the parents lastchild is the targetElement...
	if(parent.lastchild == targetElement) {
		//add the newElement after the target element.
		parent.appendChild(newElement);
		} else {
		// else the target has siblings, insert the new element between the target and it's next sibling.
		parent.insertBefore(newElement, targetElement.nextSibling);
		}
}


function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }



//  idealTitles
var hdnArray;
var isSaved;
var lblArray;
function loadArray()
{
    hdnArray = new Array(document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_hdnTitle1'),
                             document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_hdnTitle2'),
                             document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_hdnTitle3'));
                             
    lblArray = new Array(document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lblTitle1'),
                         document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lblTitle2'),
                         document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lblTitle3'));
                         
    var titleList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbAvailableTitles');
    var chosenList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbIdealTitles');
                             
    isSaved = new Array(false, false, false); 
    
    var itemFound = false;
                  
    for(var i = 0; i < 3; i++)
    {
        if(hdnArray[i].value == "")
            hdnArray[i].value = 0;
            
        if(lblArray[i].innerHTML != "&nbsp;")
        {
            for(var q = 0; q < chosenList.options.length; q++)
            {   
                itemFound = false;
                if(lblArray[i].innerHTML == chosenList[q].text)
                {
                    itemFound = true;
                    q = 4;
                }
            }
                
            if(!(itemFound))
            {
                for(var x = 0; x < titleList.options.length; x++)
                {
                    if(lblArray[i].innerHTML == titleList[x].text)
                    {
                        var myOption = document.createElement("Option");                
                        myOption.innerHTML = titleList[x].text;    //listbox's text
                        myOption.value = titleList[x].value;  //listbox's value
                        chosenList.appendChild(myOption);
                        x = titleList.options.length + 1;
                    }
                }
            }            
        }     
    }
    removeChosenTitles();
}
  
//removes chosen titles from available title list    
function removeChosenTitles()
{ 
    var titleList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbAvailableTitles');
    var chosenList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbIdealTitles');
    
    for(var i = 0; i < chosenList.length; i++)
    {
        for(var x = 0; x < titleList.length; x++)
        {
            if(titleList[x].value == chosenList[i].value)
            {
                titleList.remove(x);
                x = titleList.length + 1;
                hdnArray[i].value = chosenList[i].value;
                isSaved[i] = true;
            }
        }
    }
}

function addTitle(obj)
{    
    var titleList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbAvailableTitles'); 
    var chosenList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbIdealTitles');
    
    var addIndex = titleList.selectedIndex;
    if(addIndex < 0)
    {
        return false;
    }
    
    if(chosenList.length == 3)
    {
        alert("You may choose no more than three titles");
        return false;
    }
           
    for(var y = 0; y < chosenList.length; y++)
    {
        if(titleList[addIndex].value == chosenList[y].value)
        {
            alert(titleList[addIndex].text + " has already been added to your ideal job title list.");
            return false;
        }
    }
        
    var myOption = document.createElement("Option");                
    myOption.innerHTML = titleList[addIndex].text;    //listbox's text
    myOption.value = titleList[addIndex].value;  //listbox's value
    for(var i = 0; i < 3; i++)
    {
        
        if(hdnArray[i].value == 0)
        {
            hdnArray[i].value = myOption.value;
            i = 4;
        }
    }
    
    chosenList.appendChild(myOption);
    titleList.remove(addIndex);
    //titleList.selectedIndex = -1;  
    return false;
}

function removeTitle(obj)
{
    var chosenList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbIdealTitles');
    var titleList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbAvailableTitles');
    
    var removeIndex = chosenList.selectedIndex;
    
    if(removeIndex < 0)
    {
        return false;
    }
    
    var myOption = document.createElement("Option");                
    myOption.innerHTML = chosenList[removeIndex].text;
    myOption.value = chosenList[removeIndex].value;
    
    titleList.appendChild(myOption);
    chosenList.remove(removeIndex);
    chosenList.selectedIndex = -1;
    
    for(var x = 0; x < 3; x++)
    {
        if(hdnArray[x].value == myOption.value)
        {
            hdnArray[x].value = 0;
            x = 4;
        }
    }
    
    return false;
}

function idealJobCancel()
{
    var chosenList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbIdealTitles');
    var titleList = document.getElementById('ctl00_ContentPlaceHolder1_idealMatch1_lbAvailableTitles');
    
    for(var x = chosenList.options.length-1; x >= 0; x--)
    {
        for(var q = 0; q < hdnArray.length; q++)
        {   
            if(isSaved[q] == false && chosenList[x].value == hdnArray[q].value)
            {
                var myOption = document.createElement("Option");
                myOption.innerHTML = chosenList[x].text;
                myOption.value = chosenList[x].value;
                
                titleList.appendChild(myOption);
                chosenList.remove(x);
                hdnArray[q].value = 0;
                q = 4;
            }
        }
    }
}

function validateDate(obj, args)
{
    var startMo = document.getElementById("ctl00_ContentPlaceHolder1_profile_careerTracker1_ddlCtStartMonth");
    var startYr = document.getElementById("ctl00_ContentPlaceHolder1_profile_careerTracker1_ddlCtStartYear");
    var endMo = document.getElementById("ctl00_ContentPlaceHolder1_profile_careerTracker1_ddlCtEndMonth");
    var endYr = document.getElementById("ctl00_ContentPlaceHolder1_profile_careerTracker1_ddlCtEndYear");
    
    if(startMo.selectedIndex == 0 || startYr.selectedIndex == 0 || endMo.selectedIndex == 0 || endYr.selectedIndex == 0)
    {
        args.IsValid = false;
        showUpdateProgress("ctl00_ContentPlaceHolder1_profile_careerTracker1_pnlUpdateProgress", false)
        return;
    }
    
    var startDate;
    var endDate;
    
    if(endMo[endMo.selectedIndex].value == "present" && endYr[endYr.selectedIndex].value == "present")
    {
        endDate = new Date();
    }
    else{
        endDate = Date.parse(endMo[endMo.selectedIndex].value + "/01/" + endYr[endYr.selectedIndex].value);   
    }
    
    startDate = Date.parse(startMo[startMo.selectedIndex].value + "/01/" + startYr[startYr.selectedIndex].value);
    
    if(startDate > endDate)
    {
        args.IsValid = false;
        showUpdateProgress("ctl00_ContentPlaceHolder1_profile_careerTracker1_pnlUpdateProgress", false);
    }
    else
    {
        args.IsValid = true;
    }
}


function SelectAll(select)
{
    var inputs = document.getElementsByTagName("input");
    var x = 0;
        
    for(x = 0; x< inputs.length; x++)
    {
        if(inputs[x].id.indexOf("cbSelected") > -1)
        {
            if(select)
            {
                inputs[x].checked = true;
            }
            else
            {
                inputs[x].checked = false;
            }
        }
    }
}

function disableDateObjs(ddlMo, ddlYr, rfvMo, rfvYr, cbCur, rfvReason)
{
    if(cbCur.checked){
        ddlMo.disabled = true;
        ddlYr.disabled = true;
        ValidatorEnable(rfvMo, false);  
        ValidatorEnable(rfvYr, false);
        if(cbCur)
            ValidatorEnable(rfvReason, false);
    }else{
        ddlMo.disabled = false;
        ddlYr.disabled = false;
        ValidatorEnable(rfvMo, true);
        ValidatorEnable(rfvYr, true);
        if(cbCur)
            ValidatorEnable(rfvReason, true);
    }
}
function setIndustryListDisplay(show, div) {

    var IndDiv = document.getElementById(div);
    if (show && (IndDiv != null)) {
        IndDiv.style.display = 'block';
    }
    else if (!show && (IndDiv != null)) {
        IndDiv.style.display = 'none';
    }    
}