
// Locale: ar_JO
function tx(str,args){
    t = str;
    str=_string_table[str];

    if (typeof str=='undefined'){
        str = t;
    }

    if(args){
        if(typeof args!='object'){
            Util.error('intl.js: the 2nd argument must be a keyed array (not a string) for tx('+str+',...)');
        }
        else{
            for(var key in args){
                var regexp=new RegExp('\{'+key+'\}',"g");
                str=str.replace(regexp,args[key]);
            }
        }
    }
    return str;
}

function validateDate(day, month, year)
{
    //var day = parseInt(day); var month=parseInt(month); var year=parseInt(year);
    if(day <= 0 || day > 31){
        return false;
    }

    if (year==0){
        return false;
    }

    if (month==0){
        return false;
    }
    else if (month==2){
        if(day > 29)
            return false;
        else if(day == 29)
            return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))));
    }
    else if (month == 4 || month == 6 || month == 9 || month == 11){
        if(day > 30)
            return false;
    }
    else{
        if (day > 31)
            return false;
    }
    return true;
}

function addEditor(textAreaName, language, toolbarSet, width, height, value){
    // toolbarSet can be one of the followings: { Default, Basic, d1g}
    if(toolbarSet == null)
        toolbarSet = "d1g";

    var oFCKeditor = new FCKeditor( textAreaName, width, height, toolbarSet, value  ) ;
    oFCKeditor.BasePath = "/javascripts/fckeditor/" ;

    oFCKeditor.Config[ "DefaultLanguage" ] = language ;
    oFCKeditor.Config[ "CustomConfigurationsPath" ] =  "/javascripts/d1g_fckeditor_config.js"  ;

    // getting language and text direction:
    var direction = 'ltr'
    if(language == 'ar')
        direction = 'rtl';
    oFCKeditor.Config[ "ContentLangDirection" ] = direction ;

    // oFCKeditor.Create() ;
    oFCKeditor.ReplaceTextarea() ;
}

function inviteFriends(video_id)
{
    var html='\n\
<div ><span style="cursor:pointer;background-color:#C0C0C0;" onclick="d1gShare(this,\''+video_id+'\')">'+tx("d1g contacts")+'</span> |\n\
<span style="cursor:pointer;" onclick="networkShare(this,\''+video_id+'\')">'+tx("Other social networks")+'</span>\n\
        </div>\n\
<div style="margin:5px;border-top:1px solid #DDDDDD" ></div>\n\
<div id ="d1gShare">'+tx('Click the button bellow fetch d1g contacts')+
    ' <div style="text-align:center;"><input type="button" value="'+tx("Load")+'" style="border:0px;" onclick="fetchD1gFrineds()"/></div>\n\
        </div>\n\
<div id ="networkShare"  style="display:none" >\n\
        <table><tr><td style="width:100px">'+tx('Your Email')+'</td>\n\
            <td><input type="text" id="userId" name="user_id" size="30"/></td></tr>\n\
            <tr><td>'+tx("Password")+'</td>\n\
            <td><input type="password" name="password" id="password" size="30"></td></tr>\n\
            <tr><td>@</td><td><select id="email_providers" >\n\
            <option value="facebook.com">Facebook.com</option>\n\
            <option value="hi5.com">Hi5.com</option>\n\
            <option value="myspace.com">Myspace.com</option>\n\
            </select>\n\
            </td></tr>\n\
            </table>\n\
            <div style="text-align:center;"><input type="button" value="'+tx("Load")+'" style="border:0px;" onclick="fetchNetworkFriends()"/></div>\n\
            </div>\n\
</div>\n\
 <div id="statusContainer" style="margin:20px 0px;display:none;border-top:1px dotted #DDDDDD;border-bottom:1px dotted #DDDDDD;">\n\
 <div id="shareStatus" style="text-align:center;display:none;"><img src="/images/new/loading_animation.gif" /></div>\n\
 <div id="selected_addresses" style="text-align:center"></div>\n\
        '
    block_dialog(tx('Share friends'),html)
}
function d1gShare(elem){
    jQuery('#selected_addresses').html('')
    jQuery('#networkShare').slideUp();
    jQuery(elem).css({
        'background-color':'#FFF'
    });
    jQuery('#d1gShare').slideDown();
    jQuery(elem).next('span').css({
        'background-color':'#C0C0C0'
    });
}
function networkShare(elem){
    jQuery('#selected_addresses').html('')
    jQuery('#d1gShare').slideUp();
    jQuery(elem).css({
        'background-color':'#FFF'
    });
    jQuery('#networkShare').slideDown();
    jQuery(elem).prev('span').css({
        'background-color':'#C0C0C0'
    });
}
function fetchD1gFrineds(){
    fetchFriends({
        'provider':'d1g.com'
    })
}
function fetchNetworkFriends(){
    fetchFriends({
        'user_id':jQuery('#userId').val(),
        'password':jQuery('#password').val(),
        'provider':jQuery('#email_providers option:selected').val()
    })
}

