 /* ----------------------------------------------------------------------------------------
File Name: General_Functions.js

	This file handles general functions.
 ----------------------------------------------------------------------------------------*/
function getE(elem){
    if (typeof(elem) == 'string')
        return document.getElementById(elem);
    return elem;
}
function getT(tag){
    return document.getElementsByTagName(tag);
}
function getC(className){
    return document.getElementsByClassName(className);
}
var _gGroup = 0;
var first_time2 = true;
var last_item	= "";
//var printObj;
function openLink(url){
	popUpWin = open(url, 'popUpWin');
	popUpWin.focus();
}
function popUpWindow(URLStr, left, top, width, height){
	var popUpWin=0;
	if(popUpWin){
		if(!popUpWin.closed) popUpWin.close();
	}
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
	popUpWin.focus();
}

function limit(El){
	if(El.value.length >= 40)
		El.value = El.value.substring(0,40);
}

//--------------------------------------------------------------------------------

function GroupIt(El){
	if (El.state !== "down"){
		if(first_time2){
			last_item = El.id;
			first_time2 = false;
		}
		else{
			if(getE(last_item)){
				getE(last_item).state = "";
				getE(last_item).style.cursor = "hand";
				getE(last_item).src =  "images/" + last_item + "_normal.gif";
			}
			last_item = El.id;
		}
				
		El.style.cursor = "normal";
		El.src = "images/" + El.id + "_over" + ".gif";
		El.state = "down";
	}
} 
function OverIt(El){
	if (El.state !== "down"){
		El.src = "images/" + El.id + "_over" + ".gif";
		El.state = "over";
	}	
}
function OutIt(El){
	if (El.state == "over"){
		El.state = "";
		El.src = "images/" + El.id + "_normal" + ".gif";
	}	
	else if (El.state !== "over" && El.state !== "down")
			El.src = "images/" + El.id+ "_normal" + ".gif";
}

function PrintData(type){
	/*switch(type){
		case 1:
			printObj = getE("content");
			break;
	}*/
	printWin = open("includes/printWin.html", 'printWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=0,height=0,left=2000, top=2000');
}

//------------ CONTACT FUNCS ---------------------------//
function resetForm(frm){//gets frm form object and clears all data in texts areas and inputs
	var allFormEl = new Array();
	allFormEl = frm.getElementsByTagName("INPUT");
	//alert(allFormEl.length)
	
	for(var i=0; i<allFormEl.length; i++)
		if(allFormEl[i].type == "text")
			allFormEl[i].value = "";
	
	allFormEl = frm.getElementsByTagName("INPUT");
	//alert(allFormEl.length)
	
	frm.Comments.value = "";
}

// --------- LEFT MENU SELECTED -------------
/*This function compares current url with the a href attribute in each link in the main menu
and heighlights the selected link*/
function selectedMenuItem(module){	
	if(module == "home" || module == "contact"){
	    var td = getE("menu_item_" + module);
	    linkName = td.getElementsByTagName("A");
	    td.innerHTML = "<img src='images/menu_element.gif'><span class='sideMenu_selected'>" + linkName[0].innerHTML + "</span>";
	}
	else{ //dynamic-pages module	
	    var tblMainMenu = getE("tblMainMenu");
	    var aTDs = new Array();
	    aTDs = tblMainMenu.getElementsByTagName("TD");
    	
	    for(var i=0; i<aTDs.length; i++){        
	        aHrefs = aTDs[i].getElementsByTagName("A");
	        linkName = aHrefs[0].innerHTML;
	        href = aHrefs[0].href;
	        //alert(aHrefs[0])
	        url = window.location;
	        //alert(linkName+"\n"+url)
	        if(href == url){
	            aTDs[i].innerHTML = "<img src='images/menu_element.gif'><span class='sideMenu_selected'>" + linkName + "</span>";
	        }
	        else{
                //alert(href+"\n"+url)
                bcDiv = getE("divBreadCrumbs");
                var aBCs = new Array();
                aBCs = bcDiv.getElementsByTagName("A")
                //alert(aBCs[1].href+" "+href);
                if(aBCs.length > 1 && href == aBCs[1].href){
                    aTDs[i].innerHTML = "<img src='images/menu_element.gif'><span class='sideMenu_selected'>" + linkName + "</span>";
                }
            }
	    }
	}
}

///////////////////////Validate Email////////////////////////////
function multiEmail(email_field){
    var email = email_field.split(';');
    for (var i = 0; i < email.length; i++){
        if (!validateEmail(email[i], 1, 1)){
           return false;
        }
    }
    return true;
} 

