
function createCookie(name,value,days){
if (days){
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name){
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++){
var c = ca[i];
while (c.charAt(0)==' '){
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0){
return c.substring(nameEQ.length,c.length);
}}
return '';
}
var im_gui={

version: '2.5.0',
browser: {
ie: /msie/i.test(navigator.userAgent),
ie6: /msie 6/i.test(navigator.userAgent),
ie7: /msie 7/i.test(navigator.userAgent),
ff: /firefox/i.test(navigator.userAgent),
safari: /safari/i.test(navigator.userAgent),
java: navigator.javaEnabled(),
ns: (navigator.appName == 'Netscape'),
userAgent: navigator.userAgent.toLowerCase(),
version: parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion)
},

window: {

_dlgWin: null,

newWindow: function(mypage,myname,w,h,scroll){
if (typeof scroll == 'undefined') scroll='auto';
var POS=this.getCenterizedScreen(w,h);
settings='width='+w+',height='+h+',top='+POS.y+',left='+POS.x+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';

this._dlgWin=window.open(mypage,myname,settings);
},

getWindowInnerDim: function(){
if (self.innerHeight){ 

return {'width': self.innerWidth, 'height': self.innerHeight};
}else if (document.documentElement&&document.documentElement.clientHeight){

return {'width': document.documentElement.clientWidth, 'height': document.documentElement.clientHeight};
}else if (document.body){ 

return {'width': document.body.clientWidth, 'height': document.body.clientHeight};
}},

getCenterizedPos: function(elemWidth, elemHieght){
var pageScroll=this.getPageScroll();
var centerX=(screen.availWidth/2-elemWidth/2)+pageScroll.x;
var centerY=(screen.availHeight/2-elemHieght/2)+pageScroll.y-80;
return {'x': centerX, 'y': centerY};
},

getCenterizedScreen: function(elemWidth, elemHieght){
var pageScroll=this.getPageScroll();
var centerX=(screen.width/2-elemWidth/2);
var centerY=(screen.height/2-elemHieght/2);
return {'x': centerX, 'y': centerY};
},

getPageScroll: function(){
var pageX=pageY=0;
if (self.pageYOffset){ 

pageX=self.pageXOffset;
pageY=self.pageYOffset;
}else if (document.documentElement&&document.documentElement.scrollTop){

pageX=document.documentElement.scrollLeft;
pageY=document.documentElement.scrollTop;
}else if (document.body){

pageX=document.body.scrollLeft;
pageY=document.body.scrollTop;
}
return {'x': pageX, 'y': pageY};
}},

getBodyDim: function(){
return {
offsetWidth: (this.browser.ie||this.browser.safari ? document.body.scrollWidth:window.innerWidth+window.scrollMaxX),
offsetHeight: (this.browser.ie||this.browser.safari ? document.body.scrollHeight:window.innerHeight+window.scrollMaxY)
};
},

obj: function(id,type,parent){
return this.misc.obj(id,type,parent);
},

misc: {

obj: function(id,type,parent){
if(type=="tag"){
if(typeof(parent)=='object'){
if(parent&&parent.getElementsByTagName(id)){
return parent.getElementsByTagName(id);
}}else if(typeof(parent)=='string'){
if(this.obj(parent)&&this.obj(parent).getElementsByTagName(id)){
return this.obj(parent).getElementsByTagName(id);
}}
}else if(type=="name"){
if(document.getElementsByName(id)){
return document.getElementsByName(id)[0];
}}else{
if(typeof(id)=='object'){
return id;
}else if(document.getElementById(id)){
return document.getElementById(id);
}}
return (false);
},

innerData: function(id, data, addingPos){
if(typeof(data)=='undefined'){var data='';}
if(typeof(id)=='object'){
if(typeof(addingPos)=='undefined'||!addingPos){
id.innerHTML=data;
}else if(addingPos=='begin'||addingPos=='before'){
id.innerHTML=data + id.innerHTML;
}else if(addingPos=='end'||addingPos=='after'){
id.innerHTML+=data;
}}else{
if(typeof(addingPos)=='undefined'||!addingPos){
this.obj(id).innerHTML=data;
}else if(addingPos=='begin'||addingPos=='before'){
this.obj(id).innerHTML=data + this.obj(id).innerHTML;
}else if(addingPos=='end'||addingPos=='after'){
this.obj(id).innerHTML+=data;
}}
var scripts=data.toString().match(new RegExp('<script[^>]*>[^<]+</script>', 'gi'));
if(scripts){
for(var i=0; i<scripts.length; i++){
if(new RegExp('<script[^>]*>([^<]+)</script>', 'i').exec(scripts[i]).length>0){
eval(new RegExp('<script[^>]*>([^<]+)</script>', 'i').exec(scripts[i])[1].replace(new RegExp('\t', 'g'), ''));
}}
}},

toggleData: function(){ 
if(arguments.length>2){
for(var i=2; i<arguments.length; i++){
if(typeof(arguments[i])=='string'){arguments[i]=this.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
if(this.inArray(arguments[i].nodeName.toLowerCase(), new Array('input', 'textarea'))){
arguments[i].value=(arguments[i].value==arguments[0]?arguments[1]:arguments[0]);
}else{
arguments[i].innerHTML=(arguments[i].innerHTML==arguments[0]?arguments[1]:arguments[0]);
}}
}}
},

gotoURL: function(url){
document.location.href=url;
},

findPosX: function(objID){
if(typeof(objID)=='string'){var objID=im_gui.obj(objID);}
if(!objID){return false;}
var curleft=0;
if (objID.offsetParent){
while (objID.offsetParent){
curleft+=objID.offsetLeft;
objID=objID.offsetParent;
}}else{
if (objID.x) curleft+=objID.x;
}
return curleft;
},

findPosY: function(objID){
if(typeof(objID)=='string'){var objID=im_gui.obj(objID);}
if(!objID){return false;}
var curtop=0;
if (objID.offsetParent){
while (objID.offsetParent){
curtop+=objID.offsetTop;
objID=objID.offsetParent;
}}else{
if (objID.y) curtop+=objID.y;
}
return curtop;
},

toInt: function(val){
if (val==''||val==null||val==NaN) val=0;
return (parseInt(val));
},

setSize: function(base,inc){
return ((this.toInt(base)+inc)+'px');
},

textSelection: function(nodeObj, isAvailable){
nodeObj=(typeof(nodeObj)=='string' ? im_gui.misc.obj(nodeObj):nodeObj);
if (im_gui.browser.ie){
nodeObj.setAttribute('isTextSelectionAvailable', isAvailable);
nodeObj.onselectstart=function(){return this.getAttribute('isTextSelectionAvailable');};
}else if(im_gui.browser.ff){

nodeObj.style.MozUserSelect=(isAvailable ? "":"none");
}},

appendAfter: function(refChild, newChild){ 
refChild.parentNode.insertBefore(newChild,refChild.nextSibling); 
},

getSrcElement: function(e){
var src='';var e=(e||window.event);
if (e.target){src=e.target;}else if (e.srcElement){src=e.srcElement;}
if(src.nodeType==3){src=src.parentNode;}
return src;
},

getObjSize: function(objArr){
var i=0;
for (var j in objArr){if(objArr.propertyIsEnumerable(j)){i++;}}
return i;
},

inArray: function(needle, haystack){
for(var i in haystack){
if(needle==haystack[i]){
return true;
}}
return false;
},

getMousePos: function(e){
return (im_gui.browser.ie?{x:event.clientX,y:event.clientY}:{x:e.pageX,y:e.pageY});
}},