function fetchFriends(params){
    jQuery('#selected_addresses').hide();
    jQuery("#statusContainer").show();
    jQuery('#shareStatus').show();
    jQuery.post('/account/social_friends',
        params,
        function(data){
            jQuery('#shareStatus').hide();
            jQuery('#selected_addresses').html(data).show()
        }
        )
}

function sendInvititations(){
    var msg = jQuery('#messageText').val()
    var provider = jQuery("#d1gShare").css('display') == 'block' ? 'd1g.com' : jQuery('#email_providers option:selected').val()
    var addresses = []
    var names=[]
    var $addressesCheckboxes =jQuery('.contact_checkbox:checked')
    var link = ((jQuery('#shareLink').length>0) ? jQuery('#shareLink').attr('href') : location.href).split('-')[0]
    $addressesCheckboxes.each(function(i){
        addresses[i]=this.id.replace('checkbox_','');names[i]=this.value
    })
    jQuery('#selected_addresses').html('');jQuery('#shareStatus').show();jQuery.post('/account/share_friends',
    {
        'share_link': link,
        'to_send[]':addresses,
        'names[]':names,
        'message_text':msg,
        'provider':provider
    },
    function(data){
        jQuery('#shareStatus').hide();jQuery('#selected_addresses').html(data)
    }
    )
}

function vote(id, rating, div, module, votes, rate, total, ratename) {
    var value = ( rate * votes + rating ) / ( votes + 1 )
    value = Math.round(value*100)/100
    votes = votes + 1
    jQuery('#'+div).html('<img src="/images/icons/accept.gif" alt="Rated" title="You have rated this listing" /><div class="rating_info">'+total+'&nbsp;'+votes+'&nbsp;'+ratename+'&nbsp;'+value+'</div>')
    jQuery.ajax({
        type: "POST",
        url:'/'+module+'/vote/'+id+'?r='+rating
    });
    return false; // Don't follow link
}


function setFocus()
{
    jQuery("input[@type='text'], input[@type='password'], select, textarea").focus(function(e) {
        jQuery(this).addClass("hasfocus");
    }).blur(function(e) {
        jQuery(this).removeClass("hasfocus");
    });
}


function submitonce(theform){
    //if IE 4+ or NS 6+
    if (document.all||document.getElementById){
        //screen thru every element in the form, and hunt down "submit" and "reset"
        for (i=0;i<theform.length;i++){
            var tempobj=theform.elements[i];
            if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
                //disable em
                tempobj.disabled=true;
        }
    }
}

function set_pub_profile_privacy(_update_what, _block){
    var _status = '0';
    var checked = jQuery('#'+_block).attr('checked');
    if (checked){
        _status = '1';
    }
    new jQuery.post('/account/update_pub_profile_privacy',{
        status: _status ,
        block:_block
    }, function(data){
        jQuery('#'+_update_what).html(data)
    }); return false;
}

function sendComment(url){
    jQuery('#submit_comment_bt').attr('disabled', true)
    jQuery('#submit_comment_bt').attr('class', "d1gbtn disabled")
    jQuery.post(url+'/comment',jQuery('#submit_comment').serialize()
        ,function(html){
            eval(html);if (success){
                jQuery('#before_comments').html('&nbsp;').after(data)
                jQuery('#form_guid').val(guid)
                incrementCommentsNum()
                
                jQuery('#comment_message').show().effect('highlight', {}, 5000,function() {
                    jQuery('#comment_message').hide();
                    //reset_comment_view()
                })
            }else{
                window.location.reload()
            }
        });
    return false
}

function incrementCommentsNum(){
    //increase the comments counter
    var commentsNumHTML = jQuery('#comments_box .box_title').html()
    if (commentsNumHTML){
        var commentsNum
        if(commentsNum=commentsNumHTML.match(/\d+/g))
        {
            commentsNum = parseInt(commentsNum)+1
        }
        else
        {
            commentsNum=1
        }
        jQuery('#comments_box .box_title').html(tx('comments') +' ('+commentsNum+')')
    }
}

function yahooDate(date)
{
    if (date==null)
        var d = new Date();
    else
        var d= date;
    // formated as mm/dd/yyyy
    return (d.getMonth()+1)+ '/' +// because month starts at zero
    d.getDate()+ '/' +
    d.getFullYear()

}

