﻿function eID(el)
{
    return(document.getElementById(el));
}

function myIFrame()
{
    document.write("<iframe id=\"IFrame\" name=\"IFrame\" style=\"display:none;\" width=\"1\" height=\"1\"><\/iframe>");
}

function randomNumber(num)
{
    return(Math.floor(Math.random()*num));
}

function fnSelect(doc,el)
{
   //fnDeSelect();
   if (doc.document.selection) 
   {
      var range = doc.document.body.createTextRange();
      range.moveToElementText(el);
      range.select();
   }
   else if (doc.getSelection) 
   {
      var range = doc.document.createRange();
      range.selectNode(el);
      doc.getSelection().addRange(range);
   }
}


function roundDown(val)
{
    val = parseFloat(val);
    var iVal = parseInt(val);
    if((val-iVal)>0.98)
        return(Math.round(val))
    else
        return(iVal);
}

function addLoadEvent(func)
{ 
  var oldonload = window.onload; 
  if (typeof window.onload != 'function') { 
    window.onload = func; 
  } else { 
    window.onload = function() { 
      if (oldonload) { 
        oldonload(); 
      } 
      func(); 
    } 
  } 
} 

function SetRed(ID)
{
	eID("Submit"+ID).style.color="red";
}

function writeDiv(style)
{
	document.write("<div style=\""+style+"\"></div>");
}

function getFlash(file,width,height,flashvars)
{
    var params ="<param name=\"movie\" value=\""+file+"\" />" +
                "<param name=\"quality\" value=\"high\" />" +
                "<param name=\"wmode\" value=\"transparent\" />" +
                "<param name=\"flashvars\" value=\""+flashvars+"\" />"
/*
    var str="<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\""+width+"\" height=\""+height+"\">" +
            params +
            "</object>" +
            "<!--[if !IE]>-->" +
            "<object type=\"application/x-shockwave-flash\" data=\""+file+"\" width=\""+width+"\" height=\""+height+"\">" +
            params +
            "</object>" +
            "<!--<![endif]-->"
*/
    var str="<object type=\"application/x-shockwave-flash\" data=\""+file+"\" width=\""+width+"\" height=\""+height+"\">" +
            params +
            "</object>"
            
    document.write(str);
}

function getYoutubeEmbed(url,width,height)
{
    return("<object width=\""+width+"\" height=\""+height+"\"><param name=\"movie\" value=\""+url+"\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\""+url+"\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" wmode=\"transparent\" width=\""+width+"\" height=\""+height+"\"></embed></object>");
}

function pageScroll(TargetPosition,EachJump) 
{
    var CurrentPosition = f_scrollTop();
    if(CurrentPosition>TargetPosition)
        EachJump = 0-EachJump;
    //alert(CurrentPosition);
    while(CurrentPosition!=TargetPosition)
    {
        // בודק האם מה שנשאר קטן מקפיצה אחת
        if(Math.abs(TargetPosition-CurrentPosition) < Math.abs(EachJump))
            EachJump = TargetPosition - CurrentPosition;
	    
	    //setTimeout("window.scrollBy(0,"+EachJump+");",MillisBetweenJumps);
	    window.scrollBy(0,EachJump);
	    CurrentPosition+=EachJump;
	}
}

function PauseScript(millisecondes) 
{
    var date = new Date();
    var curDate = null;

    do 
        curDate = new Date();
    while(curDate-date < millisecondes);
} 

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function sortNumber(a,b)
{
    return a - b;
}

function gotoURL(URL)
{
    document.location.href = URL;
}

function OpenWindow(FormName,WindowName)
{
	var w=window.open('',WindowName,'toolbars=no,addressbar=no,scrollbars=1,width=410,height=300,left=200,top=200');
	if(w)
	{
		document.forms[FormName].target=WindowName;
		document.forms[FormName].submit();
		w.focus();
	}
	else
	{
		alert("כנראה שמופעל אצלך חוסם pop-up...");
	}
}

