var Tools = {
    href : function( url )
    {
        window.location.href = url;
    },
    
    goHome : function()
    {
        window.location.href = g_baseUrl;
    },
    
    conf : function( msg )
    {
        var conf = confirm(msg);
        if(conf)
        {
            return true;
        }
        else
        {
            return false;
        }
    },
    
    stringFormat: function( format, args )
    {
        // reserv a seat  is : %S
	    // Notice bug fix ( changed loop stop from arg[i] to i< arg.length
	    // This helped overcome problems with "" args
	    var str = format
	    var arg = this.stringFormat.arguments
	    //	kj.debug.alert(arg.length );
	    for (var i=1 ; i < arg.length ; i++) 
	    {
	        str = str.replace(/%s/,arg[i]);  
 	    }
	    var reg = new RegExp();
	    for (var i=1 ; i <arg.length ; i++) 
	    {
	        reg.compile("%"+i+"s","g"); 
	        str = str.replace(reg,arg[i]);  
 	    }
	    return str;			
    },
    
    fixTextAreaHeight : function( objId )
    {
//        if($(obj).scrollHeight > 100)
//        {
//            $(obj).style.height = ($(obj).scrollHeight) + "px";
//        }

        var obj = $(objId);
        var strtocount = obj.value;
        var cols = obj.cols;
        var hard_lines = 1;
        var last = 0;
        
        obj.style.height = 'auto';
        
        while ( true ) {
            last = strtocount.indexOf("\n", last+1);
            hard_lines ++;
            if ( last == -1 ) break;
        }
        var soft_lines = Math.round(strtocount.length / (cols-1));
        var hard = eval("hard_lines  " + unescape("%3e") + "soft_lines;");
        if ( hard ) soft_lines = hard_lines;
        obj.rows = soft_lines + 3;
    
    },
    
    getStyleMeasures : function( obj )
    {
        var width = obj.style.width;
        var height = obj.style.height;
        
        var measures = {
            width : width,
            height : height,
            parsed : {
                width : parseInt(width.replace("px","")),
                height : parseInt(height.replace("px",""))
            }
        }
        return measures;
    },
    
    wakeUpCachedPics: function( div )
    {   
	    var allPics = div.getElementsByTagName("img");
	    for ( var i = 0; i< allPics.length ; i++)
	    {
	        var pic = allPics[i];
	        if (pic.src == "")
	        {
	            var cachedSrcAtt = pic.getAttribute(Res.CACHED_SRC);
		        if ( cachedSrcAtt )
		        {
		            pic.src = g_baseUrl + cachedSrcAtt;
		            pic.title = pic.src;
		        }
		    }
	    }
    },
    
    getURLVar : function(urlVarName) 
    {
        var urlHalves = String(document.location).split('?');
        var urlVarValue = '';
        if(urlHalves[1])
        {
            var urlVars = urlHalves[1].split('&');
            for(i=0; i<=(urlVars.length); i++)
	        {
		        if(urlVars[i])
		        {
		            var urlVarPair = urlVars[i].split('=');
		            if (urlVarPair[0] && (urlVarPair[0] == urlVarName))
		            {
		    	        urlVarValue = urlVarPair[1];
		            }
		        }
	        }
	    }
        return urlVarValue;
    },
    
    convertHtmlTextToFormText: function(  htmlText )
    {
	    var formText = htmlText.replace (/(<br\/>)|(<br>)/gi, "\n"  )
	    formText = formText.replace (/(<span>)|(<\/span>)|(<wbr\/>)|(<wbr>)/gi, ""  )
	    formText = formText.replace(/(<a.*?>)|(<\/a>)/gi,"");
	    return formText;
    },

    convertFormTextToHtmlText: function( formText )
    {
	    var htmlText = formText.replace (/\n/g, "<br/>"  )
	    return htmlText ;
    },
    
    fixSpecialChars: function( text )
    {
        var reg = new RegExp();
        reg.compile("\"","g");
        var fixedText = text.replace(reg,"\\\"");
        
	    return fixedText ;
    },
    
    // Get a value from the querystring by parameter name
    getURLVar : function(urlVarName) 
    {
        var urlHalves = String(document.location).split('?');
        var urlVarValue = '';
        if(urlHalves[1])
        {
            var urlVars = urlHalves[1].split('&');
            for(i=0; i<=(urlVars.length); i++)
	        {
		        if(urlVars[i])
		        {
		            var urlVarPair = urlVars[i].split('=');
		            if (urlVarPair[0] && (urlVarPair[0] == urlVarName))
		            {
		    	        urlVarValue = urlVarPair[1];
		            }
		        }
	        }
	    }
        return urlVarValue;
    },
    
    changeOpac : function (opacity, obj) 
    { 
        var style = $(obj).style;
          
        style.opacity = (opacity / 100); 
        style.MozOpacity = (opacity / 100); 
        style.KhtmlOpacity = (opacity / 100); 
        style.filter = "alpha(opacity=" + (opacity) + ")"; 
    },
    
    fadeIn : {
        timer : null,
        obj : null,
        callback : null,
        jump : 10,
        speed : null,
        start : function( obj , params )
        {
            Tools.fadeIn.obj = obj;
            Tools.fadeIn.limit = (params.limit) ? limit : 100;
            Tools.fadeIn.callback = (params.callback) ? params.callback : null;
            Tools.fadeIn.speed = (params.speed) ? params.speed: 100;
                        
            var startOpacity = 0;
            Tools.fadeIn.proccessFade(startOpacity);          
        },
        
        proccessFade : function (opacity) 
        { 
          var limit = (opacity<Tools.fadeIn.limit);
          var jump = Tools.fadeIn.jump;
          
          if(limit)
          {
            var newOpacity = parseInt(opacity) + parseInt(jump);
            Tools.changeOpac(newOpacity,Tools.fadeIn.obj);
            Tools.fadeIn.timer = setTimeout("Tools.fadeIn.proccessFade('" + newOpacity + "');",Tools.fadeIn.speed);
          }
          else
          {  
            clearTimeout(Tools.fadeIn.timer); 
            if(Tools.fadeIn.callback)
            {
                Tools.fadeIn.callback();
            }
          }
            
        }
        
    },
    
    fadeOut : {
        timer : null,
        obj : null,
        callback : null,
        jump : 10,
        speed : null,
        start : function( obj , params )
        {
            Tools.fadeOut.obj = obj;
            Tools.fadeOut.limit = (params.limit) ? limit : 0;
            Tools.fadeOut.callback = (params.callback) ? params.callback : null;
            Tools.fadeOut.speed = (params.speed) ? params.speed: 100;
            
            var startOpacity = 100;
            Tools.fadeOut.proccessFade(startOpacity);          
        },
        
        proccessFade : function (opacity) 
        { 
          var limit = (opacity>Tools.fadeOut.limit);
          var jump = -Tools.fadeOut.jump;
          
          if(limit)
          {
            var newOpacity = parseInt(opacity) + parseInt(jump);
            Tools.changeOpac(newOpacity,Tools.fadeOut.obj);
            Tools.fadeOut.timer = setTimeout("Tools.fadeOut.proccessFade('" + newOpacity + "');",Tools.fadeOut.speed);
          }
          else
          {  
            clearTimeout(Tools.fadeOut.timer); 
            if(Tools.fadeOut.callback)
            {
                Tools.fadeOut.callback();
            }
          }
            
        }
        
    },

    
    addEvent : function ( obj, type, fn ) {
      if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
      } else
        obj.addEventListener( type, fn, false );
        
        return obj
    },
    
    parseInt : function( value )
    {
        return parseInt(value.replace("px",""));
    },
    
    playYouTube : function ( obj )
    {
        var code = obj.getAttribute("ytCode");
        
        var body = new Array();
        body[body.length] = '<object width="640" height="505">';
        body[body.length] = '<param name="movie" ';
        body[body.length] = 'value="http://www.youtube.com/v/' + code + '&autoplay=1&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999"';
        body[body.length] = '></param>';
        body[body.length] = '<param name="allowFullScreen" value="true"></param>';
        body[body.length] = '<param name="allowscriptaccess" value="always"></param>';
        body[body.length] = '<embed src="http://www.youtube.com/v/' + code + '&autoplay=1&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999" ';
        body[body.length] = 'type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505">';
        body[body.length] = '</embed></object>';
        
        var params = {
            id : "floatingDiv",
            className : "floatingDiv",
            title : "" ,
            body : body.join(''),
            measures : {
                width : 660,
                height : 545
            },
            menu : '',
            closeButton : '<span class="closeBtn">close<span>',
            actions : false,
            dialog : false
        }
        
        var callback = function()
        {
           
        }
        
         Kit.craeteFloatingDiv( params , callback );
    },

    getWindowMeasures : function()
    {
      var myWidth = 0, myHeight = 0;
      if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
      } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
      }
      
      var measures = {
       width : myWidth,
       height : myHeight
      }
      return measures;
    },
    
    msg : function( msg , append)
    {
        var top_message = $("top_message")
        top_message.style.display = "block";
        
        if(append)
        {
            top_message.innerHTML += msg;
        }
        else
        {
            top_message.innerHTML = msg;
        }
    },
    
    END : ''
}