function setCal(lang,pageDate,selectedDate)
{
    var mySelectHandler = function(type,args,obj) {
        var selected = null;
        //jQuery("#multiSelect").attr("checked")
        if (false)
        {
            selected=this.getSelectedDates();
        }
        else
        {
            value = mySqlDate(this._toDate(args[0][0]));
            selected=[value];
        }
        alert(selected[0]);
        window.location=newLink+"?date="+selected[0];
    //jQuery.post("getnodes",{'date':selected},function(data){
    //alert(data);
    //});
    };
    currentDate= yahooDate();
    YAHOO.util.Event.onAvailable("container", function() {
        if (lang=="ar")
        {
            //MONTHS_LONG: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"]
            var myCal = new YAHOO.widget.Calendar("calEl",
                "container",{
                    MONTHS_LONG: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],
                    WEEKDAYS_SHORT:["أحد","أثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],
                    WEEKDAYS_SHORT:["أحد","أثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"] ,
                    MULTI_SELECT: true,
                    START_WEEKDAY: 6,
                    pagedate:pageDate,
                    mindate: "10/1/2006",
                    maxdate:currentDate,
                    iframe:false
                });
        }
        else
        {

            var myCal = new YAHOO.widget.Calendar("calEl",
                "container",{
                    MULTI_SELECT: true,
                    pagedate:pageDate,
                    mindate: "10/1/2006",
                    maxdate:currentDate,
                    iframe:false
                });
        }

        if (selectedDate!='')
        {
            myCal.select(selectedDate)
        }
        myCal.selectEvent.subscribe(mySelectHandler,myCal, true);
        myCal.render();
    })
}

function serialize(s)
{
    serial = jQuery.SortSerialize(s);
    alert(serial.hash);
}

function editComment(node)
{
    var nodeId=node.id
    jQuery('#comment_'+nodeId+' .comment').click(function() {
        var textarea = '<div class="comment"><textarea rows="10" cols="60">'+jQuery(this).html()+'</textarea></div>';
        var button = '<div align="center" id="update_cancel_button"><input id="update" class="buttons" type="button" value="'+update+'" /> | <input id="cancel" class="buttons" type="button" value="'+cancel+'" /></div>';
        var revert = jQuery(this).html();
        jQuery(this).after(textarea+button).remove();
        jQuery('#comment_'+nodeId+' #update').click(function(){
            saveChanges(jQuery('#comment_'+nodeId+' .comment'), revert,false,node);
        });
        jQuery('#comment_'+nodeId+' #cancel').click(function(){
            saveChanges(jQuery('#comment_'+nodeId+' .comment'), revert,true,node);
        });
    })
    .mouseover(function() {
        jQuery(this).addClass("editable");
    })
    .mouseout(function() {
        jQuery(this).removeClass("editable");
    });
}

