var page = 0;
var rssDoc = null;
var links = new Array();
var cnt = 0;
var ticker = null;
var ticker_speed = 8000;
var items_in_page = 2;
var fr_params = '&api_key=bf7385056459b32e7a8ebbcb63dd2450&sort=interestingness-desc&media=photo&in_gallery=true&tag_mode=all';
var fr_apikey = 'bf7385056459b32e7a8ebbcb63dd2450';
var fr_current_page = 1;
//f046905791d188e3

function initpage() {

    $("#tab1").bind('mouseover', stop_ticker);
    //$("#log").bind('click', start_ticker);
    $("#tabs").tabs();
    $("#tabs").bind( 'tabsselect', function(event, ui) {
	if(ui.index != 0) stop_ticker();
	if(ui.index == 0) {
	    initmenu('rss', false);
	    $('#scrapalbum').css('display', 'none');
	    $('#gr').css('display', 'block');
	    $('#fr').css('display', 'none');
	    $('#pr').css('display', 'none');
	    $('#google').attr('checked', true);
	    $('#transDiv').html('');
	}
	else if(ui.index == 2) vinitpage();
	else if(ui.index == 3) {
	    initmenu('flickr', false);
	    $('#scrapalbum').css('display', 'block');
	    $('#gr').css('display', 'none');
	    $('#fr').css('display', 'block');
	    $('#pr').css('display', 'none');
	    $('#flickr').attr('checked', true);
	}
    } );
    
    $("#flickr_list").droppable( {
	drop: function(e, ui) {
	    var photo_id = $(ui.draggable).find("img").attr('id');
	    var photo_tag = $('#sinput').attr('value');
	    var photoxml = $(ui.draggable).find("img").attr('alt');
	    
	    $.post('save_flickr_photo.php', {"photo_id": photo_id, "photo_tag": photo_tag, "photoxml": photoxml }, function(data) {
		log('photo scrap: [' + photo_tag + '] ' + photo_id + ' : ' + $(data).find('result').text());
	    } );
	}
    } );

    $("#scrapalbum")
	.click(function() {
	    $.ajax( {
		url : 'rss/flickr_scraped_photo.xml',
		cache : false,
		success : function(xml) {
		    flickrsearch_disp(xml);
		}
	    } );
	} );

    $('#right').corner();
    $('#fr').css('display', 'none');
    $('#pr').css('display', 'none');
    $('#google').attr('checked', true);
    initmenu('rss', false);

    //updaterss('google_weather', 'www.google.co.kr', '/ig/api?weather=Seoul&ie=utf-8&oe=utf-8&hl=ko',false);
    //loadrss('google_weather', google_weather_api_handle, weather_disp);
    updaterss('kma_weather', 'www.kma.go.kr', '/wid/queryDFS.jsp?gridx=59&gridy=125',true, function() {
	loadrss('kma_weather', kma_weather_api_handle, weather2_disp);
    } );
}

function initmenu(m, update) {

    var menu_url;
    if(m == 'rss') menu_url = 'rss/links.xml';
    else if(m == 'flickr') menu_url = 'rss/flickr_links.xml';

    $('#menu').html('');    
    $('<a></a>').appendTo('#menu')
	.attr('href', 'javascript:void(0)')
	.click(function() { initmenu(m, true); } )
	.text('전체업데이트');
    $('<br>').appendTo('#menu');
    
    $.get(menu_url, function(xml) {
	$(xml).find('item').each( function(idx) {
	    
	    var uniq = $(this).find('uniq').text();
	    var domain = $(this).find('domain').text();
	    var path = $(this).find('path').text();
	    if(/flickrsearch_/.test(uniq)) path+=fr_params;
	    var url = 'http://' + domain + path;
	    
	    var a = $('<a></a>').appendTo('#menu')
		.attr('href', '#')
		.bind('click', function() { 
		    updaterss(uniq, domain, path, true, function() {
			if(/flickrsearch_/.test(uniq)) {
			    fr_current_page = 1;
			    loadrss(uniq, flickr_api_handle, flickrsearch_disp);
			}
			else loadrss(uniq) 
		    } );
		} );
	    
	    $('<img></img>').appendTo(a)
		.attr('src', 'images/dot.gif')
		.attr('border', '0');

	    $('<a></a>').appendTo('#menu')
		.attr('id', 'link'+idx)
		.attr('href', "#")
		.bind('click', function() { 
		    if(/flickrsearch_/.test(uniq)) {
			fr_current_page = 1;
			loadrss(uniq, flickr_api_handle, flickrsearch_disp);
		    }
		    else loadrss(uniq) 
		} )
		.html($(this).find('title').text());
	    $('#menu').append('<br>');

	    if(update) updaterss(uniq, domain, path);
	} )
    } );

    

    if(m == 'flickr') loadrss('flickrsearch_school', flickr_api_handle, flickrsearch_disp);
    else if(m == 'rss') loadrss('googlekey_capitalism');
}