function validateEmail(addr,man,db) {
    if (addr == '' && man) {
       if (db) alert('<%=Localization.Instance.GetLableText("EmailCanNotBeBlank")%>');//alert('email address is mandatory');
       return false;
    }
    if (addr == '') return true;
    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
    for (i=0; i<invalidChars.length; i++) {
       if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
          if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>'); //alert('<%=Localization.Instance.GetLableText("EmailContainInvalidCharacters")%>');
          return false;
       }
    }
    for (i=0; i<addr.length; i++) {
       if (addr.charCodeAt(i)>127) {
          if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailContainNonAsciiCharacters")%>');
          return false;
       }
    }

    var atPos = addr.indexOf('@',0);
    if (atPos == -1) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailMustContainAnAt")%>');
       return false;
    }
    if (atPos == 0) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailMustNotStartWithAt")%>');
       return false;
    }
    if (addr.indexOf('@', atPos + 1) > - 1) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailMustContainOnlyOneAt")%>');
       return false;
    }
    if (addr.indexOf('.', atPos) == -1) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailMustContainADotInDomain")%>');
       return false;
    }
    if (addr.indexOf('@.',0) != -1) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailDotMustNotFollowAt")%>');
       return false;
    }
    if (addr.indexOf('.@',0) != -1){
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailDotMustNotPrecedeAt")%>');
       return false;
    }
    if (addr.indexOf('..',0) != -1) {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailTwoDotCannotBeAdjacent")%>');
       return false;
    }
    var suffix = addr.substring(addr.lastIndexOf('.')+1);
    if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
       if (db) alert('<%=Localization.Instance.GetLableText("InvalidEmail")%>');//alert('<%=Localization.Instance.GetLableText("EmailInvalidPrimaryDomain")%>');
       return false;
    }
    return true;
}
///////////////////////////////////////////////