display: {

setOpacity: function(obj,intOpacity){
if(typeof(obj)=='string'){obj=im_gui.misc.obj(obj);}
if(typeof(obj)!='object'){return false;}
if (im_gui.browser.ie){
if(typeof(obj)=='object'){
obj.style.filter="alpha(opacity="+intOpacity+")";
}else{
im_gui.misc.obj(obj).style.filter="alpha(opacity="+intOpacity+")";
}}else{
if(typeof(obj)=='object'){
obj.style.opacity=intOpacity/100;
}else{
im_gui.misc.obj(obj).style.opacity=intOpacity/100;
}}
},

getObjOpacity: function(obj){
if(typeof(obj)=='string'){obj=im_gui.misc.obj(obj);}
if(typeof(obj)!='object'){return false;}
var opc;
if(im_gui.browser.ie){
if(typeof(obj)=='object'){
if (obj&&obj.filters&&obj.filters.alpha&&obj.filters.alpha.opacity){
opc=obj.filters.alpha.opacity;
}else{
this.setOpacity(obj,100);
opc=100;
}}else{
if (im_gui.misc.obj(obj)&&im_gui.misc.obj(obj).filters&&im_gui.misc.obj(obj).filters.alpha&&im_gui.misc.obj(obj).filters.alpha.opacity){
opc=im_gui.misc.obj(obj).filters.alpha.opacity;
}else{
this.setOpacity(im_gui.misc.obj(obj),100);
opc=100;
}}
}else{
if(typeof(obj)=='object'){
opc=obj.style.opacity*100;
}else{
opc=im_gui.misc.obj(obj).style.opacity*100;
}}
if (opc==''){
if(typeof(obj)=='object'){
this.setOpacity(obj,100);
}else{
this.setOpacity(im_gui.misc.obj(obj),100);
}
opc=100;
}
return (opc);
},

hideDLLObjs: function(){
var elems=im_gui.obj("object","tag",document);
for(var i=0; i<elems.length;i++){
if(elems[i].getAttribute("type")!=null&&elems[i].getAttribute("type")=="application/x-shockwave-flash"){
elems[i].style.visibility="hidden";
}}
var elems=im_gui.obj("embed","tag",document);
for(var i=0; i<elems.length;i++){
if(elems[i].getAttribute("type")!=null&&elems[i].getAttribute("type")=="application/x-shockwave-flash"){
elems[i].style.visibility="hidden";
}}
if(document.all){
elems=im_gui.obj("embed","tag",document);
for(var i=0; i<elems.length;i++){
elems[i].style.visibility="hidden";
}}
},

showDLLObjs: function(){
var elems=im_gui.obj("object","tag",document);
for(var i=0; i<elems.length;i++){
if(elems[i].getAttribute("type")!=null&&elems[i].getAttribute("type")=="application/x-shockwave-flash"){
elems[i].style.visibility="visible";
}}
var elems=im_gui.obj("embed","tag",document);
for(var i=0; i<elems.length;i++){
elems[i].style.visibility="visible";
}
if(document.all){
elems=im_gui.obj("select","tag",document);
for(var i=0; i<elems.length;i++){
elems[i].style.visibility="visible";
}}
},

toggle: function(){
if(arguments.length>0){
for(var i=0; i<arguments.length; i++){
if(typeof(arguments[i])=='string'){arguments[i]=im_gui.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
if(arguments[i].style.display!='none'){
arguments[i].setAttribute('originaldisplaystyle', arguments[i].style.display);
arguments[i].style.display='none';
}else{
if(arguments[i].getAttribute('originaldisplaystyle')==null){
arguments[i].style.display='';
}else{
arguments[i].style.display=arguments[i].getAttribute('originaldisplaystyle');
}}
}}
}},

hide: function(){
if(arguments.length>0){
for(var i=0; i<arguments.length; i++){
if(typeof(arguments[i])=='string'){arguments[i]=im_gui.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
if(arguments[i].style.display!='none'){
arguments[i].setAttribute('originaldisplaystyle', arguments[i].style.display);
arguments[i].style.display='none';
}}
}}
},

show: function(){
if(arguments.length>0){
for(var i=0; i<arguments.length; i++){
if(typeof(arguments[i])=='string'){arguments[i]=im_gui.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
if(arguments[i].style.display=='none'){
if(arguments[i].getAttribute('originaldisplaystyle')==null){
arguments[i].style.display='';
}else{
arguments[i].style.display=arguments[i].getAttribute('originaldisplaystyle');
}}
}}
}},

fixPng: function(){
if(im_gui.browser.ie6){
if (document.all&&document.body.filters){
tofix = document.body.getElementsByTagName('img');
for(var i=0; i<tofix.length; i++){
var img = tofix[i];
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
var imgID = (img.id) ? "id='" + img.id + "' ":"";
var imgClass = (img.className) ? "class='" + img.className + "' ":"";
var imgTitle = (img.title) ? "title='" + img.title + "' ":"title='" + img.alt + "' ";
var imgStyle = "display:inline-block;" + img.style.cssText ;
if (img.align == "left") imgStyle = "float:left;" + imgStyle;
if (img.align == "right") imgStyle = "float:right;" + imgStyle;
var imgClick = (img.onclick != null) ? "onclick=\"" + img.onclick + "; anonymous();\"":"";
if (img.parentElement.href) imgStyle = "cursor:pointer;" + imgStyle;
var strNewHTML = "<span " + imgID + imgClass + imgTitle + imgClick 
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
img.outerHTML = strNewHTML;
i = i-1;
}}
}}
}},

datetime: {

sectotime: function(secs){
var h,m;
h=Math.floor(secs / 3600);
secs-=h*3600;
m=Math.floor(secs / 60);
secs-=m*60;
secs=Math.round(secs);
if (secs==60) secs=0;
return ((h>0?(h<10?'0'+h:h)+':':'')+(m<10?'0'+m:m)+':'+(secs<10?'0'+secs:secs));
}},

string: {

pad: function(num,pad,size,side){
if(typeof(side)=='undefined'){var side='';}
if (num.length == size) return(num);
for (var i=num.length-1 ; i<size ; i++){
if (side=='right'){
num+=""+pad;
}else if (side=='left'){
num=""+pad+num;
}else{
num=""+pad+num+pad;
}}
return (num);
},

limitStr: function(str, maxLength){
return (str.length > maxLength-4 ? str.substr(0, maxLength) + ' ...':str);
},

stripTags: function(str){
return str.replace(/<(:?[^>]+)>/gi, '');
},

toNumber: function(str, forceTo){
if(typeof(forceTo)=='undefined'){var forceTo='';}
if(str.toString().indexOf('.')>-1||forceTo=='float'){
return parseFloat(str);
}else{
return parseInt(str);
}}
},