function checkEmail(email){
    val=jQuery.trim(email);
    emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    if(val.length==0)
    {
        return false;
    }
    else if (!emailRe.test(val))
    {
        return false;
    }
    return true;
}

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('.jsddm > li').bind('mouseover', jsddm_open)
   $('.jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;


var mini = []
var type = []
var layout = []
var keywords = []
var account = []
var space_id = []
var items_per_page = []
var start = []
var page = []
var total_results = []
var rtype = []

var no_contributions = ""
var ajax_path = ""
var d1gConstants_NODE_TYPE_FORUM_TOPIC = 0
var d1gConstants_NODE_TYPE_QNA_QUESTION = 0
var d1gConstants_NODE_TYPE_AUDIO = 0
var d1gConstants_NODE_TYPE_VIDEO_VIDEO = 0
var d1gConstants_NODE_TYPE_GALLERY_IMAGE = 0
var d1gConstants_NODE_TYPE_PLOGGER_IMAGE = 0

var d1gConstants_SOUND_WEB_FOLDER = ""
var d1gConstants_SOUNDS_SERVERS = new Array();
var d1gConstants_PHOTO_WEB_FOLDER = ""
var d1gConstants_PHOTOS_SERVERS = new Array();
var d1gConstants_VIDEO_WEB_FOLDER = ""
var d1gConstants_VIDEOS_SERVERS = new Array();

var dir = ""
var text_align = ""


function get_path_from_node(node_id) {
  var id_str = ""+node_id
  var id_fix = ""
  for (i=0;i<4-id_str.length;i++)
    id_fix += "0"
  id_fix += id_str
  return id_fix.substr(id_fix.length - 2,2) + "/" + id_fix.substr(id_fix.length - 4,2) + "/"
  return ''
}

function sound_url(node_id) {
  index = node_id % d1gConstants_SOUNDS_SERVERS.length
  return d1gConstants_SOUNDS_SERVERS[index] + d1gConstants_SOUND_WEB_FOLDER + get_path_from_node(node_id) + node_id + ".mp3"
}

function to_url(node_id) {
  index = node_id % d1gConstants_PHOTOS_SERVERS.length
  return d1gConstants_PHOTOS_SERVERS[index] + d1gConstants_PHOTO_WEB_FOLDER + get_path_from_node(node_id) + node_id + "_mouseover.jpg"
}

function video_url(node_id) {
  index = node_id % d1gConstants_VIDEOS_SERVERS.length
  return d1gConstants_VIDEOS_SERVERS[index] + d1gConstants_VIDEO_WEB_FOLDER + get_path_from_node(node_id) + node_id + "_large.jpg"
}

function extract_text(elem) {
  var ret = ""
  for (var i = 0 ; i < elem.length ; i++) {
    for (var j = 0 ; j < elem[i].childNodes.length ; j++)
      if (elem[i].childNodes[j].nodeValue == null) {
        ret += "<span class='"+elem[i].childNodes[j].getAttribute("class")+"'>"
        ret += elem[i].childNodes[j].firstChild.nodeValue
        ret += "</span>"
      }
      else
        ret += elem[i].childNodes[j].nodeValue
  }
  return ret
}

function extract_plain_text(elem) {
  var ret = ""
  for (var i = 0 ; i < elem.length ; i++) {
    for (var j = 0 ; j < elem[i].childNodes.length ; j++)
      if (elem[i].childNodes[j].nodeValue == null) {
        ret += elem[i].childNodes[j].firstChild.nodeValue
      }
      else
        ret += elem[i].childNodes[j].nodeValue
  }
  return ret
}

function generate_pagination(total,page,per_page,code) {
  var ret = ""
  var pages = Math.ceil(total/per_page)
  var tail = [pages-1,pages]
  var mid = []
  for (var i=0;i<7;i++)
    mid[i] = i + page - 3

  if (mid[0] < 3) {
    var fixation = 3 - mid[0]
    for (i=0;i<7;i++)
      mid[i]+= fixation
  }
  else if (mid[7] >= pages -1) {
    fixation = Math.min(mid[0] - 3, mid[7] - tail[2] + 2)
    for (i=0;i<7;i++)
      mid[i]-= fixation
  }

  var pages_list = [1,2]
  var pages_counter = 2
  for (i=0;i<7 && mid[i] < tail[0];i++)
    pages_list[pages_counter++] = mid[i]

  for (i=0;i<2 && tail[i] > 2;i++)
    pages_list[pages_counter++] = tail[i]

  ret += "<div class='pages'>"

  if (page > 1)
    ret += "<span style='cursor:pointer;' onclick='load_page("+ (page-1) +","+code+")'>"+prev_label+"</span>"
  else
    ret += "<span class='nextprev'>"+prev_label+"</span>"

  for (i=0;i<pages_list.length;i++) {
    if (pages_list[i]==page) {
      ret += "<span class='current'>"+pages_list[i]+"</span>"
    }
    else {
      ret += "<span style='cursor:pointer;' onclick='load_page("+pages_list[i]+","+code+")'>"+pages_list[i]+"</span>"
    }
    if ((i < pages_list.length-1) && (pages_list[i] != pages_list[i+1] -1))
      ret += "<span>...</span>"
  }

  if (page < pages)
    ret += "<span style='cursor:pointer;' onclick='load_page("+ (page+1) +","+code+")'>"+next_label+"</span>"
  else
    ret += "<span class='nextprev'>"+next_label+"</span>"

  ret += "</div>"
  return ret
}

function load_page(new_page,code) {
  page[code] = new_page
  start[code] = (items_per_page[code] * (new_page - 1)) + 1

  initRelatedRequest(code)
}

function submit_form(code) {
  keywords[code]=document.getElementById('keywords'+code).value
  type[code] = parseInt(document.getElementById('type'+code).value);

  page[code] = 1
  start[code] = 0
  //items_per_page[code] = document.getElementById('items_per_page'+code).value;
  initRelatedRequest(code)
}
function initRelatedRequest(code) {
  document.getElementById('show_related'+code).style.display = "none";
  document.getElementById('loading_related'+code).style.display = "";
  var req = false;
  var type_qs = ''

  if (type[code] > 0 || type[code].length > 0) {
    type_qs = "type="+type[code]+"&"
  }

  var space_qs = ''
  if (space_id[code] > 0) {
    space_qs = "space="+space_id[code]+"&"
  }

  var new_keywords = ''

  if (keywords[code] != null) {
    var keywordsList = keywords[code].split(' ')
    for (i=0;i<keywordsList.length;i++)
      if (keywordsList[i].length > 2)
        new_keywords += keywordsList[i] + ' '
  }

  var req_url = ajax_path + type_qs + space_qs +"keyword="+keywords[code]+"&itemsPerPage="+items_per_page[code]+"&start="+start[code]
  if (rtype[code] != '') {
    req_url += '&rtype=' + rtype[code];
  }
  
  if (account[code] > 0) {
    req_url += '&account=' + account[code];
  }

    /*req = createRelatedRequestObject();
  if(req){
    req.open("GET", req_url + "&rnd_id=" + Math.random(), true);
    req.onreadystatechange = function(){
      initRelatedResponse(req,code);
    };
    req.send(null);
  }*/
$.getJSON(req_url + "&rnd_id=" + Math.random()+"&jsoncallback=?", function(data){ initRelatedResponseJson(data, code); });
}

String.prototype.charRefToUnicode = function()
{
return this.replace( /&#(([0-9]{1,7})|(x[0-9a-f]{1,6}));?/gi,
function(match, p1, p2, p3, offset, s)
{ return String.fromCharCode(p2 || ("0" + p3)); });
}

function initRelatedResponseJson(data,code) {
//  if(req.readyState == 4){
//    if(req.status == 200){
    document.getElementById('loading_related'+code).style.display = "none";
    document.getElementById('show_related'+code).style.display = "";
    var newHtml = ""
    var src = ""
	total_results[code] = '0';
	total_results[code] = data.totalResults;
	totalResults = total_results[code]
	  if (totalResults == "0" || totalResults == 0 || totalResults == null) {
        newHtml += "<div class=\"warn falign\"><img src=\"/images/icons/error.png\" alt=\"\"/>&nbsp;لا يوجد محتويات</div><br/>";
		document.getElementById('searchResults'+code).innerHTML = newHtml;
      } else {
        if (type[code] == 0 || type[code] == d1gConstants_NODE_TYPE_FORUM_TOPIC || type[code] == d1gConstants_NODE_TYPE_QNA_QUESTION || type[code] == d1gConstants_NODE_TYPE_AUDIO || type[code].length > 1) {
          newHtml += "<ul class=\"bullets menu\">";
          var items = data.items;
          for (var i = 0 ; i < items.length ; i++) {
            var item = items[i];

            var result_title = (""+item.doctitle+"").charRefToUnicode().replace(/<\/?[^>]+(>|$)/g, ""); //extract_text(item.doctitle);
            var result_description =  (""+item.description+"").charRefToUnicode().replace(/<\/?[^>]+(>|$)/g, ""); //extract_text(item.description);
            var result_link = item.link;
            var result_id = item.id;
            var result_type = item.type;
            var image = ""
            if (result_type == d1gConstants_NODE_TYPE_FORUM_TOPIC) image = "<img src=\"/images/d1g/forum.gif\" alt=\"Forum Topic\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_AUDIO) image = "<img src=\"/images/d1g/sound.gif\" alt=\"Audio\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_QNA_QUESTION) image = "<img src=\"/images/d1g/qna.gif\" alt=\"Question\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_VIDEO_VIDEO) image = "<img src=\"/images/d1g/video.gif\" alt=\"Video Clip\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_GALLERY_IMAGE) image = "<img src=\"/images/d1g/gallery.gif\" alt=\"Gallery Image\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_PLOGGER_IMAGE) image="<img src=\"/images/d1g/cartoon.gif\" alt=\"Cartoon\"/>"

            var matchTag = /<(?:.|\s)*?>/g;

            newHtml += "<li number=\""+ (start[code]+i) +"\">"

            var clean_title = result_title; //stripHTML(result_title);
            var truncated_title = clean_title; //truncate(clean_title)

            if (mini[code] != 'true') {
                newHtml += "<a title = \""+ clean_title +"\" class=\"text_related_search font11 bold\" target=\"_top\" href=\""+result_link+"\">"+ truncated_title +"</a>"
                //newHtml += " ("+ result_description.replace(matchTag, "").substr(0,20) +")&nbsp;"
                newHtml += " ("+ result_description.substr(0,20) +")&nbsp;"
                newHtml += "&nbsp;"+image+""
            } else {
                newHtml += "<a title = \""+ clean_title +"\" class=\"text_related_search font11 bold\" target=\"_top\" href=\""+result_link+"\">"+ truncated_title +"&nbsp;</a>"
                newHtml += "&nbsp;"+image+""
            }


            newHtml += ""

            if (result_type == d1gConstants_NODE_TYPE_AUDIO) {
              //var sound_path = sound_url(result_id)
              //newHtml += "<span id='static_image_"+result_id+"' class='lspeaker_div' onmouseover=\"var so = new SWFObject('/swf/mediaplayer.swf','mpl','1','1','7'); so.addParam('allowfullscreen','false'); so.addVariable('file','"+ sound_path +"'); so.addVariable('autostart',true);so.write('sound_preview_"+  result_id +"');\" onmouseout=\"getElementById('sound_preview_"+ result_id +"').innerHTML = '';\" onclick = ''><a href='#' class=''></a></span>"
            }
            newHtml += "</li><div class=\"line\">&nbsp;</div>"
          }
          newHtml += "</ul>";
            newHtml += "<div class=\"clear\">&nbsp;</div><br/>"

        }
        else if (layout[code] == 'thumbnails' || type[code] == d1gConstants_NODE_TYPE_VIDEO_VIDEO || type[code] == d1gConstants_NODE_TYPE_GALLERY_IMAGE || type[code] == d1gConstants_NODE_TYPE_PLOGGER_IMAGE) {
          newHtml += "<ul class=\"images\">";
          items = data.items;
          for (i = 0 ; i < items.length ; i++) {
            item = items[i];
            var result_plain_title = item.doctitle.charRefToUnicode().replace(/<\/?[^>]+(>|$)/g, ""); //extract_plain_text(item.doctitle);
            result_title = item.doctitle;
            result_link = item.link;
            result_id = item.id;
            result_type = item.type;
            image = ""

            if (result_type == d1gConstants_NODE_TYPE_GALLERY_IMAGE || result_type == d1gConstants_NODE_TYPE_PLOGGER_IMAGE)
                src = to_url(result_id,result_type);
            else
                src = video_url(result_id);

            if (mini[code] == 'true') {
                image = "<a style=\"font-size:11px;\" title=\""+ result_plain_title +"\" href=\""+result_link+"\" ><img alt=\""+result_plain_title+"\" class=\"falign p2\" src=\""+src+"\" width=\"70\" height=\"45\" style=\"border:solid 1px #dddddd;\"/></a>"
                newHtml += "<li style=\"width:230px;height:60px;\">";

                newHtml += image + "<div class=\"falign m2\" style=\"overflow:hidden;width: 145px;\">";
                    newHtml += "<a style=\"font-size:11px;\" title=\""+ result_plain_title +"\" href=\""+result_link+"\" ><b>"+result_plain_title+"</b></a><br/>"
                    newHtml += "<span class=\"info\">" + tx('views') + " (" + item.views + ")</span><br/>"
                newHtml += "</div>";
                newHtml += "</li>";
            } else {
                image = "<img alt=\""+result_plain_title+"\" src=\""+src+"\" width=\"120\" height=\"85\" />"

                if (type[code] == d1gConstants_NODE_TYPE_VIDEO_VIDEO) {
                  newHtml += "<li class=\"tiny activity\" style=\"overflow:hidden; width:130px;height:130px;\">";
                } else {
                  newHtml += "<li class=\"tiny activity\" style=\"overflow:hidden; width:125px;height:140px;\">";
                }

                newHtml += "<div><a href=\""+result_link+"\" >"+image+"</a></div>"
                newHtml += "<div style=\"width:120px;height:35px;\">"
                    newHtml += "<a href=\""+result_link+"\" ><b>"+result_plain_title.substr(0,35)+"</b></a><br/>"
                    newHtml += "<span class=\"info\">" + tx('views') + " (" + item.views + ")</span><br/>"
                    newHtml += "<span class=\"info\">" + tx('comments') + " (" + item.nodes_count + ")</span><br/>"
                newHtml += "</div></li>"
            }
          }
          newHtml += "</ul>";
        }

        if (mini[code] != 'true') {
            if (totalResults > items_per_page[code]) {
              newHtml += "<div class=\"clear\"></div>"
              newHtml +="<div class=\"line\">&nbsp;</div><div style=\"position:relative;\">"
              newHtml += generate_pagination(totalResults,page[code],items_per_page[code],code)
              newHtml +="</div><div class=\"clear\"></div>"
            } else {
              newHtml += "<div class=\"clear\"></div><br/>"
            }
        }
        
        document.getElementById('searchResults'+code).innerHTML = newHtml;
      }
//    }
//  }
}

function stripHTML(oldString) {

   var newString = "";
   var inTag = false;
   for(var i = 0; i < oldString.length; i++) {

        if(oldString.charAt(i) == '<') inTag = true;
        if(oldString.charAt(i) == '>') {
              if(oldString.charAt(i+1)=="<")
              {
              		//dont do anything
	}
	else
	{
		inTag = false;
		i++;
	}
        }

        if(!inTag) newString += oldString.charAt(i);

   }

   return newString;
}

function truncate(string) {
    var stringWords = string.split(' ');
    for (var i = 0; i < stringWords.length; i++) {
            if (stringWords[i].length > 20) {
                    stringWords[i] = stringWords[i].substr(0,20)
            }
    }
    string = stringWords.join(' ');
    return string;
}


function initRelatedResponse(req,code) {
  if(req.readyState == 4){
    if(req.status == 200){
      document.getElementById('loading_related'+code).style.display = "none";
      document.getElementById('show_related'+code).style.display = "";
      var xml = req.responseXML;
      var newHtml = ""
      var src = ""
	  total_results[code] = '0';
      if (xml.getElementsByTagName('totalResults').item(0) != null) {
			total_results[code] = xml.getElementsByTagName('totalResults').item(0).firstChild.nodeValue;
		}
		//total_results[code] = xml.getElementsByTagName('totalResults').item(0).firstChild.nodeValue;
	  totalResults = total_results[code]
	  if (totalResults == "0" || totalResults == 0 || totalResults == null) {
        newHtml += "<div class=\"warn falign\"><img src=\"/images/icons/error.png\" alt=\"\"/>&nbsp;لا يوجد محتويات</div><br/>";
		document.getElementById('searchResults'+code).innerHTML = newHtml;
      } else {
        if (type[code] == 0 || type[code] == d1gConstants_NODE_TYPE_FORUM_TOPIC || type[code] == d1gConstants_NODE_TYPE_QNA_QUESTION || type[code] == d1gConstants_NODE_TYPE_AUDIO || type[code].length > 1) {
          newHtml += "<ul class=\"bullets menu\">";
          var items = xml.getElementsByTagName("item");
          for (var i = 0 ; i < items.length ; i++) {
            var item = items[i];

            var result_title = extract_text(item.getElementsByTagName("doctitle"))//[0].firstChild.nodeValue;
            var result_description = extract_text(item.getElementsByTagName("description"))
            var result_link = item.getElementsByTagName("link")[0].firstChild.nodeValue;
            var result_id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
            var result_type = item.getElementsByTagName("type")[0].firstChild.nodeValue;
            var image = ""
            if (result_type == d1gConstants_NODE_TYPE_FORUM_TOPIC) image = "<img src=\"/images/d1g/forum.gif\" alt=\"Forum Topic\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_AUDIO) image = "<img src=\"/images/d1g/sound.gif\" alt=\"Audio\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_QNA_QUESTION) image = "<img src=\"/images/d1g/qna.gif\" alt=\"Question\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_VIDEO_VIDEO) image = "<img src=\"/images/d1g/video.gif\" alt=\"Video Clip\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_GALLERY_IMAGE) image = "<img src=\"/images/d1g/gallery.gif\" alt=\"Gallery Image\"/>"
            else if (result_type == d1gConstants_NODE_TYPE_PLOGGER_IMAGE) image="<img src=\"/images/d1g/cartoon.gif\" alt=\"Cartoon\"/>"

            var matchTag = /<(?:.|\s)*?>/g;

            newHtml += "<li number=\""+ (start[code]+i) +"\">"

            var clean_title = stripHTML(result_title);
            var truncated_title = truncate(clean_title)

            if (mini[code] != 'true') {
                newHtml += "<a title = \""+ clean_title +"\" class=\"text_related_search font11 bold\" target=\"_top\" href=\""+result_link+"\">"+ truncated_title +"</a>"
                newHtml += " ("+ result_description.replace(matchTag, "").substr(0,20) +")&nbsp;"
                newHtml += "&nbsp;"+image+""
            } else {
                newHtml += "<a title = \""+ clean_title +"\" class=\"text_related_search font11 bold\" target=\"_top\" href=\""+result_link+"\">"+ truncated_title +"&nbsp;</a>"
                newHtml += "&nbsp;"+image+""
            }


            newHtml += ""

            if (result_type == d1gConstants_NODE_TYPE_AUDIO) {
              //var sound_path = sound_url(result_id)
              //newHtml += "<span id='static_image_"+result_id+"' class='lspeaker_div' onmouseover=\"var so = new SWFObject('/swf/mediaplayer.swf','mpl','1','1','7'); so.addParam('allowfullscreen','false'); so.addVariable('file','"+ sound_path +"'); so.addVariable('autostart',true);so.write('sound_preview_"+  result_id +"');\" onmouseout=\"getElementById('sound_preview_"+ result_id +"').innerHTML = '';\" onclick = ''><a href='#' class=''></a></span>"
            }
            newHtml += "</li>"
          }
          newHtml += "</ul>";
            newHtml += "<div class=\"clear\">&nbsp;</div><br/>"

        }
        else if (layout[code] == 'thumbnails' || type[code] == d1gConstants_NODE_TYPE_VIDEO_VIDEO || type[code] == d1gConstants_NODE_TYPE_GALLERY_IMAGE || type[code] == d1gConstants_NODE_TYPE_PLOGGER_IMAGE) {
          newHtml += "<ul class=\"images\">";
          items = xml.getElementsByTagName("item");
          for (i = 0 ; i < items.length ; i++) {
            item = items[i];
            var result_plain_title = extract_plain_text(item.getElementsByTagName("doctitle"));
            result_title = item.getElementsByTagName("doctitle");
            result_link = item.getElementsByTagName("link")[0].firstChild.nodeValue;
            result_id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
            result_type = item.getElementsByTagName("type")[0].firstChild.nodeValue;
            image = ""

            if (result_type == d1gConstants_NODE_TYPE_GALLERY_IMAGE || result_type == d1gConstants_NODE_TYPE_PLOGGER_IMAGE)
                src = to_url(result_id,result_type);
            else
                src = video_url(result_id);

            if (mini[code] == 'true') {
                image = "<a style=\"font-size:11px;\" title=\""+ result_plain_title +"\" href=\""+result_link+"\" ><img alt=\""+result_plain_title+"\" class=\"falign p2\" src=\""+src+"\" width=\"70\" height=\"45\" style=\"border:solid 1px #dddddd;\"/></a>"
                newHtml += "<li style=\"width:230px;height:60px;\">";

                newHtml += image + "<div class=\"falign m2\" style=\"overflow:hidden;width: 145px;\">";
                    newHtml += "<a style=\"font-size:11px;\" title=\""+ result_plain_title +"\" href=\""+result_link+"\" ><b>"+result_plain_title+"</b></a><br/>"
                    newHtml += "<span class=\"info\">" + tx('views') + " (" + item.getElementsByTagName("views").item(0).firstChild.nodeValue + ")</span><br/>"
                    //newHtml += "<span class=\"info\">" + tx('comments') + " (" + item.getElementsByTagName("nodes_count").item(0).firstChild.nodeValue + ")</span><br/>"
                newHtml += "</div>";

                newHtml += "</li>";
            } else {
                image = "<img alt=\""+result_plain_title+"\" src=\""+src+"\" width=\"120\" height=\"85\" />"

                if (type[code] == d1gConstants_NODE_TYPE_VIDEO_VIDEO) {
                  newHtml += "<li class=\"tiny activity\" style=\"overflow:hidden; width:130px;height:130px;\">";
                } else {
                  newHtml += "<li class=\"tiny activity\" style=\"overflow:hidden; width:125px;height:140px;\">";
                }

                newHtml += "<div><a href=\""+result_link+"\" >"+image+"</a></div>"
                newHtml += "<div style=\"width:120px;height:35px;\">"
                    newHtml += "<a href=\""+result_link+"\" ><b>"+result_plain_title.substr(0,35)+"</b></a><br/>"
                    newHtml += "<span class=\"info\">" + tx('views') + " (" + item.getElementsByTagName("views").item(0).firstChild.nodeValue + ")</span><br/>"
                    newHtml += "<span class=\"info\">" + tx('comments') + " (" + item.getElementsByTagName("nodes_count").item(0).firstChild.nodeValue + ")</span><br/>"
                newHtml += "</div></li>"
            }
          }
          newHtml += "</ul>";
        }

        if (mini[code] != 'true') {
            if (totalResults > items_per_page[code]) {
              newHtml += "<div class=\"clear\"></div>"
              newHtml +="<div class=\"line\">&nbsp;</div><div style=\"position:relative;\">"
              newHtml += generate_pagination(totalResults,page[code],items_per_page[code],code)
              newHtml +="</div><div class=\"clear\"></div>"
            } else {
              newHtml += "<div class=\"clear\"></div><br/>"
            }
        }
        
        document.getElementById('searchResults'+code).innerHTML = newHtml;
      }
    }
  }
}


function createRelatedRequestObject() {
  var req = false;
  if(window.XMLHttpRequest){
    req = new XMLHttpRequest();
    if(req.overrideMimeType){
      req.overrideMimeType('text/xml');
    }
  }else if(window.ActiveXObject){
    try{
      req = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e){
      try{
        req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e){}
    }
  }
  if(!req){
    return false;
  }else{
    return req;
  }
}
