﻿
var pageLocation;

//go to select page number
function gotoPage(obj,pageName,QS)
{
	window.location = pageName + "?Page=" + obj.selectedIndex + "&" + QS;
}

//set object to be disabled or enabled
function enableDisabled(obj,id)
{
	if(obj.checked)
		$(getElementByServerID(id)).removeAttr('disabled');
	else
		$(getElementByServerID(id)).attr('disabled', 'disabled');
}

//set&remove readOnly from an object
function setReadOnly(id)
{
	getElementByServerID(id).readOnly=(!getElementByServerID(id).readOnly);		
}
	
//show or hide an object
function showHideObject(obj,id)
{
	if(obj.checked)
	    getElementByServerID(id).style.display="block";
	else
		getElementByServerID(id).style.display="none";
}

//
function clearField(id)
{
	getElementByServerID(id).value="";
}

function hideObject(id)
{
	if(getElementByServerID(id))
		getElementByServerID(id).style.display="none";
}	

//open popup window
function openWindow(url,name,features)
{
    var width = 400;
    var height = 300;
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt((screen.availHeight/2) - (height/2));
   
    if(features.indexOf("top=") == -1 || features.indexOf("left=") == -1 )
        features+= ",top=" + top + ",left=" + left
    
	window.open(url,name,features);
}

//build list of checked objects
function addRemoveId(id, limit, errorMessage, globalIdsObject) 
{
	if (globalIdsObject.value.indexOf("|" + id + "|,")>-1)
    {
		globalIdsObject.value = globalIdsObject.value.replace("|" + id + "|," , "");
    }
    else
    {
		if(limit==-1 || globalIdsObject.value.split(",").length<=limit)
        {
			globalIdsObject.value = globalIdsObject.value + "|" +  id + "|,";
        }
        else 
        {
			alert(errorMessage);
			document.getElementById("cbx" + id).checked=false;
		}
	}
}

//Ckecked or unchecked all checkboxes
function checkAll(obj, objsName, checkedCSS, unCheckedCSS, hiddenObj, globalIdsObject, idStartingPosition) 
{
    var inputs;
    var back = "#FFF";
    var border = "1px solid #BDD3E8";
    
	if(jQuery)
	    inputs = $("input[name='"+objsName +"']:not(:disabled)");
	else
	    inputs= document.getElementsByName(objsName);
	    
	var state = obj.checked;
	if(state)//clear 'srcIds' from already selected objects
	    globalIdsObject.value = "";

	if (state == true)
	{
	    back = "#BDD3E8";
	    border = "1px solid #FFF";
	}
		
    // loop over all the inputs and add or remove their id to the hidden element
	for (i = 0; i < inputs.length; i++)
    {
	    if ('checkbox' == inputs[i].type.toLowerCase() && $(inputs[i]).closest("[id*='GroupSelectionTr']").css("display") != "none") 
        {
	        $(inputs[i]).attr("checked", state);
            id = inputs[i].id.substring(idStartingPosition, inputs[i].id.length);
            addRemoveId(id, -1, "", globalIdsObject);
            
            if (objsName == "ckboxG") 
            {   // if groups list
                $(inputs[i]).parent().parent().children().css("background-color", back);
                $(inputs[i]).parent().parent().children().css("border-bottom", border);
            }
            else 
            {   // if mailinglist
                $(inputs[i]).parent().parent().css("background-color", back);
            }
		}
    }

	if(getElementByServerID(hiddenObj))
    {
		getElementByServerID(hiddenObj).value = globalIdsObject.value;
	}
}

//Set css / remove css from grid line
function setLineCSS(obj, checkedCSS, unCheckedCSS) 
{
    if (obj.parentNode != null && obj.parentNode.parentNode != null) 
    {
        if (obj.checked) 
        {
            srcCSS = unCheckedCSS;
            tarCSS = checkedCSS;
        } 
        else 
        {
            srcCSS = checkedCSS;
            tarCSS = unCheckedCSS;
        }

        var parentTR = obj.parentNode.parentNode;
        var parentTRChildNodes = parentTR.getElementsByTagName("TD");

        for (var j = 0; j < parentTRChildNodes.length; j++) 
            parentTRChildNodes[j].className = tarCSS;
    }
}