input: {

initTxtInputs: function(){
if(arguments.length>0){
for(var i=0; i<arguments.length; i++){
if(typeof(arguments[i])=='string'){arguments[i]=im_gui.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
if(arguments[i].nodeName.toLowerCase()=='input'&&im_gui.misc.inArray(arguments[i].type.toLowerCase(), Array('text','password'))){
arguments[i].onfocus=function (){im_gui.input.invertValue(this,'focus');};
arguments[i].onblur=function (){im_gui.input.invertValue(this,'blur');};
}else if(arguments[i].nodeName.toLowerCase()=='form'){
for(var j=0; j<arguments[i].elements.length; j++){
if(im_gui.misc.inArray(arguments[i].elements[j].type.toLowerCase(), Array('text','password'))||arguments[i].elements[j].nodeName.toLowerCase()=='textarea'){
arguments[i].elements[j].onfocus=function (){im_gui.input.invertValue(this,'focus');};
arguments[i].elements[j].onblur=function (){im_gui.input.invertValue(this,'blur');};
}}
}}
}}else{
var inps=im_gui.misc.obj('input','tag',document);
for(i=0;i<inps.length;i++){
if(inps[i].getAttribute('type')=='text'){
if(inps[i].getAttribute('invert_value')=='yes'){
inps[i].onfocus=function (){im_gui.input.invertValue(this,'focus');};
inps[i].onblur=function (){im_gui.input.invertValue(this,'blur');};
}}
}
var inps=im_gui.misc.obj('textarea','tag',document);
for(i=0;i<inps.length;i++){
if(inps[i].getAttribute('invert_value')=='yes'){
inps[i].onfocus=function (){im_gui.input.invertValue(this,'focus');};
inps[i].onblur=function (){im_gui.input.invertValue(this,'blur');};
}}
}},

invertValue: function(objInput, evntRaised){
if (evntRaised=='focus'){
if(objInput.value==objInput.defaultValue){objInput.value='';}}else if (evntRaised=='blur'){
if(objInput.value==''){objInput.value=objInput.defaultValue;}}
},

setInspector: function(){
for(var i=0;i<arguments.length;i++){
if(typeof(arguments[i])=='string'){arguments[i]=im_gui.obj(arguments[i]);}
if(typeof(arguments[i])=='object'){
arguments[i].onkeypress=function(e){
var key = (document.all?event.keyCode:e.which);
var skey = (document.all?event.shiftKey:(key==16?true:false));
var div = document.createElement('div');div.id='label_'+(Math.random());
with(div.style){padding='3px';position='absolute';backgroundColor='#B1CDF2';color='#173863';fontSize='11px';
left=im_gui.misc.findPosX(this)+(this.offsetWidth+1)+'px';top=im_gui.misc.findPosY(this)+'px';};
if((key>=65&&key<=90&&!skey)||(key>=97&&key<=122&&skey)){div.innerHTML+='<div>CAPS LOCK: ON</div>';}
if(new RegExp('[א-ת]').test(this.value.substr(-1))){div.innerHTML+='Non-English character!</div>';}
if(div.innerHTML!=''){document.body.appendChild(div);
if(typeof(im_effects)=='object'){window.setTimeout('im_effects.fade(\''+div.id+'\', 0, 1000);', 1500);}
window.setTimeout('document.body.removeChild(im_gui.obj(\''+div.id+'\'));',2600);}};
}}
},

getCursorPosition: function(obj){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
var iCaretPos=0;
if (document.selection){ 
obj.focus();
var oSel=document.selection.createRange();
oSel.moveStart('character', -obj.value.length);
iCaretPos=oSel.text.length;
}else if (obj.selectionStart||obj.selectionStart=='0'){
iCaretPos=obj.selectionStart;
}
return iCaretPos;
},

setCursorPosition: function(obj){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
if (document.selection){ 
obj.focus ();
var oSel=document.selection.createRange ();
oSel.moveStart('character', -obj.value.length);
oSel.moveStart('character', iCaretPos);
oSel.moveEnd('character', 0);
oSel.select ();
}else if (obj.selectionStart||obj.selectionStart=='0'){
obj.selectionStart=iCaretPos;
obj.selectionEnd=iCaretPos;
obj.focus();
}}
},

css: {
addClass: function(obj, theClassName){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
if(!this.hasClass(obj,theClassName)){obj.className+=(obj.className=='' ? theClassName:' '+theClassName);}},

removeClass: function(obj, theClassName){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
obj.className=obj.className.replace(new RegExp('\\b'+theClassName+'$', 'g'), '');
obj.className=obj.className.replace(new RegExp('\\s'+theClassName+'\\s', 'g'), ' ');
},

toggleClass: function(){
if(arguments.length<2){return false;}
var obj='';
var theClassName=arguments[arguments.length-1];
for(var i=0;i<arguments.length-1;i++){
obj=arguments[i];
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)=='object'){
if(this.hasClass(obj,theClassName)){this.removeClass(obj,theClassName);}else{this.addClass(obj,theClassName);};
}}
},

hasClass: function(obj, theClassName){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
return new RegExp('\\b'+theClassName+'\\b').test(obj.className);
},