Tools.info = {
    isIe : function()
    {
        return (document.all && !window.opera);
    }
}

//    var reg = new RegExp();
//    reg.compile(resources.data.resource_value,"g");
//    resPrentValue.replace(reg,$("resInput").value);
//var Tools = {
//    
//    
//    trim: function(str)
//    {
//    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');    
//    },
//    
//    trimLong: function(str)
//    {
//	str = str.replace(/^\s+/, '');
//	for (var i = str.length - 1; i >= 0; i--) 
//	{
//		if (/\S/.test(str.charAt(i))) {
//			str = str.substring(0, i + 1);
//			break;
//		}
//	}
//	return str;
//    },
//            
//    pageRefresh: function()
//    {
//	window.location.href = window.location.href;
//    },

//    htmlColToArray : function( htmlArray )
//    {
//	var array = new Array();
//	for (var i=0; i< htmlArray.length; i++)
//	{
//	    array.push( htmlArray[i] );
//	}
//	return array;
//    },

//    xmlToListOfElements: function( xml,elementTag )
//    {
//	var array = new Array();
//	if (!elementTag)
//	    elementTag = SIM_ELEMENT;

//	var htmlArray = xml.getElementsByTagName( elementTag );
//	for (var i=0; i< htmlArray.length; i++)
//	{
//	    array.push( htmlArray[i] );
//	}
//	return array;
//    },

//    /*    buildMailId: function( mailCoverXml )
//    {
//		var maxMailId = kj.dom.get
//	var conversationId = kj.dom.get
//	var type = kj.dom.get
//	
//	return maxMailId + "," + conversationId + "," + type; 
//       
//    } , */

//    postBackDeleteEntity: function( entityType, entityId )
//    {
//	var additionalParamPairs = [ BLD.DELETE_TYPE, entityType,
//				     BLD.DELETE_ID, entityId ];

//	Tools.postPageWithValues( additionalParamPairs );

//	/*	var deleteAdditions;
//	var originalUrlParams = window.location.search;
//	if ( (/\?/).test(originalUrlParams)) 
//	    deleteAdditions = "?";
//	else 
//	    deleteAdditions = "&";			
//	
//	deleteAdditions += BLD.DELETE_TYPE + "=" + entityType;
//	deleteAdditions += BLD.DELETE_ID + "=" + entityId;
//	alert( deleteAdditions );
//	window.location.search +=encodeURI(deleteAdditions); */
//    },

//    postForm: function( formId )
//    {
//	var form = $( formId );
//	form.submit();
//    },

//    isFailureTextResponse: function( responseText )
//    {
//	if (responseText)
//	{
//	    //	    var re = /Failure/;
//	    var re = /Success/;
//	    return (!re.test( responseText ));
//	}
//	else
//	{
//	    return true;
//	}
//     },

//    isFailureResponse: function( responseXml )
//    {
//	    //var result = kj.dom.getValueFromDom( responseXml, kj.c.xml.RESULT, true  ); 
//	    var result = kj.dom.getValueFromDom( responseXml, kj.c.xml.RESULT, true  ); 
//	    if (result)
//	    {
//	        //	    var re = /Failure/;
//	        var re = /Success/;
//	        return (!re.test( result ));
//	    }
//	    else
//	    {
//	        return true;
//	    }
//     },
//     
//    isNotLoggedInError: function( responseXml )
//    {
//	    var result = kj.dom.getValueFromDom( responseXml, kj.c.xml.RESULT, true  ); 
//	    return (result == BLD.ERROR_NOT_LOGGED_IN);
//     },
//     
//    isEmptyResponse: function( responseXml )
//    {
//	    var result = kj.dom.getElementFromDom( responseXml, kj.c.xml.ROOT, true  ); 
//	    if (result)
//	    {	    
//	        if (result.childNodes.length != 0 )
//	            return false;
//	    }
//	    return true;
//     },
//     
//    selectHandler:
//    {
//        options : new Array(),
//	    addOption : function(value , text)
//	    {
//	      var option = document.createElement('option');
//          option.text = text;
//          option.value = value;

//          this.options.push(option);
//	    },
//	    
//	    fetchSelect : function( select )
//	    {
//	      var select = select ? select : document.createElement('select');
//	     
//	      for(i=0; i<this.options.length; i++)
//	      {
//	       var option = this.options[i];
//	       
//           try {
//             select.add(option, null); // standards compliant; doesn't work in IE
//           }
//           catch(ex) {
//             select.add(option); // IE only
//           }
//          }
//          
//          return select;
//	    }
//	    
//	    
//     },

//    addParamToUrl: function( paramName, paramValue )
//    // Also erases hash
//    { 
//	var i;
//	var searchParameter = decodeURI ( window.location.search );
//	searchParameter = searchParameter.substring(1);//trow the '?'
//	searchParameter = searchParameter.split('&');
//	
//	var reString = "^" + paramName + "=";
//	var re = new RegExp( reString );
//	for (var i=0 ;searchParameter[i];i++)
//	{	    
//	    if (re.test(searchParameter[i]))
//		break;
//	}
//	searchParameter[i]= paramName + "=" + paramValue;	
//	//alert( encodeURI(searchParameter.join('&') ))
//	//window.location.href =window.location.pathname +"?"+ encodeURI(searchParameter.join('&')) //+ "#pg=1";
//		window.location.href =window.location.pathname +"?"+ encodeURI(searchParameter.join('&')) //+ "#pg=1";
//	//var sURL = window.location.pathname +"?"+ encodeURI(searchParameter.join('&')) //+ "#pg=1"

//	//	window.location.search = encodeURI(searchParameter.join('&')) //+ "#pg=1";
//	//	window.location.replace( sURL );

//	//	alert(window.location.pathname +"?"+ encodeURI(searchParameter.join('&')) )

//	//	var urlAddition = paramName + "=" + paramValue + "&" ;
//	//	window.location.search = urlAddition + window.location.search.substring( 1 );
//	//    	window.location.href =window.location.pathname +'?'+ urlAddition + window.location.search.substring( 1 );
//    },

//    getUrlWithChangeParam: function( paramName, paramValue )
//    {
//	
//	var i;
//	var searchParameter = decodeURI ( window.location.search );
//	searchParameter = searchParameter.substring(1);//trow the '?'
//	searchParameter = searchParameter.split('&');
//	
//	var reString = "^" + paramName + "=";
//	var re = new RegExp( reString );
//	for (i=0 ;searchParameter[i];i++)
//	{	    
//	    if (re.test(searchParameter[i]))
//		break;
//	}
//	
//	if (paramValue != "")
//	    searchParameter[i]= paramName + "=" + paramValue;	
//	else
//	    searchParameter[i]= null;
//	return window.location.pathname +"?"+ encodeURI(searchParameter.join('&'));	
//    },

//    addParamsToUrl: function( paramPairs )
//    // Also erases hash
//    { 
//	var i;
//	var searchParameter = window.location.search;
//	searchParameter = searchParameter.substring(1);//trow the '?'
//	searchParameter = searchParameter.split('&');
//	

//	for (var i=0; i< paramPairs.length ; i = i+2 )
//	{
//	    //alert( "Iteration is:" + i );
//	    var reString = "^" + paramPairs[i] + "=";
//	    var re = new RegExp( reString );
//	    
//	    for (j=0 ;searchParameter[j];j++)
//	    {
//		
//		if (re.test(searchParameter[i]))
//		    break;
//	    }	    
//	    searchParameter[j]= paramPairs[i] + "=" + paramPairs[i+1];	       
//	}