function navigate(url)
{
	document.location = url;
}

//set class of mouse activity
function mouseOver(ctrl,style)
{
    if(ctrl.className!="ToggleModeSelectedCss")
	    ctrl.className=style;
}

function mouseOut(ctrl,style)
{	
    if(ctrl.className!="ToggleModeSelectedCss")
	    ctrl.className=style;
}

function mouseDown(ctrl) 
{
    var parent = $(ctrl).parents("table")[0];

    $(parent).find("#normalView")[0].className = "ToggleModeOffCss";
    $(parent).find("#HTMLView")[0].className = "ToggleModeOffCss";

    if( document.getElementById("preview") != null )
        document.getElementById("preview").className="ToggleModeOffCss";	

    ctrl.className="ToggleModeSelectedCss";
}

function addQueryStringParam( paramName, paramValue )
{
	var url = window.location.search;
	if ( url.length > 0 )
		url += "&" + paramName + "=" + paramValue;
	else
		url = "?" + paramName + "=" + paramValue;
	
	return url;
}

function validateEmail(src) 
{
    // first trim the spaces in the email address
    src = $.trim(src);
    // if spaces are included in the address - return false
    if (src.indexOf(" ") > -1) 
        return false;

	var emailReg = "^[\\w-_\.\+]*[\\w-_\.\+]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(src);
}

function validateEmail_txtEmail(src) 
{
    if (src == "insertyourmail@export.gov.il")
   	    return false;

    var emailReg = "^[\\w-_\.\+]*[\\w-_\.\+]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(src);
}

function validateURL(src) 
{
    var urlReg = "^[A-Za-z]+://[A-Za-z0-9-_%&\?\/.=:]+\\.[A-Za-z0-9-_%&\?\/.=#]+$"; 
    var regex = new RegExp(urlReg);
    return regex.test(src);
}

//validates that the given value is positive integer
function validatePosInt(src) 
{
    var urlReg = "[0-9]+";
    var regex = new RegExp(urlReg);
    return regex.test(src) && parseInt(src,10)>0;
}


function trimStr(str)
{
	return str.replace(/^\s+|\s+$/, '')
}

function setChecked()
{
    var groups = getElementByServerID("hidSrcIdsG");
    var arr = document.getElementsByName("ckboxG") ;

    if(!groups || arr.length == 0)
        return;
        
    groups.value="";
    for(var i=0 ; i< arr.length ; i++)
    {
        if(arr[i].checked)
        {
            setLineCSS(arr[i],"GridLineChecked","GridLineUnChecked");
            groups.value += "|" +  arr[i].id.replace("cbx","") + "|,"
        }
    }
}

// Update content of cattegoryid and category name from the categories tree
function UpdateCategoriesInputs(categoryID,categoryName) 
{
    $("input[id$=contentCategoryId]")[0].value=categoryID;
    $("input[id$=contentCategoryName]")[0].value=categoryName;
}

// deprecated - use jquery instead
function getElementByServerId(id)
{
    return getElementByServerID(id);
}

// deprecated - use jquery instead
function getElementByServerID(id)
{
    var el = document.getElementById(id);
    if (el) return el;
    
    for (i=0; i < arrNamingContainerIDs.length; i++)
    {
        el = document.getElementById(arrNamingContainerIDs[i] + "_" + id);
        if (el) return el;
    }
}

function addWindowOnLoad(func)
{
    if (window.addEventListener)
    {
        window.addEventListener('load', func, false); 
    } 
    else if (window.attachEvent)
    {
        window.attachEvent('onload', func);
    }
}

function addEvent(obj, evName, func)
{
    if (obj.addEventListener)
    {
        obj.addEventListener(evName, func, false); 
    } 
    else if (obj.attachEvent)
    {
        obj.attachEvent('on' + evName, func);
    }
}

// Fitted for firefox
function getNextSibling(el)
{
    var rv = el.nextSibling;
    while (rv && rv.nodeType !=1) 
        rv = rv.nextSibling;
    
    return rv;
}

// deprecated - use jquery instead
function getInnerText(el)
{
    var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
    if (hasInnerText)
        return el.innerText;
    else
        return el.textContent;
}