function SetElementsNameDisplay(ElementsName,Display)
{
	var v = document.getElementsByName(ElementsName);
	for(i=0;i<v.length;i++)
		v[i].style.display = Display;
}

function SetElemntInputsAndSelectsDisabled(Element,Disabled)
{
	if((Element.nodeName=="INPUT")||(Element.nodeName=="SELECT"))
		Element.disabled = Disabled;

	var x = Element.childNodes;
	
	for (var i=0;i<x.length;i++)
		SetElemntInputsAndSelectsDisabled(x[i],Disabled);
}

function PrintChilds(Element)
{
	var x = Element.childNodes;
	for (var i=0;i<x.length;i++)
		alert(x[i]);
}

function RemoveChilds(Element)
{
	var x = Element.childNodes;
	for (var i=0;i<x.length;i++)
	{
	    RemoveChilds(x[i]);
   		Element.removeChild(x[i]);
	}
}

function SwapElementsById(Element1ID,Element2ID)
{
    var Element1 = document.getElementById(Element1ID);
    var Element2 = document.getElementById(Element2ID);
	
	var x = Element1;
	
	Element2 = Element1;
	Element1 = x;
}

function SwapElementsInnerHTML(Element1ID,Element2ID)
{
    var Element1 = document.getElementById(Element1ID);
    var Element2 = document.getElementById(Element2ID);
	
	var tmp = Element1.innerHTML;
	//alert(tmp);
	
	//RemoveChilds(Element1);
	
	//alert(Element1.innerHTML);
	Element1.innerHTML = Element2.innerHTML;
	Element2.innerHTML = tmp;
}

function ShowOrHideElement(ElementID)
{
	if(document.getElementById(ElementID).style.display == "none")
		document.getElementById(ElementID).style.display = "";
	else
		document.getElementById(ElementID).style.display = "none";
}

function ShowAndHideElements(Element1ID,Element2ID)
{
	if(document.getElementById(Element1ID).style.display == "none")
	{
		document.getElementById(Element1ID).style.display = "";
		document.getElementById(Element2ID).style.display = "none";
    }
	else
	{
		document.getElementById(Element1ID).style.display = "none";
		document.getElementById(Element2ID).style.display = "";
    }
}

function HideAndShowElements(Element1ID,Element2ID)
{
	document.getElementById(Element1ID).style.display = "none";
	document.getElementById(Element2ID).style.display = "";
}

function ShowElement(ElementID)
{
    if(typeof document.getElementById(ElementID) != "undefined")
	    document.getElementById(ElementID).style.display='';
}

function HideElement(ElementID)
{
    if(!(!document.getElementById(ElementID)))
	    document.getElementById(ElementID).style.display='none';
}

function OpenPopUp(url,wName,width,height)
{
	var w=window.open(url,wName,"toolbars=no,addressbar=no,scrollbars=0,width="+width+",height="+height+",left=200,top=200");
	if(w)
	{
		w.focus();
		return true;
	}
	else
	{
		alert("כנראה שמופעל אצלך חוסם pop-up...");
		return false;
	}
}

function PopUp(url,wName,width,height)
{
	var w=window.open(url,wName,"toolbars=no,addressbar=no,scrollbars=1,width="+width+",height="+height+",left=200,top=200");
	if(w)
	{
		w.focus();
		return w;
	}
	else
	{
		alert("כנראה שמופעל אצלך חוסם pop-up...");
		return false;
	}
}

function editWindow(url,wname)
{
    if(!wname)
        wname = "_blank";
    return PopUp(url, wname, "600", "350");
}

function updatePage(url)
{
    GetDataWithAjax('',url,'window.location.reload();');
}