//	window.location.href =window.location.pathname +"?"+ encodeURI(searchParameter.join('&')) //+ "#pg=1";
//	
//	//	var urlAddition = paramName + "=" + paramValue + "&" ;
//	//	window.location.search = urlAddition + window.location.search.substring( 1 );
//	//    	window.location.href =window.location.pathname +'?'+ urlAddition + window.location.search.substring( 1 );
//    },

//    postPageWithValues: function( paramPairs, url )
//    {
//	if (url )
//	    url = g_baseUrl + url;
//	else
//	    url ="";

//	var wrapper = document.createElement( 'div');
//	
//	var buffer = new Array();
//	
//	buffer[buffer.length] = "<form name='postingForm' id='postingForm' action='"+url+"' style='display:none' method='POST'>";

//	for( var i=0; i< paramPairs.length ; i= i+2 )
//	{
//	    var name = paramPairs[i] ? paramPairs[i] : "";
//	    var value = paramPairs[i+1] ? paramPairs[i+1] : "";
//	    buffer[buffer.length] = "<input type='text' name='"+name+"'value='"+value+"'/>";
//	}
//	
//	buffer[buffer.length] = "<input type='submit' value='post' name='3' value='4'/>";
//	
//	buffer[buffer.length] = "</form>";
//	
//	wrapper.innerHTML = buffer.join("");
//	document.body.appendChild( wrapper );
//	
//	var postingFormEl = $( "postingForm" );
//	postingFormEl.submit();   	
//    },
//    
//    
//    yellowingEffect: function( id )
//    {
//	var element = $( id );
//	var colorTween = new ColorTween( element.style );	
//    },


//    freshAttachInputHint: function( obj, text, className, isToRight )
//    {
//	obj.hintAttached = false;
//	Tools.attachInputHint( obj, text, className, isToRight );
//    },

//    attachInputHint: function( obj, text, className, isToRight )
//    {
//	    if (obj.hintAttached)
//	        return;
//	    else
//	        obj.hintAttached = true;

//	    //	alert('attaching');
//	    var displayHint = function()
//	    {
//	        Tools.displayInputHint( obj,text, className, isToRight );	    
//	    }
//    	
//	    var killHint = function()
//	    {
//	        Tools.killInputHint();
//	    }


//	    //	obj.onfocus = 'Tools.displayInputHint( this,'+text+');';
//	    //	obj.onBlur = 'Tools.killInputHint();';
//	    obj.onfocus = displayHint;
//	    obj.onblur = killHint;
//    },


//    displayInputHint: function( obj, text, className, isToRight )
//    {
//	if ((!className) || (className == "" ))
//	    className = "formInputHint";

//	var hint = document.createElement( 'div');
//	hint.className = className;
//	hint.id = "hintPopUp";
//	
//	var dirLang = this.getLanguageDirection();
//	
//	var buffer = new Array();
//	if(!isToRight)
//    {
//	    if (dirLang == kj.c.RTL_LANG)
//	        buffer[buffer.length] = " <table style='direction:rtl'>"; 
//	    else
//	        buffer[buffer.length] = " <table style='direction:ltr'>";
//	}
//	else
//	{
//	    if (dirLang == kj.c.RTL_LANG)
//	        buffer[buffer.length] = " <table style='direction:ltr'>";	         
//	    else
//            buffer[buffer.length] = " <table style='direction:rtl'>";	        
//	}

//	buffer[buffer.length] = " <tr>"; 
//	buffer[buffer.length] = "  <td class='connectLineCol'>"; 
//	buffer[buffer.length] = "    <div class='connectLine'></div>";
//	buffer[buffer.length] = "  </td>"; 
//	buffer[buffer.length] = "  <td class='hintCol'>"; 
//	buffer[buffer.length] = "   <div class='hint'>"; 
//	buffer[buffer.length] =      text 
//	buffer[buffer.length] = "   </div>"; 
//	buffer[buffer.length] = "  </td>"; 
//	buffer[buffer.length] = " </tr>"; 
//	buffer[buffer.length] = " </table>"; 

//	hint.innerHTML = buffer.join('');

//	var pos = getObjPosFromDoc( obj );
//	hint.style.top = pos.y - 0 + "px";
//	document.body.appendChild( hint );	
//    if(!isToRight)
//    {
//	    if (dirLang == kj.c.RTL_LANG)
//	        hint.style.left = (pos.x + -hint.offsetWidth) + "px";	
//	    else
//	        hint.style.left = (pos.x + obj.offsetWidth) + "px";	
//	}
//	else
//	{
//	    if (dirLang == kj.c.RTL_LANG)
//		    hint.style.left = (pos.x + obj.offsetWidth) + "px";	
//		    //hint.style.left = (pos.x + hint.offsetWidth - 40) + "px";
//		else
//		    hint.style.left = (pos.x + -hint.offsetWidth) + "px";	
//	}
//    },

//    
//    killInputHint: function()
//    {
//	var hint = $( "hintPopUp" );
//	if (hint)
//	{
//	    var nodeParent = hint.parentNode;
//	    nodeParent.removeChild( hint ); 
//	}
//    },


//    redirect: function( url )
//    {
//	var absoluteUrl = Tools.absoluteUrl( url );
//	window.location.href = absoluteUrl;
//    },

//    absoluteUrl: function ( relUrl )
//    {
//	var cleanRelUrl = this.removeInitialSlash( relUrl );
//	var absoluteUrl;
//	if ( relUrl.indexOf( "http" ) == -1 ) //not already absolute	    
//	{
//	    var isAliasedRegEx = new RegExp( g_aliasPath + "/");
//	    if (isAliasedRegEx.test( relUrl ))
//		absoluteUrl = g_baseUrlUnAliased + cleanRelUrl;	
//	    else
//		absoluteUrl = g_baseUrl + cleanRelUrl;	
//	}
//	else  
//	{
//	    absoluteUrl = cleanRelUrl;
//	}
//	return absoluteUrl;
//    },

//    removeInitialSlash: function( str )
//    {
//	var cleanStr;
//	if (str[0] == "/") // remove initial "/"
//	    return str.substring( 1 );
//	else
//	    return str;		
//    },
//    

//    redirectOutOfFrame: function( url )
//    {
//    var absoluteUrl = Tools.absoluteUrl( url );
//	window.top.location.href = absoluteUrl;
//    },

//    redirectFromShadowTextBox: function( textBoxId, redirectStringFormat, defaultUrl )
//    {	
//	var searchBox = $(textBoxId);
//	var searchText = searchBox.value;
//	
//	var searchShadowText = searchBox.attributes["shadow"].value;
//	var searchUrl;
//	
//	if ((searchText != searchShadowText)&&( searchText != ""))
//	{
//	     searchUrl = Tools.stringFormat( redirectStringFormat, searchText );
//	}
//	else
//	{
//	    if ((defaultUrl)&&(defaultUrl != ""))
//		searchUrl = defaultUrl;
//	    else
//		searchUrl = Tools.stringFormat( redirectStringFormat, "" );
//	}	
//	Tools.redirect( searchUrl );
//    },
//    
//    redirectToElementSearchFromShadowBox: function( params )
//    {
//        var SEARCH_BOX_ID = params.id;
//		var SEARCH_PAGE_NAME = params.pageName;
//    	var SEARCH_TAB_NAME = params.tabName;
//    						
//	    var filterString = Tools.createListViewFilterString([ BLD.SEARCH, '%1s']);
//        var redirectStringFormat = Tools.createLink( SEARCH_PAGE_NAME,
//					                              [kj.c.RP_TAB, SEARCH_TAB_NAME,
//                                                   kj.c.RP_FILTER, filterString]);
//                                                   
//        Tools.redirectFromShadowTextBox( SEARCH_BOX_ID, redirectStringFormat);  
//    },

//    disappearListViewAction: function( obj )
//    {
//	obj.parentNode.style.display = "none";
//    },