// deprecated - use jquery instead
function setInnerText(el, value)
{
    var hasInnerText =
    (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;

    if (hasInnerText)
        el.innerText = value;
    else
        el.textContent = value;
}

function getElementTop(Elem) 
{
	if(document.getElementById) 
    {	
		var elem = Elem;
	} 
    else if (document.all) 
    {
		var elem = document.all[Elem];
	}
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) 
    {
		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
	}
	return yPos;
}

function getElementLeft(Elem) 
{
	var elem;
	if(document.getElementById) 
    {
		var elem = Elem;
	} 
    else if (document.all)
    {
		var elem = document.all[Elem];
	}
	xPos = elem.offsetLeft;
	tempEl = elem.offsetParent;
	while (tempEl != null) 
    {
		xPos += tempEl.offsetLeft;
  		tempEl = tempEl.offsetParent;
	}
	return xPos;
}

//--------------------------------Feedback--------------------------------
var _displayFeedbackValue = false;

function feedbackDisplayClose() 
{
    _displayFeedbackValue = 'none';
    setFeedbackDisplay();
}

function feedbackDisplaySwitch() 
{
    var container = getElementByServerId("feedbackContainer");
    var el = GetFeedbackIFrame();
    var link = getElementByServerID("lblOnPageText");
    
    if (container.style.display == '') 
    {
        container.style.display = 'none';
    }
    else 
    { 
        //choose where to locate the toolTip according the current language.
        var posTop;
        var posLeft;
        
        //get the continer size
        var containerWidth = $(container).width();
        var containerHeight = $(container).height();
        
        if(_clientSession.cultureCode != "he")
        {
            //english/franch
            posTop = $(link).offset().top - containerHeight;
            posLeft = $(link).offset().left - containerWidth + $(link).width();
        }
        else
        {
            //hebrew
            posTop = $(link).offset().top - containerHeight;
            posLeft = $(link).offset().left - 10;
        }

        //define the size
        if ($.browser.msie) 
        {
            container.style.top = (posTop - 10) + "px";
            container.style.left = (posLeft - 3) + "px";
        }
        else 
        {
            container.style.top = (posTop - 10) + "px";
            container.style.left = (posLeft ) + "px";
        }

        container.style.display = '';
        // ensure form is shown:
        el.contentWindow.document.getElementById('tblInnerFeedbackDisplay').style.display = '';
        el.contentWindow.document.getElementById('divFeedbackSent').style.display = 'none';
    }
}

function feedbackDisplay(displayValue, e) 
{
    var ev = window.event || e;
    var src = ev.srcElement || ev.currentTarget;

    if (!ev)
        ev = GetFeedbackIFrame().contentWindow.event;

    if ((displayValue == 'none') && ev.toElement &&
             (ev.toElement.id == 'iframeFeedbackDisplay' ||
              ev.toElement.id == 'divFeedbackDisplay' ||
              ev.toElement.id == 'tblInnerFeedbackDisplay' ||
              ev.toElement.id == 'divFeedbackSent')
           ) 
    {
        return;
    }

    if ((displayValue == 'none') && (src.id != 'divFeedbackDisplay'))
        return;

    _displayFeedbackValue = displayValue;
    
    // if set to display, show immediately
    if (displayValue == '') 
        setFeedbackDisplay();
    else // if set to hide, wait 1000 ms, and afterwards, set current flag
        window.setTimeout("setFeedbackDisplay()", 1000);
}

function setFeedbackDisplay() 
{
    getElementByServerId("feedbackContainer").style.display = _displayFeedbackValue;
}

function sendFeedbackMessage() 
{
    var el = GetFeedbackIFrame();
    var content = el.contentWindow.document.getElementById('txtFeedbackMessage').value;

    if (!content || content.trim() == '') {
        alert(getInnerText(getElementByServerID('lblRequired')));
        return;
    }

    ActiveTrail.WebSite.UserControls.UserFeedback.SendFeedbackMessage(content, location.href);

    el.contentWindow.document.getElementById('tblInnerFeedbackDisplay').style.display = 'none';
    el.contentWindow.document.getElementById('divFeedbackSent').style.display = '';
    el.contentWindow.document.getElementById('txtFeedbackMessage').value = '';
}