function gilai_disp(rss) {
    
    (rss == null) ? (rss = rssDoc) : (rssDoc = rss);
    var i = 0;
    var d = new Date(rss.lastModified);
    if(/valid/.test(d) || /N/.test(d)) lastModified = rss.lastModified;
    else lastModified = d.toLocaleString();

    if(rss.title == '') rss.title = '....';
    if(/google/.test(rss.link)) rss.description = '';

    if(page < 0) { page = 0 }
    if(page >= (rss.data.length/items_in_page)-1) { 
	page = (rss.data.length/items_in_page)-1;
	stop_ticker();
    }

    var img_link = '';
    var thumb_link= '';
    var page_box = '';

    $("#info").html("<a href='" + rss.link + "' target='_blank'><span id='rsstitle'>" + rss.title + "</span></a><br>" + lastModified);
    
    $("#list").html('');
    for(i=page*items_in_page; 
	i<rss.data.length && i<(page*items_in_page)+items_in_page; i++) {
	
	img_link = '';
	if(rss.data[i]['img'] != '') {
	    img_link = "<a href='" + rss.data[i]['img'] + "' target='_blank'>" + rss.data[i]['img'] + "</a>";
	}
	else if(rss.data[i]['enclosure'] != '') {
	    if(rss.data[i]['enclosure'].type == 'audio/mpeg') {
		if(navigator.appName == 'Microsoft Internet Explorer') {
		    img_link = "<embed src='" + rss.data[i]['enclosure'].url + "' height='27' autostart='0'></embed>";
		}else {
		    img_link = "<embed type='application/x-shockwave-flash' src='http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl="+rss.data[i]['enclosure'].url+"' width='400' height='27' allowscriptaccess='never' quality='best' bgcolor='#ffffff' wmode='window' flashvars='playerMode=embedded'/>" + "<br><a href='"+rss.data[i]['enclosure'].url+"'>"+rss.data[i]['enclosure'].url+"</a>";
	      }
	    }
	}
	
	if(rss.data[i]['media:thumbnail'] != '') {
	    
	    var imgurl = rss.data[i]['media:content'].url;
	    var imgtitle = rss.data[i]['media:title'];
	    thumb_link = "<a href='"+imgurl+"' rel='fancybox' title='"+imgtitle+"'>" + "<img src='" + rss.data[i]['media:thumbnail'].url + "' width='" + rss.data[i]['media:thumbnail'].width + "' height='" + rss.data[i]['media:thumbnail'].height + "' border='0' align='left' hspace='10' title='" + rss.data[i]['media:title'] + "'></img>" + "</a>";
	}else {
	    thumb_link = '';
	}

	if(rss.data[i]['title'] != undefined) {
	    rss.data[i]['title'] = rss.data[i]['title'].substring(0, 60);
	}
      
	$("#list").append("<div id='item'><p id='ptitle'><a id='plink"+i+"' href='"+rss.data[i]['link'] + "' target='_blank'><span id='ptitle"+i+"'>" + rss.data[i]['title'] + "</span></a>&nbsp;<a href='javascript:void(0)' onclick='translate_language("+i+")'><span style='font-size:8pt;font-weight:normal'>(번역)</span></a></p><p id='pdesc'><span id='pdesc"+i+"'>" + thumb_link + rss.data[i]['description'] + "</span> "+ rss.data[i]['pubDate'] + "<img style='float:right;' src='images/dot.gif' onclick='scrap("+i+")'><br>"+img_link+"</p></div><br>");
	
    }
    
    page_box += "<p id='page'><a href='#' onclick='page=" + (page-1) + "; gilai_disp(null); return 0;'><b>" + '<<<' + "</b></a>&nbsp;&nbsp;&nbsp;";
  
    var pagestr = '';
    for(i=0; i < (tpage = rss.data.length / items_in_page) && i < 20; i++) {
	if(page == i) { 
	    pagestr = '<b>' + (i+1) + '</b>';
	}else {
	    pagestr = (i+1);
	}
	page_box += "<a href='#' onclick='page=" + i + "; gilai_disp(null); return 0;'>" + pagestr + "</a>&nbsp;&nbsp;&nbsp;";
    }
  
    page_box += "<a href='#' onclick='page=" + (page+1) + "; gilai_disp(null); return 0;'><b>" + '>>>' + "</b></a></p>&nbsp;&nbsp;&nbsp;";
    
    $("#page").html(page_box);
    $("#pdesc a").attr("target", "_blank");

    $("#tabs").tabs("select", 0);
    stop_ticker();
    start_ticker();
}