//    iFrameDisplaySwitch: function( iFrameID, iFrameSrc )
//    {
//	var iFrame = $(iFrameID);
//		
//	var isDisplayed = ( iFrame.style.display != "none" );    
//	if (isDisplayed)
//	    iFrame.style.display = "none";
//	else
//	{
//	    var isSourced = (iFrame.getAttribute('src') == iFrameSrc);
//	    
//	    //    alert( iFrame.getAttribute('src'));
//	    if (!isSourced)
//	    {
//		//	alert('not Sourced');		
//		iFrame.setAttribute('src', this.absoluteUrl(iFrameSrc));
//	    }	    
//	    iFrame.style.display = "";   
//	}
//    },

//    createMemberLink: function( name, id )
//    {
//	var url = Tools.createLink( PG.PROFILE,["user_id",id ]);
//	var linkFormat="<a href='%1s'>%2s</a>";		
//	return Tools.stringFormat( linkFormat, url, name );	
//    },

//    createLink: function( page,paramPairs )
//    {
//	var linkPage = page ;
//	linkPage +='?';
//	for( var i=0; i< paramPairs.length ; i= i+2 )
//	{
//	    var name = paramPairs[i];
//	    var value = paramPairs[i+1];
//	    linkPage+=( name + '=' +value +"&");
//	}
//	return linkPage.substring(0,linkPage.length-1);
//    },
//    createListViewFilterString: function( paramPairs )
//    {
//	var filterString = "" ;
//	for( var i=0; i< paramPairs.length ; i= i+2 )
//	{
//	    var name = paramPairs[i];
//	    var value = paramPairs[i+1];
//	    filterString+= name + kj.c.FILTER_PAIR_DELIMITER +
//		       value +kj.c.FILTER_DELIMITER;
//	}
//	return filterString.substring(0,filterString.length-1);
//    },

//    convertHtmlTextToFormText: function(  htmlText )
//    {
//	var formText = htmlText.replace (/(<br\/>)|(<br>)/gi, "\n"  )
//	formText = formText.replace (/(<span>)|(<\/span>)|(<wbr\/>)|(<wbr>)/gi, ""  )
//	formText = formText.replace(/(<a.*?>)|(<\/a>)/gi,"");
//	return formText;
//    },

//    convertFormTextToHtmlText: function( formText )
//    {
//	var htmlText = formText.replace (/\n/g, "<br/>"  )
//	return htmlText ;
//    },

//    getWhichBrowserObject: function()
//    {
//	obj = {
//	ie : (document.all && !window.opera),
//	nn6 : $ && !document.all,
//	safari : navigator.userAgent.indexOf("Safari") != -1,
//	whichMouseButPress : 0,
//	prevXMouse : null,
//	pervYMouse : null,
//	XMouse : null,
//	YMouse :null 
//	}
//	return obj;
//    },

//    inputKeyEventGeneralEnrich: function( obj, event )
//    {
//	Tools.switchTextDirection( obj, event );
//    },

//    switchTextDirection: function(obj,event)
//    {	
//	//	kj.debug.alert('inSwitchTextDirection, with code:'+ event.keyCode);	
//	if (event.ctrlKey && event.keyCode ==16) 
//	{
//	    if (obj.style.direction == "ltr")
//	    {
//		obj.style.direction = "rtl";	
//		//		kj.debug.alert('Switching to rtl');		
//	    }
//	    else 
//	    {
//		obj.style.direction = "ltr";
//		//		kj.debug.alert('Switching to ltr');		
//	    }
//	}	

//    },

//    submitOnKeysShortcut: function(obj,event)
//    {
//	if (event.ctrlKey && event.keyCode ==13) 
//	    obj.form.submit();
//    },

//    toggleElementDisplay: function( elementId )
//    {
//	var element = $(elementId);
//	var elementDisplay = element.style.display;
//	if ( elementDisplay == "" )                 
//	    element.style.display = "none";
//	else
//	    element.style.display = "";                    
//    },

//    toggleElementOpenClose: function( element )
//    {
//	var childDivs = element.getElementsByTagName("div");
//	for (var i=0; i< childDivs.length ; i ++)
//	{
//	    if (childDivs[i].className == "open")
//	    {
//		childDivs[i].className = "closed";
//		return;
//	    }
//	    else if (childDivs[i].className == "closed")
//	    {
//		childDivs[i].className = "open";
//		return;
//	    }
//	}
//    },


//    resolveUrl: function(relativePathFromRoot)
//    {
//	return baseUrl + relativePathFromRoot;
//    },

//    insertIframeAd: function( wrapId, relativeSrc, width,height, theclassName )
//    {
//	var wrapElement = $(wrapId);
//	
//	var classNameString = ( theclassName ) ? theclassName : "";
//	var buffer = new Array();            
//	var fullSrc;
//	if (relativeSrc.indexOf( "http" ) == -1)
//	    fullSrc = this.absoluteUrl( kj.c.path.DIR_ADVERTISEMENTS+ relativeSrc );
//	else 
//	    fullSrc = relativeSrc;
//		//	buffer[buffer.length] = " <iframe src ='"+ this.resolveUrl("Core/Modules/Advertisement/page/sub/%1s")+"'";
//	buffer[buffer.length] = " <iframe src ='"+ fullSrc +"'";	
//	buffer[buffer.length] = " style='width:%2spx;height:%3spx' class='%3s'";
//	buffer[buffer.length] = " marginheight='0' marginwidth='0' scrolling='no' frameborder='0'></iframe>";

//	//	kj.debug.alert("Before "+ buffer.join(""));
//	//	kj.debug.alert("After"+ Tools.stringFormat( buffer.join(""), relativeSrc, width, height, classNameString ));
//   
//	if (wrapElement)
//	    wrapElement.innerHTML = Tools.stringFormat( buffer.join(""), relativeSrc, width, height, classNameString );
//	//	console.debug( "insertIframeAd " + wrapElement.innerHTML );
//    },        

//    createIframe: function(src,width,height,className)
//    {
//        var buffer = new Array(); 
//        buffer[buffer.length] = " <iframe src ='%1s'";
//	    buffer[buffer.length] = " style='width:%2spx;height:%3spx;' class='%4s' id='%4s'";
//	    buffer[buffer.length] = " marginheight='0' marginwidth='0' scrolling='no' frameborder='0'></iframe>";
//	    return Tools.stringFormat( buffer.join(""),baseUrl + src,width,height,className ) ;
//    },
//    
//    attachBkgrdImgRolloverEffect: function( obj )
//    {
//	//	alert("jere");
//	var setOriginalImage = function()
//	{ 
//	    obj.parentNode.className = kj.c.ORIGINAL_BACKGROUND_WRAP_CLASS; 
//	}

//	var setRollOverImage = function()
//	{ 
//	obj.parentNode.className = kj.c.ROLLOVER_BACKGROUND_WRAP_CLASS;
//	}

//	obj.onmouseover = setRollOverImage;
//	obj.onmouseout = setOriginalImage; 

//	setRollOverImage();
//    },

//    selectDeselectAllCheckBoxes: function( obj, checkBoxesName )
//    {
//	var checkBoxInputs = document.getElementsByName( checkBoxesName );        
//	for ( var i=0; i< checkBoxInputs.length; i++ )
//	{
//	    //checkBoxInputs[i].checked = "checked";                   
//	    checkBoxInputs[i].checked = obj.checked;                   
//	}    
//    },

//    /*    createPictureToMobileLinkHTML: function( picSrc )
//    {
//    }, */

//    openMoblinPictureToMobileWindow: function( picSrc )
//    {      
//	      var moblinWindow = window.open("http://www.moblin.com/imgcroper/cropview.aspx?partnerid=2303&imagepath=" +
//				     escape( picSrc ), "Croper","height=570,width=600,top=50,left=50,scrollbars=no");
//      if ( window.focus )
//      {
//	  moblinWindow.focus()
//      } 
//    },

//    moblinSend2Cropper: function (imgPath)
//    {
//	var domain = "http://www.klikot.co.il";
//	var absoluteImgPath = domain+"/"+Tools.trimString(imgPath);
//	//	alert( absoluteImgPath );
//	// path to your config file
//	var configUri = domain+"/Flash/moblinSend2Phone/cellpic/config.xml";
//	var iCountry = "48";
//	var sUrl = "http://www.moblin.com/CellPic/Default.aspx?config="+configUri+"&image="+ escape(absoluteImgPath) +"&country="+iCountry
//	window.open(sUrl,"cellpic","menubar=0,width=571,height=410");
//    },


