// $Id: framework.js 4 2008-07-20 16:35:51Z fedot $ var $ = function(){ return $.init.call(arguments[0],arguments[0]); }; var Utils = Utils || {}; var isIE = 0 //@cc_on+1; //use background cache in IE6 if (isIE) try{document.execCommand("BackgroundImageCache", false, true);}catch(err){} $.init = function(el){ for (var i in SigMagic){ var callfunc = SigMagic[i]; el[i] = function (){return callfunc.apply(el,arguments);} } return el; } $.ready = function(func){ if (typeof func=='function') set_evt(window,'load',func); } /** * Some nice magic... * NOTE: Since IE doesn't support extending of Node and Element prototypes we wrap this functionality with a trick... */ SigMagic = { _data: function(data_name,data_val){ //clog(this,arguments); var data_name = 'data-'+data_name; var data_val = data_val || null; if (data_val==null){ return this.getAttribute(data_name) || null; } else return this.setAttribute(data_name,data_val); } } function hasClass(elm,cls){ var classy = cls || ''; var re = new RegExp(' '+classy+' '); return re.test(' '+elm.className+' '); } function delClass(elm,cls){ if (hasClass(elm,cls)){ elm.className = (' '+(elm.className || '')+' ').replace(' '+cls+' ','').trim(); } } function addClass(elm,cls){ if (!hasClass(elm,cls)) elm.className = (elm.className || '')+' '+cls; } function val_constructor(){ for(i=0;i1){ //clog(arguments); for (i=1;i645) { url = url + '&bmw=' + bmw; } } var tw=document.getElementById(to_where); var ch1=tw.offsetHeight; var ch2=tw.offsetWidth; tw.innerHTML = '
Loading...
'; setTimeout(function(){ var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = function() { applyContents(http_request,to_where,on_compl); }; http_request.open('GET', url, true); http_request.send(null); },50); } function xmlreq_load(url,to_where,on_compl_f) { //alert('load: url=('+url+') target=('+to_where+') run=('+on_compl_f+')'); setTimeout(function(){ var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = function() { applyContents(http_request,to_where,on_compl_f); }; http_request.open('GET', url, true); http_request.send(null); },50); } function applyContents(http_request,where,on_complete_func) { if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); var dest = d(where) || {}; if (dest.nodeType) dest.innerHTML = http_request.responseText; if (typeof on_complete_func!='function'){ eval(on_complete_func); } else { on_complete_func.call(dest,http_request.responseText); } } else { //alert('There was a problem with the request.'); } } } // rightclick /* var message; message = "The content of this web site may not be copied,\n"; message = message + "replaced, distributed, published, displayed, modified,\n"; message = message + "or transferred in any form or by any means except\n"; message = message + "with the prior permission of Signature IT Ltd.\n\n"; message = message + "Copyright infringement is a violation of federal law\n"; message = message + "and subject to criminal and civil penalties.\n\n"; message = message + "(C) 2007, Signature IT Ltd.\n\n"; function clickIE4(){ if (event.button==2){ alert(message); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ alert(message); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("alert(message);return false"); */ // This is variable for storing callback function var ae_cb = null; // this is a simple function-shortcut // to avoid using lengthy document.getElementById function ae$(a) { return document.getElementById(a); } // This is a main ae_prompt function // it saves function callback // and sets up dialog function ae_prompt(cb, q, a) { ae_cb = cb; ae$('aep_t').innerHTML = document.domain + ' question:'; ae$('aep_prompt').innerHTML = q; ae$('aep_text').value = a; ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = ''; ae$('aep_text').focus(); ae$('aep_text').select(); } // This function is called when user presses OK(m=0) or Cancel(m=1) button // in the dialog. You should not call this function directly. function ae_clk(m) { // hide dialog layers ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = 'none'; if (!m) ae_cb(null); // user pressed cancel, call callback with null else ae_cb(ae$('aep_text').value); // user pressed OK } // This is a main ae_popup function // it saves function callback // and sets up dialog function ae_popup(popup_title, popup_contents) { ae$('aep2_t').innerHTML = popup_title; ae$('aep2_text').innerHTML = popup_contents; ae$('aep2_ovrl').style.display = ae$('aep2_ww').style.display = ''; } // This function is called when user presses OK(m=0) or Cancel(m=1) button // in the dialog. You should not call this function directly. function ae_popup_close() { // hide dialog layers ae$('aep2_ovrl').style.display = ae$('aep2_ww').style.display = 'none'; } var prompt_w_retval = null; function prompt_w (quest, answ) { ae_prompt( prompt_wcb , quest , answ ); var retval = prompt_w_retval; return (retval); } function prompt_wcb (user_inp) { prompt_w_retval = user_inp; } function user_login(){ var login_box = d('userlogin_box'), start_h=0,total=20; if (login_box && login_box.style.display=='none') { login_box.style.overflow = 'hidden'; login_box.style.display = ''; timers.add(function(){ login_box.style.height = start_h+'px'; start_h+=2; if (start_h > total) { login_box.style.overflow = ''; //login_box.style.height = ''; var uname = dd.call(login_box,'input','login_field')[0] || {focus:function(){}}; uname.focus(); return false; } }); } else { if (login_box) { login_box.style.display = 'none'; login_box.style.height = 0; } } } function open_in_popup (popup_title, req_url) { document.getElementById('spop').style.left='30px'; document.getElementById('t_win1').style.width='750px'; document.getElementById('spop').style.width='750px'; document.getElementById('popup_content').style.height='400px'; document.getElementById('popup_title').innerHTML=popup_title; document.getElementById('spop').style.visibility='visible'; xmlreq_put(req_url,'popup_content'); } /** * AJAX */ function _map_get_args(obj){ var res = ''; for (i in obj) res += '&'+encodeURIComponent(i)+'='+encodeURIComponent(obj[i]); return res.replace(/^\&/,'?'); } function do_ajax(url, vars, callbackFunction) { var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0"); request.open("POST", url, true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.onreadystatechange = function(){ if (request.readyState == 4 && request.status == 200){ if (request.responseText){ callbackFunction(request.responseText); } } }; request.send(vars); } /** * Traversing */ function nodeText(n){return n.textContent || n.innerText} /** * Dimensions, Styling */ function rewriteCssName(cssName){ var rewriten = cssName.split('-'); // NOTE: first word are leaved lowercased as in CSS Specs for(var i=1;i