try{document.execCommand("BackgroundImageCache",false,true);} catch(err){}
function $(sId) { if (sId) return document.getElementById(sId); } // shortcut to document.getElementById()
$I = function(el, inner) { $(el).innerHTML=inner; } // Sets innerHTML
$IA= function(el, inner) { $(el).innerHTML+=inner; } // Appends innerHTML
$S = function(el) { return $(el).style; } // Returns style
function toggle_show(id) {
if ((obj=$(id))==null) return;
obj.style.display = (obj.style.display=='none') ? '' : 'none';
}
function writeflash(src,width,height,xparams) {
if (typeof(xparams)=='undefined') xparams='';
if (xparams.indexOf('quality')==-1) xparams+=' quality=high';
document.write('<EMBED src="'+src+'" WIDTH='+width+' HEIGHT='+height+' '+xparams+' TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash></EMBED>');
}
function Aj() {
this.noIndicator = false;
this.noLoadingInd= false;
this.loadingIndTimer;
}
Aj.prototype.createRequest = function() {
var _this=this;
if (this.rq && this.rq.readyState<4) { // abort previous request
this.rq.onreadystatechange = new function() {};
this.rq.abort();
}
if (!this.rq && window.XMLHttpRequest) this.rq = new XMLHttpRequest(); // native XMLHttpRequest object
else if (window.ActiveXObject) this.rq = new ActiveXObject("Microsoft.XMLHTTP"); // IE/Windows ActiveX version
if (!this.rq) { alert("Can't create Request Object."); return; }

if (!this.noIndicator) this.indicatorShow();
if (!this.noLoadingInd && typeof(this.target)=='string' && this.target!='eval' && this.target!=1) {
if (this.loadingIndTimer) window.clearTimeout(this.loadingIndTimer);
this.loadingIndTimer = window.setTimeout(function(){_this.loadingShow();}, 300);
}

this.rq.onreadystatechange = function() { _this.onStateChange(_this); }
return this.rq;
}
Aj.prototype.get = function(url, target) {
debug('Aj.get('+url+', '+target+')');
this.url = url;
this.target = target;
this.rq = this.createRequest();
this.rq.open('GET', url, true);
this.rq.send(null);
}
Aj.prototype.post = function(url, postData, target) {
debug('Aj.post('+url+', '+postData+', '+target+')');
if (typeof(target)=='string' && target!='eval' && target!=1 && !$(target)) { alert('Target not found'); return; }
this.url = url;
this.target = target;
this.rq = this.createRequest();
this.rq.open('POST', url, true);
this.rq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); // charset=utf8
this.rq.setRequestHeader("Content-length", postData.length);
this.rq.setRequestHeader("Accept", "text/xml");
this.rq.send(postData);
}
Aj.prototype.onStateChange = function(_this) {
if (_this.rq.readyState!=4) return;
if (typeof(target)=='string' && target!='eval' && target!=1 && !$(target)) { alert('Target not found'); return; }
if (!_this.noIndicator) _this.indicatorHide();
if (!_this.noLoadingInd) {
if (this.loadingIndTimer) window.clearTimeout(this.loadingIndTimer);
if (this.loadingIndOn) _this.loadingHide();
}

debug('Aj.onStateChange: readyState='+_this.rq.readyState+'\n status='+_this.rq.status+'\n responseText='+_this.rq.responseText);
if (_this.rq.status<200 || _this.rq.status>300) { // error
responseText = "Request error: \n status: "+_this.rq.status+" \n text: "+_this.rq.statusText; // set error text
if (!_this.target) alert(responseText); return;
}
responseText = _this.rq.responseText;
if (typeof(_this.respond)=='function') _this.respond(responseText);
}
Aj.prototype.respond = function(responseText) { // default respond function
if (!this.target) return;
if (typeof(this.target)=='string' && this.target!='eval' && this.target!=1) {
this.target=$(this.target);
if (!this.target) { alert('Target not found.'); return; }
}

if (this.target==1) {
this.runMulti(responseText);

}else if (this.target=='eval' && responseText) { // evaluate
try { eval(responseText); }
catch(e) { alert('Eval Error: '+e.description); }

}else if (typeof(this.target)=='object') {
if (typeof(this.target.value)!='undefined') this.target.value = responseText; // set value for forms objects
else this.target.innerHTML = responseText; // set innerHTML for other
scripts=this.target.getElementsByTagName('script');
if (scripts.length) for (var i=0; i<scripts.length; i++) {
try{eval(scripts[i].innerHTML);} catch(e){alert('Eval Error: '+e.description);}
}
}
}
Aj.prototype.runMulti = function(responseText) {
tempObj = document.createElement('div'); // create temp object
tempObj.innerHTML = '&nbsp;' + responseText;

e=tempObj.getElementsByTagName('x');
for (var i = 0; i<e.length; i++) {
if (e[i].getAttribute('js')) { try{eval(e[i].getAttribute('js'));} catch(e){alert('Eval Error: '+e.description);} } // run javascript
else if (obj=$(e[i].id)) {
if (e[i].getAttribute('h')) obj.innerHTML = e[i].getAttribute('h'); // set innerHTML
else if (at=e[i].getAttribute('p')) {val=e[i].getAttribute('v'); try{eval('obj.'+at+'=val;');} catch(e){alert('Eval Error: '+e.description);} } // set property/attribute
else if (e[i].getAttribute('ha')) obj.innerHTML+=e[i].getAttribute('ha'); // append innerHTML
else if (e[i].getAttribute('hp')) obj.innerHTML =e[i].getAttribute('hp') + obj.innerHTML; // prepend innerHTML
}else alert("runMulti: Object '"+e[i].id+"' Not found");
}
scripts=tempObj.getElementsByTagName('script');
for (var i=0; i<scripts.length; i++) { try{eval(scripts[i].innerHTML);} catch(e){alert('Eval Error: '+e.description);} }
tempObj=null; // clear temp object
}
Aj.prototype.loadingShow = function() {
this.loadingIndOn=true;
if (document.getElementsByTagName && navigator.userAgent.indexOf('MSIE 7')<0 && !window.opera) {
sl=$(this.target).getElementsByTagName("SELECT");
for (a=0;a<sl.length;a++) sl[a].style.visibility="hidden";
}

$(this.target).style.filter ='progid:DXImageTransform.Microsoft.Alpha(opacity=50); progid:DXImageTransform.Microsoft.Blur(PixelRadius=2,MakeShadow=false)';
$(this.target).style.opacity='0.50'; //FF

if (!$('AjLoading')) {
var div = document.createElement('div');
div.id = 'AjLoading';
div.style.position = 'absolute';
div.style.padding = '3px';
div.style.width = '130px';
div.style.height = '50px';
div.style.textAlign = 'center';
div.style.border = '1px solid #9BAFDE';
div.style.display = 'none';
div.style.backgroundColor ='#EEF4FD';
div.innerHTML = "<img border=0 src='skin/icons/loading_big.gif'><br>טוען";
document.body.appendChild(div);
}else $('AjLoading').style.display='';

targetPos=getPos($(this.target)); //get target element position
$('AjLoading').style.top = targetPos.y + Math.round($(this.target).offsetHeight/2 - 30)+'px';
$('AjLoading').style.left = targetPos.x + Math.round($(this.target).offsetWidth/2 - 65) +'px';
$('AjLoading').style.display='';
}
Aj.prototype.loadingHide = function() {
this.loadingIndOn=false;
if ($('AjLoading')) $('AjLoading').style.display='none';
$(this.target).style.filter='';
$(this.target).style.opacity='1';
}
Aj.prototype.indicatorShow = function() {
if (!$('AjIndicator')) {
var div = document.createElement('SPAN');
div.id = 'AjIndicator';
div.style.position = 'absolute';
div.style.top = '1px';
div.style.right = '1px';
div.innerHTML = "<img src='skin/icons/loading_clock2.gif'>";
document.body.appendChild(div);
}else $('AjIndicator').style.display='';
}
Aj.prototype.indicatorHide = function() { if ($('AjIndicator')) $('AjIndicator').style.display='none'; }
Aj.prototype.formSubmit = function(form, target) {
this.target = target;
var formData = this.getFormData(form);
if (!formData) return;

url = form.getAttribute('action');
if ((url==null) || (url=='')) url = location.href;

if (form.getAttribute('method').toLowerCase() == 'get') { // GET
url += ( (url.indexOf("?")!=-1) ? "&" : "?" ) + formData;
this.get(url, target);
}else { // POST
this.post(url, formData, target);
}
return false;
}
Aj.prototype.getFormData = function(form) {
if (typeof(form)=='string') { // get form by name
if (document.forms[form] && document.forms[form].elements) form = document.forms[form];
else { alert('Form '+form+' not found.'); return; }
}
this.form = form;

var formData = '';
for (var i = 0; i < form.elements.length; i++) {
var el = form.elements[i];
if ( (typeof(el.type)=='undefined') || (typeof(el.name)=='undefined') || !el.name || el.disabled) {}
else if (el.type.toLowerCase()=='select-multiple') {
for (var j=0; j<el.options.length; j++) {
var op = el.options[j];
if (op.selected) formData += el.name+"="+encodeURIComponent(op.value)+'&';
}
}
else if (el.type.toLowerCase()=='select-one' && el.selectedIndex!=-1) {
if (el.value!='') formData += el.name+'='+encodeURIComponent(el.value)+'&';
}
else if (el.type.toLowerCase()=='textarea' && el.value!='') formData += el.name+'='+encodeURIComponent(el.value)+'&';
else if (el.tagName.toLowerCase()=='input' && el.value!='') {
if (el.type.toLowerCase()=='checkbox' || el.type.toLowerCase()=='radio') { if (el.checked) formData += el.name+'='+encodeURIComponent(el.value)+'&'; }
else if (el.type.toLowerCase()!='submit' && el.type.toLowerCase()!='button') formData += el.name+'='+encodeURIComponent(el.value)+'&';
}
}
return formData;
}
function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
curleft = obj.offsetLeft;
curtop = obj.offsetTop;
while (obj = obj.offsetParent) { curleft+=obj.offsetLeft; curtop+=obj.offsetTop; }
}
return [curleft,curtop];
}