//    trimString: function(str) {
//	return str.replace(/^\s+|\s+$/g,"");
//    },    	

//    scrollToTop: function()
//    {
//	window.scrollTo(0,0);
//    },

//    scrollToTopOfOuterFrame: function()
//    {
//	window.top.scrollTo(0,0);
//    },
//    
//    switchCheckboxState: function ( checkbox )
//    {
//	if (checkbox.checked)
//	{
//	    checkbox.checked = "";
//	}
//	else
//	{
//	    checkbox.checked = "checked";
//	}	
//    },

//    robustGetElementById: function( id )
//    {
//	//	kj.debug.alert("Looking for id"+ id );
//	var element = document.getElementById( id );
//	if (element)
//	{
//	    //	    console.debug("found Original ID: "+ id);
//	    return element;
//	}
//	else 
//	{
//	    var aspClientId;
//	    if (id != "")
//	    {
//	        if ( id.substring(0,1) != "_")
//	            aspClientId = Tools.getASPClientId( id );
//	        else
//	            aspClientId = Tools.getASPClientIdBySubId( id.substring(1) );
//	        return document.getElementById( aspClientId );
//	     }
//        else
//            return null;        
//	    //	    console.debug("Found ASP.NET  ID = " + aspClientId);	    
//	}
//    },
//    
//    getASPClientIdBySubId: function( id )
//    {        	 
//        var DICTIONARY_ID = "idDictionary";
//	    var idDictionary = document.getElementById( DICTIONARY_ID );
//	    if( idDictionary )
//	    {	              
//	        var elementString  = idDictionary.innerHTML;  
//            var regExp = new RegExp( ",([^;,]*?"+ id + ".*?);");        
//            var results = regExp.exec( elementString );
//            if( results && results.length >= 2){
//                var aspClientId = results[1];
//		        return aspClientId;
//		    }    		    
//            else
//                return id;    
//        }
//    },
//    
//    getASPClientId: function( id )
//    {
//	//	kj.debug.alert("looking for asp.net id: " + id );
//	//	var t1 = new Date().getTime();
//	var DICTIONARY_ID = "idDictionary";
//	var idDictionary = document.getElementById( DICTIONARY_ID );
//	if( idDictionary )
//	{
//	    var elementString  = idDictionary.innerHTML;
//	    var regExp = new RegExp( ";"+ id +",(.*?);");
//	    var results = regExp.exec( elementString );
//	    if (results )
//	    {	 
//		if ( results.length >=2 )
//		{
//		    var aspClientId = results[1];
//		    return aspClientId;
//		}
//	    }	     
//	}
//	//	var t2 = new Date().getTime();	
//	//	kj.debug.alert( "Time for aspGet of "+id+ " is: " + (t2 -t1) +"ms" );
//	return id;	
//    },

//    slowGetASPClientId: function( id )
//    {
//	//	kj.debug.alert("looking for asp.net id: " + id );
//	var t1 = new Date().getTime();
//	var DICTIONARY_ID = "idDictionary";
//	var idDictionary = document.getElementById( DICTIONARY_ID );
//	if(idDictionary)
//	{
//	    var elements  = idDictionary.innerHTML.split(";");
//	    for (var i=0; i < elements.length; i++ )
//	    {
//		//	    console.debug( "Element is: " + elements[i]);
//		var regExp = new RegExp( "^"+id +",");
//		if ( regExp.test( elements[i] ))
//		{
//		    //		console.debug( "element found is" + elements);
//		    var aspClientIdPair = elements[i].split(",");		
//		    
//		            if (aspClientIdPair.length == 2)
//		            {
//		                var aspClientId = aspClientIdPair[1];
//				var t2 = new Date().getTime();	
//				//kj.debug.alert( "Found: Time for aspGet of "+id+ " is: " + (t2 -t1) + "ms" );
//		                return aspClientId;
//		            }
//		}
//	    }
//	}    
//	var t2 = new Date().getTime();	
//	//kj.debug.alert( "Time for aspGet of "+id+ " is: " + (t2 -t1) +"ms" );
//	return id;	
//    },

//    escapeHTML: function(str)
//    {
//	var div = document.createElement('div');
//	var text = document.createTextNode(str);
//	div.appendChild(text);
//	return div.innerHTML;
//    },

//    htmlEncode: function( str )
//    {
//	//return Tools.escapeHTML( encodedString );
//	str = str.replace("'", "&#39;");
//	str = str.replace("\"", "&#34;");
//	return str;
//    },

//    escapeJsString: function( str )
//    {
//	//return Tools.escapeHTML( encodedString );
//	str = str.replace("'", "\\&#39;");
//	str = str.replace("\"", "\\&#34;");
//	return str;
//    },

//    completeMemberPicPath: function( rawPicPath, size )
//    {
//	return Tools.completePicPath( rawPicPath, size, kj.c.MEMBER_NO_PIC_PATH );
//    },

//    completeAlbumPicPath: function( rawPicPath, size )
//    {
//	return Tools.completePicPath( rawPicPath, size, kj.c.ALBUM_NO_PIC_PATH );
//    },

//    completeArticlePicPath: function( rawPicPath, size )
//    {
//	return Tools.completePicPath( rawPicPath, size, kj.c.ARTICLE_NO_PIC_PATH );
//    },

//    completeKlikaPicPath: function( rawPicPath, size )
//    {
//	return Tools.completePicPath( rawPicPath, size, kj.c.KLIKA_NO_PIC_PATH );
//    },

//    completeEventPicPath: function( rawPicPath, size )
//    {
//	return Tools.completePicPath( rawPicPath, size, kj.c.EVENT_NO_PIC_PATH );
//    },

//    completePicPath: function( rawPicPath, size, noPicPath)
//    {
//	if ( rawPicPath == "")
//	    rawPicPath = noPicPath;

//	var picSuffixFormat = "_%s.jpg";
//	var picSuffix = Tools.stringFormat( picSuffixFormat, size );

//	var fullPicPath;
//	//	kj.debug.alert("rawPic" + rawPicPath );
//	if ( rawPicPath.indexOf( "http" ) == -1 ) //not already full	    
//	{
//	    fullPicPath = g_baseUrl + rawPicPath + picSuffix;	
//	}
//	else
//	    fullPicPath =  rawPicPath + picSuffix;	
//	return fullPicPath ;	    
//    },

//    changeLanguage: function( languageId )
//    {
//    if(languageId == g_language) return;
//	//var languageChangeUrl = Tools.getUrlWithChangeParam( kj.c.RP_LANGUAGE, languageId );
//	//	Tools.redirect( languageChangeUrl );
//	Tools.postPageWithValues( [ kj.c.RP_LANGUAGE, languageId]);// languageChangeUrl );
//    },

