﻿var undefined; // undefined

// Browser
function Browser() {}
Browser.Agent=navigator.userAgent.toLowerCase();
Browser.Version=Browser.Agent.match(/msie ([^;]+);/);
Browser.IE=Browser.Agent.indexOf("msie")!=-1;
Browser.Moz=Browser.Agent.indexOf("gecko")!=-1;
Browser.Opera=Browser.Agent.indexOf("opera")!=-1;
//if (Browser.Opera) Browser.Moz=true;
Browser.Other=Browser.Agent.search(/(msie|mozilla)/i)==-1;
Browser.Version=Browser.Version && Browser.Version.length ? +Browser.Version[1] : null,

Browser.XML=function () {}
Browser.XML.DOM=function () {if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLDOM");else if (document.implementation && document.implementation.createDocument) return document.implementation.createDocument("","",null);}
Browser.XML.HTTP=function () {if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");else if (window.XMLHttpRequest) return new XMLHttpRequest();}

// DOM
function DOM() {}
DOM.Doc=document;

DOM.Get=function (id) {return this.Doc.getElementById(id);}
DOM.Create=function (tag,parent,className) {var el;if (Browser.Moz) el=document.mozCreateElement(tag);else el=this.Doc.createElement(tag);if (parent) parent.appendChild(el);if (className) el.className=className;return el;}
DOM.Event=function (evt,func,o) {if (!o) o=window;if (o.attachEvent) o.attachEvent("on"+evt,func);else if (o.addEventListener) o.addEventListener(evt,func,false);}
DOM.Deevent=function (evt,func,o) {if (!o) o=window;if (o.detachEvent) o.detachEvent("on"+evt,func);else if (o.removeEventListener) o.removeEventListener(evt,func,false);}
DOM.Find=function (o,tag,prop,eq) {tag=tag.toUpperCase();while (o && o!=this.Doc.documentElement && ((prop==undefined && o.tagName!=tag) || (prop && ((eq!=undefined && (o.tagName!=tag || o[prop]!=eq)) || (eq==undefined && o.tagName!=tag))))) o=o.parentNode;return o.tagName==tag ? o : null;}

// Classes
DOM.Classes={};
DOM.Classes.Add=function (el,cls) {if (el) return !this.Contains(el,cls) ? el.className+=" "+cls : el.className;}
DOM.Classes.Remove=function (el,cls) {if (el) return el.className=el.className.replace(new RegExp("\\b"+cls.ToRX()+"\\b"),"");}
DOM.Classes.Contains=function (el,cls) {if (el) return new RegExp("\\b"+cls.ToRX()+"\\b").test(el.className);}
DOM.Classes.Current=function (el,prop) {if (el) return el.currentStyle[prop];}
DOM.Classes.Toggle=function (el,cls) {cls=cls || "hidden";this[this.Contains(el,cls) ? "Remove" : "Add"](el,cls);}

// Img - Over
// DOM.ImgToggle(o);
DOM.ImgToggle=function (o,b) {var src=o.src;var toggle=b==undefined;var rxOff=/([^_])(\.\w+)$/,rxOn=/_(\.\w+)$/;if (toggle) b=rxOff.test(src);if (b) src=src.replace(rxOff,"$1_$2");else src=src.replace(rxOn,"$1");return o.src=src;}

// Positions
DOM.Pos={};
DOM.Pos.X=function (o) {for (var x=0;o;x+=o.offsetLeft,o=o.offsetParent);return x;}
DOM.Pos.Y=function (o) {for (var y=0;o;y+=o.offsetTop,o=o.offsetParent);return y;}

if (Browser.Moz) {
	var mozScript=document.createElement("script");
	mozScript.type="text/javascript";
	mozScript.defer=true;
	mozScript.src="http://www.meyeden.co.il/Scripts/Moz.js";
	document.getElementsByTagName("head")[0].appendChild(mozScript);
}