function GetFeedbackIFrame() 
{
    return document.getElementById('iframeFeedbackDisplay');
}
//--------------------------------Feedback--------------------------------
function createCookie(name, value, days) 
{
    if (days) 
    {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) 
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) 
    {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) 
{
    createCookie(name, "", -1);
}


function mouseDownStep(e) 
{
    var id = e.id.replace("template", "");
    openWindow("PreviewTemplate.aspx?TemplateId=" + id, "_blank", "top=10,left=10,width=780,height=580,location=no,resizable=yes,scrollbars=yes,location=no,menubar=no,status=no,toolbar=no");
}

// function for AJAX operations. converts the xml data that returns from the operation into a JSON result object 
function GetJsonObjectFromXmlData(data)
{
    var text = data.getElementsByTagName("string")[0].text; //for IE browser
            
    //for chrome and firefox
    if (typeof (text) == "undefined" || text == "" || text == "undefined") 
        text = data.getElementsByTagName("string")[0].textContent;
       
    if (text != "" && text != null)
    	return eval('(' + text + ')');
    else
    	return "";
}

function GetDataFromXmlData(data) 
{
    var text = data.getElementsByTagName("string")[0].text; //for IE browser

    //for chrome and firefox
    if (typeof (text) == "undefined" || text == "" || text == "undefined") 
        text = data.getElementsByTagName("string")[0].textContent;
    
    return text;
}

//returns query string parameter value of given query string parameter key
function getQuerystring(key, default_) 
{
    if (default_ == null) 
        default_ = "";

    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    
    if (qs == null)
        return default_;
    else
        return qs[1];
}

function createFormAndSubmit(containerId,formName, formAttributes,inputsAttributes, submitName, clickSubmitBtn) 
{
	/*********************** Insructions *****************************
    containerId -> use "" if u dont use container 
    formAttributes -> attName1=attValue1$attName2=attValue2 
    inputsAttributes -> input1Name=input1Value$input2Name=input2Value
    ******************************************************************/
    // set the form attributes 
    var frm = document.createElement('form');
    frm.setAttribute("name",formName);
    var arrFormAttributes = formAttributes.split("$");
    var nameVal, i, valFormAtt;
    for(i=0; i< arrFormAttributes.length; i++)
    {  
        nameVal = arrFormAttributes[i].split("=");
        valFormAtt = arrFormAttributes[i].substring(nameVal[0].length+1,arrFormAttributes[i].length)
        frm.setAttribute(nameVal[0], valFormAtt/*nameVal[1]*/); 
    } 
    // set the inputs attributes
    var arrInputsAttributes = inputsAttributes.split("$");
    var inputHidden;
    // alert(arrInputsAttributes.length);
    for(i=0; i< arrInputsAttributes.length; i++)
    {
    	nameVal = arrInputsAttributes[i].split("=");
    	//alert(nameVal[0]);
        inputHidden = document.createElement("input");
        inputHidden.setAttribute("name",nameVal[0]);
        inputHidden.setAttribute("type", "hidden");
        var val1 = arrInputsAttributes[i].substring(nameVal[0].length+1,arrInputsAttributes[i].length);
        inputHidden.setAttribute("value", val1);
        frm.appendChild(inputHidden);
       // alert($(inputHidden).parent().html());
    }
    // set the submit button
    var submitBtn = document.createElement("input");
    submitBtn.setAttribute("name", submitName);
    submitBtn.setAttribute("type", "submit"); 
    submitBtn.setAttribute("value", ""); 
    frm.appendChild(submitBtn);

    // add the form to the document 
    var contId = document.getElementById(containerId);
    if (contId == null) 
    	document.body.appendChild(frm);
    else
    	contId.appendChild(frm);
    
    // submit the form
    if (clickSubmitBtn == true)
        submitBtn.click();
    else
        frm.submit();
    
    // remove the form
    if (frm.parentNode)
        frm.parentNode.removeChild(frm);
}