//    getLanguageDirection: function()
//    {
//	if (g_language == kj.c.LANG_HE)
//	    return kj.c.RTL_LANG;
//	else
//	    return kj.c.LTR_LANG;
//    },
//    
//    isOlderBrowser: function()
//    {
//    //alert(INFO.version);
//        if(
//            INFO.ie  &&
//            INFO.version <= 4
//           )
//        {
//         return true;
//        }
//        return false;
//    },
//    
//    unesacpe: function( val )
//    {
//       val = val.replace ('\"', '"'  );
//       return val;
//    },
//    
//    getParentNodeByClassName : function ( obj , className ) 
//    {
//        while(obj.className != className)
//        {
//          obj = obj.parentNode;
//        }
//        
//        return obj;
//    }, 
//    
//    findElementCoords : function ( obj , fixTop , fixLeft ) 
//    {
//	    var curleft = curtop = 0;
//	    if (obj.offsetParent) 
//	    {
//		    curleft = obj.offsetLeft;
//		    curtop = obj.offsetTop;
//		    while (obj = obj.offsetParent) 
//		    {
//		    	curtop += obj.offsetTop;
//			    curleft += obj.offsetLeft;
//		    }
//	    }
//	    
//	    var coords = {
//	      top : curtop + fixTop,
//	      left : curleft + fixLeft
//	    }
//	    return coords;
//    },
//    
//    changeOpacity : function (opacity, obj) 
//    {
//        var style = obj.style;
//        if(!INFO.ie)
//        {
//            style.opacity = (opacity / 100);
//            style.MozOpacity = (opacity / 100);
//            style.KhtmlOpacity = (opacity / 100);
//            style.filter = "alpha(opacity=" + opacity + ")";
//        }
//        else
//        {
//            style.display = "none"; //TEMP
//        }
//    },
//    
//    fadeOut : function ( obj , minOpac)
//    {
//      var opac = 100;
//      var showTime = 100;
//      var triggerTime = 1000;
//      var MIN_OPAC = minOpac ? minOpac : 0; 
//      
//      obj.style.display = "block";
//      Tools.changeOpacity(opac , obj);
//      
//      var changeOpacity =  function()
//      {
//        opac-=10;
//        setTimeout(function (){ triggerOpacityChange(); }, showTime)  
//      }
//      
//      var triggerOpacityChange = function()
//      {
//        Tools.changeOpacity(opac , obj);
//        if(opac > MIN_OPAC)
//        {
//         changeOpacity();
//        }
//        else
//        {
//         if(!minOpac)
//         {
//            obj.style.display = "none";  
//         }
//        }
//      } 
//      
//      setTimeout(function (){ triggerOpacityChange(); }, triggerTime)  
//    },
//    
//    // Get a value from the querystring by parameter name
//    getURLVar : function(urlVarName) 
//    {
//        var urlHalves = String(document.location).split('?');
//        var urlVarValue = '';
//        if(urlHalves[1])
//        {
//            var urlVars = urlHalves[1].split('&');
//            for(i=0; i<=(urlVars.length); i++)
//	        {
//		        if(urlVars[i])
//		        {
//		            var urlVarPair = urlVars[i].split('=');
//		            if (urlVarPair[0] && (urlVarPair[0] == urlVarName))
//		            {
//		    	        urlVarValue = urlVarPair[1];
//		            }
//		        }
//	        }
//	    }
//        return urlVarValue;
//    },
//    
//    getPageName : function()
//    {
//        var location = String(document.location);
//        location = location.replace(g_baseUrl,"");
//        
//        var name = location.split('?')[0];
//        
//        return name;
//    },
//    
//    filterDivListItemsByText: function( viewDivId, e ,fullNameOffset)
//    {
//	    var textBoxObj = e.target ? e.target : e.srcElement;	
//	    var textValue = textBoxObj.value.toLowerCase();
//	    var viewDiv = $( viewDivId );
//	    var listItems = viewDiv.getElementsByTagName('div');
//        	
//	    for(var i = 0; i < listItems.length; ++i)
//	    {
//	        var listItem = listItems[i];
//	        if(listItem.attributes[kj.c.EMBEDDED_OBJECT_DATA])
//	        {
//	            var objectData = listItem.attributes[kj.c.EMBEDDED_OBJECT_DATA].value;
//	            var fullName = objectData.split(",")[ fullNameOffset ];
//            	    
//	            //	    kj.debug.alert( "fullname is: "+fullName+" textValue is: "+ textValue );
//	            if( fullName.toLowerCase().indexOf(textValue) == -1 )
//	            {
//		            listItem.style.display = "none";
//	            }
//	            else
//	            {
//		            listItem.style.display = "";
//	            }
//	        }
//	    }
//    },
//    
//    removeChildren : function ( obj )
//    {
//      while (obj.childNodes[0])
//      {
//        var childNode = obj.childNodes[0];
//        obj.removeChild(childNode);
//      }
//                
//      return obj;
//    },
//    
//    removeChildById : function ( obj , id )
//    {
//      for (i=0; i<obj.childNodes.length; i++)
//      {
//        var childNode = obj.childNodes[i];
//        if(childNode.id == id)
//        {
//         obj.removeChild(childNode);
//        }
//      }
//                
//      return obj;
//    },
//    
//    getChildNodeByClassName : function ( obj , tagName , className )
//    {
//      if(obj)
//      {
//        var nodes = obj.getElementsByTagName(tagName);
//        var objects = new Array();
//        
//        for(i=0; i<nodes.length; i++)
//        { 
//          var node = nodes[i];
//          if(node.className == className)
//          {
//            objects[objects.length] = node;
//          }
//        }
//        return objects;
//      }
//      return new Array();
//    },
//    
//    getJsQueryParameter : function( js , param )
//    {
//        var scripts = document.getElementsByTagName("script");
//        
//        for(i=0; i<scripts.length; i++)
//        {
//            var src = scripts[i].src;
//            if(src.indexOf(js) != -1)
//            {
//              var query = src.split("?")[1];
//              var params = query.split("&");
//              for(j=0; j < params.length; j++)
//              {
//                var currParam = params[j].split("=")[0];
//                var currValue = params[j].split("=")[1];
//                if(currParam == param)
//                {
//                  return currValue;
//                }
//              }
//            }
//        }
//        
//        return "";
//    },
//    
//    switchArrayDir : function ( array )
//    {
//       var newArray = new Array();
//       for(var i=(array.length - 1); i>=0; i--)
//       {
//         newArray.push(array[i]);
//       }
//       return newArray;
//    },
//    
//    dynamicJsLoad : function ( src , funcId) 
//    {
//      	if( !isPathExist( src , g_LoadedJsArr ) )
//     	{	    
//     	     var callbackFunc = (typeof funcId != 'undefined') ? ("&func=" + funcId) : "";
//     	     
//             var head, script;     
//             var revisionCacheAdd = "?rev=" + g_revision + callbackFunc;	     
//             var absoluteUrl = Tools.absoluteUrl( src + revisionCacheAdd );
//             if (document.createElement && document.getElementsByTagName
//                 && (head = document.getElementsByTagName('head')[0]) && head.appendChild
//                 && (script = document.createElement('script'))) 
//             {
// 	          script.type = 'text/javascript'; 	  
//        	 
//	          script.src = encodeURI(absoluteUrl);
//	          head.appendChild(script);
//	          return true;
//             } 
//             else
//             {
//	          return false;        
//             }  
//        }      
//        return false;
//    },
//    
//    dynamicCssLoad : function ( src ) 
//    {
//      	if( !isPathExist( src , g_LoadedJsArr ) )
//     	{	    
//             var head, link;     
//             var revisionCacheAdd = "?rev=" + g_revision;	     
//             var absoluteUrl = Tools.absoluteUrl( src + revisionCacheAdd );
//             if (document.createElement && document.getElementsByTagName
//                 && (head = document.getElementsByTagName('head')[0]) && head.appendChild
//                 && (link = document.createElement('link'))) 
//             {
// 	          link.type = 'text/css';
// 	          link.rel = 'stylesheet'; 	  
//        	 
//	          link.href = encodeURI(absoluteUrl);
//	          head.appendChild(link);
//	          return true;
//             } 
//             else
//             {
//	          return false;        
//             }  
//        }      
//    },    
//    
//    dynamicLoader :  
//    {
//        callback : new Array(),
//        jsGroup : new Array(),
//        pushFunc : function( func )
//        {
//           this.callback.push(func);
//        },
//        
//        addJs : function( src )
//        {
//           this.jsGroup.push(src);
//        },
//        
//        loadGroup : function( callbackFunc )
//        {
//          var jsGroup = Tools.switchArrayDir(this.jsGroup);
//          this.jsGroup = new Array();