function GetSideBanner()
{
	windowWidth = document.body.clientWidth;
	var DivWidth = (windowWidth - 780) / 2;
	if  ( DivWidth < 110 ) 
	{
		document.getElementById('LeftBanner').style.display = 'none';
		document.getElementById('RightBanner').style.display = 'none';
	}
	else
	{
		document.getElementById('LeftBanner').style.display = '';
		document.getElementById('RightBanner').style.display = '';
		document.getElementById('LeftBanner').style.left = (DivWidth - 110) / 2;
		document.getElementById('RightBanner').style.right = (DivWidth - 110) / 2; //windowWidth - DivWidth + (DivWidth / 2)
	}

	document.getElementById('LeftBanner').style.top = document.body.scrollTop;
	document.getElementById('RightBanner').style.top = document.body.scrollTop;
}

String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/gm,"");
}
String.prototype.left = function(num)
{
	return this.substring(0,num);
}

String.prototype.right = function(num)
{
	return this.substring(this.length-num,this.length);
}

function str_(txt)
{
    if(typeof(txt)!="string")
        return("");
    else
        return(txt);
}

function U_(txt)
{
    txt = txt.replace(/[^א-ת\s\w\-\_\|\/]/g,"");
    txt = txt.replace(/\|/g,"-");
    return txt.replace(/\s/g,"_");
}

function cleanHTMLTags(txt)
{
    /////<([A-Z][A-Z0-9]*)\b[^>]*>.*?</\1>
    txt = txt.replace(/&nbsp;/g," "); // מחליף רווחים לרווחים
    txt = txt.replace(/(<style\b[^>]*>(.|\n)*?<\/style>)|(<!\--(.|\n)*?-->)/gmi,""); // מסיר הערות ותגי style - (multiline)
    txt = txt.replace(/<\/?(i|span|a)\b[^>]*>/g,""); // מנקה את התגים שבסוגריים
    return txt.replace(/(<[^>]*>)|(&.+?;)/g," "); // מחליף את כל שאר התגים ברווחים
}

function cleanTxt(txt) 
{
    return txt.replace(/[^א-ת\w\s]/g, ""); // מנקה הכל חוץ מאותיות ומספרים ורווחים 
}

function cleanNewLinesFromEditor()
{
    var txt = tinyMCE.activeEditor.getContent();
    txt = txt.replace(/(<p[^>]*>)/gi,"");
    txt = txt.replace(/(<\/p>)|(<br \/>)/gi," ");
    tinyMCE.activeEditor.execCommand("mceSetContent", false,txt);////////////
}

function cleanSpans(txt)
{
    /////////////////////<([A-Z][A-Z0-9]*)\b[^>]*>.*?</\1>
    txt = txt.replace(/&nbsp;/gi," ");
    return txt.replace(/(<span\b[^>]*>)|(<\/span>)/gi,"");
}

function wordsCount(txt)
{
    var arr = txt.match(/[א-ת\w](?!([א-ת\w])|(([^<]+)?>))/gm);
    
    return ((!arr)?0:arr.length);
}

function charsCount(txt)
{
    var x=txt.length;
    
    return (x?x-2:0);
}

function replaceRegx(txt,Pattern,replaceWithTxt)
{
    var RegObj = new RegExp;
    
    RegObj.Pattern = Pattern;
    RegObj.IgnoreCase = true
    RegObj.Global = true;
    RegObj.Multiline = true;
    
    return(txt.replace(RegObj, replaceWithTxt));
}

function replaceAll(oldStr,findStr,repStr) 
{
  var srchNdx = 0;  // srchNdx will keep track of where in the whole line
                    // of oldStr are we searching.
  var newStr = "";  // newStr will hold the altered version of oldStr.
  while (oldStr.indexOf(findStr,srchNdx) != -1)  
                    // As long as there are strings to replace, this loop
                    // will run. 
  {
    newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
                    // Put it all the unaltered text from one findStr to
                    // the next findStr into newStr.
    newStr += repStr;
                    // Instead of putting the old string, put in the
                    // new string instead. 
    srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
                    // Now jump to the next chunk of text till the next findStr.           
  }
  newStr += oldStr.substring(srchNdx,oldStr.length);
                    // Put whatever's left into newStr.             
  return newStr;
}