////////////////////////////////////////////////////
function CreateBookmarkLink(sTitle, sDomainName) { 
      var title = sTitle; 
      var url= sDomainName;
      
      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 callPrint(oDivID, sDomainName){
//   var oContent = getE(oDivID);
//   var WinPrint = window.open('','','left=3,top=3,width=800,height=500,toolbar=0,scrollbars=0,status=0');
//   WinPrint.document.write(oContent.innerHTML);
//   WinPrint.document.close();
//   WinPrint.focus();
//   WinPrint.print();
//   WinPrint.close();   
//}  

function callPrint(oDivToPrint, bHTML, oFrameDiv){
   bHTML = typeof(bHTML) != 'undefined'?  bHTML == true?bHTML:false : false;
   oFrameDiv = typeof(oFrameDiv) != 'undefined'?  oFrameDiv!=''?getE(oFrameDiv):'' : '';
    
   var oContent = getE(oDivToPrint);      
   var oDivHeight = oContent.offsetHeight;   
   var WinPrint = window.open('','','left=3,top=3,width=1000,height='+ oDivHeight +',toolbar=0,scrollbars=0,status=0');   
   var sHTML = '';
   
    if(bHTML){
        sHTML = '<html>';
        sHTML += '<head>';
        oCSSLinkTags = getT("link");
        if(oCSSLinkTags.length > 0){
            var oLinkTagsHTML = document.createElement('div');
            for(var i=0; i<oCSSLinkTags.length; i++){
                if(oCSSLinkTags[i].getAttribute("type") == 'text/css'){
                    oLinkTagsHTML.appendChild(oCSSLinkTags[i].cloneNode(true));
                }
            }
            sHTML += oLinkTagsHTML.innerHTML;
        }
        sHTML += '</head>';
        sHTML += '<body>';  
        sHTML += '<div>';   
        sHTML += '#CONTENT#';
        sHTML += '</div>'
        sHTML += '</body>';
        sHTML += '</html>';

        if(oFrameDiv != ''){
            sFrameHTML = oFrameDiv.innerHTML;
            //sFrameHTML = oFrameDiv.innerHTML.replace('</','#CONTENT#</');// it will replace the first occurance of any closing tag with the content and closing tag
            sHTML = sHTML.replace('#CONTENT#',sFrameHTML);
        }

        sHTML = sHTML.replace('#CONTENT#',oContent.innerHTML)
   }
   else{
        sHTML = oContent.innerHTML;
   }
   
   WinPrint.document.write(sHTML);
   WinPrint.document.close();
   WinPrint.focus();
   WinPrint.print();
   WinPrint.close();
}

function getCSSLinkTags(){
    var sCSSLinkTags = "";
    for(var i= 0; i<arguments.length;i++){
        sCSSLinkTags += '<link href="' + arguments[i] + '" rel="stylesheet" type="text/css" />';
    }
    return sCSSLinkTags;
}

String.prototype.replaceAll = function(
     strTarget, // The substring you want to replace
     strSubString // The string you want to replace in.
     ){
     var strText = this;
     var intIndexOfMatch = strText.indexOf( strTarget );
      
    // Keep looping while an instance of the target string
     // still exists in the string.
     while (intIndexOfMatch != -1){
     // Relace out the current instance.
     strText = strText.replace( strTarget, strSubString )
      
     // Get the index of any next matching substring.
     intIndexOfMatch = strText.indexOf( strTarget );
     }
      
     // Return the updated string with ALL the target strings
     // replaced out with the new substring.
     return( strText );
 }

//////////////////////////////
function findPos(obj){
    var curleft = curtop = 0;
    if (obj.offsetParent){ 
        curleft = obj.offsetLeft
        curtop = obj.offsetTop

        while (obj = obj.offsetParent){ 
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    //alert(curleft + " " + curtop);
    return [curleft,curtop]; 
}

function findTopPos(obj){
    var curtop = 0;
    if (obj.offsetParent){ 
        curtop = obj.offsetTop
        while (obj = obj.offsetParent){ 
            curtop += obj.offsetTop
        }
    }
    //alert(curtop);
    return [curtop]; 
}
//////////////////////

/* ReverseText - Ravi - 02.09.09 - start */
function getReverseText(oText){ //this function reverses the String oText		
    if(oText.length != ""){
        reversetext = ""; 
	    for (i = oText.length-1; i >= 0; i -= 1) //for each character in the text, starting at the end
		    reversetext += oText.charAt(i); //place at the end of the reverse text
	    return reversetext; 
	}
	return "";
}
/* ReverseText - Ravi - 02.09.09 - end */

/*Get Query String - Ravi - 06.10.09 - start */
function getQueryVariable(variable){  // this function gets the value of query string variable 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++){ 
        var pair = vars[i].split("="); 
        if (pair[0] == variable){     
            return pair[1];     
        } 
    } 
} 
/*Get Query String - Ravi - 06.10.09 - end */

/*Get Query String - Ravi - 02.11.10 - start */
function getHRefVariable(variable,seperator) { 
    var href = window.location.href; 
    seperator = typeof(seperator) != 'undefined' ? seperator : '&';
    var vars = href.split(seperator); 
    for (var i=1;i<vars.length;i++){ 
        var pair = vars[i].split("="); 
        if (pair[0] == variable){     
            return pair[1];     
        } 
    } 
}
/*Get Query String - Ravi - 02.11.10 - end */

/*Restrict Input Characters - Ravi - 14.10.09 - start */
// create as many regular expressions here as you need:
var digitsOnly = /[1234567890]/g;
var integerOnly = /[0-9\.]/g;
var alphaOnly = /[A-Z ]/g;
var alphaNumericOnly = /[a-zA-Z0-9_ -]/;
////ASCII of 0 to 9 : 48 to 57; A to Z: 65 to 90;a to z: 97 to 122;BackSpace:8;Delete:46;Space:32;Arrow Left:37; Arrow Right:39; // hebrew ascii codes ==>1488 to 1524// space : 32 //string.fromCharCode(97)//        
////use:::onkeypress="javascript:return restrictCharacters(this,event,integerOnly)"
function restrictCharacters(myfield, e, restrictionType) {
	if (!e) var e = window.event
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	var character = String.fromCharCode(code);

	// if they pressed esc... remove focus from field...
	if (code==27) { this.blur(); return false; }

	// ignore if they are press other keys
	// strange because code: 39 is the down key AND ' key...
	// and DEL also equals .
	//alert(code);
	//alert(String.fromCharCode(8) + ':' + String.fromCharCode(9) + ':' + String.fromCharCode(39));
	if (!e.ctrlKey && code!=9 && code!=8 && (code!=39 || (code==39 && character=="'"))) {
		if (character.match(restrictionType)) {
			return true;
		} else {
			return false;
		}
	}
}
function restrictCharacters_DisallowOnly(myfield, e, restrictionType) {
	if (!e) var e = window.event
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	var character = String.fromCharCode(code);

	// if they pressed esc... remove focus from field...
	if (code==27) { this.blur(); return false; }

	// ignore if they are press other keys
	// strange because code: 39 is the down key AND ' key...
	// and DEL also equals .
	//alert(code);
	//alert(String.fromCharCode(8) + ':' + String.fromCharCode(9) + ':' + String.fromCharCode(39));
	if (!e.ctrlKey && code!=9 && code!=8 && (code!=39 || (code==39 && character=="'"))) {
		//if (character.match(restrictionType)) {
		if(restrictionType == 'specialCharactersOnlyForURLKey')
		{
		    var KeyID = code;//(e.keyCode) ? event.keyCode : e.which;
		    if(    (KeyID >= 0 && KeyID <= 31) || (KeyID >= 33 && KeyID <= 34) || (KeyID >= 37 && KeyID <= 38) ||(KeyID >= 40 && KeyID <= 44) || (KeyID >= 47 && KeyID <= 47)
		        || (KeyID >= 58 && KeyID <= 64)
		        || (KeyID >= 91 && KeyID <= 94) || (KeyID == 96)
		        || (KeyID >= 123 && KeyID <= 191)
		      ) {//range of special characters except 45: - hyphen/minus and 95: _ underscore, 32: space converted to - in code, 37 to 40 - ArrowKeys, 46-Delete
		      //35,36 end,start 37,38 %,&
		        return false;
		    } 
		    else {
			    return true;
		    }
		}
	}
}
/*Restrict Input Characters - Ravi - 14.10.09 - end */

/*Validate TextBox Characters - Ravi - 02.04.10 - start */
function validateCharacters(oText, restrictionType) {
    if(oText.length != "")
    {       
        var character = ''; 
	    for (var i = 0; i <=oText.length-1; i++) //for each character in the text, starting at the start
	    {
		    character = oText.charAt(i);
		    //alert(character + ":" + oText.charAt(i).charCodeAt(0));	        
            if (!character.match(restrictionType)){//alert(character + ":invalid");
	            return false;
            }
		}
	}
	return true;
}
function validateCharacters_DisallowOnly(oText, restrictionType) {
    if(oText.length != "")
    {       
        var character = ''; 
	    for (var i = 0; i <=oText.length-1; i++) //for each character in the text, starting at the start
	    {
		    character = oText.charAt(i);
		    //alert(character + ":" + oText.charAt(i).charCodeAt(0));	        
            //if (!character.match(restrictionType)){//alert(character + ":invalid");
            if(restrictionType == 'specialCharactersOnlyForURLKey')
            {
                var KeyID = oText.charAt(i).charCodeAt(0);
                if(    (KeyID >= 0 && KeyID <= 31) || (KeyID >= 33 && KeyID <= 44) || (KeyID >= 46 && KeyID <= 47)
		            || (KeyID >= 58 && KeyID <= 64)
		            || (KeyID >= 91 && KeyID <= 94) || (KeyID == 96)
		            || (KeyID >= 123 && KeyID <= 191)
		          ) {//range of special characters except 45: - hyphen/minus and 95: _ underscore, 32: space converted to - in code
		            return false;
		        } 
		        else {
			        return true;
		        }
		    }
		}
	}
	return true;
}
/*Validate TextBox Characters - Ravi - 02.04.10 - end */

function validateDate(strDate,strFormat){
    /*if(Date.parse(oTextBoxFrom.value)){
        //alert("Valid date!- 'From'");
    }
    else{
        alert("Invalid date!- 'From'");
        return false;
    }*/
   
   var parsedDate;
   if( strDate.indexOf("-")>-1 ){
        parsedDate = strDate.split ("-");
        //alert(parsedDate);
   }
   else if( strDate.indexOf("/")>-1 ){
        parsedDate = strDate.split ("/");
        //alert(parsedDate);
   }
    
   if (parsedDate.length != 3) return false;
   var day, month, year;
   if(strFormat == '' || strFormat == undefined || strFormat == 'mm/dd/yyyy'){
       month = parsedDate[0];
       day = parsedDate[1];
       year = parsedDate[2];
   }
   else if(strFormat == 'dd/mm/yyyy'){
       day = parsedDate[0];
       month = parsedDate[1];
       year = parsedDate[2];
       strDate = month + '/' + day + '/' + year;
   }
      
//   alert(strDate);
//   var sdfSource = new Date('dd/MM/yyyy');
//   sdfSource = new Date (strDate);   
//   //sdfSource = sdfSource.format();
//   var sdfDestination = new Date('MM/dd/yyyy');
//   sdfDestination = sdfDestination.format()
//   //var date = sdfSource.parse(strDate);
//   //strDate = sdfDestination.format(date);
//   sdfDestination = sdfSource;
//   strDate = sdfDestination;
//   alert(strDate);
   
   var objDate = new Date (strDate);
   //objDate = objDate.format('dd/mm/yyyy');
   
   var oMonth = 0;
   oMonth = objDate.getMonth() + 1;
   
   //alert('(mm/dd/yyyy):' + strDate + '\n' + 'objDate.getDate():' + objDate.getDate() + ':Day:'+ day + '\nobjDate.getMonth():' + oMonth + ':month:' + month + '\nobjDate.getFullYear():' + objDate.getFullYear() + ':year:' + year);  
   if (month != oMonth) return false;
   if (day != objDate.getDate()) return false;
   if (year != objDate.getFullYear()) return false;

   return true;
}

function getConvertedDate(strDate,strFormat){//strFormat- From Format to datetime format i.i mm/dd/yyyy
    var parsedDate;
   if( strDate.indexOf("-") > -1)
        parsedDate = strDate.split ("-");
   else if( strDate.indexOf("/") > -1)
        parsedDate = strDate.split ("/");
    
   if (parsedDate.length != 3) return "";
   var day, month, year;
   if(strFormat == '' || strFormat == undefined || strFormat == 'mm/dd/yyyy'){
       month = parsedDate[0];
       day = parsedDate[1];
       year = parsedDate[2];
   }
   else if(strFormat == 'dd/mm/yyyy'){
       day = parsedDate[0];
       month = parsedDate[1];
       year = parsedDate[2];
       strDate = month + '/' + day + '/' + year;
   }
   
   var objDate = new Date (strDate);   
   
   var oMonth = 0;
   oMonth = objDate.getMonth() + 1;
   
   //alert('(mm/dd/yyyy):' + strDate + '\n' + 'objDate.getDate():' + objDate.getDate() + ':Day:'+ day + '\nobjDate.getMonth():' + oMonth + ':month:' + month + '\nobjDate.getFullYear():' + objDate.getFullYear() + ':year:' + year);  
   if (month != oMonth) return "";
   if (day != objDate.getDate()) return "";
   if (year != objDate.getFullYear()) return "";
      
   return strDate;
}

function compareDate(strFromDate,strToDate,strFormat){//strFormat- From Format to datetime format i.i mm/dd/yyyy
   var oFromDate = new Date (getConvertedDate(strFromDate,strFormat)); 
   var oToDate = new Date (getConvertedDate(strToDate,strFormat)); 
   
   if(oFromDate > oToDate){
        return false;
   }
   return true;
}

/*Trim Functions - Ravi - 02.04.10 - start */
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
/*Trim Functions - Ravi - 02.04.10 - start */

/* Editor Tooltip- Ravi - 301009 - start */
var iCntrTooltip=0; 
var prevDivTooltip;
function showDWMouseOverTooltipFCK(tag){//alert();
    if(iCntrTooltip == 1){
        prevDivTooltip.style.visibility="hidden";
        prevDivTooltip.style.display="none";
    }
    iCntrTooltip = 1;
    
    var divTag = document.createElement('div');  
    //divTag.
    prevDivTooltip = divTag;
    
    var sDivInnerHtml = '';    
    //////////////////////////
    sDivInnerHtml += '<div class="top_section">';
    sDivInnerHtml += '<div class="top_lft_corner" >';
    //sDivInnerHtml += '<a href="#" onclick="javascript:hideDWMouseOverTooltipFCK(this.parentNode.parentNode.parentNode);">';
    //sDivInnerHtml += '<img src="images/close_icon.jpg" width="8" height="9" alt="" border="0" />';
    //sDivInnerHtml += '</a>';
    sDivInnerHtml += '</div>';
    //sDivInnerHtml += '<div class="top_mid">&nbsp;</div>';
    //sDivInnerHtml += '<div class="top_right_corner"><img src="images/tt_top_right_corner.png" width="11" height="14" alt="" /></div>';
    //sDivInnerHtml += '<div class="clr"></div>';
    sDivInnerHtml += '</div>';    
    sDivInnerHtml += '<div class="main_mid">'; 
    sDivInnerHtml += '<div class="main_mid_text">';    
    sDivInnerHtml += '<span>' + tag.innerHTML + '</span><br/>';
    sDivInnerHtml += tag.title;
    sDivInnerHtml += '</div>';
    sDivInnerHtml += '</div>';
    sDivInnerHtml += '<div>';
    sDivInnerHtml += '<div class="btm_lft_corner" ></div>';
    sDivInnerHtml += '<div class="btm_mid"></div>';
    sDivInnerHtml += '<div class="btm_right_corner"></div>';    
    sDivInnerHtml += '</div>';
    
    //sDivInnerHtml += '<div class="btm_tail"><img src="images/tt_btm_right_tail.png" width="34" height="31" alt="" /></div>';
    sDivInnerHtml += '<div class="clr"></div>';
    /////////////////////////           
    
    divTag.innerHTML = sDivInnerHtml;
    //alert("OriginalInnerHtml:\n" + sDivInnerHtml + "\nConvertedInnerHtml:\n" + divTag.innerHTML);//alert(divTag.innerHTML);
        
    var top = findTopPos(tag);
    var left = findLeftPos(tag);    
       	
    divTag.className ="fcktt_main_container";    
    //divTag.style = "width:214px;position:absolute;";
    document.body.appendChild(divTag); 
        
    if(navigator.appName == "Microsoft Internet Explorer"){ 
        //divTag.style.right = (left[0] + parseInt(divTag.offsetWidth) + parseInt(tag.offsetWidth) - 22).toString() + "px";        
        divTag.style.right = (left[0] + parseInt(tag.offsetWidth) - parseInt(tag.offsetWidth) - 52).toString() + "px";
    }
    else
        divTag.style.left = (left[0] - parseInt(divTag.offsetWidth) + 10).toString() + "px";
        
    divTag.style.top = (top[0] - parseInt(divTag.offsetHeight) + 15).toString() + "px";         
}
//function hideDWMouseOverTooltipFCK(ctrl)
function hideDWMouseOverTooltipFCK(){
    //alert(ctrl);
    //ctrl.style.visibility="hidden";
    //ctrl.style.display="none";
    if(iCntrTooltip == 1){
        prevDivTooltip.style.visibility="hidden";
        prevDivTooltip.style.display="none";
    }
}
function findTopPos(obj){
    var curtop = 0;
    //alert(obj.offsetParent);
    if (obj.offsetParent){         
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent){   
            //alert(parseInt(obj.offsetTop));
            curtop += parseInt(obj.offsetTop);
            //alert("offsetParent:" + obj.offsetParent + " offsetTop:" + obj.offsetTop + " curtop:" + curtop);
        }
    }
    //alert(curtop);
    return  [curtop]; 
}

function findLeftPos(obj){
    var curleft = 0;
    if (obj.offsetParent){ 
        curleft = obj.offsetLeft;        
        //alert(parseInt(obj.offsetLeft));
        while (obj = obj.offsetParent){             
            curleft += parseInt(obj.offsetLeft);
            //alert("offsetParent:" + obj.offsetParent + " offsetLeft:" + obj.offsetLeft + " curleft:" + curleft);            
        }
    }
    //alert(curleft);
    return [curleft]; 
}

/* Editor Tooltip- Ravi - 301009 - end */

/* Editor Image-Zoom- Ravi - 061109 - start */
var iCntrImgZoom=0; 
var prevDivImgZoom;
function showFCKImageDWMouseOverZoom(tag){ 
    if(iCntrImgZoom == 1){
        prevDivImgZoom.style.visibility="hidden";
        prevDivImgZoom.style.display="none";
         //document.body.removeChild(getE(prevDivImgZoom.id));
         iCntrImgZoom == 0;
    }
    iCntrImgZoom = 1;

    var divTag = document.createElement('div');
            
    divTag.id = 'divFCKImgZoom';//alert(divTag.id);
    //tag.setAttribute( 'onmouseout', "javascript:hideFCKImageDWMouseOverZoom('" + divTag.id + "');");    
    //tag.setAttribute( 'onmouseout', "document.body.removeChild(getE('" + divTag.id + "'));iCntrImgZoom=0;", 0);    
            
    prevDivImgZoom = divTag;
    
    var sDivInnerHtml = ''; 
    ////////////////////////  
    sDivInnerHtml += '<div style="padding:2px; border:2px solid #000;background:#fff;border-color:#7FB3ED;width:300px; height:300px;">';  
    sDivInnerHtml += '<img src="' + tag.src + '" width="300" height="300" alt=""  />';
    sDivInnerHtml += '</div>';
    ////////////////////////
    divTag.innerHTML = sDivInnerHtml;
    //alert("OriginalInnerHtml:\n" + sDivInnerHtml + "\nConvertedInnerHtml:\n" + divTag.innerHTML);//alert(divTag.innerHTML);
    
    var top = findTopPos(tag);
    var left = findLeftPos(tag);  
           
    divTag.className ="fckzm_main_container";    
    document.body.appendChild(divTag); 
    //alert(parseInt(divTag.offsetWidth) + ":" + parseInt(left));
    var iLeftPlus=0;
    
    if(navigator.appName == "Microsoft Internet Explorer"){
        if(parseInt(left[0]) < parseInt(divTag.offsetWidth)){        
            iLeftPlus = parseInt(divTag.offsetWidth) - left[0] - 220;
        }    
        divTag.style.left = (left[0] + iLeftPlus - 70).toString() + "px";
    }
    else{      
        if(parseInt(left[0]) < parseInt(divTag.offsetWidth)){        
            iLeftPlus = parseInt(divTag.offsetWidth) - left[0] - 200;
        }     
        divTag.style.left = (left[0] - parseInt(divTag.offsetWidth) + iLeftPlus + 215).toString() + "px";
    }
        
    divTag.style.top = (top[0] - parseInt(divTag.offsetHeight) + 150).toString() + "px";                      
    //alert("onmouseout(set):" + tag.getAttribute("onmouseout") + " ctrl:" + divTag.id);         
}

function hideFCKImageDWMouseOverZoom(){
    if(iCntrImgZoom == 1){
        prevDivImgZoom.style.visibility="hidden";
        prevDivImgZoom.style.display="none";
        //document.body.removeChild(getE(prevDivImgZoom.id));
        iCntrImgZoom == 0;
    }
}

/* Editor Image-Zoom- Ravi - 061109 - end */

/* Image-Zoom- Ravi - 141209 - start */
var iCntrImgZoom=0;
var prevDivImgZoom;
function showImageMouseOverZoom(tag, zoomimgsrc){ 
    if(iCntrImgZoom == 1){
        prevDivImgZoom.style.visibility="hidden";
        prevDivImgZoom.style.display="none";         
        iCntrImgZoom == 0;
    }
    iCntrImgZoom = 1;
    
    var divTag = document.createElement('div');
    divTag.id = 'divImgZoom';
    prevDivImgZoom = divTag;
    var sDivInnerHtml = ''; 
    ////////////////////////  
    sDivInnerHtml += '<div style="padding:2px; border:2px solid #000;background:#fff;border-color:#7FB3ED;width:250px; height:150px;">';  
    sDivInnerHtml += '<img src="' + zoomimgsrc + '" width="250" height="150"  alt=""  />';
    sDivInnerHtml += '</div>';
    ////////////////////////
    divTag.innerHTML = sDivInnerHtml;
    
    var top = findTopPos(tag);
    var left = findLeftPos(tag);
    
    divTag.className ="fckzm_main_container";    
    document.body.appendChild(divTag); 
    //alert(parseInt(divTag.offsetWidth) + ":" + parseInt(left));
    var iLeftPlus=0;
                                           
    if(navigator.appName == "Microsoft Internet Explorer"){
        if(parseInt(left[0]) < parseInt(divTag.offsetWidth)){        
            iLeftPlus = parseInt(divTag.offsetWidth) - left[0] - 270;
        }
        //alert(parseInt(divTag.offsetWidth) + ":" + parseInt(left));    
        divTag.style.left = (left[0]+ iLeftPlus - 120).toString() + "px";
    }
    else
    {      
        if(parseInt(left[0]) < parseInt(divTag.offsetWidth)){        
            iLeftPlus = parseInt(divTag.offsetWidth) - left[0] - 250;
        }   
        //alert(parseInt(divTag.offsetWidth) + ":" + parseInt(left));     
        divTag.style.left = (left[0] - parseInt(divTag.offsetWidth) + iLeftPlus + 265).toString() + "px";
    }
        
    divTag.style.top = (top[0] - parseInt(divTag.offsetHeight) ).toString() + "px";
    //alert("onmouseout(set):" + tag.getAttribute("onmouseout") + " ctrl:" + divTag.id); 
}

function hideImageMouseOverZoom(){ 
    if(iCntrImgZoom == 1){
        prevDivImgZoom.style.visibility="hidden";
        prevDivImgZoom.style.display="none";
        iCntrImgZoom == 0;
    }
}
/* Image-Zoom - Ravi - 061109 - end */

/* Side Link Polling - Ravi - start*/
function setSideLinkScrollPolling(oDiv){//sets the position either static or fixed according to div height
    //alert(oDiv.parentNode.offsetTop + ':' + oDiv.offsetHeight + ':' + document.documentElement.clientHeight + ':' + document.body.clientHeight);
    if(oDiv.style.position!='')         
        oDiv.style.removeAttribute('position');
        
    if(oDiv.style.margin!='')
        oDiv.style.removeAttribute('margin');

    if(oDiv.style.padding!='')
        oDiv.style.removeAttribute('padding');

    if((parseInt(oDiv.parentNode.offsetTop) + parseInt(oDiv.offsetHeight)) > document.documentElement.clientHeight){                        
        oDiv.style.position = "static";        
	    oDiv.style.margin= "0px";	   
	    oDiv.style.padding= "0px";	       
    }
    else{                        
        oDiv.style.position = "fixed";          
	    oDiv.style.margin= "auto";
    }
}
/*Side Link Polling - end*/

/* ---------BaseMenuCSS-Start-------- */
function setBaseMenuCSS_mnuSideDWMenuInc(){
    var oBaseMenu= new MainMenuBase("divSideMenu");
    oBaseMenu.Init();
    
    var oHiddenvalue = getE('<%=hdnid.ClientID%>');
    ///CSS Classes/// applied in DrNester, Cellcom, Ronen
       
    oBaseMenu.ClassSuffix='';//oHiddenvalue.value;
    oBaseMenu.TopNodeClass="right_menu2_link";// + oHiddenvalue.value;
    oBaseMenu.TopNodeExpandedClass="right_menu2_link_selected";
    
    oBaseMenu.TopNodeSelectedCollapsedClass="child_links_selected";
	oBaseMenu.TopNodeSelectedExpandedClass="child_links_selected";
	
	//oBaseMenu.ChildNodeClass="child-node";
	oBaseMenu.ChildNodeSelectedCollapsedClass="child_links_selected";
	oBaseMenu.ChildNodeSelectedExpandedClass="child_links_selected";
	
	oBaseMenu.MainSelectedNodeClassGroup.DivChildClass="right_menu2_link_child";
       
    var mn= new MainMenu(oBaseMenu);
     
    mn.InitializeSelectedNode();
     
    mn.SetCSS();
}
function setBaseMenuCSS_dwmain_ChildMenu(){
    var oBaseMenu= new MainMenuBase("divMainMenu");
    oBaseMenu.Init();
    
    var oHiddenvalue = getE('<%=hdnid.ClientID%>');
    ///CSS Classes//
       
    oBaseMenu.ClassSuffix='';//oHiddenvalue.value;
    oBaseMenu.TopNodeClass="category_text";// + oHiddenvalue.value;
    oBaseMenu.TopNodeExpandedClass="category_text_selected";
    
    oBaseMenu.TopNodeSelectedCollapsedClass="category_text_selected";
	oBaseMenu.TopNodeSelectedExpandedClass="category_text_selected";
	
	//oBaseMenu.ChildNodeClass="child-node";
	oBaseMenu.ChildNodeSelectedCollapsedClass="category_child_links_selected";
	oBaseMenu.ChildNodeSelectedExpandedClass="category_child_links_selected";
	
	oBaseMenu.MainSelectedNodeClassGroup.DivChildClass="category_child_links";

    var mn= new MainMenu(oBaseMenu);
     
    mn.InitializeSelectedNode(true);
     
    mn.SetCSS();
}
function setBaseMenuCSS_mnuDefaultDWMenu1(){
     var oBaseMenu= new MainMenuBase("divMainMenu");
    oBaseMenu.Init();
    
    var oHiddenvalue = getE('<%=hdnid.ClientID%>');
    ///CSS Classes/// applied in DrNester, Cellcom, Ronen
       
    //oBaseMenu.ClassSuffix='';//oHiddenvalue.value;
    //oBaseMenu.TopNodeClass="right-navselectedbox-template right-navselectedbox-color";// + oHiddenvalue.value;
    //oBaseMenu.TopNodeExpandedClass="right-navselectedbox-template right-navselectedbox-color";
    //    
    //oBaseMenu.TopNodeSelectedCollapsedClass="right-navselectedbox-template right-navselectedbox-color";
    //oBaseMenu.TopNodeSelectedExpandedClass="right-navselectedbox-template right-navselectedbox-color";
    	
    //oBaseMenu.ChildNodeClass="child-node";
    //oBaseMenu.ChildNodeSelectedCollapsedClass="category_child_links_selected";
    //oBaseMenu.ChildNodeSelectedExpandedClass="category_child_links_selected";
	
    //alert();
    
    var oLast = getE('<%=hdnLast.ClientID %>');
    
    if(oLast != null && oLast.value == "false")   
	    oBaseMenu.MainSelectedNodeClassGroup.DivChildClass="right-childmenu-innerdiv-color right-childmenu-innerdiv-template";
	else{
	    //alert('i m last');
	    oBaseMenu.MainSelectedNodeClassGroup.DivChildClass="right-navboxmenu-last-selected-color right-childmenu-innerdiv-template";
	}
    
    var mn= new MainMenu(oBaseMenu);
     
    mn.InitializeSelectedNode(true);
     
    mn.SetCSS();
}
/* ---------BaseMenuCSS-End-------- */
function getAlert(){
    alert('Yes');
    return true;
}

/*--------Marquee----------------*/
function setMarquee(oInnerHtml, oHeight, oWidth, oDirection){
   var sHeight =  typeof(oHeight) != 'undefined' ? ((parseInt(oHeight) > 0) ? ' height=' + parseInt(oHeight) + 'px' :  '') : '';
   var sWidth = typeof(oWidth) != 'undefined' ? ((parseInt(oWidth) > 0) ? ' width=' + parseInt(oWidth) + 'px' :  '') : '';
   var sDirection = typeof(oDirection) != 'undefined' ? ((oDirection == 'down' || oDirection == 'left' || oDirection == 'right') ? ' direction="' + oDirection + '"' : ' direction="up"') : ' direction="up"';
   return  oInnerHtml = '<marquee' + sHeight + sWidth + sDirection + ' behavior="scroll" scrollamount="2" scroll="continuous" scrolldelay="50" onmouseover="this.stop();" onmouseout="this.start();">'+ oInnerHtml + '</marquee>';        
}
/*--------End Marquee----------------*/ 

function getDDLSelectedValue(ddl,iIndex){
    var sSplitValues = ddl.value.split(':');
    if (sSplitValues.length >= iIndex + 1){
        return sSplitValues[iIndex];
    }
    return "";
}   

function backToTop(){
    window.scrollTo(0,0);
}

/////////Ravi - 07.12.2010///////////
function toggleElem(elemToHide, elemToShow){
    elemToHide = getE(elemToHide);
    elemToShow = getE(elemToShow);
    if(elemToShow != null && elemToShow != 'null'){
        if(elemToHide != null && elemToHide != 'null')
            elemToHide.style.display = "none";
        elemToShow.style.display = "block";
    }
}

function getNextSibling(elem){
    elem = getE(elem);
    elem = elem.nextSibling;
    while (elem.nodeType !=1){elem = elem.nextSibling;}
    return elem;
}
function getPreviousSibling(elem){
    elem = getE(elem);
    elem = elem.previousSibling;
    while (elem.nodeType !=1){elem = elem.previousSibling;}
    return elem;
}

function toggle(elem){
    elem = getE(elem);
    if(elem.style.display == "none"){        
        elem.style.display = "block";
    }
    else{        
        elem.style.display = "none";
    }
}

function show(elem){
    elem = getE(elem);
    if(elem != null)
        elem.style.display = "block"
}
function showIfHTML(elem){
    elem = getE(elem);
    if(elem != null){
        if(elem.innerHTML != "")
            elem.style.display = "block"
    }
}
function hide(elem){
    elem = getE(elem);
    if(elem != null)
        elem.style.display = "none"
}

function setHTML(elemFrom, elemTo){
    elemFrom = getE(elemFrom);
    elemTo = getE(elemTo);
    if(elemFrom != null && elemTo != null)
        elemTo.innerHTML = elemFrom.innerHTML;
}
/////////Ravi - 07.12.2010///////////
function getCeiling(iDividend, iDivisor){
    iDividend = parseInt(iDividend);
    iDivisor = parseInt(iDivisor);
    var iQuotient = 0, iRemainder = 0, iCeiling = 0;
    if (iDivisor > 0)
    {
        iRemainder = parseInt(iDividend % iDivisor);
        iQuotient = parseInt(iDividend / iDivisor);
        if (iRemainder > 0)
            iCeiling = iQuotient + 1;
        else
            iCeiling = iQuotient;
    }
    return iCeiling;
}
//////////////////////////////////////////////////////

