function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function isEmail(str) {
    if (str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function validate() {
	if (isEmail(document.MailingList.Email.value) == false) 
		{window.alert("Please enter a valid email address.");
		document.MailingList.Email.focus();
		return false;}
	
	else  
		{
		message="Thank you. " + document.MailingList.Email.value + " was added to the israelinsider mailing list.";
		window.alert(message);
		return true;}
}

function hp_send_a_friend() {
  if (navigator.appName != "Microsoft Internet Explorer")
  	composedURL = "/script/hp_send_a_friend_net.asp?URL=" + document.URL + "&title=" + document.title;
  if (navigator.appName == "Microsoft Internet Explorer")
  	composedURL = "/script/hp_send_a_friend.asp?URL=" + document.URL + "&title=" + document.title;
  window.open(composedURL,"send_a_friend","height=580,width=520");
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function goNow() {
		var L = document.spinbox.URLs.selectedIndex;
		document.location.href = document.spinbox.URLs.options[L].value;
		document.spinbox.URLs.selectedIndex=0;
}

function send_a_friend() {
  if (navigator.appName != "Microsoft Internet Explorer")
  	composedURL = "http://64.29.220.84/script/send_a_friend_net.asp?URL=" + document.URL + "&title=" + document.title;
  if (navigator.appName == "Microsoft Internet Explorer")
  	//composedURL = "http://64.29.220.84/script/send_a_friend.asp?URL=" + document.URL + "&title=" + document.title;
	composedURL = "en.jsp?enPage=EmptyPage&enInfolet=sendTo.jsp&orgUrl=" + document.URL;
	//alert(composedURL);
  window.open(composedURL,"send_a_friend","height=580,width=520");
}

function HP_Onload()
{
    MM_openBrWindow('http://web.israelinsider.com/Static/Html/AdWindow.html','AdWindow1','width=250,height=300,left=100,top=100,resizable=yes');	
//    MM_openBrWindow('http://web.israelinsider.com/Static/Html/AdWindow.html','AdWindow1','width=210,height=295,left=100,top=100,resizable=yes');	
    self.focus();
}

//enUtils construstor function
function enUtilsConstrustor()
{
	//is parame set
	var isSet=function(prm){
		var und;
		return(prm!=und && prm!=null);
	}
	this.isSet=isSet;
	
	//is parame empty
	var isEmpty=function(prm){
		return(!isSet(prm) || prm=="");
	}
	this.isEmpty=isEmpty;
	
	//is numeric
	var isNum=function (v){
		if(isEmpty(v))return false;
		return (v.toString() && !/\D/.test(v));
	}
	this.isNum=isNum;

	//make sure param is not null or undefined
	var ntz=function(prm,def){
		if(!isSet(def))def="";
		return(isEmpty(prm)?def:prm);
	}
	this.ntz=ntz;
		
	//get object by id
	var objectOrGetId=function(oElement,type)
	{
		if(isEmpty(oElement))return null;
		type=ntz(type);
		if(typeof oElement!='object')
		{
			switch(type.toLowerCase())
			{
				//when we use names
				case "img":
					oElement=document.images[oElement];
					break;		
				case "form":
					oElement=document.forms[oElement];
					break;
				case "id":
				default:
					oElement=document.getElementById(oElement);
					break;				
			}
		}	
		return oElement;
	}
	this.objectOrGetId=objectOrGetId;
	
	/*
		toggle class name of an element
		params:
			elmnt - element refrence or id
			restore - resore orig class (def false)
			newClassName - class name to assign
	*/
	var elmntToggleClass=function (elmnt,restore,newClassName)
	{
		elmnt = objectOrGetId(elmnt);
		if(isEmpty(elmnt))return;
		if(!isSet(restore))restore=false;		

		//switch (save last state first)
		var last=elmnt.enLastClassName;
		elmnt.enLastClassName=elmnt.className;
		if(restore)
		{
			elmnt.className=(isEmpty(last)?"":last);
		}
		else elmnt.className=newClassName;	
	}
	//expose
	this.elmntToggleClass=elmntToggleClass;
	
	/*
		toggles element's display style - shows or hides the element
		params:
			elmnt - element refrence or id
			show - optional show or hide flag (true (def) / false)
			hiddenClassName - optional class name to hide element (def 'hiddenEl')
	*/

	var elmntShowHide=function (elmnt,show,hiddenClassName)
	{
		elmnt = objectOrGetId(elmnt);
		if(isEmpty(elmnt))return;
		if(!isSet(hiddenClassName))hiddenClassName="hiddenEl";
		var currShown=(elmnt.className!=hiddenClassName);	
		if(!isSet(show))show=(!currShown);		
		if(show==currShown)return;
		
		elmntToggleClass(elmnt,show,hiddenClassName);
	}
	//expose
	this.elmntShowHide=elmntShowHide;

	/*
		get the nth position of an expression
		params:
			text - text to search
			expr - expression to find
			n - nth position
		returns - pos, or -1 if not found
	*/
	var getNthIndexOf=function(text,expr,n)
	{
		if(isEmpty(text)||isEmpty(expr)||!isNum(n))return -1;
		var pos=0;
		var len=expr.length;
		for(var i=1;i<=n;i++)
		{
			pos=text.indexOf(expr,pos+len);
			if(pos==-1)return -1;
		}
		return pos;
	}
	this.getNthIndexOf=getNthIndexOf;
	
	/*
		get base url for Calendar from window location
		for location of http://domain/site/file
		returns http://domain/site/
		params:
			win - window to examine. optional. if ommited gets the current window
	*/
	var getBaseUrlForCalendar=function(win)
	{
		var url=isEmpty(win)?window.location.href:win.location.href;
		var pos=getNthIndexOf(url,"/",4);
		if(pos==-1)return "";
		var newUrl = url.substring(0,pos+1);
		var index = url.indexOf("/bin/");
		if (index != -1)
			newUrl = newUrl.substring(0,index+1);
		return newUrl;
	}
	this.getBaseUrlForCalendar=getBaseUrlForCalendar;

}//end of construstor function

//instanciate object
if(!window.enUtils)window.enUtils=new enUtilsConstrustor();

//enMsg construstor function
function enMsgConstrustor()
{
	//get localized text
	var get=function(key)
	{
		return msgs[key];
	}
	this.get=get;
	
	//messages repository
	var msgs=
	{
		//enformiaRequired
		"enRequired.confirtDelete" : "Are you sure you want to delete this item ?" ,
		"enRequired.confirtDeleteItem" : "Are you sure you want to delete item '~1~' ?"
	};
}//end of construstor function

//instanciate object
if(!window.enMsg)window.enMsg=new enMsgConstrustor();

//popup calendar
function enformiaCalendarPopup(qstring){
	var path=enUtils.getBaseUrlForCalendar()+"Static/Common/Calendar/calendar.htm";
	if(qstring){
		if(qstring.substring(0,1)!="?")qstring="?"+qstring;
		path=path+qstring;
	}
	if(!this.openedCaledar || this.openedCaledar && this.openedCaledar.closed){
		this.openedCaledar = window.open(path,null,
			"width=275,height=180,resizable=0,status=0,menubar=0,scrollbars=0,fullscreen=0");
	}else{
		this.openedCaledar.location.href=path;
	}
	this.openedCaledar.focus();
	return this.openedCaledar;
}

//prompt user to confirm delete
function confirmDelete(URL,item,customMsg)
{
	var msg="";
	if(item)
		msg=enMsg.get("enRequired.confirtDeleteItem").replace("~1~",item);
	else
		msg=enMsg.get("enRequired.confirtDelete");
	if(customMsg)
		msg=customMsg;
	
	var ret=confirm(msg);
	if(ret && URL)
		location.href=URL;
	else if(!URL)
		return ret;
}

//repopulate date select list when month or year changes
function enformiaPopulateDates(theYear,theMonth,theDay){
	var e=theDay.options[0].value;
	var selectedDay=theDay.options[theDay.selectedIndex].value;
	//skip if not both month and year are non blanck
	if(!theYear.options[theYear.selectedIndex].text ||
		!theMonth.options[theMonth.selectedIndex].value)return;
	//get no of days in month
	var getDaydInMonth=function(y, m){
		timeA = new Date(y, m, 1);
		timeDifference = timeA - 86400000;
		timeB = new Date(timeDifference);
		return timeB.getDate();
	}
	var daysInMonth=getDaydInMonth(theYear.options[theYear.selectedIndex].text,
		theMonth.options[theMonth.selectedIndex].value);
	//empty all options
	theDay.options.length=0;
	//replace with new options
	var j=0;
	//first blank option - if was present
	if(!e){
		theDay.options[j] = new Option("","");
		j++; 
	}
	if(!selectedDay)selectedDay=1;
	if(selectedDay>daysInMonth)selectedDay=daysInMonth;
	var k=1;
    for (var i = j; i-j < daysInMonth; i++){
     	theDay.options[i] = new Option(k,k);
		if(k==selectedDay){
			theDay.options[i].selected=true;
			//theDay.options[i].defaultSelected=true;			
		}
		k++;
    }
}

