jQuery(function(){ jQuery(".vacancy-list li").click(function(){ vacancyId = jQuery(this).attr('id').substring(6); if (jQuery(this).is('.vacancy-list-item-pending')){ tempXmlHtmlRequest = jQuery.ajax( { type: "POST", contentType: "application/json; charset=utf-8", url: applicationPath + "WebServices/VacancyDetails.asmx/GetVacancyDetails", data: '{"number" : ' + vacancyId + "}", dataType: "json"}); setTimeout('handle(tempXmlHtmlRequest)', 100) jQuery(this).removeClass('vacancy-list-item-pending'); } else{ jQuery('.vacancy-item-details' + vacancyId).toggle(); jQuery('.vacancy-list-clickable-area' + vacancyId + " li").toggleClass('act'); } }); }); function handle(xmlHtmlRequest, vacancyId) { if (xmlHtmlRequest.readyState == 4) { var vacancy = jQuery.parseJSON(tempXmlHtmlRequest.responseText); jQuery('.vacancy-list-clickable-area' + vacancy.number + " li").addClass('act'); jQuery('.vacancy-item-title' + vacancy.number).text(vacancy.title); jQuery('.vacancy-item-description' + vacancy.number).html( vacancy.description ); jQuery('.vacancy-item-details' + vacancy.number).show(); if (vacancy.cvUrl && vacancy.cvUrl != ''){ jQuery('.vacancy-item-resume-link' + vacancy.number).attr('href', applicationPath + 'Files/CVForms/' + vacancy.cvUrl); } else {jQuery('.vacancy-item-resume-link' + vacancy.number).hide();} return; } else { setTimeout('handle(tempXmlHtmlRequest)', 100); return; } } // JSON integration attempts (function ($) { var m = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\' }, s = { 'array': function (x) { var a = ['['], b, f, i, l = x.length, v; for (i = 0; i < l; i += 1) { v = x[i]; f = s[typeof v]; if (f) { v = f(v); if (typeof v == 'string') { if (b) { a[a.length] = ','; } a[a.length] = v; b = true; } } } a[a.length] = ']'; return a.join(''); }, 'boolean': function (x) { return String(x); }, 'null': function (x) { return "null"; }, 'number': function (x) { return isFinite(x) ? String(x) : 'null'; }, 'object': function (x) { if (x) { if (x instanceof Array) { return s.array(x); } var a = ['{'], b, f, i, v; for (i in x) { v = x[i]; f = s[typeof v]; if (f) { v = f(v); if (typeof v == 'string') { if (b) { a[a.length] = ','; } a.push(s.string(i), ':', v); b = true; } } } a[a.length] = '}'; return a.join(''); } return 'null'; }, 'string': function (x) { if (/["\\\x00-\x1f]/.test(x)) { x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) { var c = m[b]; if (c) { return c; } c = b.charCodeAt(); return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); }); } return '"' + x + '"'; } }; $.toJSON = function(v) { var f = isNaN(v) ? s[typeof v] : s['number']; if (f) return f(v); }; $.parseJSON = function(v, safe) { if (safe === undefined) safe = $.parseJSON.safe; if (safe && !/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(v)) return undefined; return eval('('+v+')'); }; $.parseJSON.safe = false; })(jQuery);