function loadrss(uniq, procfunc, dispfunc) {

    stop_ticker();	       
    page = 0;
    var gx = null;
    var nocache = new Date().getTime();
    var path = 'rss/' + uniq + '_latest.xml' + '?nocache=' + nocache;
    
    var ma;
    if(ma = /flickrsearch_(.*)/.exec(uniq)) {
	$('#sinput').attr('value', ma[1]);
	translate_multilanguage(ma[1], 'flickr');
    }
    else if(ma = /googlekey_(.*)/.exec(uniq)) {
	$('#sinput').attr('value', ma[1]);
	translate_multilanguage(ma[1], 'google');
    }

    if(procfunc == null) procfunc = rsshandle;

    if(dispfunc == null) {
	if(/flickr_|picasa/.test(uniq)) dispfunc = flickr_disp;
	else if(/flickrsearch_/.exec(uniq)) dispfunc = flickrsearch_disp;
	else dispfunc = gilai_disp;
    }

    gx = new xmlRequest(procfunc, dispfunc, null, null);
    gx.open('GET', path);
    gx.header("Cache-Control", "no-store, no-cache, must-revalidate");
    gx.header("Pragma", "no-cache");
    gx.header("Connection", "close");
    gx.send(null);

}

function updaterss(uniq, domain, path, async, procfunc) {
  
    var cx = null;
    var nocache = new Date().getTime();
    var async = (async == null) ? true : async;
    var procfunc = (procfunc == null) ? function(){} : procfunc;
    if(/flickrsearch/.test(uniq)) {
	path += '&per_page=' + $("#flickr_perpage > option:selected").val();
    }

    if(/naver/.test(domain) || /google/.test(domain)) {
	path = path.replace(/\//g, '%2F');
	path = path.replace(/\&/g, '%26');
	path = path.replace(/\+/g, '%2B');
	path = path.replace(/\=/g, '%3D');
	path = path.replace(/\?/g, '%3F');

	var update_url = 'update.php?uniq=' + uniq + '&domain=' + domain + '&path=' + escape(path) + '&nocache=' + nocache;
    }
    else {

	var update_url = 'update.php?uniq=' + uniq + '&domain=' + domain + '&path=' + encodeURIComponent(path) + '&nocache=' + nocache;
    }

    $.ajax( {
	url : update_url, 
	async : async,
	cache: false,
	success : function(data) {
	    procfunc();
	    log($(data).find('result').text());
	    progress_log(false);
	},
	beforeSend : function() {
	    progress_log(true);
	},
	complete : function() {
	    progress_log(false);
	}
    } );
 

/*   
    cx= new xmlRequest(xmlhandle, log_disp, new Array('uniq','result'), null);
    cx.open('GET', update_url, async);
    cx.header("Cache-Control", "no-store, no-cache, must-revalidate");
    cx.header("Pragma", "no-cache");
    cx.header("Connection", "close");
    cx.send(null);
    
    //if(uniq == 'googlekey_weather') {
    //updaterss('kma_weather', 'www.kma.go.kr', '/wid/queryDFS.jsp?gridx=59&gridy=125',false);
    //}
*/
}
	 

function scrap(f) {
  
  
  if(confirm("스크랩한다") == true) {

    var titleID = 'ptitle' + f;
    var linkID = 'plink' + f;
    var descID = 'pdesc' + f;
  
    var sx = null;
    var scrap_url = 'scrap.php';
    var params = 
      "title=" + encodeURIComponent(document.getElementById(titleID).innerHTML) + '&' +
      "link=" + encodeURIComponent(document.getElementById(linkID).href) + '&' +
      "description=" + encodeURIComponent(document.getElementById(descID).innerHTML);
    
    sx= new xmlRequest(xmlhandle, log_disp, new Array('result'), null);
    sx.open('POST', scrap_url);
    sx.header("Content-type", "application/x-www-form-urlencoded");
    sx.header("Content-length", params.length);
    sx.header("Connection", "close");
    sx.send(params);
  }
}


function weather_disp(xml) {

  var weather_img = '';
  //document.getElementById('weather').innerHTML = "<img src='http://www.google.co.kr" + xml.data.cc.icon + "' alt='" + xml.data.fi.forecast_date + "/" + xml.data.cc.condition + "' title='" + xml.data.fi.forecast_date + "/" + xml.data.cc.condition + "' hight='20' width='20'>" + '&nbsp;' ;

  document.getElementById('weather').innerHTML = '';
  for(var i=0; i<xml.data.fc.length; i++) { 
    weather_img = "<img src='http://www.google.co.kr" + xml.data.fc[i].icon + "' alt='" + xml.data.fc[i].day_of_week + "/" + xml.data.fc[i].condition + "/" + xml.data.fc[i].low + "~" + xml.data.fc[i].high + "' title='" + xml.data.fc[i].day_of_week + "/" + xml.data.fc[i].condition + "/" + xml.data.fc[i].low + "~" + xml.data.fc[i].high + "' hight='20' width='20'>";

    $("#weather").append(weather_img);
  }
}

function weather2_disp(xml) {

  var weather_img = '';
  var expstr = ''
  for(var i=0; i<xml.data.length-5; i++) {
      expstr = xml.data[i]['day'] + " " + xml.data[i]['hour'] + "시/" + xml.data[i]['wfKor'] + "/비올확률" + xml.data[i]['pop'] + "%";
      weather_img += "<img src='" + xml.data[i]['icon'] + "' title='" + expstr + "' alt='" + expstr + "' width='20' height='20'>";
  }
    $("#kma_weather").html(weather_img);
}

function admin(v, e) {

  var keynum = null;
  if(window.event) { // IE 
    keynum = e.keyCode;
  }
  else if(e.which) { // Netscape/Firefox/Opera
    keynum = e.which
  }
  else {
    keynum = e.keyCode;
  }

  if(keynum == 39) { // left arrow
    page = page+1;
    gilai_disp(null);
  }

  if(keynum == 37) { // right arrow
    page = page - 1;
    gilai_disp(null);
  }
    

  if(/^\:/.test(v.value)) {
    if(keynum != 13) {
      return;
    }
    else {
      v.value = v.value.replace(/^\:/, '');

      var xml = null;
      var url = 'admin.php?cmd=' + encodeURIComponent(v.value); 
      
      xml = new xmlRequest(xmlhandle, log_disp, new Array('result'), null);
      xml.open('GET', url);
      xml.send(null);
    }
  }

  if(keynum == 13) {
    v.value = '';
  }
}

function log_disp(xml) {
  cnt++;
  document.getElementById('log').innerHTML = cnt + ':';
  for(i=0; i < xml.data.length; i++) {
    document.getElementById('log').innerHTML += xml.data[i]['result'] + '<br>';
  }
}

function search(s, e) {

  var keynum = null;

  if(window.event) { // IE 
    keynum = e.keyCode;
  }
  else if(e.which) { // Netscape/Firefox/Opera
    keynum = e.which
      }
  else {
    keynum = e.keyCode;
  }

  if(keynum == 13) {

      if(document.getElementById('google').checked) {
	  var uniq = 'googlesearch';
	  var domain = 'news.google.co.kr';
	  var path = '/news?ned=ko&hl=kr&&q=' + encodeURIComponent(s.value) + '+-chosun+-joins+-donga&output=rss&ie=UTF-8';
	  
	  updaterss(uniq, domain, path, true, function() {
	      loadrss(uniq);
	  } );
	  translate_multilanguage(s.value, 'google');
      }
      else if(document.getElementById('flickr').checked) {
	  var uniq = 'flickrsearch';
	  var domain = 'api.flickr.com';
	  
	  s.value = s.value.replace(/\s+/g, ",");
	  
	  var path = '/services/rest/?method=flickr.photos.search&tags=' + encodeURIComponent(s.value) + fr_params;
	  
	  updaterss(uniq, domain, path, true, function() { 
	      loadrss(uniq, flickr_api_handle, flickrsearch_disp);
	  } );
	  //$("#tabs").tabs("select", 3);
	  translate_multilanguage(s.value, 'flickr');
      }
      else if(document.getElementById('picasa').checked) {
	  var uniq = 'picasasearch';
	  var domain = 'picasaweb.google.com';
	  
	  if(/\sin\s/.test(s.value)) {
	      var sk = s.value.split(" in ");
	      sk[0] = sk[0].replace(/\s+/g, "+");
	      var path = '/data/feed/base/all?alt=rss&kind=photo&access=public' + '&l=' + sk[1] + '&q=' + sk[0];
	  }else {
	      s.value = s.value.replace(/\s+/g, "+");
	      var path = '/data/feed/base/all?alt=rss&kind=photo&access=public' + '&q=' + s.value;
	  }
	  
	  updaterss(uniq, '', path, true, function() { 
	      loadrss(uniq);
	  } );
	  $('#transDiv').html('');
	  //$("#tabs").tabs("select", 3);
	  //translate_multilanguage(s.value);
      }
  }
    else {
	return;
    }
}

function progress_log(mode) {
    
    if(mode) {
	$("#ajax_progress_bar").css('visibility', 'visible');
    }
    else {
	$("#ajax_progress_bar").css('visibility', 'hidden');
    }
}

function stop_ticker() {
    if(ticker) {
	log('ticker stop');
	clearInterval(ticker); 
	ticker = null;
    }
}

function start_ticker() {
    log('ticker start');
    ticker = setInterval(function() { page++; gilai_disp(); }, 
			     ticker_speed);
}

function log(str) {
    $("#log").html(str);
}

function flickr_disp(rss) {
    
    stop_ticker();
    var d = new Date(rss.lastModified);
    if(/valid/.test(d) || /N/.test(d)) lastModified = rss.lastModified;
    else lastModified = d.toLocaleString();

    if(rss.title == '') rss.title = '....';

    $("#flickr_info").html("<a href='" + rss.link + "' target='_blank'><span id='rsstitle'>" + rss.title + "</span></a><br>" + lastModified);

    $("#flickr_list").html('');
    $("#flickr_page").html('');
	
    for(var i=0; i<rss.data.length; i++) {
	
	var fa = $('<a></a>').appendTo('#flickr_list')
	    .attr('href', rss.data[i]['media:content'].url)
	    .attr('title', rss.data[i]['media:title']);
	
	var ma = /\/(\d+)_[0-9a-z]+_\w/.exec(rss.data[i]['media:thumbnail'].url);
	var photo_id = ma[1];
	var thumb = $('<img></img>').appendTo(fa)
	    .attr('id', photo_id)
	    .attr('src', rss.data[i]['media:thumbnail'].url)
	    .attr('width', rss.data[i]['media:thumbnail'].width)
	    .attr('height', rss.data[i]['media:thumbnail'].height)
	    .attr('title', rss.data[i]['media:title'])
	    .attr('alt', rss.data[i]['media:title'])
	    .attr('rel', rss.data[i]['media:content'].url)
	    .bind('click', function(e) {
		e.preventDefault();
		create_dialog($(this));
	    } );
	
	if(i > 28) $(thumb).css('display', 'none');
    }
}

function flickrsearch_disp(xml) {

    stop_ticker();
    var resp = $(xml).find('rsp').attr('stat');
    if(resp == 'fail') {
	log($(xml).find('err').attr('msg'));
	return;
    }

    var total = 0;
    var searchkey = $('#sinput').attr('value');
    
    $("#flickr_list").html('');
    $(xml).find('photo').each( function(idx) {
	try {
	    var pxml = (new XMLSerializer()).serializeToString(xml.getElementsByTagName('photo')[idx]);
	}
	catch(e) {
	    var pxml = (xml.getElementsByTagName('photo')[idx]).xml;
	}
	var photo_id = $(this).attr('id');
	var owner = $(this).attr('owner');
	var secret = $(this).attr('secret');
	var server = $(this).attr('server');
	var farm = $(this).attr('farm');
	var title = $(this).attr('title');
	var ispublic = $(this).attr('ispublic');

	var thumb_url = 'http://farm'+farm+'.static.flickr.com/'+server+'/'+photo_id+'_'+secret+'_s.jpg';
	var photo_url = 'http://farm'+farm+'.static.flickr.com/'+server+'/'+photo_id+'_'+secret+'_m.jpg';
	
	var fa = $('<a></a>').appendTo('#flickr_list')
	    .attr('href', photo_url)
	    .attr('title', title)
	    .attr('id', 'a_thumb'+idx);
	
	var thumb = $('<img></img>').appendTo(fa)
	    .attr('src', thumb_url)
	    .attr('title', title)
	    .attr('alt', pxml)
	    .attr('rel', photo_url)
	    .attr('id', photo_id)
	    .bind('click', function(e) {
		e.preventDefault();
		create_dialog($(this));
	    } );
	if(navigator.appName != 'Microsoft Internet Explorer') {
	    $(thumb).css('visibility', 'hidden')
		.bind('load', function(e) {
		    $(this).css('visibility', 'visible');
		} );
	}
	total++;
    } );


    $('#flickr_info').html('');
    $('<a></a>').appendTo('#flickr_info')
	.attr('href', 'http://www.flickr.com/photos/tags/'+searchkey+'/interesting/')
	.attr('target', '_blank')
	.text('Search Result('+total+'/'+fr_current_page+'p) : '+searchkey);


    $('#flickr_page').html('');
    if(fr_current_page > 1) {
	
	var flickr_next = $('<span></span>').appendTo("#flickr_page");
	$('<a></a>').appendTo(flickr_next)
	    .attr('href', 'javascript:void(0)')
	    .click(function() {
		var uniq = 'flickrsearch';
		var domain = 'api.flickr.com';
		var path = '/services/rest/?method=flickr.photos.search&tags=' + encodeURIComponent(searchkey) + fr_params + '&page=' + (fr_current_page-1);
		fr_current_page--;
		updaterss(uniq, domain, path, true, function() {
		    loadrss(uniq, flickr_api_handle, flickrsearch_disp);
		} );
	    } ).text('이전');
	$('#flickr_page').append('&nbsp;&nbsp;|');
    }
    
    $('#flickr_page').append('&nbsp;&nbsp;');
    var flickr_next = $('<span></span>').appendTo("#flickr_page");
    $('<a></a>').appendTo(flickr_next)
	.attr('href', 'javascript:void(0)')
	.click(function() {
	    var flickr_current_keyword = $('#sinput').attr('value');
	    var uniq = 'flickrsearch';
	    var domain = 'api.flickr.com';
	    var path = '/services/rest/?method=flickr.photos.search&tags=' + encodeURIComponent(searchkey) + fr_params + '&page=' + (fr_current_page+1);
	    fr_current_page++;
	    updaterss(uniq, domain, path, true, function() {
		loadrss(uniq, flickr_api_handle, flickrsearch_disp);
	    } );
	} ).text('다음');
}

function create_dialog(img) {

    $(img).dialog( {
	autoOpen: true,
	position: [65, 14],
	width: 'auto',
	closeOnEscape: true,
	modal: false,
	resizable: true,
	show: 'slide',
	hide: 'slide',
	title: $(img).attr('title'),
	open: function(event, ui) {
	    // get photo info
	    // var photoxml = $(img).attr('alt');
	    var photo_id = $(img).attr('id');
	    var domain = 'api.flickr.com';
	    var path = '/services/rest/?method=flickr.photos.getInfo&photo_id=' + photo_id + '&api_key=' + fr_apikey;
	    log('photo_id:'+photo_id);	    

	    updaterss('flickr_photoinfo', domain, path, true, function() {
		$.get('rss/flickr_photoinfo_latest.xml', function(xml) {
		    var stat = $(xml).find('rsp').attr('stat');
		    if( stat == 'ok') {
			var photo_url = $(xml).find('url').text();
			$(img).wrap("<a href='"+photo_url+"' target='_blank'></a>")
			    .unbind('click');
		    }
		    else {
			log('get photoinfo fail: ' + $(xml).find('err').attr('msg'));
		    }
		} );
	    } );
	    
	    $(img).attr('src', $(img).attr('rel'));
	    
	    $(".ui-dialog-content p").css('text-align', 'justify');
	},
	close: function(event, ui) {
	    $(img).dialog('destroy');
	}
    } );
}