function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) 
    {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}

function isNumeric(sText)
{
	return isInteger(sText) || isDouble(sText);
}

function isDouble(sText)
{
	var NumRX = /^[+-]?[0-9]+\.[0-9]+$/;
	return NumRX.test(sText);
}

function isInteger(sText)
{
	var NumRX = /^[+-]?[0-9]+$/;
	return NumRX.test(sText);
}
function CheckZehut(m_id_num) //m_id_num must contain digits only
{
	var m_id_tmp;
	var a1, a2, a3, a4, a5, a6, a7, a8;
	var b2, b4, b6, b8;
	var m_sfx_num;
	var strMsg;
	var Response;
	    
	m_id_tmp = Left(Right(Zeros(9) + m_id_num, 9), 8)
	a1 = parseInt(Left(m_id_tmp, 1))
	a2 = parseInt(Left(Right(m_id_tmp, 7), 1)) * 2
	a3 = parseInt(Left(Right(m_id_tmp, 6), 1))
	a4 = parseInt(Left(Right(m_id_tmp, 5), 1)) * 2
	a5 = parseInt(Left(Right(m_id_tmp, 4), 1))
	a6 = parseInt(Left(Right(m_id_tmp, 3), 1)) * 2
	a7 = parseInt(Left(Right(m_id_tmp, 2), 1))
	a8 = parseInt(Right(m_id_tmp, 1)) * 2
	    
	b2 = (a2 % 10) + parseInt(a2 / 10)
	b4 = (a4 % 10) + parseInt(a4 / 10)
	b6 = (a6 % 10) + parseInt(a6 / 10)
	b8 = (a8 % 10) + parseInt(a8 / 10)
	    
	if (((a1 + b2 + a3 + b4 + a5 + b6 + a7 + b8) % 10) >= 1 && ((a1 + b2 + a3 + b4 + a5 + b6 + a7 + b8) % 10) <= 9)
		m_sfx_num = parseInt(10 - ((a1 + b2 + a3 + b4 + a5 + b6 + a7 + b8) % 10));
	else
		m_sfx_num = 0;
	    
	return (parseInt(Right((m_id_num), 1)) == m_sfx_num)
}
function CheckMail(mail)
{
	var RegExp = /^[A-Za-z\_\-0-9]+(\.[A-Za-z\_\-0-9]+)*@[A-Za-z\_\-0-9]+(\.[A-Za-z\_\-0-9]+)?(\.[A-Za-z]{2,3}){1,2}$/;
	return RegExp.test(mail);
}
function isPhone(sText)
{
	var RX = /^(0[2|3|4|8|9]|077)(\-)?[0-9]{7}$/;
	return (RX.test(sText));
}
function isCellular(sText)
{
	var RX = /^05[0|2|4|7](\-)?[0-9]{7}$/;
	return RX.test(sText);
}
function isPhoneNumber(sText) {
    var RX = /^(05[0|2|4|7]|0[2|3|4|8|9]|07[7|4|2])(\-)?[0-9]{7}$/;
    return RX.test(sText);
}

function Left(str,num)
{
	return str.substring(0,num);
}
function Right(str,num){
	return str.substring(str.length-num,str.length);
}
function Zeros(num)
{
	var str="";
	var i;
	for (i=1; i<=num; i++)
		str+="0";
	return str;
}

function PutSelectValue(selectObj,value,by)
{
    var i,val;
	for(i=0;i<selectObj.length;i++)
	{
	    eval("val=selectObj[i]."+by);
		if(val == value)
			selectObj[i].selected = true;
	}
}

function SelectValue(obj)
{
	return obj[obj.selectedIndex].value;
}