function getPos(obj) {
var pos = {x: obj.offsetLeft||0, y: obj.offsetTop||0};
while(obj = obj.offsetParent) {
pos.x+=obj.offsetLeft||0;
pos.y+=obj.offsetTop||0;
}
return pos;
}

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;
}
function ajLoad(url, target, postData) {
debug('ajLoad('+url+', '+target+', '+postData+')');

if (target) {
if (typeof(target)=='string') target=$(target);
if (!target) alert(target+'not found');
}

if (window.XMLHttpRequest) req = new XMLHttpRequest(); // native XMLHttpRequest object
else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP"); // IE/Windows ActiveX version
if (!req) { alert("Can't create Request Object.\nUpdate your Browser to newer version."); return; }

if (req) {
req.onreadystatechange = function() {ajDone(target);};

if (postData) {
req.open('POST', url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); // charset=utf8
req.setRequestHeader("Content-length", postData.length);
req.setRequestHeader("Accept", "text/xml");
req.send(postData);
}else {
req.open('GET', url, true);
req.send(null);
}
}
}
function ajDone(target) {
if (req.readyState!=4) return;
req.onreadystatechange = new function() {};//stop IE memory leak;
if (req.status==200) responseText = req.responseText;
else {
responseText = "error: \n"+req.status+" \n"+req.statusText; // set error text
if (!target) { alert(responseText); return; }
}

debug('ajax responseText='+responseText);

if (target) {
if (typeof(target.value)!='undefined') target.value = responseText; // set value for forms objects
else target.innerHTML = responseText; // set innerHTML for other
}else if (responseText) { // run eval
try { eval(responseText); }
catch(err) { alert('Eval Error: '+err.description); }
}
}
function ajSubmit(form, target) {
if (typeof(form)=='string') { // get form by name
if (document.forms[form] && document.forms[form].elements) form = document.forms[form];
else { alert('Form '+form+' not found.'); return; }
}
var result = ajGetFormData(form);

url = form.getAttribute('action');
if ((url==null) || (url=='')) url = location.href;

if (form.getAttribute('method').toLowerCase() == 'post') { // POST
ajLoad(url, target, result);
}else { // GET
url += (url.indexOf("?")!=-1) ? "&" : "?";
url += result;
ajLoad(url, target);
}
return false;
}
function ajGetFormData(form) {
var result = "";
for (var i = 0; i < form.elements.length; i++) {
var el = form.elements[i];
if (typeof(el.type)=='undefined') {}
else if (el.type.toLowerCase()=='select-multiple') {
for (var j=0; j<el.options.length; j++) {
var op = el.options[j];
if (op.selected) result += el.name+"="+encodeURIComponent(op.value)+'&';
}
}
else if (el.type.toLowerCase()=='select-one' && el.selectedIndex!=-1) {
if (el.value!='') result += el.name+'='+encodeURIComponent(el.value)+'&';
}
else if (el.type.toLowerCase()=='textarea' && el.value!='') result += el.name+'='+encodeURIComponent(el.value)+'&';
else if (el.tagName.toLowerCase()=='input' && el.value!='') {
if (el.type.toLowerCase()=='checkbox' || el.type.toLowerCase()=='radio') { if (el.checked) result += el.name+'='+encodeURIComponent(el.value)+'&'; }
else if (el.type.toLowerCase()!='submit' && el.type.toLowerCase()!='button') result += el.name+'='+encodeURIComponent(el.value)+'&';
}
}
return result;
}
function debug(text, forceOn) {
if (!forceOn) { if (typeof(debugOn)=='undefined') return; if (!debugOn) return; }
if (!text) return;

text=text.replace(/</g, '&lt;');
text=text.replace(/>/g, '&gt;');

if (!window.top.debugWindow || window.top.debugWindow.closed) {
window.top.debugWindow = window.open("", "Debug", "width=500,height=400,scrollbars=yes,status=yes,resizable=yes"); //left=0,top=0,
window.top.debugWindow.opener = self;
window.top.debugWindow.document.open();
window.top.debugWindow.document.write("<HTML><HEAD><TITLE>Debug Window</TITLE></HEAD><BODY><PRE>\n");
window.top.debugWindow.document.write(text+"<hr>\n");
}else window.top.debugWindow.document.write(text+"<hr>\n");
}
function Dump(d,ml,l) {
if (l == null) l = 1;
if (!ml) ml=2;
if (l>ml && (typeof(d)=="object")) return typeof(d)+'\n';
var s = '';
if (typeof(d) == "object") {
s += typeof(d) + " {\n";
err=false;
try { for (var k in d) {} }
catch (err) { }
if (!err) {
for (var k in d) {
if (k!='top' && k!='window' && k!='document' && k!='frames' && k!='self') {
for (var i=0; i<l; i++) s += " ";
s += k+': '+ Dump(d[k],ml,l+1);
}
}
}
for (var i=0; i<l-1; i++) s += ' ';
s += '}\n'
} else {
s += '' + d + '\n';
}

if (l==1) debug(s,true);
else return s;
}
if (typeof(encodeURIComponent)!='function') window.encodeURIComponent = function(str) {
if (!str) return;
var newStr='';
var Regxp = /[^!'-*.0-9A-Z_a-z~-]/g;
for (var i=0; i<str.length; i++) {
ch=str.charAt(i);
if (Regxp.test(ch)) {
c = ch.charCodeAt(0);
newStr += (c<16?'%0'+c.toString(16):c<128?'%'+c.toString(16):c<2048?'%'+(c>>6|192).toString(16)+'%'+(c&63|128).toString(16):'%'+(c>>12|224).toString(16)+'%'+(c>>6&63|128).toString(16)+'%'+(c&63|128).toString(16)).toUpperCase();
}else newStr += ch;
}
return newStr;
}




function trim(str) { return str.replace(/^\s+|\s+$/g,""); }
if(!String.prototype.trim) String.prototype.trim = function() { return this.replace(/^\s*/,'').replace(/\s*$/, ''); }
function addEvent(el, evType, fn) {
if (typeof(el)!='object') {alert('addEvent: el is not an object, el='+el); return;}
if (el.addEventListener) { el.addEventListener(evType, fn, false); return true; }
else if (el.attachEvent) { var r = el.attachEvent('on'+evType, fn); return r; }
else { el['on'+evType] = fn; }
}
function removeEvent(el, evType, fn) {
if (typeof(el)!='object') {alert('removeEvent: el is not an object, el='+el); return;}
if (el.removeEventListener) { el.removeEventListener(evType, fn, false); return true; }
else if (el.detachEvent) { var r = el.detachEvent('on'+evType, fn); return r; }
else { el['on'+evType] = null; }
}