$(document).ready(function(){
    setTemplateForSearchPage()                
    if (search == ''){
        $('input[name=HighlightOption]').attr('disabled','disabled');
    }            
});

function hightLightKeyword(value, list, keyword) {
    if (keyword == '') return;        
    
    keyword = keyword.split(" ");   
    var length = keyword.length; 
    var content = $(list);                                                
    var sizeContent = $(content).length;                                
    for(var index=0; index < length; index++) {
        
        if (navigator.userAgent.indexOf("Firefox")!=-1) {           
            search1 = '<span class="highlight1">' + keyword[index] + '</span>';
            search2 = '<span class="underline">' + keyword[index] + '</span>';
            search3 = '<span class="highlight2">' + keyword[index] + '</span>';           
        }
        else {          
            search1 = "<span class=highlight1>" + keyword[index] + "</span>";            
            search2 = "<span class=underline>" + keyword[index] + "</span>";            
            search3 = "<span class=highlight2>" + keyword[index] + "</span>";
        }    
        replace = '';        
        if(value == 1){
            replace = search1;
        }      
        else if(value == 2) {
            replace = search2;
        }
        else {
            replace = search3;
        }
         
        for(var i = 0; i<sizeContent; i++) {                    
            var contentTemp = '';          
            if(typeof(previousRadioButton) == 'undefined') {           
                $(content[i]).html(str_ireplace(" "+keyword[index]+" ", " "+replace+" ", $(content[i]).html()));                
                $(content[i]).html(str_ireplace(">"+keyword[index]+" ", ">"+replace+" ", $(content[i]).html()));
                $(content[i]).html(str_ireplace(" "+keyword[index]+"<", " "+replace+"<", $(content[i]).html()));
            }
            else {
                if(previousRadioButton == 1) {                 
                    contentTemp = str_ireplace(" "+search1+" ", " "+keyword[index]+" ", $(content[i]).html());
                    contentTemp = str_ireplace(">"+search1+" ", ">"+keyword[index]+" ", contentTemp);                                        
                    contentTemp = str_ireplace(" "+search1+"<", " "+keyword[index]+"<", contentTemp);
                }
                else if(previousRadioButton == 2) {                
                    contentTemp = str_ireplace(" "+search2+" ", " "+keyword[index]+" ", $(content[i]).html());
                    contentTemp = str_ireplace(">"+search2+" ", ">"+keyword[index]+" ", contentTemp);
                    contentTemp = str_ireplace(" "+search2+"<", " "+keyword[index]+"<", contentTemp);
                }
                else {                                     
                    contentTemp = str_ireplace(" "+search3+" ", " "+keyword[index]+" ", $(content[i]).html());                    
                    contentTemp = str_ireplace(">"+search3+" ", ">"+keyword[index]+" ", contentTemp);
                    contentTemp = str_ireplace(" "+search3+"<", " "+keyword[index]+"<", contentTemp);
                }
                
                $(content[i]).html(str_ireplace(" "+keyword[index]+" ", " "+replace+" ", contentTemp));
                $(content[i]).html(str_ireplace(">"+keyword[index]+" ", ">"+replace+" ", $(content[i]).html()));
                $(content[i]).html(str_ireplace(" "+keyword[index]+"<", " "+replace+"<", $(content[i]).html()));
            }                                                                           
        }                   
    }    
    previousRadioButton = value;                          
}  

/**
 * Checks if a value exists in an array
 * Return boolean  
 */ 
function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict; 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {                
                return true;
            }
        }
    }
     return false;
}

/**
 * Returns a string or an array with all occurrences of search in subject (ignoring case) replaced with the given replace value  
 */           
/*function str_ireplace ( search, replace, subject ) { 
    var re2 = new RegExp(search, "g");    
    return subject.replace(re2, replace);
}                                        */
function str_ireplace ( search, replace, subject ) {
    var i, k = '';
    var searchl = 0;    var reg;
 
    var escapeRegex = function(s) {
        return s.replace(/([\\\^\$*+\[\]?{}.=!:(|)])/g, '\\$1');
    }; 
    search += '';
    searchl = search.length;
    if (!(replace instanceof Array)) {
        replace = [replace];        
        if (search instanceof Array) {
            // If search is an array and replace is a string,
            // then this replacement string is used for every value of search
            while (searchl > replace.length) {
                replace[replace.length] = replace[0];            
            }
        }
    }
 
    if (!(search instanceof Array)) {        
        search = [search];
    }
    while (search.length>replace.length) {
        // If replace has fewer values than search,
        // then an empty string is used for the rest of replacement values        
        replace[replace.length] = '';
    }
 
    if (subject instanceof Array) {
       //  If subject is an array, then the search and replace is performed        
       //  with every entry of subject , and the return value is an array as well.
        for (k in subject) {
            if (subject.hasOwnProperty(k)) {
                subject[k] = str_ireplace(search, replace, subject[k]);
            }        
        }
        return subject;
    }
 
    searchl = search.length;    
    for (i = 0; i < searchl; i++) {
        reg = new RegExp(escapeRegex(search[i]), 'gi');
        subject = subject.replace(reg, replace[i]);
    }
     return subject;
}  