//          if(jsGroup.length > 0)
//          {
//              var callBackColl = new Array();
//              var jsSrc = jsGroup[0];
//              
//              var continueLoad = function()
//              {
//                Tools.dynamicLoader.loadJS( jsSrc , callbackFunc )
//              }
//              callBackColl.push(continueLoad);
//              
//              var callBackCollIndex = 0;
//              for(var i=1; i<jsGroup.length; i++)
//              {
//                var jsSrc = jsGroup[i];
//                var callback = callBackColl[callBackCollIndex];
//                
//                var continueLoad = function()
//                {
//                  Tools.dynamicLoader.loadJS( jsSrc , callback )
//                }
//                callBackColl.push(continueLoad);
//                callBackCollIndex++;
//              }
//              
//              callBackColl[(callBackColl.length - 1)]();
////              for(var i=(callBackColl.length - 1); i>=0; i--)
////              {
////               callBackColl[i]();
////              }
//          } 
//        },
//        
//        getFuncId : function( src )
//        {
//            return Tools.getJsQueryParameter( src , "func");
//        },
//        
//        getImLoadedCall : function ( src )
//        {
//          var funcId = this.getFuncId( src );
//          if(funcId == "" || funcId == "-1")
//          {
//            return null;
//          }
//          else
//          {
//            var parsedFuncId = parseInt(funcId);
//            var func = Tools.dynamicLoader.callback[parsedFuncId];
//  
//            return func;
//          }
//        },
//        
//        imLoaded : function ( src )
//        {
//            var imLoadedCall = this.getImLoadedCall( src );
//            if(imLoadedCall)
//            {
//              kj.debug.alert(src + " Loaded");
//              imLoadedCall();
//              return true;
//            }   
//            return false;
//        },
//        
//        loadJS : function( src , callbackAlert )
//        {
//          this.pushFunc( callbackAlert );
//          var funcId = (this.callback.length - 1);
//          var isLoaded = Tools.dynamicJsLoad( src , funcId);
//          if(!isLoaded)
//          {
//	      kj.debug.alert(src + " Already Loaded");
//	      this.callback.splice(funcId , 1);
//	      callbackAlert();
//          }
//        },
//        
//        loadCSS : function( src )
//        {
//	      Tools.dynamicCssLoad( src ) 
//        },
//        
//        loadRes : function ( src , callbackAlert )
//        {
//          var resPath = kj.include.getResPath( src );
//          Tools.dynamicLoader.loadJS( resPath , callbackAlert );
//        }
//    },
//	
//    wakeUpCachedPics: function( div )
//    {
//	    var allPics = div.getElementsByTagName("img");
//	    for ( var i = 0; i< allPics.length ; i++)
//	    {
//	        var pic = allPics[i];
//	        var cachedSrcAtt = pic.attributes[kj.c.CACHED_SRC];
//	        if (pic.src == "")
//		    if ( cachedSrcAtt )
//		        pic.src = cachedSrcAtt.value;
//	    }
//    },
//    
//    addEvent : function ( obj, type, fn ) {
//      if ( obj.attachEvent ) {
//        obj['e'+type+fn] = fn;
//        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
//        obj.attachEvent( 'on'+type, obj[type+fn] );
//      } else
//        obj.addEventListener( type, fn, false );
//        
//        return obj
//    },
//    
//    getTitleIfNeeded : function( name ,maxLength)
//    {
//        var value,title;        
//        
//        if(!maxLength){ maxLength = 10; }
//        maxLength = Tools.fixLimitationLength( maxLength );

//        if(name.length > maxLength){
//          value = name.substring(0,maxLength) + "..";
//          title = name;
//        }
//        else{
//          value = name;
//          title = "";
//        }
//        
//        var handledName = { value : value, title : title }        
//        return handledName;
//    },
//    
//    fixLimitationLength : function (maxLength)
//    {
//        if(g_language == kj.c.LANG_ZH)
//        {
//            return (maxLength / 2);
//        }
//        return maxLength;
//    },

//    fitIframeToItsContent : function(iframeId , formId , extraHeight)
//    {
//        var exHeight = extraHeight ? extraHeight : 0;
//        var parentWrap = window.top.document.documentElement;
//        var iframes = parentWrap.getElementsByTagName("iframe");

//        for(var i=0; i<iframes.length; i++)
//        {
//            if(iframes[i].id == iframeId)
//            {
//              var newFrameHeight = $(formId).offsetHeight + exHeight;//10;
//              iframes[i].height = newFrameHeight + "px";
//            }
//        }
//    },
//    
//    popUpLogMeIn : function( nextFunc )
//    {
//      if(!nextFunc) 
//      {
//        nextFunc = Tools.sendTestRequest; 
//      }
//      
//       var triggerStandalonePopupCommon = function()
//       {
//         saPopupC.popUpLogMeIn( nextFunc );
//       }
//       
//       var standalonePopupCommon = kj.c.path.JS_STAND_ALONE_POPUP;
//       Tools.dynamicLoader.loadJS( standalonePopupCommon , triggerStandalonePopupCommon);
//    },
//    
//    sendTestRequest : function()
//    {
//       var triggerRequest = function()
//       {
//         var ajaxPoster = new AjaxXmlPost( kj.c.ajax.FN_LOG_ME_IN );
//         
//         var ajaxCallback = function()
//         {
//          alert("woooooopyyyyyy !!");
//         }
//         ajaxPoster.send( ajaxCallback );
//       }
//       triggerRequest();
//    },
//    
//    createElement : function(tag, attribs, className, parent , debgug )
//    {
//	    if (parent )
//		     {
//			     if ( parent.ownerDocument  )
//				     parentOwner = parent.ownerDocument 
//			     else 
//			 	    alert("dont find PARENT.ownerDocument ")
//		     }
//	    else {
//			    parentOwner = document;
//		     }
//    	
//    //if ( debgug ) alert("create elelmet tag :="+ tag +parentOwner. :="+ parentOwner" +"parentOwner.createElement :=" +parentOwner.createElement ) 

//		    var el = parentOwner.createElement(tag);
//	    if ( attribs ) setAttribs(el, attribs);
//	    if ( className )  el.className = className;//setStyles(el, styles);

//	    if ( parent ) parent.appendChild(el);
//	    return el;
//    },
//    
//    getDocumentScrollXY : function() 
//    {
//      var pos= {x:0,y:0}
//      if( typeof( window.pageYOffset ) == 'number' ) {
//        //Netscape compliant
//        pos.y = window.pageYOffset;
//        pos.x = window.pageXOffset;
//      } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//        //DOM compliant
//        pos.y = document.body.scrollTop;
//        pos.x = document.body.scrollLeft;
//      } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//        //IE6 standards compliant mode
//        pos.y = document.documentElement.scrollTop;
//        pos.x = document.documentElement.scrollLeft;
//      }
//      return pos;
//    },
//    
//    getSizeOfWindow : function() 
//    {
//      var pos = {width:0, height:0};
//      if( typeof( window.innerWidth ) == 'number' ) {
//        //Non-IE
//        pos.width = window.innerWidth;
//        pos.height = window.innerHeight;
//      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//        //IE 6+ in 'standards compliant mode';
//        pos.width = document.documentElement.clientWidth;
//        pos.height = document.documentElement.clientHeight;
//      } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//        //IE 4 compatible
//        pos.width = document.body.clientWidth;
//        pos.height = document.body.clientHeight;
//      }
//      return pos
//    //  window.alert( 'Width = ' + myWidth );
//    //  window.alert( 'Height = ' + myHeight );
//    },
//    
//    getMousePosToObj : function (evt,obj)
//    {
//	    var pos ={x:0, y:0};
//	    var offsetMouse= Tools.getMousePosToPage(evt);
//	    var offsetObj= Tools.getObjPosFromDoc(obj);
//	    pos.x=offsetMouse.x-offsetObj.x;
//	    pos.y=offsetMouse.y-offsetObj.y;
//        //window.status = "x:"+offsetMouse.x+"-"+offsetObj.x+'='+pos.x +' y:'+offsetMouse.y+'-'+offsetObj.y +'=' +pos.y +' ->'+ evt.srcElement.nodeName;
//        return pos;
//    },
//    
//    getMousePosToPage : function (evt) 
//    {
//	    var pos ={x:0, y:0};
//	    if (!evt) var evt = window.event;
//	    if (evt.pageX || evt.pageY) 	{
//		    pos.x = evt.pageX;
//		    pos.y = evt.pageY;
//	    }
//	    else if (evt.clientX || evt.clientY) 	{