function validateDigitsAndLetters(src)
{
    var emailReg = "^[^\\\\~\!\@\#\$\%\^\&\*\(\)\{\}\[\\]\\=\\:\\/\\,\\;\\?\"\\|\\<\\>]+$";
    var regex = new RegExp(emailReg);
    return regex.test(src);
}

var tabsLayout;
function OpenNewCustomerDialog() 
{
    if (tabsLayout == null)
        tabsLayout = new AT.UI.Widgets.CustomerDialog(-1);

    var params = null;
    var disabledItems = 'CustomerBounces,CampaignsHistory';
    var HidedItems = null;
    var StartTab = 'ContactDetails';

    tabsLayout.ShowWithATDialog(params, disabledItems, HidedItems, StartTab);
}

//Gets string and creates xml object from it
function GetXMLObjectFromString(data) 
{
    if (window.DOMParser) 
    {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(data, "text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(data);
    }
    return xmlDoc;
}

//cuts string and adds '...' if string bigger than given length
function FormatStringToNeededLength(str, length) 
{
    if (str.length > length)
        str = str.substring(0, length) + "...";

    return str;
}

function GetURLParameter(paramName)
{
    var searchString = window.location.search.substring(1);
    var params = searchString.split("&");
    
    var val;
    for (var i = 0; i < params.length; i++)
    {
        val = params[i].split("=");
        if (val[0] == paramName)
            return unescape(val[1]);
    }
    return null;
}

/// Query string Handler /////////////////////////////////////
//////////////////////////////////////////////////////////////
// Usage Sample :                                           //
//    var QueryString = new QSObject(window.location.href); //
//    alert(QueryString["yosi"]);                           //
//////////////////////////////////////////////////////////////

function QSObject(querystring) 
{
	var qsReg = new RegExp("[?][^#]*", "i");
	hRef = unescape(querystring);
	var qsMatch = hRef.match(qsReg);
	//removes the question mark from the url
	qsMatch = new String(qsMatch);
	qsMatch = qsMatch.substr(1, qsMatch.length - 1);
	//split it up
	var rootArr = qsMatch.split("&");
	for (i = 0; i < rootArr.length; i++) 
    {
		var tempArr = rootArr[i].split("=");
		if (tempArr.length == 2) 
        {
			tempArr[0] = unescape(tempArr[0]);
			tempArr[1] = unescape(tempArr[1]);
			this[tempArr[0]] = tempArr[1];
		}
	}
}

var specialChars = new Array("©", "Û", "®", "ž", "Ü", "Ÿ", "Ý", "Þ", "%", "¡", "ß", "¢", "à", "£", "á", "À", "¤", "â", "Á", "¥", "ã", "Â", "¦", "ä", "Ã", "§", "å", "Ä", "¨", "æ", "Å", "©", "ç", "Æ", "ª", "è", "Ç", "«", "é", "È", "¬", "ê", "É", "­", "ë", "Ê", "®", "ì", "Ë", "¯", "í", "Ì", "°", "î", "Í", "±", "ï", "Î", "²", "ð", "Ï", "³", "ñ", "Ð", "´", "ò", "Ñ", "µ", "ó", "Õ", "¶", "ô", "Ö", "·", "õ", "Ø", "¸", "ö", "Ù", "¹", "÷", "Ú", "º", "ø", "Û", "»", "ù", "Ü", "@", "¼", "ú", "Ý", "½", "û", "Þ", "€", "¾", "ü", "ß", "¿", "ý", "à", "‚", "À", "þ", "á", "ƒ", "Á", "ÿ", "å", "„", "Â", "æ", "…", "Ã", "ç", "†", "Ä", "è", "‡", "Å", "é", "ˆ", "Æ", "ê", "‰", "Ç", "ë", "Š", "È", "ì", "‹", "É", "í", "Œ", "Ê", "î", "Ë", "ï", "Ž", "Ì", "ð", "Í", "ñ", "Î", "ò", "‘", "Ï", "ó", "’", "Ð", "ô", "“", "Ñ", "õ", "”", "Ò", "ö", "•", "Ó", "ø", "–", "Ô", "ù", "—", "Õ", "ú", "˜", "Ö", "û", "™", "×", "ý", "š", "Ø", "þ", "›", "Ù", "ÿ", "œ", "Ú");
var specialCharsEntity = new Array("&copy;", "&#219;", "&reg;", "&#158;", "&#220;", "&#159;", "&#221;", "&#222;", "&#37;", "&#161;", "&#223;", "&#162;", "&#224;", "&#163;", "&#225;", "&Agrave;", "&#164;", "&#226;", "&Aacute;", "&#165;", "&#227;", "&Acirc;", "&#166;", "&#228;", "&Atilde;", "&#167;", "&#229;", "&Auml;", "&#168;", "&#230;", "&Aring;", "&#169;", "&#231;", "&AElig;", "&#170;", "&#232;", "&Ccedil;", "&#171;", "&#233;", "&Egrave;", "&#172;", "&#234;", "&Eacute;", "&#173;", "&#235;", "&Ecirc;", "&#174;", "&#236;", "&Euml;", "&#175;", "&#237;", "&Igrave;", "&#176;", "&#238;", "&Iacute;", "&#177;", "&#239;", "&Icirc;", "&#178;", "&#240;", "&Iuml;", "&#179;", "&#241;", "&ETH;", "&#180;", "&#242;", "&Ntilde;", "&#181;", "&#243;", "&Otilde;", "&#182;", "&#244;", "&Ouml;", "&#183;", "&#245;", "&Oslash;", "&#184;", "&#246;", "&Ugrave;", "&#185;", "&#247;", "&Uacute;", "&#186;", "&#248;", "&Ucirc;", "&#187;", "&#249;", "&Uuml;", "&#64;", "&#188;", "&#250;", "&Yacute;", "&#189;", "&#251;", "&THORN;", "&#128;", "&#190;", "&#252", "&szlig;", "&#191;", "&#253;", "&agrave;", "&#130;", "&#192;", "&#254;", "&aacute;", "&#131;", "&#193;", "&#255;", "&aring;", "&#132;", "&#194;", "&aelig;", "&#133;", "&#195;", "&ccedil;", "&#134;", "&#196;", "&egrave;", "&#135;", "&#197;", "&eacute;", "&#136;", "&#198;", "&ecirc;", "&#137;", "&#199;", "&euml;", "&#138;", "&#200;", "&igrave;", "&#139;", "&#201;", "&iacute;", "&#140;", "&#202;", "&icirc;", "&#203;", "&iuml;", "&#142;", "&#204;", "&eth;", "&#205;", "&ntilde;", "&#206;", "&ograve;", "&#145;", "&#207;", "&oacute;", "&#146;", "&#208;", "&ocirc;", "&#147;", "&#209;", "&otilde;", "&#148;", "&#210;", "&ouml;", "&#149;", "&#211;", "&oslash;", "&#150;", "&#212;", "&ugrave;", "&#151;", "&#213;", "&uacute;", "&#152;", "&#214;", "&ucirc;", "&#153;", "&#215;", "&yacute;", "&#154;", "&#216;", "&thorn;", "&#155;", "&#217;", "&yuml;", "&#156;", "&#218;");

function replaceSpecialChars(src) 
{
    for (i = 0; i < specialChars.length; i++) 
    {
        regexp = new RegExp(specialChars[i], "g");
        regexp.multiline = true;
        regexp.ignoreCase = false;
        src = src.replace(regexp, specialCharsEntity[i]);
    }   
    return src;
}

var scriptFragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
function stripScripts (src)
{
    return src.replace(new RegExp(scriptFragment, 'img'), '');
}

function SetBubble(alignDir) 
{
    var direction = 'ltr';
    var textAlign = 'left';
    if (alignDir == 'he' || alignDir == 'right') 
    {
        direction = 'rtl';
        textAlign = 'right';
    }

    $(".bubble").qtip({
        show: 'mouseover',
        hide: 'mouseout',
        background: '#ffffff',
        style: {
            width: 200,
            border: {
                width: 1,
                radius: 3,
                color: '#87a0ce'
            },
            direction: direction,
            textAlign: textAlign,
            padding: 5,
            tip: 'bottomMiddle'
        },
        position: {
            corner: {
                target: 'topMiddle',
                tooltip: 'bottomMiddle'
            },
            adjust: { screen: true }
        },
        effect: {
            length: 300
        }
    })
}