swapClass: function(obj, theClassName_1, theClassName_2){
if(typeof(obj)=='string'){var obj=im_gui.obj(obj);}
if(typeof(obj)!='object'){return false;}
if(this.hasClass(obj,theClassName_1)){
obj.className=obj.className.replace(new RegExp('\\b'+theClassName_1+'\\b'), theClassName_2);
}else if(this.hasClass(obj,theClassName_2)){
obj.className=obj.className.replace(new RegExp('\\b'+theClassName_2+'\\b'), theClassName_1);
}}
}};
var im_events={

eventsArr:{
'onload': new Array()
,'onblur': new Array()
,'onclick': new Array()
,'ondblclick': new Array()
,'onfocus': new Array()
,'onkeydown': new Array()
,'onkeypress': new Array()
,'onkeyup': new Array()
,'onmousedown': new Array()
,'onmousemove': new Array()
,'onmouseout': new Array()
,'onmouseover': new Array()
,'onmouseup': new Array()
,'onresize': new Array()
,'onscroll': new Array()
},

register: function(){
var event_name='';
for(var i=0;i<arguments.length-1;i++){
event_name=arguments[i].toLowerCase();
if(!this._is_legal_event(event_name)){return false;}
this.eventsArr[event_name][this.eventsArr[event_name].length]=arguments[arguments.length-1];
}},

set: function(){
for(var i=0;i<arguments.length-1;i++){
event_name=arguments[i].toLowerCase();
if(!this._is_legal_event(event_name)){return false;}
this.eventsArr[event_name]=new Array();
}
for(var i=0;i<arguments.length-1;i++){
event_name=arguments[i].toLowerCase();
if(!this._is_legal_event(event_name)){return false;}
this.eventsArr[event_name][this.eventsArr[event_name].length]=arguments[arguments.length-1];
}},

reset: function(event_name){
event_name=event_name.toLowerCase();
if(!this._is_legal_event(event_name)){return false;}
this.eventsArr[event_name]=new Array();
},

_is_legal_event: function(event_name){
for(i in this.eventsArr){if(i==event_name){return true;}}return false;
},

run: function(event_name, e){
event_name=event_name.toLowerCase();
if(!this._is_legal_event(event_name)){return false;}
for(i in this.eventsArr[event_name]){this.eventsArr[event_name][i](e);}},

init: function(e){
for(i in this.eventsArr){
if(i=='onresize'||i=='onunload'){
eval('window.'+i+' = function(e){im_events.run(\''+i+'\', e);}');
}else if(i!='onload'){
eval('document.'+i+' = function(e){im_events.run(\''+i+'\', e);}');
}}
im_events.run('onload', e);
}};
var im_form={

_defLangName:'he',

_langsArr:new Array('he', 'en'),

returnTypes: new Array(
'return-all',
'alert-all',
'alert-single',
'return-single',
'append-single'
),

_lang:{
'he':{
'isNull':'נא להזין מידע בשדה {FIELD}',
'isTooShort':'נא להזין לפחות {NUM} תווים בשדה {FIELD}',
'isTooLong':'נא להזין לכל היותר {NUM} תווים בשדה {FIELD}',
'isNotNumber':'נא להזין נתונים מספריים בלבד בשדה {FIELD}',
'isNotInRange':'נא להזין מספר בין {NUM_1} עד {NUM_2} בשדה {FIELD}',
'isNotBigger':'ערך השדה {FIELD_1} חייב להיות גדול משדה {FIELD_2}',
'isNotMultiplied':'ערך השדה {FIELD_1} חייב להיות גדול משדה {FIELD_2} פי {NUM}',
'isNotSmaller':'ערך השדה {FIELD_1} חייב להיות קטן משדה {FIELD_2}',
'isNotPositive': 'ערך השדה {FIELD} אינו מספר חיובי',
'isNotNegative': 'ערך השדה {FIELD} אינו מספר שלילי',
'isNotInt': 'ערך השדה {FIELD} אינו מספר שלם',
'isNotFloat': 'ערך השדה {FIELD} אינו מספר עשרוני',
'isNotEmail':'כתובת האי-מייל אינה תקינה',
'isNotMultipleEmail': 'אי מייל(ים) אינו תקין(ים)',
'isNotEqualPassword':'אימות סיסמא נכשלה',
'isNotPhone':'מספר טלפון בשדה {FIELD} אינו תקין',
'isNotPrice':'מחיר אינו תקין',
'isNotHeb':'נא להזין תווים בעברית בלבד בשדה {FIELD}',
'isNotEng':'נא להזין תווים באנגלית בלבד בשדה {FIELD}',
'isNotChecked':'חובה לסמן שדה {FIELD}',
'isNotAgreeTerms':'חובה להסכים לתנאי שימוש האתר',
'isNotFile':'חובה לבחור קובץ לשדה {FIELD}',
'isNotAllowedExt':'סיומת קובץ לא מורשת לשדה {FIELD}',
'notValid':'הערך עבור השדה {FIELD} אינו תקין'
},
'en':{
'isNull':'{FIELD} field is required',
'isTooShort':'Please enter at least {NUM} chars. in {FIELD} field',
'isTooLong':'Please enter maximum {NUM} chars. in {FIELD} field',
'isNotNumber':'Please enter only numeric chars in {FIELD} field',
'isNotInRange':'Please enter number between {NUM_1} and {NUM_2} in {FIELD} field',
'isNotBigger':'Value of "{FIELD_1}" must be bigger than "{FIELD_2}"',
'isNotMultiplied':'Value of "{FIELD_1}" must be {NUM} times than "{FIELD_2}"',
'isNotSmaller':'Value of "{FIELD_1}" must be smaller than "{FIELD_2}"',
'isNotPositive': 'Value of "{FIELD}" must be a positive number',
'isNotNegative': 'Value of "{FIELD}" must be a negative number',
'isNotInt': 'Value of "{FIELD}" must be an integer number',
'isNotFloat': 'Value of "{FIELD}" must be a decimal number',
'isNotEmail':'Wrong email entered. Email format is john@john.com',
'isNotMultipleEmail': 'Invalid email address(es)! Email format is john@john.com [, example@domain.com, ...]',
'isNotEqualPassword':'Password fields dont match',
'isNotPhone':'Value of "{FIELD}" must a valid phone number',
'isNotPrice':'Price is invalid',
'isNotHeb':'Please enter only Hebrew characters in the {FIELD} field',
'isNotEng':'Please enter only English characters in {FIELD} field',
'isNotChecked':'You have to check the {FIELD} field',
'isNotAgreeTerms':'You have to agree terms and conditions',
'isNotFile':'You have to select file to the {FIELD} field',
'isNotAllowedExt':'The file extention is not allowed for the {FIELD} field',
'notValid':'The value for the {FIELD} field is not valid'
}},

_success_case:{
class_name: 'inputAprovedClass',
mark: '',
is_set: true
},

_error_class_name: 'inputErrorClass',

checkForm: function(formID, returnType, isSubmitOnSuccess){
if(typeof(isSubmitOnSuccess)=='undefined'){var isSubmitOnSuccess=false;}
var str=this.validate(formID, returnType);
if(str.indexOf('<ok />') == -1){
return false;
}else if(isSubmitOnSuccess){
document.getElementById(formID).submit();
}else{
return true;
}},

submitAjaxForm: function(formID, frmAction, finishFunction, isToSalat){
function submitAjaxForm_done(data){
alert(data);
}
var str=this._makeAjaxForm(formID);
if(str.indexOf('<err />')==-1){
im_ajax.send(frmAction, finishFunction ? finishFunction:im_form.submitAjaxForm_done, str, isToSalat);
}else{
return false;
}},

_makeAjaxForm: function(formID){
var str=this.checkForm(formID, 'append-single');
if(str==false){return "<err />";}else{str="";}
var targetElement=document.getElementById(formID);
var inputsArr=targetElement.elements;
for(i=0;i<inputsArr.length;i++){
switch(inputsArr[i].type.toLowerCase()){
case "radio":
case "checkbox":
if(inputsArr[i].checked){str+=inputsArr[i].name + "=" + inputsArr[i].value + "&";}
break;
case "select-one":
case "select-multiple":
str+=inputsArr[i].name + "=" + inputsArr[i].options[inputsArr[i].selectedIndex].value + "&";
break;
case "option":
case "reset":
break;
default:
str+=inputsArr[i].name + "=" + inputsArr[i].value + "&";
}}
str=str.substr(0,str.length-1);
return str;
},

_err: '',

validate: function(formID_inputID, returnType, langName){
if(typeof(formID_inputID)=='string'){
var targetElement = document.getElementById(formID_inputID);
}else if(typeof(formID_inputID)=='object'){
var targetElement = formID_inputID;
}
if(!targetElement){alert("Error 1109:\n\tThe element '"+formID_inputID+"' was not found");return '';}
if(typeof(langName)=='undefined'||!this.is_inArray(langName, this._langsArr)){langName=this._defLangName;}
if(!this._is_inArray(returnType, this.returnTypes)){returnType=this.returnTypes[0];}
var theElem;
var inpDefValue=inpValue=inpName=required=reqType=fieldName=reqError=err=fileExt=extParams=tmpValue='';
var i=j=e=0;
var isChecked=isScrolled=false;
var fieldArr=inputsArr=new Array();
this._err='';
if(targetElement.nodeName.toLowerCase()=='form'){
inputsArr = targetElement.elements;
}else if(targetElement.nodeName.toLowerCase()=='input'||targetElement.nodeName.toLowerCase()=='select'||targetElement.nodeName.toLowerCase()=='textarea'){
inputsArr = new Array(targetElement);
targetElement = targetElement.form;
}else{
alert("Error 1209:\n\tWrong input element");return '';
}
for(i=0; i < inputsArr.length; i++){
theElem=inputsArr[i];
inpName=theElem.name;
required=theElem.getAttribute('required');
if(required!=''&&required!=null){
if(!this._is_inArray(inpName, fieldArr)){
fieldArr[fieldArr.length]=inpName;
required= required.split(';');
reqType = required[0].split(':')[0];
fieldName = required[0].split(':')[1];
reqError = required[0].split(':')[2];
reqSuccess = required[0].split(':')[3];
extParams= required[1];
inpValue = theElem.value;
inpDefValue=theElem.defaultValue;
if(inpValue!=inpDefValue||extParams.toUpperCase().indexOf('ALLOW_DEFAULT')==-1){
theElem.setAttribute('validation_result', '-1');
switch(theElem.type.toLowerCase()){
case "checkbox":
case "radio":
for(isChecked=false,j=0;j<inputsArr.length&&!isChecked;j++){if(inputsArr[j].type==theElem.type&&inputsArr[j].name==inpName&&inputsArr[j].checked){isChecked=true;}}
if(!isChecked){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, (reqType=='terms' ? 'isNotAgreeTerms':'isNotChecked'), '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);return err;}
else if(returnType=='return-single'){return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "select-one":
case "select-multiple":
if(theElem.options[theElem.selectedIndex].value==''){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotChecked', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);return err;}
else if(returnType=='return-single'){return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "file":
fileExt = inpValue.split('.');
fileExt = fileExt[fileExt.length-1].toLowerCase();
extParams = extParams.split(",")[0].split("|");
if(inpValue==''){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotFile', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);return err;}
else if(returnType=='return-single'){return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{
if(!this._is_inArray(fileExt,extParams)){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotAllowedExt', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);return err;}
else if(returnType=='return-single'){return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}}
break;
case "text":
case "hidden":
case "password":
case "textarea":
extParams=(extParams ? extParams.replace('ALLOW_DEFAULT', '').split(':'):inpValue.length);
if(extParams.length>1&&extParams[1].indexOf(',')>-1){
extParams[2]=extParams[1].substring(extParams[1].indexOf(','));extParams[1]=extParams[1].substring(0, extParams[1].indexOf(','));
}else if(extParams.length==1){
extParams[0] = extParams[0].replace(',','');
}
if(reqType.toLowerCase()=='external'){
if(extParams.length>0&&extParams[0]!=''){
eval('tmpValue='+extParams[0]+'(theElem);');
if(tmpValue){
this.removeErr(theElem,reqSuccess);
}else{
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'notValid', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}
}else{this.removeErr(theElem,reqSuccess);}
tmpValue='';
}else if((inpValue==inpDefValue&&theElem.type!='hidden')||inpValue==''){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, (reqType=='terms'&&theElem.type=='hidden'?'isNotAgreeTerms':'isNull'), '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else if( reqType!='numeric'&&parseInt(extParams[0])>0&&inpValue.length < extParams[0] ){
e++;err+=this._generateErrMsg(langName, 'isTooShort', Array("{FIELD}","{NUM}"), Array(fieldName,extParams[0]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else if( reqType!='numeric'&&parseInt(extParams[1])>0&&inpValue.length > extParams[1] ){
e++;err+=this._generateErrMsg(langName, 'isTooLong', Array("{FIELD}","{NUM}"), Array(fieldName,extParams[1]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{
switch(reqType.toLowerCase()){
case "any":case "terms":this.removeErr(theElem,reqSuccess); break;
case "numeric":
if(isNaN(inpValue)){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotNumber', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else if(extParams.length>0){
this.removeErr(theElem,reqSuccess);
if(this._is_inArray(extParams[0], new Array('GREATER_THAN', 'SMALLER_THAN', 'MULTIPLIED_BY'))){
if(extParams[3]==''){extParams[3]=0;}
switch(extParams[0].toUpperCase()){
case 'GREATER_THAN':
if(im_gui.string.toNumber(inpValue)+im_gui.string.toNumber(extParams[3])<=im_gui.string.toNumber(eval('targetElement.'+extParams[1]).value)){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotBigger', Array("{FIELD_1}","{FIELD_2}"), Array(fieldName,extParams[2]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case 'SMALLER_THAN':
if(im_gui.string.toNumber(inpValue)-im_gui.string.toNumber(extParams[3])>=im_gui.string.toNumber(eval('targetElement.'+extParams[1]).value)){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotSmaller', Array("{FIELD_1}","{FIELD_2}"), Array(fieldName,extParams[2]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case 'MULTIPLIED_BY':
if(inpValue!=im_gui.string.toNumber(eval('targetElement.'+extParams[1]).value*im_gui.string.toNumber(extParams[3]))){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotMultiplied', Array("{FIELD_1}","{FIELD_2}","{NUM}"), Array(fieldName,extParams[2],extParams[3]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
}}else if(
(extParams.length>1)&&
(im_gui.string.toNumber(extParams[0]) > im_gui.string.toNumber(inpValue, (extParams[0].toString().indexOf('.')>-1?'float':'int'))||
im_gui.string.toNumber(extParams[1]) < im_gui.string.toNumber(inpValue, (extParams[1].toString().indexOf('.')>-1?'float':'int')))
){
 e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotInRange', Array("{FIELD}","{NUM_1}","{NUM_2}"), Array(fieldName,extParams[0],extParams[1]));
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}
 }else{
this.removeErr(theElem,reqSuccess);
 if(extParams.join().toUpperCase().indexOf('POSITIVE') > -1){
if(im_gui.string.toNumber(inpValue) < 0){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotPositive', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}}else if(extParams.join().toUpperCase().indexOf('NEGATIVE') > -1){
if(im_gui.string.toNumber(inpValue) > 0){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotNegative', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}}
if(extParams.join().toUpperCase().indexOf('INT') > -1){
if(!this._is_valid_string(inpValue, 'INT')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotInt', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}}else if(extParams.join().toUpperCase().indexOf('FLOAT') > -1){
if(!this._is_valid_string(inpValue, 'FLOAT')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotFloat', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}}
 }}else{this.removeErr(theElem,reqSuccess);}
break;
case "email":
if(!this._is_valid_string(inpValue, 'EMAIL')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotEmail', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "multiple-email":
if(!this._is_valid_string(inpValue, 'MULTIPLE-EMAIL', {'multiple_number': parseInt(extParams[0])||1})){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotMultipleEmail', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "phone":
if(!this._is_valid_string(inpValue, 'PHONE')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotPhone', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "price":
if(!this._is_valid_string(inpValue, 'PRICE')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotPrice', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "hebrew":
if(!this._is_valid_string(inpValue, 'HEBREW')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotHeb', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "english":
if(!this._is_valid_string(inpValue, 'ENGLISH')){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotEng', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
case "password":
if(extParams&&extParams!=''&&extParams.length>0&&extParams[0]!=''){
if(inpValue!=eval('targetElement.'+extParams[0]).value){
e++;err+=reqError ? reqError:this._generateErrMsg(langName, 'isNotEqualPassword', '{FIELD}', fieldName);
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err='';}}else{this.removeErr(theElem,reqSuccess);}}else{this.removeErr(theElem,reqSuccess);}
break;
case "ajax":
if(theElem.getAttribute('validation_result').toString()=='-1'){
im_ajax.send(extParams[0], function(data, params){
var theElem=params.input;
theElem.setAttribute('validation_result', data);
if(data.indexOf('<err/>')>-1){
e++;err+=reqError ? reqError:data.toString().replace('<err/>', '');
im_form.setErrClass(theElem);
if(!isScrolled){isScrolled=true;im_form.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){im_form.setErrMsg(theElem, err);err=''}}else{im_form.removeErr(theElem,reqSuccess);}}, inpName+'='+inpValue+(extParams[1]==''?'':'&'+extParams[1]), false, '', {input:theElem});
}else if(theElem.getAttribute('validation_result').toString().indexOf('<err/>')>-1){
e++;err+=reqError ? reqError:theElem.getAttribute('validation_result').toString().replace('<err/>', '');
this.setErrClass(theElem);
if(!isScrolled){isScrolled=true;this.scrollTo(theElem);}
if(returnType=='alert-single'){alert(err);theElem.focus();return err;}
else if(returnType=='return-single'){theElem.focus();return err;}
else if(returnType=='append-single'){this.setErrMsg(theElem, err);err=''}}else{this.removeErr(theElem,reqSuccess);}
break;
default:
break;
}}
break;
default:
break;
}}
}}
}
if(returnType==this.returnTypes['alert-all']&&err!=''){alert(err);}
return (!e ? '<ok />':'<err />'+err);
},

_is_inArray: function(str, arr){
for(i in arr){if(str == arr[i]){return true;}}
return false;
},

scrollTo: function(theElem){
if(theElem.form.getAttribute('scrollonerror')!=null&&theElem.form.getAttribute('scrollonerror').toString()=='yes'){
var posY=0;
var a=document.createElement('a');
a.name=Math.random();
theElem.parentNode.insertBefore(a,theElem.nextSibling);
posY=im_gui.misc.findPosY(a)-150;
posY=(posY<0?0:posY);
window.scrollTo(im_gui.misc.findPosX(a),posY);
}},

setErrClass: function(theElem){
im_gui.css.removeClass(theElem, this._success_case.class_name);
im_gui.css.addClass(theElem, this._error_class_name);
},

setErrMsg: function(theElem, err){
if(theElem.getAttribute('validation_id')==null||theElem.getAttribute('validation_id')==''){
var span=document.createElement('span');
span.id=Math.random();
theElem.setAttribute('validation_id',span.id);
theElem.parentNode.insertBefore(span,theElem.nextSibling);
}else{
var span=document.getElementById(theElem.getAttribute('validation_id'));
}
span.className=this._error_class_name;
span.innerHTML=err;
},

removeErr: function(theElem,reqSuccess){
im_gui.css.removeClass(theElem, this._error_class_name);
if(this._success_case.is_set){
im_gui.css.addClass(theElem, this._success_case.class_name);
if(theElem.getAttribute('validation_id')==null){
var span=document.createElement('span');
span.id=Math.random();
span.className=this._success_case.class_name;
span.innerHTML=reqSuccess||this._success_case.mark;
theElem.setAttribute('validation_id',span.id);
theElem.parentNode.insertBefore(span,theElem.nextSibling);
}else{
with(document.getElementById(theElem.getAttribute('validation_id'))){
innerHTML=reqSuccess||this._success_case.mark;
className=this._success_case.class_name;
}}
}},

_generateErrMsg: function(langName, errKey, tmplArr, replaceArr){
var errorStr=this._lang[langName][errKey];
if(typeof(tmplArr)=='string'){
errorStr=errorStr.replace(tmplArr,replaceArr);
}else{
for(i in tmplArr){errorStr=errorStr.replace(tmplArr[i],replaceArr[i])}}
return errorStr + '\n';
},
_is_valid_string: function(testStr, format, extraObj){
var ptrn='';
switch(format.toUpperCase()){
case 'INT': ptrn='^\-?[0-9]+$'; break;
case 'FLOAT': ptrn='^\-?[0-9]+\.[0-9]+$'; break;
case 'PHONE': ptrn='^(?:[0-9]+\-)*[0-9]+$'; break;
case 'NUMBER': ptrn='^\-?[0-9]+(?:\.[0-9]+)?$'; break;
case 'PRICE': ptrn='^[0-9]+(?:\.[0-9]+)?$'; break;
case 'HEBREW': ptrn='[א-ת ]+'; break;
case 'ENGLISH': ptrn='[a-zA-Z ]+'; break;
case 'EMAIL': ptrn='^[\-a-z0-9\_\.]+@(?:[\-a-z0-9]+[\.])+[a-z]{2,4}$'; if(testStr.indexOf('\\')>-1){return false;} break;
case 'MULTIPLE-EMAIL': ptrn='^[\-a-z0-9\_\.]+@(?:[\-a-z0-9]+[\.])+[a-z]{2,4}(?:, ?[\-a-z0-9\_\.]+@(?:[\-a-z0-9]+[\.])+[a-z]{2,4}){0,'+(extraObj['multiple_number']-1)+'}$'; if(testStr.indexOf('\\')>-1){return false;} break;
case 'PASSWORD': ptrn='^(?:[^\s][\w])+$'; break;
}
return new RegExp(ptrn, 'i').test(testStr);
}};
var im_center={
curDiv_num: 0,
settingsArr: new Array(),

_defaults:{
is_cover_screen: false,
is_dragndrop: true,
min_pos: {y: 100, x: 100}},

show: function(setting, objContent, isMkCover, isMkDragNDrop){
if(typeof(setting)=='string'){
if(typeof(this.settingsArr[setting])=='undefined'){setting='default';}
var settings = {
size:{width: this.settingsArr[setting].width,height: this.settingsArr[setting].height},
position:{x: this.settingsArr[setting].x||-1,y: this.settingsArr[setting].y||-1,type: this.settingsArr[setting].type}};
}else if(typeof(setting)=='object'){
var settings = {
size:{width: setting.width,height: setting.height},
position:{x: setting.x||-1, y: setting.y||-1, type: setting.type}};
}else{return false;}
var isMkCover = (typeof(isMkCover)=='undefined'?this._defaults.is_cover_screen:isMkCover);
var isMkDragNDrop = (typeof(isMkDragNDrop)=='undefined'?this._defaults.is_dragndrop:isMkDragNDrop);
var scrollPos = im_gui.window.getPageScroll();
var centeralPos = im_gui.window.getCenterizedPos(settings.size.width, settings.size.height);
var screenSize = im_gui.window.getWindowInnerDim();
var divCenterObj=document.createElement('div');
this.curDiv_num++;
if(settings.position.x != -1){
switch(typeof(settings.position.x)){
case 'string':
switch(settings.position.x.toLowerCase()){
case 'left':settings.position.x=0;break;
case 'right':settings.position.x=screenSize.width-settings.size.width-20;break;
}
break;
case 'number':settings.position.x = settings.position.x;if(settings.position.type=='fixed'){settings.position.x+=scrollPos.x;}break;
}}else{settings.position.x = centeralPos.x;}
if(settings.position.y != -1){
switch(typeof(settings.position.y)){
case 'string':
switch(settings.position.y.toLowerCase()){
case 'top':settings.position.y=0;break;
case 'bottom':settings.position.y=screenSize.height-settings.size.height-20;break;
}
break;
case 'number':settings.position.y = settings.position.y;if(settings.position.type=='fixed'){settings.position.y+=scrollPos.y;}break;
}}else{settings.position.y = centeralPos.y;}
if(settings.position.y<0){settings.position.y=this._defaults.min_pos.y;}
if(settings.position.x<0){settings.position.x=this._defaults.min_pos.x;}
if(isMkCover){
var divCoverObj= document.createElement('div');
with(divCoverObj){
className='im_coverDiv';
id='im_coverDiv_'+this.curDiv_num;
onclick=function(){im_center.close();}
with(style){position='fixed';left='0px';top='0px';width='100%';height='100%';zIndex=100002;}
if(im_gui.browser.ie6){
style.position='absolute';
style.width=im_gui.getBodyDim().offsetWidth+'px';
style.height=im_gui.getBodyDim().offsetHeight+'px';
}}document.body.appendChild(divCoverObj);
}
if(isMkDragNDrop){if(typeof(im_dragndrop)=='object'){im_dragndrop.set({
obj:divCenterObj
});}}
with(divCenterObj){
id='im_centerDiv_'+this.curDiv_num;
className='im_centerDiv';
with(style){
position='absolute';zIndex=100002;
left=settings.position.x+'px';top=settings.position.y+'px';
width=settings.size.width+'px';height=settings.size.height+'px';
}}im_gui.display.hideDLLObjs();document.body.appendChild(divCenterObj);
im_gui.misc.innerData(divCenterObj, objContent);
if(im_gui.browser.ie6){divCenterObj.style.zIndex=100002;}},

close: function(){
if(this.curDiv_num > 0){
var divCenterObj=im_gui.misc.obj('im_centerDiv_'+this.curDiv_num);
document.body.removeChild(divCenterObj);
var divCoverObj=im_gui.misc.obj('im_coverDiv_'+this.curDiv_num);
if(divCoverObj){document.body.removeChild(divCoverObj);}
this.curDiv_num--;
if(this.curDiv_num==0){im_gui.display.showDLLObjs();}}
},

innerContent: function(data){
im_gui.misc.innerData('im_centerDiv_contentCell_'+this.curDiv_num, data);
},

appendObj: function(obj){
if(typeof(obj)=='object'){
im_gui.misc.obj('im_centerDiv_contentCell_'+this.curDiv_num).appendChild(obj);
}},

templates: {
tmplArr: new Array(),

compile: function(args, tmplName){
if(typeof(tmplName)=='undefined'||tmplName==''){var tmplName='default';}
var templateLayout=this.tmplArr[tmplName];
for(key in args){templateLayout=templateLayout.replace(new RegExp('{'+key+'}', 'g'), args[key]);}
templateLayout=templateLayout.replace(new RegExp('{DIVNUM}', 'g'), im_center.curDiv_num+1);
templateLayout=templateLayout.replace(new RegExp('{[\-a-zA-Z0-9\_]+}', 'g'), '');
return templateLayout;
},

register: function(){
if(arguments.length==1&&typeof(arguments[0])=='object'){
for(i in arguments[0]){this.tmplArr[i]=arguments[0][i];}
return true;
}else{
return false;
}}
}};
im_center.settingsArr['default']={width: 300, height: 200, x: 'right'};
im_center.templates.register({'default':''});
var im_ajax = {

isAjaxProcessing: false,
isDebug: false,
xmlhttp: null,
_retFunc: null,
send: function(page, retFunc, extras, isFromSalat, isGetXML, extra_params_obj){
if (this.isAjaxProcessing) return false;
if (typeof(isFromSalat)== "undefined") isFromSalat = false;
if (typeof(isGetXML)== "undefined") isGetXML= false;
if (typeof(extras)=="undefined") extras = '';
if (typeof(extra_params_obj)=="undefined") extra_params_obj = '';
this.xmlhttp = this.xmlhttp||this._createXMLHTTPObject();
extras = 'file='+page+'&'+extras;
if (this.xmlhttp){
if (isFromSalat){
this.xmlhttp.open("POST", "/salat2/_ajax/ajax.index.php", true);
}else{
this.xmlhttp.open("POST", "/_ajax/ajax.index.php", true);
}
if (this.isDebug) alert('before ajax');
this._retFunc = retFunc;
this.xmlhttp.onreadystatechange = function(){

if (im_ajax.xmlhttp.readyState == 4){ if (im_ajax.xmlhttp.status == 200){
if (im_ajax.isDebug) alert('in ajax');
im_ajax.isAjaxProcessing = false;
document.body.style.cursor = "auto";
retFunc((isGetXML ? im_ajax.xmlhttp.responseXML:im_ajax.xmlhttp.responseText), extra_params_obj);
}}
 
};
this.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

this.isAjaxProcessing = true;
this.xmlhttp.send(extras);
document.body.style.cursor = "wait";
return (true);
}else{
alert("You browser does not support Ajax functionality");
return (false);
}},

innerData: function(id, data, addingPos){
if(typeof(id)=='object'){
if(typeof(addingPos)=='undefined'||!addingPos){
id.innerHTML = data;
}else if(addingPos=='begin'||addingPos=='before'){
id.innerHTML = data + id.innerHTML;
}else if(addingPos=='end'||addingPos=='after'){
id.innerHTML+=data;
}}else{
if(typeof(addingPos)=='undefined'||!addingPos){
this.obj(id).innerHTML = data;
}else if(addingPos=='begin'||addingPos=='before'){
this.obj(id).innerHTML = data + this.obj(id).innerHTML;
}else if(addingPos=='end'||addingPos=='after'){
this.obj(id).innerHTML+=data;
}}
},

evalScript: function(){
var tmp = document.getElementById('ajaxScript');
if (tmp){
if(tmp.innerHTML&&tmp.innerHTML!=''){
try{
eval(tmp.innerHTML);
tmp.parentNode.removeChild(tmp);
}catch(e){

}}
}},

sendMulti: function(arrReqs,isFromSalat){

},

_createXMLHTTPObject: function(){
var xmlhttpTmp = false;
var factories = this._XMLHttpFactories();
for (var i=0;i<factories.length;i++){
try{
xmlhttpTmp = factories[i]();
}catch (e){
continue;
}
break;
}
return xmlhttpTmp;
},

_XMLHttpFactories: function(){
return[
function (){return new XMLHttpRequest()},
function (){return new ActiveXObject("Msxml2.XMLHTTP")},
function (){return new ActiveXObject("Msxml3.XMLHTTP")},
function (){return new ActiveXObject("Microsoft.XMLHTTP")}
];
}

};
var im_effects = {
in_proccess: false,
timeoutsArr: {
'fade': new Array()
},
fade: function(objID, opacStart, opacEnd, time){
if(typeof(objID)=='string'){obj=im_gui.obj(objID);}
if(opacStart>100){opacStart=100;}
if(opacStart<0){opacStart=0;}
if(opacEnd>100){opacEnd=100;}
if(opacEnd<0){opacEnd=0;}
var speed=Math.round(time/100);
var frame=i=0;
var opacStart=im_gui.display.getObjOpacity(objID);
if(opacStart > opacEnd){
for(i=opacStart; i>=opacEnd; i--,frame++){
this.timeoutsArr.fade[this.timeoutsArr.fade.length]=window.setTimeout("im_gui.display.setOpacity('" + objID + "'," + i + ")",(frame * speed));
}}else if(opacStart < opacEnd){
for(i=opacStart; i<=opacEnd; i++,frame++){
this.timeoutsArr.fade[this.timeoutsArr.fade.length]=window.setTimeout("im_gui.display.setOpacity('" + objID + "'," + i + ")",(frame * speed));
}}
},

chStyle: function(objID, property, from, to, time){
if(property=='opacity'){this.fade(objID, from, to, time);return false;}
if(!im_gui.obj(objID)){return false;}
if(from==null||isNaN(from)){eval('var from = parseInt(im_gui.obj("'+objID+'").style.'+property+');');}else{from=parseInt(from);}
if(to==null||isNaN(to)){eval('var to = parseInt(im_gui.obj("'+objID+'").style.'+property+');');}else{to=parseInt(to);}
var steprange = 20;
var curOverflow=im_gui.obj(objID).style.overflow;
var timeout = Math.round(time/((to-from)/steprange));
im_gui.obj(objID).style.overflow='hidden';
eval('im_gui.obj("'+objID+'").style.'+property+'=from+"px";');
if(to>from){
var timerID=window.setInterval(function(){
eval('var cur = parseInt(im_gui.obj("'+objID+'").style.'+property+')+'+steprange+';');
eval('im_gui.obj("'+objID+'").style.'+property+'=cur+"px";');
if(cur+steprange>=to){
eval('im_gui.obj("'+objID+'").style.'+property+'=to+"px";');
eval('im_gui.obj("'+objID+'").style.overflow="'+curOverflow+'";');
eval('window.clearInterval('+timerID+');');
}}, timeout);
}else if(from>to){
var timerID=window.setInterval(function(){
eval('var cur = parseInt(im_gui.obj("'+objID+'").style.'+property+')-'+steprange+';');
eval('im_gui.obj("'+objID+'").style.'+property+'=cur+"px";');


if(cur-steprange<=to){

eval('im_gui.obj("'+objID+'").style.'+property+'=to+"px";');
eval('im_gui.obj("'+objID+'").style.overflow="'+curOverflow+'";');
eval('window.clearInterval('+timerID+');');
}}, timeout);
}
return time+timeout;
},
animate: function(objID, animArr){
if(animArr.length==0){return false;}
if(!im_gui.obj(objID)){return false;}
for(var i in animArr){
if(i=='opacity'){this.fade(objID, animArr[i].from, animArr[i].to, animArr[i].time);return false;}
if(animArr[i].from==null||isNaN(animArr[i].from)){eval('animArr[i].from = parseInt(im_gui.obj("'+objID+'").style.'+i+');');}else{animArr[i].from=parseInt(animArr[i].from);}
if(animArr[i].to==null||isNaN(animArr[i].to)){eval('animArr[i].to = parseInt(im_gui.obj("'+objID+'").style.'+i+');');}else{animArr[i].to=parseInt(animArr[i].to);}
var steprange = 20;
var curOverflow=im_gui.obj(objID).style.overflow;
var timeout = Math.round(animArr[i].time/((animArr[i].to-animArr[i].from)/steprange));
im_gui.obj(objID).style.overflow='hidden';
eval('im_gui.obj("'+objID+'").style.'+i+'=animArr[i].from+"px";');
if(animArr[i].to>animArr[i].from){
this.timeoutsArr[i]=window.setInterval(function(){
eval('var cur = parseInt(im_gui.obj("'+objID+'").style.'+i+')+'+steprange+';');
eval('im_gui.obj("'+objID+'").style.'+i+'=cur+"px";');
eval("im_gui.obj('logger').value = im_gui.obj('logger').value + "+this.timeoutsArr[i]+" + '\n'");
if(cur+steprange>=animArr[i].to){
eval('im_gui.obj("'+objID+'").style.'+i+'='+animArr[i].to+'+"px";');
eval('im_gui.obj("'+objID+'").style.overflow="'+curOverflow+'";');
eval('window.clearInterval('+this.timeoutsArr[i]+');');
}}, timeout);
}else{
this.timeoutsArr[i]=window.setInterval(function(){
eval('var cur = parseInt(im_gui.obj("'+objID+'").style.'+i+')-'+steprange+';');
eval('im_gui.obj("'+objID+'").style.'+i+'=cur+"px";');
if(cur-steprange<=animArr[i].to){
eval('im_gui.obj("'+objID+'").style.'+i+'='+animArr[i].to+'+"px";');
eval('im_gui.obj("'+objID+'").style.overflow="'+curOverflow+'";');
eval('window.clearInterval('+timeoutsArr[i]+');');
}}, timeout);
}}
},
reset: function(section){
for(i in this.timeoutsArr[section]){
window.clearTimeout(this.timeoutsArr[section][i]);
}
this.timeoutsArr[section] = new Array();
}};
var global = {
ajax_loader: '<div class="white bold align-center" style="font-size:11pt;padding: 3px 0px;"><img src="/_media/images/layout/ajax-loader.gif" /> טוען . . .</div>',
processing: '<div style="padding: 3px 0px;"><img src="/_media/images/ajax_loader.gif" /> &nbsp;<small class="bold">מעבד נתונים . . .</small></div>'
};
window.onload = function(e){
im_events.init(e);
};
var timerID_1=0;
im_events.register('onload', function(e){
im_center.settingsArr['default']={width: 800, height: 600};
im_center.settingsArr['movie']={width: 545, height: 275};
im_center.settingsArr['message']={width: 400, height: 120};

im_center.templates.register({'default':'<div class="popup-wrapper"><div class="shadow"></div><div class="content"><div style="padding-right:10px;"><h1 style="font-size:22px;">{TITLE}</h1><p>{CONTENT}</p></div></div><div class="close-btn pointer" onclick="javascript:im_center.close();"><img src="/_media/images/layout/popup_close.jpg" alt="" title="" /> סגור</div></div>'});
im_center.templates.register({'movie':'<div class="popup-wrapper"><div class="shadow"></div><div class="content"><div style="padding-right:10px;"><h1 style="font-size:22px;">{TITLE}</h1><p>{BRIEF}</p><div>שנה: {YEAR}</div><div>במאי: {DIRECTOR}</div><div>שחקנים: {ACTORS}</div><div>אורך: {LENGTH}</div><div>{START_TIME}</div></div></div><div class="close-btn pointer" onclick="javascript:im_center.close();"><img src="/_media/images/layout/popup_close.jpg" alt="" title="" /> סגור</div></div>'});


im_center.settingsArr['fame']={width: 705, height: 535};
im_center.templates.register({'fame':'<div class="popup-wrapper"><div class="shadow"></div><div class="content">{IMG}</div><div class="close-btn pointer" onclick="javascript:im_center.close();"><img src="/_media/images/layout/popup_close.jpg" alt="" title="" /> סגור</div></div>'});

im_gui.display.fixPng('sales-reaser');
});
im_events.register('onkeyup', function(e){
key = (document.all ? event.keyCode:e.which );
switch(key){
case 27:if(typeof(prevent_esc_closing)=='undefined'||!prevent_esc_closing){im_center.close();}break;
case 37:break; 
case 39:break; 
}});
var subMenu = {
timeID_1: '',
timeID_2: '',
lastID: '',

go: function(objID, isShow, isFade){
if(!im_gui.obj(objID)){return false;}
if(isShow){
if(this.lastID==objID){window.clearTimeout(this.timerID_1);window.clearTimeout(this.timerID_2);im_effects.reset('fade');}
im_gui.display.show(objID);
im_gui.display.setOpacity(objID, 100);
im_gui.obj(objID).onmouseover = function(){subMenu.go(objID, true);}
im_gui.obj(objID).onmouseout = function(){subMenu.go(objID, false);}
this.lastID=objID;
}else{
if(isFade==null){var isFade=true;}
this.timerID_1 = window.setTimeout(function(){
if(isFade){
im_effects.fade(objID, 100, 0, 500);
subMenu.timerID_2=window.setTimeout(function(){
im_gui.display.hide(objID);
im_gui.display.setOpacity(objID, 100);
}, 800);
}else{
im_gui.display.hide(objID);
}}, 300);
}}
};
function showMovieDetails(movieID){
im_ajax.send('movie.details.get.ajax.php', function(JSON_DATA){
im_center.close();
eval('JSON_DATA='+JSON_DATA);
im_center.show('movie', 
im_center.templates.compile({
'TITLE':JSON_DATA.title,
'BRIEF':JSON_DATA.brief,
'YEAR':JSON_DATA.year,
'DIRECTOR':JSON_DATA.director,
'LENGTH':JSON_DATA.movie_length,
'START_TIME':JSON_DATA.start_time,
'ACTORS':JSON_DATA.actors
}, 'movie')
);
}, 'movie_id='+movieID);
}
function sendNewsLetterForm(){
var str = im_form.validate('frmNewsLetter', 'return-single');
if(str.indexOf('<ok />')>-1){
im_form.submitAjaxForm('frmNewsLetter', 'newsletter.subscribe.ajax.php', function(data){
if(data.indexOf('<ok />')>-1){
im_gui.obj('frmNewsLetter').reset();
}
im_center.close();
im_center.show('message',
im_center.templates.compile({
'TITLE':'הרשמה לניוזלטר',
'CONTENT':data
})
);
});
}else{
im_center.close();
im_center.show('message',
im_center.templates.compile({
'TITLE':'הרשמה לניוזלטר',
'CONTENT':str
})
);
}}