function selectByInnerHTML(selectObj,value)
{
  var i;
	for(i=0;i<selectObj.length;i++)
		if(selectObj[i].innerHTML == value)
			selectObj[i].selected = true;
}

function selectByValue(selectObj,value)
{
  var i;
	for(i=0;i<selectObj.length;i++)
	{
	  if(selectObj[i].value == value)
			selectObj[i].selected = true;
  }
}

function getSelectInnerHTMLByValue(selectObj,value)
{
    var i;
	for(i=0;i<selectObj.length;i++)
	{
	  if(selectObj[i].value == value)
		return(selectObj[i].innerHTML);
    }
    return("");
}

function isDate(day,month,year)
{	
	if (!isNumeric(day) || !isNumeric(month) || !isNumeric(year)) return false;
	if (day.length !=2 || month.length!=2 || year.length!=4) return false;
	var Meuberet = ((year % 4)==0 && (year % 100)!=0) || ((year % 400)==0);
	if (month == 2 && day >28 && !Meuberet){
		return false;
	}
	if (month<1 || month>12)
		return false;
	if (month == 1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
	{
		if (day<1 || day>31)
		{
			return false;
		}
	}else{
		if (day<1 || day>30)
		{
			return false;
		}
	}
	return true;
}

function DigitsOnly(d)
{
    return((d>=48&&d<=57)||(d>=96&&d<=105)||d==8||d==9||d==16||d==46||(d>=35&&d<=39)||d==13);
}

function phoneCheck(val)
{
    return true;
    //var letter = val.substring(0,1);
    //return(letter!='0'&&letter!='1');
}

function Get2DigitsNumber(number)
{
	return(Math.round(number*100)/100);
}

function GetInteger(number,Digits)
{
    var str="";
    for(var i=0;i<(Digits-(number.toString().length));i++)
       str+="0";
	str+=number;
	return(str);
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function ReplaceHttpsLinks()
{
	var links;
	links = document.getElementsByTagName("a");
	for (var i=0; i<links.length; i++)
		links[i].href=links[i].href.replace("https:/"+"/","http:/"+"/");
	links = document.getElementsByTagName("area");
	for (var i=0; i<links.length; i++)
		links[i].href=links[i].href.replace("https:/"+"/","http:/"+"/");
}

function GetDataWithAjax(ElementID,url,evalString,postParams)
{
	var ajax_loader = eID(ElementID+"_ajax-loader");
	if(ajax_loader&&ElementID.length>0)
	{
		eID(ElementID).innerHTML = "";
		ShowElement(ElementID+"_ajax-loader");
	}
	
    var responseTxt;
	var xmlHttp=GetXmlHttpObject();
	if(xmlHttp==null)
	{
	  alert ("הדפדפן שבו אתה משתמש ישן מדי. אנא התקן גרסה חדשה יותר...");
	  return;
	}
	
	if(postParams)
	    method="POST";
	else
	{
	    method="GET";
	    postParams=null;
	}
	
	xmlHttp.open(method,url,true);
	if(postParams)
	{
	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", postParams.length);
        xmlHttp.setRequestHeader("Connection", "close");
	}
	xmlHttp.onreadystatechange=function()
	{
	    if (xmlHttp.readyState==4)
		{
		    if(xmlHttp.status==200)
		    {
			    responseTxt = xmlHttp.responseText;
		        if(responseTxt.substr(0,12)=="<"+"!--login-->")
		        {
		            document.location.reload();
		            return(false);
		        }
		        if(ElementID.length>0) eID(ElementID).innerHTML = responseTxt;
			    if(evalString.length>0) eval(evalString);
			}
			else if (typeof evalStr_onServerError!="undefined")
                eval(evalStr_onServerError);
			if(ajax_loader) HideElement(ElementID+"_ajax-loader");
		}
	}
	xmlHttp.send(postParams);
}

function GetXMLWithAjax(url,evalString)
{
    var responseTxt;
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
	  alert ("הדפדפן שבו אתה משתמש ישן מדי. אנא התקן גרסה חדשה יותר...");
	  return;
	} 
	xmlHttp.open("GET",url,true);
	xmlHttp.onreadystatechange=function()
	{ 
		if (xmlHttp.readyState==4)
		{
		    if(xmlHttp.status==200)
		    {
			    var xml = xmlHttp.responseXML;
			    if(evalString.length>0) eval(evalString);
			}
			else if (typeof evalStr_onServerError!="undefined")
                eval(evalStr_onServerError);
		}
	}		
	xmlHttp.send(null);
} 

function GetXML(url)
{
    var responseTxt;
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
	  alert ("הדפדפן שבו אתה משתמש ישן מדי. אנא התקן גרסה חדשה יותר...");
	  return;
	} 
	xmlHttp.open("GET",url,false);
	xmlHttp.send(null);
	return(xmlHttp.responseXML);
}