//    //		var offsetMouse ={x:evt.x,y:evt.x} //getMouseOffsetToThisObj( evt );
//    //		var offsetThisObj = getObjPosFromDoc( evt.srcElement)
//    				
//		    var scrollPage = Tools.getDocumentScrollXY()
//		    pos.x = evt.clientX +scrollPage.x;
//		    pos.y = evt.clientY +scrollPage.y;
//    //		pos.x = offsetMouse.x //+ offsetThisObj.x;
//    //		pos.y = offsetMouse.y //+ offsetThisObj.y;
//    //	window.status = "x:"+pos.x +' y:'+pos.y;
//	    }
//	    return pos;
//    },
//    
//    getObjPosFromDoc : function (obj) 
//    {
//	    var pos={x:0,y:0}
//	    if (obj.offsetParent) {
//		    pos.x = obj.offsetLeft
//		    pos.y = obj.offsetTop
//		    while (obj = obj.offsetParent) {
//			    pos.x += obj.offsetLeft
//			    pos.y += obj.offsetTop
//		    }
//	    }
//	    return pos;
//    },
//    
//    // get the current time and date of clients computer.
//    // in order to compare to base server
//    getTimeStamp : function ( input )
//    {
//      var d = new Date();
//      var year = d.getFullYear();
//      var month = d.getMonth() + 1;
//      var day = d.getDate();
//      var hour = d.getHours();
//      var minute = d.getMinutes();
//      var seconds = d.getSeconds();
//                                                
//      var stringer = function(str)
//      {
//        return str + "|";
//      }
//      var buffer = new Array();
//      buffer.push(stringer(year));
//      buffer.push(stringer(month));
//      buffer.push(stringer(day));
//      buffer.push(stringer(hour));
//      buffer.push(stringer(minute));
//      buffer.push(stringer(seconds));
//           
//      var stringFormat = buffer.join('');
//      
//      if(input)
//      {                                          
//        input.value = stringFormat; 
//      }
//      else
//      {
//       return stringFormat;
//      }
//    },
//    
//    getTimeStampBackwords : function ( timeStamp )
//    {
//      var timeStampSplitted = timeStamp.split('|');
//      
//      var year = parseInt(timeStampSplitted[0]);
//      var month = parseInt(timeStampSplitted[1]); ;
//      var day = parseInt(timeStampSplitted[2]); ;
//      var hour = parseInt(timeStampSplitted[3]); ;
//      var minute = parseInt(timeStampSplitted[4]); ;
//      var seconds = parseInt(timeStampSplitted[5]); ;
//      
//      var dt = new Date();
//      dt.setFullYear(year,(month - 1),day);
//      dt.setHours(hour);
//      dt.setMinutes(minute);
//      dt.setSeconds(seconds);
//      
//      return dt;
//    },
//    
//    changeBackground : function (obj , newColor)
//    {
//     if(obj)
//     {
//      obj.style.backgroundColor = newColor;
//     }
//    },
//    
//    changeColor : function (obj , newColor , goDeeper)
//    {
//     if(obj)
//     {
//      if(obj.style)
//      {
//        obj.style.color = newColor;
//      }
//      
//      if(goDeeper)
//      {
//         var action = function( child )
//         {
//          Tools.changeColor( child , newColor );
//         }
//         Tools.applyActionOnAllChildren( obj , action);
//      }
//     }
//    },
//    
//    isDigitOnly : function (value)
//    {  
//        //check if enter only numbers
//        var reg = new RegExp("^[0-9]+$");
//        var resultReg = reg.exec(value);
//        if(resultReg == null)
//        {
//            return false;
//        }   
//        return true;
//    },
//    
//    getCookie : function (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 "";
//    },
//    
//    setCookie : function (c_name,value,expiredays)
//    {  
//        var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);
//        document.cookie=c_name+ "=" +escape(value)+
//        ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
//    },
//    
//    clearCookie : function (c_name)
//    {
//        Tools.setCookie(c_name,"",-1);
//    },
//    
//    getBrowserType : function ()
//    {
//        var browser = navigator.userAgent;
//        var browserType;
//        
//        if( INFO.ie ){
//            browserType = "IE";
//        }
//        else{
//            if( browser.match("Chrome") ){
//                browserType = "Chrome";
//            }
//            else
//                if(browser.match("Safari") ){
//                    browserType = "Safari";
//                }
//                else
//                    if(browser.match("Firefox")){
//                        browserType = "Firefox";
//                    }
//                    else
//                        browserType = "Other";
//        }
//        return browserType;
//    },
//    
//    applyActionOnAllChildren : function ( obj , action )
//    {
//      if(obj.childNodes)
//      {
//        for(var i=0; i<obj.childNodes.length; i++)
//        {
//         var child = obj.childNodes[i];
//         action(child);
//         if(child.childNodes)
//         {
//           if(child.childNodes.length > 0)
//           { 
//            Tools.applyActionOnAllChildren(child,action);
//           }
//         } 
//        }
//      }
//    },
//    
//    // Klikot Block Layout Functions //
//    objAbouvBlockLayout : null,
//    
//    callBackFuncBlockLayout : function(params){},
//    
//    paramsForCallBackFunc : {},
//    
//    closeKlikotBlockLayout : function()
//    {
//        if( Tools.objAbouvBlockLayout ){
//        $("klikotBlockLayout").className = "klikotBlockLayoutHidden";
//        Tools.objAbouvBlockLayout.className = Tools.objAbouvBlockLayout.className.replace(" elementAboveTheBlockLayout","");
//        Tools.callBackFuncBlockLayout(Tools.paramsForCallBackFunc);
//        Tools.objAbouvBlockLayout = null;
//        }
//    },
//    
//    displayKlikotBlockLayout : function(params,callBackFunc)
//    {
//        var spaceWidth = 3;
//        $("klikotBlockLayout").className = "klikotBlockLayout";        
//        $("klikotBlockLayout").style.width = eval(document.body.clientWidth - spaceWidth) + "px";        
//        //$("klikotBlockLayout").style.height = screen.height + screen.availHeight + "px";        
//        var wimdowHeight = Math.max(document.body.clientHeight,(document.documentElement.clientHeight -spaceWidth));        
//        $("klikotBlockLayout").style.height = wimdowHeight + "px";
//        
//        Tools.objAbouvBlockLayout = params.obj;
//        params.obj.className += " elementAboveTheBlockLayout";
//        if(callBackFunc)
//            callBackFunc(params);
//    },
//    // End -> Klikot Block Layout Functions //
//    
//    activateGlobalDragObject : function(objRef , offsetX , offsetY, letGoWhenMouseUp)
//    {
//	    if (letGoWhenMouseUp)
//	    {	
//		    var glblMove =  function ( evt )
//		    {
//			    if ( !INFO.whichMouseButPress ) { 
//				    OnMouseMoveFiFo.removeCurrent() 
//				    return false
//			    }
//			    var pos = getMousePosToPage( evt )
//			    objRef.style.top  = (pos.y - offsetY ) +"px";
//			    objRef.style.left = (pos.x - offsetX ) +"px";
//		    }	
//	    }
//	    else {	
//		    var glblMove = function ( evt )
//		    {
//			    if (typeof objRef == "undefined"){
//				    OnMouseMoveFiFo.removeCurrent();
//				    return false;
//			    }
//			    var pos = getMousePosToPage( evt )
//			    objRef.style.top  = (pos.y - offsetY ) +"px";
//			    objRef.style.left = (pos.x - offsetX ) +"px";
//		    }
//	    }
//	    return OnMouseMoveFiFo.pushFunc( glblMove )
//    }
//}
//    
//var OnLoadFiFo = new OnLoadFIFO();
//var FIFO;
//function OnLoadFIFO() 
//{
//    FIFO =new Array();
//    RENDER = new Array();
//    this.pushFunc = function(func) 
//	{
//	    FIFO.push(func);
//	}
//	
//	this.pushPreRender = function(func) 
//	{
//	    RENDER.push(func);
//	}
//    var runOnloadFunctions =function () { 
//	    for (var i=0;i<FIFO.length;i++)
//	        //for (var i=0;i<6;i++)
//	    {
//	        FIFO[i]();
//	        //	    kj.debug.alert(FIFO[i].name);
//	    }
//	    
//	    for (var i=0;i<RENDER.length;i++)
//	        //for (var i=0;i<6;i++)
//	    {
//	        RENDER[i]();
//	        //	    kj.debug.alert(FIFO[i].name);
//	    }
//    }
//    window.onload =runOnloadFunctions;
//    //	document.write("only running first all -1 fifo funcs " );
//}
// 

//try {

//var INFO = {
//	ie : (document.all && !window.opera),
//	nn6 : $ && !document.all,
//	safari : navigator.userAgent.indexOf("Safari") != -1, // Or chrome
//	whichMouseButPress : 0,
//	version : parseInt(navigator.appVersion),
//	browser : navigator.appName,
//	prevXMouse : null,
//	pervYMouse : null,
//	XMouse : null,
//	YMouse :null 
//}

//}catch(e){}



