function updateRecentViewedJobs(id, title){
    var history = getCookieData("jobless-recent-viewed");
    var key = id+":"+title;
    if(history){
        if (jobIdAlreadyExists(id, "jobless-recent-viewed") == false){
            document.cookie = "jobless-recent-viewed="+key+"^"+history+"; path=/";
        }
    } else {
    document.cookie = "jobless-recent-viewed="+key+"; path=/";
}
renderRecentViewedJobsHtml(getCookieData("jobless-recent-viewed"));

}

function updateBookmarks(id, title){
    if (!isBookMarked(id)){
        removeBookMark(id, title);
    }
    else{
        var history = getCookieData("jobless-bookmark");
        var key = id+":"+title;
        if(history){
            if (jobIdAlreadyExists(id, "jobless-bookmark") == false){
                document.cookie = "jobless-bookmark="+key+"^"+history+"; path=/";
            }
        } else {
        document.cookie = "jobless-bookmark="+key+"^; path=/";
    }
}
renderBookMarkHtml(getCookieData("jobless-bookmark"));
}

function isBookMarked(id){
    return $("bookmark_"+id).checked;
}

function removeBookMark(id, title){
    var history = getCookieData("jobless-bookmark");
    
    if(history){   
        key = history.replace(id+":"+title+"^", "");
        document.cookie = "jobless-bookmark="+key+"; path=/";
    }
}

function renderBookMarkHtml(rawData){    
    $("bookmarked-jobs").innerHTML = render_jobless_sniplet(rawData, "No jobs booked marked...");
}

function renderRecentViewedJobsHtml(rawData){    
    $("recent-viewed-jobs").innerHTML = render_jobless_sniplet(rawData, "No jobs viewed...");
}

function render_jobless_sniplet(rawData, alternateText){
    var html = "<ul>"
    if(rawData && rawData.length > 1){
        var tokens = rawData.split("^");
        for(var i=0; i<tokens.length; i++){
            if(tokens[i]){
                
                var key = tokens[i].split(":");
                
                if(key[0]){
                    if (key[1]){
                        html += "<li>&#187; <a href='/apply/"+key[0]+"'>"+key[1]+"</a></li>";                  
                    }
                }
            }
        }
        
    }else{
        html += "<li>"+alternateText+"</li>";
    }
    return html += "</ul>";
}

function loadRecentViewedJobs(){
    renderRecentViewedJobsHtml(getCookieData("jobless-recent-viewed"));
}

function loadBookmarkedJobs(){
    var rawData = getCookieData("jobless-bookmark");
    renderBookMarkHtml(rawData);
    setTimeout('updatedSelectedBookMarks(true);', 1250);
}

function updatedSelectedBookMarks(selection){
    var rawData = getCookieData("jobless-bookmark");
    if(rawData){
        var tokens = rawData.split("^");
        for(var i=0; i<tokens.length; i++){
            if(tokens[i]){
                
                var key = tokens[i].split(":");
                if(key[0]){
                    
                    if($("bookmark_"+key[0])){
                        
                        $("bookmark_"+key[0]).checked=selection;
                    }
                }}
                
            }
        }
    }
    
    function jobIdAlreadyExists(id, htmlId){
        var tokens = getCookieData(htmlId).split("^");
        for(var i=0; i<tokens.length; i++){
            var key = tokens[i].split(":");
            if(key[0] == id){
                return true;
            }
        }
        return false;
    }
    
    function clearRecentViewedJobs(){
        document.cookie = "jobless-recent-viewed=; path=/";
        loadRecentViewedJobs();
    }
    
    function clearBookmarkedJobs(){
        updatedSelectedBookMarks(false);
        document.cookie = "jobless-bookmark=; path=/";
        loadBookmarkedJobs();
    }
    
    function toggleJobKey(){
     
            
        if($('useJobKey').checked){
            $('contact-details').addClassName('hide');
             
                       
            if ($('resume_file_name')){
                Form.Element.enable('resume_file_name');
            }
            
            if ($('login_email')){
                Form.Element.enable('login_email');
            }
            
            if ($('login_password')){
                Form.Element.enable('login_password');
            }
            
            if ($('login_submit')){
                Form.Element.enable('login_submit');
            }
            
        }else{
          $('contact-details').removeClassName('hide');
      
        if ($('resume_file_name')){
            Form.Element.disable('resume_file_name');
        }
        if ($('login_email')){
            Form.Element.disable('login_email');
        }
        
        if ($('login_password')){
            Form.Element.disable('login_password');
        }
        
        if ($('login_submit')){
            Form.Element.disable('login_submit');
        }
    }
}

function showBusyDialogue(){
    $('loading-status').innerHTML = '<strong>...Please be patient, retrieving details....</strong>';    
}


function validate_session(){
    new Ajax.Request('/search/is_alive', {
        method: 'get',
        onSuccess: function(transport) {
            if(transport.responseText == 'false'){
                load("jobseeker", '/portal/retrieve_resumes');
               
//               
//                $('useJobKey').checked = true;
//                toggleJobKey();
                $('login_box').addClassName('hide');
                $('contact-details').addClassName('hide');
            }
            
        }
    });
}


function loadUserDetails(){
    new Ajax.Request('/search/is_alive', {
        method: 'get',
        onSuccess: function(transport) {
            if(transport.responseText == 'false'){
                load("dual_login", '/portal/render_user_details');
                
            }
            
        }
    });
}