function findPosition(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 {x:curleft,y:curtop};
}

function getElementsByClass(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("class");
          if((!(!att))&&att.indexOf(name)>=0) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
 }

 function getElementsTxt(doc,tag)
 {
     var elem = doc.document.getElementsByTagName(tag), str = "";
     for (i = 0; i < elem.length; i++)
         str += ("<><><>"+elem[i].innerHTML);
     
     if (str != "")
         str = str.substring(6);
     return str;
 }

function setCheckboxYellowByName(name) {
     var elem = document.getElementsByTagName("INPUT"),str="";
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("name");
          if((!(!att))&&att==name)
          {
            elem[i].parentNode.className=(elem[i].checked?'userCheckbox on':'userCheckbox');   
            if(elem[i].checked) str+=(","+elem[i].value);
          }
     }
     if (str != "")
         str = str.substring(1);
     return str;
}

function isCheckboxCheckedByName(name) 
{
     var elem = document.getElementsByTagName("INPUT");
     var str = "";
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("name");
          if((!(!att))&&att==name)
          {
            if(elem[i].checked)
                return true;
          }
     }
     return false;
}

function getCheckboxValuesByName(name,checked) {
     var elem = document.getElementsByTagName("INPUT");
     var str = "";
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("name");
          if((!(!att))&&att==name)
          {
            if(checked==null)
             str += (","+elem[i].value);
            else if(elem[i].checked==checked)
                str += (","+elem[i].value);
          }
     }
     if(str!="")
        str = str.substring(1);
     return str;
}

function setCheckboxesCheckedByName(name,checked) 
{
     var elem = document.getElementsByTagName("INPUT");
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("name");
          if((!(!att))&&att==name)
             elem[i].checked = checked;
     }
}

function AppendClassToClasses(tag, ToClassName, className) {
     var att;
     var elem = document.getElementsByTagName(tag); 
     
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("class");
          if((!(!att))&&att.indexOf(ToClassName)>=0&&att.indexOf(className)<0)
            elem[i].setAttribute("class",att + " " + className);
     }
}

function RemoveClassFromClasses(tag, FromClassName, className) 
{
     var att;
     var elem = document.getElementsByTagName(tag); 
     
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("class");
          if((!(!att))&&att.indexOf(FromClassName)>=0)
            elem[i].setAttribute("class",att.replace(" " + className,""));
     }
}

function RemoveClassFromElementById(id, className) 
{
    att = eID(id).getAttribute("class");
    if(!(!att))
        eID(id).setAttribute("class",att.replace(" " + className,""));
}

function changeClassInnerHTML(doc, tag, className,val) {
     
     var elem = doc.document.getElementsByTagName(tag);
     for(i = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("class");
          if((!(!att))&&att.indexOf(className)>=0)
               elem[i].innerHTML = val;
     }
}

function setAttributeByClass(tag,className,attName,attValue) {
     
     var elem = document.getElementsByTagName(tag);
     for(i = 0; i < elem.length; i++) 
     {
          att = elem[i].getAttribute("class");
          if((!(!att))&&att.indexOf(className)>=0)
               elem[i].setAttribute(attName,attValue);
     }
}

function getClassAttributeList(doc, tag, className,attName)
{
    var str="",elem = doc.document.getElementsByTagName(tag);
    for(i = 0; i < elem.length; i++) 
    {
      att = elem[i].getAttribute("class");
      if((!(!att))&&att.indexOf(className)>=0)
          str += (","+elem[i].getAttribute(attName));
    }
    if(str!="")
        str = str.substring(1);
    return(str);
}

function selectOption(optionEl,valuePosition,hide)
{
    var optionsEl = optionEl.parentNode;
    var name = optionsEl.id,value;
    
    if(valuePosition>=0)
        value = optionEl.id.substring(valuePosition);
            
    if(typeof(eID(name+"_value"))!="undefined"&&eID(name+"_value"))
        eID(name+"_value").value=value; 
    
    eval("var selectedEl = "+name+"_selectedEl;");
    
    if(selectedEl)
        eval(name+"_selectedEl.className='';");
    eval(name+"_selectedEl=optionEl;");
    
    eID(name+"_txt").value=optionEl.innerHTML;
    optionEl.className="selected";
    
    if(hide)
    {
        optionsEl.style.display="none";
        eID(name+"_txt").focus();
        eval("var t=typeof("+name+"_onSelect_evalStr);")
    
        if(t!="undefined")
        {
            eval("var evalStr = "+name+"_onSelect_evalStr;");
            evalStr = evalStr.replace("[selected_value]",value);
            eval(evalStr);
        }
    }
    
    
}

function navOption(name,keyPressed,valuePosition)
{
    if(keyPressed!=38&&keyPressed!=40)
    {
        if(keyPressed==13)
        {
            if(eID(name).innerHTML!="")
                ShowOrHideElement(name);
            return(true);
        }
        else if(keyPressed==27)
        {
            HideElement(name);
            return(false);
        }
        return;
    }   
    
    var optionsEl = eID(name);
    eval("var optionEl = "+name+"_selectedEl;");
    
    if(optionsEl.innerHTML!="")
    {
        ShowElement(name);

        if(keyPressed==38)
        {
            if(optionEl&&optionEl!=optionsEl.firstChild.nextSibling)
                selectOption(optionEl.previousSibling.previousSibling,valuePosition,false);
            else
                selectOption(optionsEl.lastChild.previousSibling,valuePosition,false);
        }
        else if(keyPressed==40)
        {
            if(optionEl&&optionEl!=optionsEl.lastChild.previousSibling)
                selectOption(optionEl.nextSibling.nextSibling,valuePosition,false);
            else
                selectOption(optionsEl.firstChild.nextSibling,valuePosition,false);
        }
    }
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function getFlashVersion()
{
  // ie
  try {
    try {
      // avoid fp6 minor version lookup issues
      // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
      var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
      try { axo.AllowScriptAccess = 'always'; }
      catch(e) { return '6,0,0'; }
    } catch(e) {}
    return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
  // other browsers
  } catch(e) {
    try {
      if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
        return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
      }
    } catch(e) {}
  }
  return '0,0,0';
}

function getMetaContents(mn){
  var m = document.getElementsByTagName('meta');
  for(var i in m){
   if(m[i].name == mn){
     return m[i].content;
   }
  }
}

function CreateBookmarkLink() {

 title = "Webpage Title"; 
  
 url = "Webpage URL";
  
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
 }
 
 function insertAtCursor(myField, myValue) {
//IE support
    if (document.selection) 
    {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') 
    {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
    } 
    else 
    {
        myField.value += myValue;
    }
    
    myField.selectionEnd = endPos + myValue.length;
    myField.focus();
}

