
function remove_referral(div_id,rid,owner_id,referral_uid) {
   $(div_id).innerHTML = '<p align=center>nuking..</p>';

   var _url = "/a_referral.php?rid="+rid+"&u="+owner_id+"&remove="+referral_uid;
	/* alert(_url);

	return; */

   new Ajax.Updater(div_id, _url, {
      method: 'get'
   });
}

function set_home_page_type(val) {
    pageTracker._trackEvent('homepage', 'switch', String(val));

    new Ajax.Request("/a_homepage.php", {
            method: 'get',
            parameters: { htype: val },
            onSuccess: function(response) {
                window.location.reload(); 
            }
    });
    return false;
}

function track_window(track_id) {
    var div_id = 'autoplay_track';
    if(eval($(div_id))) {
        $(div_id).innerHTML = '';
        $(div_id).visibility = 'hidden';
    }

    twin = window.open('/play_track.php?t=' + track_id,
                       '_lc_track',
                       'dependent=no,directories=no,hotkeys=no,menubar=no,status=no,toolbar=no,location=no,resizable=yes,width=600,height=475');
    try { 
        twin.focus();
    } catch (e1) {
    }
    return twin;
}

function shoutbox_window(u) {
	sbox = window.open('/shoutbox.php?u='+u,
							'_shoutbox_'+u,
							'scrollbars=yes,dependent=no,directories=no,hotkeys=no,menubar=no,status=no,toolbar=no,location=no,resizable=yes,width=450,height=640');
    try {
        sbox.focus();
    } catch (e1) {
    }
	return sbox;
}

function text_link_photo(owner,id,aid,tn_img_url) {
	var _link = "http://fubar.com/photo.php?u="+owner+"&i="+id+"&albumid="+aid;
	var _data = "<a href=\"" +_link+ "\" target=_blank>[ fubar.com photo: " + id + " ]</a>";
	return(_data);
}

function tn_link_photo(owner,id,aid,tn_img_url) {
	var _link = "http://fubar.com/photo.php?u="+owner+"&i="+id+"&albumid="+aid;
	var _data = "<a href=\"" +_link+ "\" target=_blank><img src=\"" +tn_img_url+ "\" border=0></a>";
	return(_data);
}

function text_link_raw_photo(owner,id,aid,tn_img_url) {
	var _link = "http://fubar.com/photo.php?u="+owner+"&i="+id+"&albumid="+aid;
	var _data = '';
	return(_data);
}

function tn_link_raw_photo(owner,id,aid,tn_img_url) {
	var _link = "http://fubar.com/photo.php?u="+owner+"&i="+id+"&albumid="+aid;
	var _data = '';
	return(_data);
}

function show_share_box(dest_link,mtype,suffix,shareInvite) {
	var _html = '';

	var _share_box_name = 'share_box_';
	if (suffix != null)
	{
		_share_box_name = _share_box_name + suffix
	}

	if(shareInvite == null){
		shareInvite = 0;
	}

	//alert('dest_link='+dest_link+' mtype='+mtype);
	
	__html = "<p>wtf!</p>";
	_html =
				
				"<form id='wtf' name='wtf'>" +
				"<table class='share_box'>" +
				"<tr><td class='share_box_hdr' colspan=5>Share this "+mtype+" with:</td></tr>" +
				"<input type=hidden id='mtype' name='mtype' value='"+mtype+"'>" +
				"<input type=hidden id='link' name='link' value='"+dest_link+"'>" +
				"<tr><td class='share_box_opts_all' align='right'>" +
				"All</td><td class='share_box_opts' align='right'>Family" + "</td>" + "<td class='share_box_opts'>"+
				"Friends</td><td class='share_box_opts'>Contacts" + "</td></tr>" +
				"<tr><td class='share_box_opts_all' align='right'>" +
				"<input name='all' type=checkbox></td><td class='share_box_opts' align='right'><input name='family' type=checkbox CHECKED>" +
				"</td>" +
				"<td class='share_box_opts'>"+
				"<input name='friends' type=checkbox></td>" +
				"<td class='share_box_opts'><input name='contacts' type=checkbox CHECKED>" +
				"</td></tr>" +
				"<tr><td class='share_box_input' colspan=5>Optional Email(s): <input type=text size=14 maxlength=200 name=email id=email>";
        if(shareInvite == 1){
	_html += "<br><input type='checkbox' name='shareInvite' id='shareInvite' value='1' checked> Invite my friends to fubar</td></tr>";
	}else{
	_html += "<input type='hidden' name='shareInvite' id='shareInvite' value='0'></td></tr>";
	}

	_html +=		"<tr><td class='share_box_opts' colspan=5>" + dest_link + "</td></tr>" +
				"<tr><td class='share_box_submit' colspan=5>" +
				"<center><input type=button value='share!' onclick='javascript:share_submit(\"" +
				suffix +
				"\");'></center>" +
				"</td></tr></table>" +
				"</form>";

	__html = "<table class='share_box'><tr><td>hi!</td></tr></table>";

    $(_share_box_name).innerHTML = _html;
}

function no_load_photo_comments(div_id,u,i) {
}

function load_photo_comments(div_id,u,i,idx) {
    $(div_id).innerHTML = '<br><br><p align=center style="padding-left:3em;font-weight:bold;color:red;">... LOADING ...</p>';

    new Ajax.Request("/a_profile_comments.php", {
            method: 'get',
            parameters: { u: u, i: i, idx: idx, type: 'photo' },
            onSuccess: function(response) {
                handle_comment_reformt(div_id,response);
            }
    });
}

function pimp_hand(div_id,owner,cmd) {
	$(div_id).innerHTML = '<p align=center>smackin this mofo.... one second..</p>';

	var _url = "/a_pimp_hand.php?owner="+owner+"&cmd="+cmd;
	new Ajax.Updater(div_id, _url, {
		method: 'get'
	});
}

function cherry_bomb(div_id,owner,albumid) {
	$(div_id).innerHTML = '<p align=center>wreckin this mofo.... one second..</p>';

	var _url = "/a_cherry_bomb.php?owner="+owner+"&albumid="+albumid;
	new Ajax.Updater(div_id, _url, {
		method: 'get'
	});
}

function comment_reply(type, ouid, id1, id2, cid, sess, ver) {
    if ($('comment_reply_comment_'+id1+"_"+id2+"_"+cid).visible()) {
        $('comment_reply_comment_'+id1+"_"+id2+"_"+cid).hide();
    } else {
        $('comment_reply_comment_'+id1+"_"+id2+"_"+cid).update('<br><br><p align=center style="padding-left:3em;font-weight:bold;color:red;">... LOADING ...</p>');
        $('comment_reply_comment_'+id1+"_"+id2+"_"+cid).show();

        new Ajax.Request('/a_profile_comments.php', {
            method: 'get',
            parameters: { action: 'reply', type: type, ouid: ouid, id1: id1, id2: id2, cid: cid, sess: sess, ver: ver },
            onSuccess: function(response) {
               handle_comment_reply(id1,id2,cid,response);
            }
        });
    }
}

function handle_comment_reply(id1,id2,cid,transport) {
    if (transport.status == 200) {
        var data = transport.responseJSON;
        if (data) {
            if (data['error']){
                alert("Unknown Error\n"+data['error']+"\n"+data['html']);
            } else {
                $('comment_reply_comment_'+id1+"_"+id2+"_"+cid).update(data['html']);
            }
        } else {
            $(div_id).update("Sorry, try again later");
        }
    } else {
        $(div_id).update("Sorry, try again later");
    }
}

function add_comment(id1, id2, obj, cid, div) {
    if (!cid) {
        cid = 0;
    }
    cid = Number(cid);

    var comment_div = $('new_comment_block_'+id1+'_'+id2);
    if (comment_div){
        // Show loading bar before AJAX returns
        var img_div = new Element('div').setStyle({
            textAlign: 'center',
            width: '100%',
            paddingTop: '20px',
            paddingBottom: '20px'
        });

        comment_div.update(img_div);
    }

    // AJAX to post new comment, and get result
    new Ajax.Request('/a_add_comment.php', {
        parameters: $('comment_frm_'+cid).serialize(true),
        onComplete: function(transport) { 
            if (transport.status == 200) {
                var data = transport.responseJSON;
                if (data) {
                  if (data['error']){
                    if (comment_div) {
                        comment_div.update("");
                    }
                    var tmp = $('comment_upsell_section_'+cid);
                    if (tmp) tmp.hide();
                    switch (data['error']){
                        case 1: // Generic Error
                            $('comment_error_'+cid).update(data['html']);
                            $('comment_error_'+cid).show();
                            break;
                        case 2: // Captcha Check
                        case 3: // Session Expired
                            $('comment_captcha_'+cid).show();
							$('comment_captcha_img_'+cid).update('<center style="padding-left:3em;font-weight:bold;color:red;">... LOADING ...</center>');

                            update_captcha('comment_captcha_img_'+cid, 'comment_captcha_img');
                            break;
                        case 4: // Approval Needed
                            $('comment_frm_'+cid).hide();
                            $('comment_error_'+cid).update(data['html']);
                            $('comment_error_'+cid).show();
                            $('comment_submit_wrapper_'+cid).hide();
                            $('comment_upsell_section_'+cid).hide();
                            break;
                        default:
                            alert("Unknown Error\n"+data['error']+"\n"+data['html']);
                            break;
                    }
                  }else{
                    $('comment_captcha_'+cid).hide();

                    if (comment_div){
                        comment_div.update(data['html']);
                    }

                    comment_reformt('comment_'+id1+'_'+id2,data['html']);

                    var tmp = $('empty_comments_msg');
                    if (tmp) {
                        tmp.hide();
                    }
                    if (data['points'] && data['points'] != 0) {
                        $('comment_wrapper_'+cid).update("Your comment was added and you have been awarded points.");
                    } else {
                        $('comment_wrapper_'+cid).update("Your comment was added.");
                    }
                    $('comment_wrapper_'+cid).show();

                    $('comment_frm_'+cid).hide();
                    
                    var tmp = $('comment_upsell_section_'+cid);
                    if (tmp) tmp.hide();

                    if ($('comment_error_'+cid)) {
                        $('comment_error_'+cid).hide();
                    }

                    if (pageTracker && (typeof data['to_life'] != 'undefined')) {
                        pageTracker._trackEvent('newcomment_'+transport.request.parameters.type, 'recv', String(data['to_life']));
                    }
                    if (pageTracker && (typeof data['from_life'] != 'undefined')) {
                        pageTracker._trackEvent('newcomment_'+transport.request.parameters.type, 'sent', String(data['from_life']));
                    }    
                    
                    document.disableReplies = true;
                  }
                }
            }
        }
    });

    return false;
}

var captcha_shown = new Array();
function update_captcha(id,label) {
    if (typeof label == 'undefined') {
        label = id;
    }
    
	if (typeof pageTracker != 'undefined') {
		if (!captcha_shown[id]) {
			captcha_shown[id] = 1;
			pageTracker._trackEvent(label, 'Action::captcha_shown');
		}
		else {
			pageTracker._trackEvent(label, 'Action::captcha_refresh');
			captcha_shown[id]++;
		}
	}
	var host = (("https:" == document.location.protocol) ? "https://fubar.com" : "");
	new Ajax.Updater(id, host+'/a_getcaptcha.php', {method: 'get'});
}

function share_submit(suffix) {
	var form_id = 'wtf';
	var _friends=1;
	var _fans=1;
	var _family=1;
	var _all=1;
	var _contacts=1;
	var _emails='';
	var _mtype='';
	var _link='';
	var _share_box_name = 'share_box_';
	var _shareInvite=0;
	if (suffix != null)
	{
		_share_box_name = _share_box_name + suffix;
	}

	if(! $(form_id).all.checked) _all=0;
	if(! $(form_id).family.checked) _family=0;
	if(! $(form_id).friends.checked) _friends=0;
	_fans = 0;
	if(! $(form_id).contacts.checked) _contacts=0;
	if($(form_id).email.value) _emails=$(form_id).email.value;
	if($(form_id).mtype.value) _mtype=$(form_id).mtype.value;
	if($(form_id).link.value) _link=$(form_id).link.value;
	if($(form_id).shareInvite.checked){
		 _shareInvite=$(form_id).shareInvite.value;
	}else{
		_shareInvite=0;
	}

	$(_share_box_name).innerHTML = 'sharing... one sec...';
    new Ajax.Updater(_share_box_name, '/share.php', {
            method: 'post',
            parameters: { all: _all, family: _family, friends: _friends, fans: _fans, contacts: _contacts, email:_emails, mtype:_mtype, link:_link, shareInvite:_shareInvite }, 
            onComplete: function(transport) { if (transport.status != 200) {
                                                $(_share_box_name).innerHTML = 'error sharing!';
                                              }
        }
    });

    return true;
}

function show_photo_links(owner,photo_id,album_id,tn_img_url) {
	var textarea_size = "rows=5 cols=40";
	var div_id = 'image_links';
	var to_this_page_tn = tn_link_photo(owner,photo_id,album_id,tn_img_url);
	var to_this_page = text_link_photo(owner,photo_id,album_id,tn_img_url);
	var image_only = text_link_raw_photo(owner,photo_id,album_id,tn_img_url);
	var image_only_tn = tn_link_raw_photo(owner,photo_id,album_id,tn_img_url);
	var _html =
		'<table class=\"blue_box\" align=center width=90%><tr><td>' +
		'<table border=0 align=center width=100% cellpadding=0 cellspacing=0 border=0><tr><td><p class=\"image_links_desc\" align=center>' +
		'Cut &amp; Paste the links below into your blog or webpage to create a link back to this photo page! If you want people to see and click on a thumbnail of this photo, use the HTML code on the left. If you want people to see and click on a text link, use the HTML code on the right.</p></td></tr></table>' +
		'<table class=\"image_links\" style=\"padding-bottom:5em;\" align=center>\n' +
		'<tr>' + 
		'<td class=\"image_links_hdr\">with a <font color=red>thumbnail link</font>..</td>' +
		'<td class=\"image_links_hdr\">..or with a <font color=red>text link</font>.</td>' + 
		'</tr>\n' +
		'<tr><td style=\"padding-right:1em;\">' + 
		'<textarea ' + textarea_size + '>' + 
		to_this_page_tn +
		'\n</textarea>\n' +
		'</td><td style=\"padding-left:1em;\">' +
		'<textarea ' +textarea_size+ '>' +
		to_this_page +
		'\n</textarea>\n' +
		'</td></tr>' +
		'<tr><td class=\"image_links_hdr\">preview:</td><td class=\"image_links_hdr\">preview:</td></tr>' +
		'<tr><td class=\"image_links_hdr\">' + to_this_page_tn + '</td><td class=\"image_links_hdr\" valign=top>' + to_this_page + '</td></tr>' +
		'<tr><td class=\"image_links_hdr\" colspan=2><center><br><a href=\"javascript:hide_photo_links();\">hide this link box</a></td></tr>' + 
		'</table>' +
		'</td></tr></table><br><br>';


	// alert(_html);

	$(div_id).innerHTML = _html;
	$(div_id).style.visibility = 'visible';
}
function hide_photo_links() {
	var div_id = 'image_links';
	$(div_id).innerHTML = '';
	$(div_id).style.visibility = 'hidden';
}

function prompt_text(name,mtype,header,contents) {
	var newtext = prompt(header,contents);
	if(! newtext) {
		return;
	}
	// theObj = document.getElementByID(name)
	// theObj = document.all(name);
	theObj = $(name);
	if(mtype == "image") {
		// document.lcform.body.value += "<img src=\"" + newtext + "\">";
		theObj.value += "<img src=\"" + newtext + "\">";
	} else if(mtype == "link") {
		theObj.value += "<a href=\"" + newtext + "\" target=_blank>" + newtext + "</a>";
	} else if(mtype == "music") {
		theObj.value += "music: " + newtext;
	} else if(mtype == "movie") {
		theObj.value += "movie: " + newtext;
	}
}

function MM_goToURL() { //v3.0
    var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
    for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function validateemail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}


function toggleVisibility(id) {
    identity = document.getElementById(id).className;
    identity2 = document.getElementById(id);
    if(identity == "hide"){
        identity2.className = "show";
    }else{
        identity2.className = "hide";
    }
}

function toggleClassVisible(id) {
    var tmpdiv = $(id);
    if (tmpdiv) {
        tmpdiv.show();
    }
}

function toggleClassHidden(id) {
    var tmpdiv = $(id);
    if (tmpdiv) {
        tmpdiv.hide();
    }
}

function toggleDisplay(id) {
    var tmpdiv = $(id);
    if (tmpdiv) {
        if (tmpdiv.visible()) {
            tmpdiv.hide();
        } else {
            tmpdiv.show();
        }
    }
}

function fuckcheckall(e) {
	var f = e.form, z = 0;
   for(z=0; z<f.length;z++){
   	if(f[z].type == 'checkbox' && f[z].name != 'checkall') {
   		f[z].checked = e.checked;
      }
   }
}

function checkall(e, check) {
	var f = e.form, z = 0;

   for(z=0; z<f.length;z++){
   	if(f[z].type == 'checkbox' && f[z].name != 'checkall') {
		if (check == true)
		{
   			f[z].checked = true;
		}
		else
		{
   			f[z].checked = false;
		}
      }
   }
}

function checkRadioAll(e, x) {
   var f = $('msgs')

   for(var z=0; z<f.length;z++){
    if(f[z].type == 'radio') {
        if (f[z].value == x) {
	   	    f[z].checked = true;
	    }
    }
   }
}

function toggle_checkboxes(button, prefix) {
  var val = button.checked;
  for (var i=1; ; ++i) {
    var el = document.getElementById(prefix+i);
    if (!el) break;

    el.checked = val;
  }
  var ck = document.getElementById(prefix+'_top');
  if (ck) ck.checked = val;
  ck = document.getElementById(prefix+'_bottom');
  if (ck) ck.checked = val;
}

function submit_checked(prefix, script, sep) {
  if (!sep) sep = ',';

  var dels = new Array();
  for (var i=1; ; ++i) {
    var el = document.getElementById(prefix+i);
    if (!el) break;

    if (el.checked) {
      dels.push(el.name);
    }
  }

  if (dels.length == 0) {
    alert("You must select some gifts before you can delete them.");
  } else if (confirm("Ok to delete "+dels.length+" gifts?")) {
    window.location.href = script+dels.join(sep);
  }
}


function HideContent(d) {
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
document.getElementById(d).style.display = "block";
}
function ReverseDisplay(d) {
  if(document.getElementById(d).style.display == "none") { 
	document.getElementById(d).style.display = "block"; 
  } else { 
	document.getElementById(d).style.display = "none"; 
  } 
}

function show_share_div(dest_link,mtype,suffix,title,owner,albumid,viewerid,upload,photoid,preview,sendername) {
    var redirect, msg;
	if(viewerid == owner){
		redirect = 'myimages.php';
	    msg = 'You&#39;re invited to view my photos. Enjoy!'; 
	}else{
		redirect = dest_link;
		msg = 'You&#39;re invited to view these photos. Enjoy!';
	}
	if(mtype == 'album'){
	    var item = 'album';
	}
	if(mtype == 'photohtml'){
	    var  item = 'photo';
	}
        var _html = '';

        var _share_box_name = 'share_box_';
        if (suffix != null)
        {
                _share_box_name = _share_box_name + suffix
        }

        //alert('dest_link='+dest_link+' mtype='+mtype);
        __html = "<p>wtf!</p>";
        _html =
				"<div style='position:absolute;z-index:99;'><div style='postion:relative;z-index:98;top:9px;background-color:#323296'>" +
                                "<table cellpadding='0' cellspacing='2' border='0' width='455' style='border:1px solid white;'>" +
				"<tr><td width='4%'>&nbsp;</td><td align='left' style='padding-top:8px;'>" +
				"<table width='100%' cellpadding='0' cellspacing='0' border='0'>" +	
				"<tr><td>" +
				"<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr>"+
				"<td>"+
				"<div style='color:white;font-weight:bold;font-size:18px;'>Share this "+item+" with your friends!</div>" +
				"</td>" +
				"<td style='padding-top:2px;'><a href='javascript:hide_share_div(\""+_share_box_name+"\")' style='border: 1px white solid;padding: 0 2px 0 2px; margin: 8px 8px 8px 8px; text-decoration:none; color: white;' title='Cancel'>X</a></td>" +
				"</tr>" +
				"<tr><td colspan='2' style='color:#faf43c;font-size:13px;font-weight:bold;padding-right:15px'><br>" +
				"Earn 100 fuBucks for every person you share this with and up to 14,000 fuBucks if they join fubar!" +
				"<br><br></td></tr>" +
				"</table>" +
				"</td></tr>" +
				"<tr><td align='left'>" +
				"<table cellpadding='0' cellspacing='0' border='0' width='402'>" +
				"<tr><td><img src='/imgs/share_topGradient.gif' border='0'></td></tr>" +
				"<tr><td style='background:url(/imgs/share_bgGradient.gif);background-repeat:repeat-y;' align='right'>" +
					"<table width='391' cellpadding='4' cellspacing='0' border='0' style='background-color:#ffffff'>" +
					"<tr><td align='right'>" +
						"<table cellpadding='0' cellspacing='0' border='0' width='81%'>" +
						"<tr><td style='font-size:10px;color:#000000'>Automatically plug in my contacts from:</td></tr>" +
						"<tr onclick='javascript:share_dialog_status(\"\");'><td style='padding-top:5px;'><a href='javascript:load_fu_contacts();'><img border='0' src=\"/imgs/share_fubarButton.gif\" border=0/></a>&nbsp;" +
						"<a href='javascript:toggle_share_login_dialog(\"Hotmail\");'><img border='0' src=\"/imgs/share_hotmailButton.gif\" border=0/></a>&nbsp;" +
						"<a href='javascript:toggle_share_login_dialog(\"Yahoo\");'><img border='0' src=\"/imgs/share_yahooButton.gif\" border=0/></a>&nbsp;" +
						"<a href='javascript:toggle_share_login_dialog(\"gmail\");'><img border='0' src=\"/imgs/share_gmailButton.gif\" border=0/></a>" +
						"</td></tr>" +
						"<tr><td align='left' id='share_contact_load_status' style='color:#000000;'></td></tr>" +
						"<tr><td>" +
						
						"<div id='logindialog' class='share_login_dialog' style='display:none;'>" +
		                                "<table style='margin: 3px 3px 3px 3px;'>" +
                		                "<tr><td colspan='2' style='color:#000000;font-weight:bold;font-size:10px;'>Please login to get your contacts:</td>" +
                                		"<td width='1%' valign='top'><a href='javascript:toggle_share_login_dialog(0)' style='font-size: 9px; border: 1px black solid;padding: 0 2px 0 2px; margin: 8px 8px 8px 8px; text-decoration:none; color: black;' title='Cancel'>X</a></td></tr>" +
                                		"<tr><td align='right' valign='top' style='color:#000000;font-size:10px;' nowrap>Your email address:</td><td colspan='2'><input type='text' id='share_login_name' size='15' onKeyPress='javascript:check_share_login_submit(event);'>@<span id='service_type'></span>.com</td></tr>" +
		                                "<tr><td align='right' valign='top' style='color:#000000;font-size:10px;'>Password:</td>" +
                		                "<td><input type='password' id='share_login_pw' size='15' onKeyPress='javascript:check_share_login_submit(event);'><input type='button' value='Get Contacts' onclick='load_email_contacts()'></td></tr>" +
                                		"</table>" +
		                                "</div>" +						

						"</td></tr>" +
						"</table>" +
					"</td></tr>" +
					"<tr><td>" +
					 "<form id='wtf' name='wtf' style='margin:0px;padding:0px;'>" +
					"<table cellpadding='3' cellspacing='0' border='0' width='100%'>" +
					"<tr><td valign='top' align='right' style='font-size:12px;font-weight:bold;color:#000000;'>To:</td>" +
					"<td><textarea name='email' id='email' rows='3' cols='35'></textarea><br><span style='color:black;font-size:10px'>Use commas, spaces, or new lines to separate emails</span></td></tr>" +
					"<tr><td valign='top' align='right' style='font-size:12px;font-weight:bold;color:#000000;'>Subject:</td>" +
                                        "<td><input type=text size=30 maxlength=50 name=subject id=subject value='"+title+"'></td></tr>" +
					"<tr><td valign='top' align='right' style='font-size:12px;font-weight:bold;color:#000000;'></td>" +
                                        "<td>"+preview+"</td></tr>" +
					"<tr><td valign='top' align='right' style='font-size:12px;font-weight:bold;color:#000000;'>Message:</td>" +
                                        "<td><textarea rows='3' cols='31' maxlength='55' name='msg' id='msg'>"+msg+"</textarea></td></tr>" +
					"<tr><td valign='top' align='right' style='font-size:12px;font-weight:bold;color:#000000;'>From:</td>" +
                                        "<td><input type=text size=30 maxlength=50 name=from id=from value="+ sendername +"></td></tr>" +
					"<tr><td align='right' colspan='2' style='padding-right:15px;'><input type=button value='Send' style='background-color:#faf43c;color:#000000;font-weight:bold;' onclick='javascript:share_email_submit(\"" + suffix + "\");'></td></tr>" +
					"<tr><td colspan='2' align='right'><a href='javascript:hide_share_div(\""+_share_box_name+"\")' style='border: 1px white solid;padding: 0 2px 0 2px; margin: 8px 8px 8px 8px;font-size:10px;color:#1c0f9d;' title='Cancel'>Cancel</a>" +
					"<input type=hidden id='mtype' name='mtype' value='"+mtype+"'>" +
	                                "<input type=hidden id='link' name='link' value='"+dest_link+"'>" +
		                        "<input type=hidden id='ownerid' name='ownerid' value='"+owner+"'>" +
                	                "<input type=hidden id='albumid' name='albumid' value='"+albumid+"'>" +
	                                "<input type=hidden id='upload' name='upload' value='"+upload+"'>" +
        	                        "<input type=hidden id='photoid' name='photoid' value='"+photoid+"'>" +
                	                "<input type=hidden id='redirect' name='redirect' value='"+redirect+"'>" +
                        	        "<input type=hidden id='ftype' name='ftype' value='album'>" +
					"</td></tr>" +
					"</table>" +
					"</form></td></tr>" +
					"</table>" +
				"</td></tr></table>" +
				"<br><br></td></tr>" +
				"</table>" +
                                "</td></tr</table>" +
				"</div></div>" +
                                "";

        __html = "<table class='share_box'><tr><td>hi!</td></tr></table>";

   $(_share_box_name).innerHTML = _html;
   $(_share_box_name).show();
}
function hide_share_div(id) {
        $(id).innerHTML = '';
        $(id).hide();
	    $('share_box').hide();
}

function share_email_submit() {
    var form_id = 'emailform';
    var _emails='';
    var _mtype='';
    var _link='';
    var _friends=0;
    var _fans=0;
    var _family=0;
    var _all=0;
    var _contacts=0;
    var _shareitem_id='';
    var _ownerid='';
    var _ftype = '';
    var _upload = '';
    var _redirect = '';
    var _from = '';
    var _shareInvite = '';
    var _msg = '';
    var _sub = '';
    
    var email_list = new Array();
    var add_list   = new Array();

    if($(form_id).email){
        _emails=$(form_id).email.value;
    }else{
        for (var i = 0; i < $(form_id).elements.length; i++) {
            if ( $(form_id).elements[i].name.indexOf('email')!=-1 && 
                 $(form_id).elements[i].checked == true && 
                 $(form_id).elements[i].name != 'select_all_email' && 
                 $(form_id).elements[i].name != 'select_all_add'
               ) 
            {
                email_list.push($(form_id).elements[i].value);
            }

            if ( $(form_id).elements[i].name.indexOf('add')!=-1 && 
                 $(form_id).elements[i].checked == true && 
                 $(form_id).elements[i].name != 'select_all_email' && 
                 $(form_id).elements[i].name != 'select_all_add'
               ) 
            {
                add_list.push($(form_id).elements[i].value);
            }
        }
    }

    if($(form_id).mtype) _mtype=$(form_id).mtype.value;
    if($(form_id).link) _link=$(form_id).link.value;
    if($(form_id).subject) _sub=$(form_id).subject.value;
    if($(form_id).message) _msg=$(form_id).message.value;
    if($(form_id).ownerid) _ownerid=$(form_id).ownerid.value;
    if($(form_id).shareitem_id) _shareitem_id=$(form_id).shareitem_id.value;
    if($(form_id).ftype) _ftype=$(form_id).ftype.value;
    if($(form_id).upload) _upload=$(form_id).upload.value;
    if($(form_id).redirect) _redirect=$(form_id).redirect.value;
    if($(form_id).from) _from=$(form_id).from.value;
    if($(form_id).shareInvite) _shareInvite=$(form_id).shareInvite.value;

    new Ajax.Updater('internalInviteWrapper', '/share.php', {
        method: 'post',
        parameters: { all:_all, 
                      family:_family, 
                      friends:_friends,
                      fans:_fans,
                      contacts:_contacts,
                      email:_emails,
                      email_list:email_list.join(';'),
                      add_list:add_list.join(';'),
                      mtype:_mtype,
                      link:_link,
                      msg:_msg,
                      ownerid:_ownerid,
                      subject:_sub,
                      ftype:_ftype,
                      upload:_upload,
                      shareitem_id:_shareitem_id,
                      from:_from,
                      shareInvite:_shareInvite
                    }, 
        onComplete: function(transport) { 
            if (transport.status == 200) {
                if(_upload == 1)
                    setTimeout( "window.parent.location='/myimages.php'", 3000 );
            }
        } 
    });

    return true;
}

function toggle_share_login_dialog(service) {
    var el = $('logindialog');

    if (!service) {
        el.style.display = "none";
        return;
    }

    var stype = $('service_type');

    if (el.style.display == "none") {
        stype.update(service);
        el.style.display = "block";
    } else if (stype.innerHTML == service) {
        el.style.display = "none";
    } else {
        stype.update(service);
    }
}

function check_share_login_submit(e) {
       var characterCode;

       if (e && e.which) { //if which property of event object is supported (NN4)
          e = e;
          characterCode = e.which; //character code is contained in NN4's which property
       } else {
          characterCode = e.keyCode; //character code is contained in IE's keyCode property
       }

       if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
          load_email_contacts(); //submit the form
          return false;
       } else {
          return true;
       }
}

function load_fu_contacts() {
       status.innerHTML = "Loading. Please wait...";

       var ajax = new sack();
       ajax.setVar("service", "fu");
       ajax.requestFile = "/get_contacts.php";
       ajax.method = "POST";
       ajax.onCompletion = contact_import_completed;
       ajax.runAJAX();
}

function load_email_contacts() {
       var from = document.getElementById('service_type').innerHTML;
       var username = document.getElementById('share_login_name').value.toLowerCase();
       var password = document.getElementById('share_login_pw').value;
       var service = document.getElementById('service_type').innerHTML.toLowerCase();

       if (!username || !password) {
          alert("You must enter the correct user/password so we can fetch your contacts form "+from+".");
          return;
       }

       toggle_share_login_dialog(0);

       share_dialog_status("Loading. Please wait...");

       if (username.search(/@/) == -1) {
           username += '@';
           username += service;
           username += '.com';
       }

       var ajax = new sack();
       ajax.setVar("username", username);
       ajax.setVar("password", password);
       ajax.setVar("service", service);
       ajax.requestFile = "/get_contacts.php";
       ajax.method = "POST";
       ajax.onCompletion = contact_import_completed;
       
       if(document.getElementById('shareImportButtons')){
        toggleDisplay('shareImportButtons');

        }


       ajax.runAJAX();
}

function contact_import_completed() {
        var response = this.response.replace(/^\s+|\s+$/g,"");

        if (response) {
           var email_text = document.getElementById('email');
           var emails_str = email_text.value;
           var emails_arr = [];

           if (emails_str) {
              emails_arr = emails_str.split(/,\n*|\n+/);
           }

           var emails_hash = new Array();
           for (var i in emails_arr) {
               if (emails_arr[i].length > 0)
                  emails_hash[emails_arr[i]] = 1;
           }

           var response_arr = response.split("\n");
           var pos = emails_arr.length;
           var loaded = 0;

           for (var i=0; i < response_arr.length; ++i) {
               email = response_arr[i];
               if (email && !emails_hash[email]) {
                  loaded++;
                  emails_arr[pos] = email;
                  emails_hash[email] = 1;
                  pos++;
               }
           }

           email_text.value = emails_arr.join("\n");
           share_dialog_status(loaded+" contacts loaded.");
        } else {
           share_dialog_status("No contacts found. Make sure your login info is correct.");
        }
}

function share_dialog_status(msg) {
        var status = document.getElementById('share_contact_load_status');
        status.innerHTML = msg;
}

function share_contest_submit(suffix) {
        var form_id = 'wtf';
        var _emails='';
        var _mtype='';
        var _link='';
        var _friends=0;
        var _fans=0;
        var _family=0;
        var _all=0;
        var _contacts=0;
        var _share_box_name = 'share_box_';
        var _redirect = '';
	var _sendername = '';
	var _msg = '';
	var _thumbnail = '';

        if (suffix != null)
        {
                _share_box_name = _share_box_name + suffix;
        }
        if($(form_id).email.value) _emails=$(form_id).email.value;
        if($(form_id).mtype.value) _mtype=$(form_id).mtype.value;
        if($(form_id).link.value) _link=$(form_id).link.value;
        if($(form_id).msg.value) _msg=$(form_id).msg.value;
        if($(form_id).redirect.value) _redirect=$(form_id).redirect.value;
	if($(form_id).sendername.value) _sendername=$(form_id).sendername.value;
	if($(form_id).thumbnail.value) _thumbnail=$(form_id).thumbnail.value;
        $(_share_box_name).innerHTML = 'sharing... one sec...';

    new Ajax.Updater(_share_box_name, '/share.php', {
            method: 'post',
            parameters: { all:_all, family:_family, friends:_friends, fans:_fans, contacts:_contacts, email:_emails, mtype:_mtype, link:_link, msg:_msg, sendername:_sendername, thumb:_thumbnail },
            onComplete: function(transport) { if (transport.status != 200) {
                    $(_share_box_name).innerHTML = 'error sharing!';
                   }
        }
   });

   return true;
}

function send_to_clipboard(text2copy) {
	if (window.clipboardData) {
		window.clipboardData.setData("Text",text2copy);
		} else {
			var flashcopier = 'flashcopier';
			if(!document.getElementById(flashcopier)) {
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
			document.body.appendChild(divholder);
		}
		document.getElementById(flashcopier).innerHTML = '';
		var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
}







/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
        var dumped_text = "";
        if(!level) level = 0;   

        //The padding given at the beginning of the line.
        var level_padding = "";
        for(var j=0;j<level+1;j++) level_padding += "    ";
        
        if(typeof(arr) == 'object') { //Array/Hashes/Objects
            for(var item in arr) {
                var value = arr[item];
                
                if(typeof(value) == 'object') { //If it is an array,
                    dumped_text += level_padding + "'" + item + "' ...\n";
                    dumped_text += dump(value,level+1);
                } else {
                    dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
                }
            }
        } else { //Stings/Chars/Numbers etc.
            dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
        }
        return dumped_text;
}

function hide_homepage_supportBox()
{

        $('homepage_support_box').style.display = 'none';

        var ajax = new sack();

        ajax.method = "GET";
        ajax.setVar('hsb', 1);
        ajax.requestFile = "/a_homepage.php";
        ajax.runAJAX();
}

function is_numeric(str)
{
        var valid_chrs = "0123456789.";
        var is_number = true;
        var chr;


        for (i = 0; i < str.length && is_number == true; i++)
        {
                chr = str.charAt(i);
                if (valid_chrs.indexOf(chr) == -1)
                {
                        is_number = false;
                }
        }
        return is_number;
}

function checkNumber(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;

    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = 0 + str;
    if (num < min || max < num) {
        alert(msg + " not in range [" + min + ".." + max + "]");
        return false;
    }
    input.value = str;
    return true;
}

function getMonthLength(month,year,julianFlag)
{
   var ml;
   if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10||month==12)
      {ml = 31;}
   else {
       if(month==2) {
          ml = 28;
          if(!(year%4) && (julianFlag==1 || year%100 || !(year%400)))
             ml++;
       }
       else
          {ml = 30;}
   }
   return ml;
}
function computeForm(yr,mon,day)
{
//   var ml={31,28,31,30,31,30,31,31,30,31,30,31};

   MNames=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep",
      "Oct","Nov","Dec");

   var today = new Date();

   var yd = today.getFullYear();
   var md = today.getMonth()+1;
   var dd = today.getDate();
   var yb = yr;
   var mb = mon;
   var db = day;
   // Month length 0->use calendar length
   var mLength =0;
   // 0 if Gregorian, 1 is Julian
   var isJulian =0;

   var ma=0;
   var ya=0;

   var da = dd-db;
   // This is the all-important day borrowing code.
   if(da<0)
   {
      md--;
      // Borrow months from the year if necesssary.
      if(md<1)
      {
         yd--;
         // Determine no. of months in year
         if(mLength)
            {md=md+parseInt(365/mLength);}
         else
            {md=md+12;}
      }
      if(mLength==0) // Use real month length if no fixed
      {              // length is indicated - note that we add a leap day if necessary.
         ml=getMonthLength(md,yd,isJulian);
         da=da+ml;
      }
      // For this case, everything works like it did in elementary school.
      else
         {da+=mLength;} // Use fixed month length
   }

   ma = md - mb;
   // Month borrowing code - borrows months from years.
   if(ma<0)
   {
      yd--;
      if(mLength!=0)
         {ma=ma+parseInt(365/mLength);}
      else
         {ma=ma+12;}
   }

   ya = yd - yb;


return ya;
}


function confirmSubmit(valstr)
{
    var agree=confirm(valstr);
    if (agree)
        return true;
    else
        return false;
}

function setCookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y )
  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
  
  document.cookie = cookie_string;

}

function getCookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}

function deleteCookie ( cookie_name )
{
    var cookie_date = new Date ( );  // current date & time
    cookie_date.setTime ( cookie_date.getTime() - 1 );
    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function load_owned_comments(div_id,u,idx) {
    $(div_id).innerHTML = '<br><br><p align=center style="padding-left:3em;font-weight:bold;color:red;">... LOADING ...</p>';

    new Ajax.Request("/a_profile_comments.php", {
        method: 'get',
        parameters: { u: u, idx: idx, type: 'owned' },
        onSuccess: function(response) {
            handle_comment_reformt(div_id,response);
        }
    });

   return true;
}

// This function should only be called on dom:loaded
function show_lb(){
    var querystring = window.location.querystring;
    var temp = querystring['useLb'];
    if (temp) {
        if (!isGoodInviteDomain()) {
            var href=document.location.href;
            document.location='http://'+checkInviteDomain()+href.substr(href.indexOf('fubar.com')+9);
            return false;
        }
        lightboxActive();
        open_lightbox_manual(unescape(temp));
        return true;
    }
    var temp = querystring['npw'];
    if (temp) {
        if (document.location.href.indexOf("/home.php") != -1) { 
            if (!isGoodInviteDomain()) {
                var href=document.location.href;
                document.location='http://'+checkInviteDomain()+href.substr(href.indexOf('fubar.com')+9);
                return false;
            }
            lightboxActive();
            open_lightbox_manual("/lb_profilewizard_wrapper.php?s=1",function() { window.location = "/home.php" });
            return true;
        }
    }  

    return false;
}

function photo_nav_over(id,nsfw,newicon){
	if(id == 0){
        var navid = 'default_photonav';
        var iconid = 'default_photoicon';
	var icon2id = 'default_photoicon_unselected';
        var linkid = 'default_photolink';
	}else{
	var navid = 'photonav_'+id;
	var iconid = 'photoicon_'+id;
	var icon2id = 'photoicon_unselected_'+id;
	var linkid = 'photolink_'+id;
	}

	if(newicon == 1){
	    var newicon1 = 'newicon_selected_'+id;
        var newicon2 = 'newicon_unselected_'+id;
	    var newiconid = 'newicon_'+id;

	    $(newiconid).style.backgroundColor = '#666666';	
	    toggleVisibility(newicon1);
        toggleVisibility(newicon2);
	}

	var linktext = 'photonavlink_'+id;
	if(nsfw == 1){
//	$(iconid).innerHTML = '<img src="/imgs/folderOpenNSFW.gif" width="17" height="17" hspace="0" vspace="0" border="0">';
        toggleVisibility(iconid);
        toggleVisibility(icon2id);
	$(navid).style.backgroundColor = '#666666';
        $(linkid).style.backgroundColor = '#666666';
	}else{
	toggleVisibility(iconid);
	toggleVisibility(icon2id);
        //$(iconid).innerHTML = '<img src="/imgs/folderOpen.gif" width="17" height="17" hspace="0" vspace="0" border="0">';
        $(navid).style.backgroundColor = '#666666';
        $(linkid).style.backgroundColor = '#666666';
	}
	$(linktext).style.color = '#000';
}

function photo_nav_out(id,nsfw,newicon){

	if(id == 0){
        var navid = 'default_photonav';
        var iconid = 'default_photoicon';
	var icon2id = 'default_photoicon_unselected';
        var linkid = 'default_photolink';
        }else{
	var navid = 'photonav_'+id;
	var iconid = 'photoicon_'+id;
	var icon2id = 'photoicon_unselected_'+id;
	var linkid = 'photolink_'+id;
	}
	var linktext = 'photonavlink_'+id;

        if(newicon == 1){
            var newicon1 = 'newicon_selected_'+id;
            var newicon2 = 'newicon_unselected_'+id;
            var newiconid = 'newicon_'+id;

            $(newiconid).style.backgroundColor = '#000000';
            toggleVisibility(newicon1);
            toggleVisibility(newicon2);
        }

	if(nsfw == 1){
	//$(iconid).innerHTML = '<img src="/imgs/folderClosedNSFW.gif" width="17" height="17" hspace="0" vspace="0" border="0">';
        toggleVisibility(iconid);
        toggleVisibility(icon2id);
	}else{
	toggleVisibility(iconid);
	toggleVisibility(icon2id);
        //$(iconid).innerHTML = '<img src="/imgs/folderClosed.gif" width="17" height="17" hspace="0" vspace="0" border="0">';
	}

	$(navid).style.backgroundColor = '#000000';
	$(linkid).style.backgroundColor = '#000000';
	$(linktext).style.color = '#8e9193';
}

function handle_comment_reformt(div_id,transport) {
    if (transport.status == 200) {
        var data = transport.responseJSON;
        if (data) {
            if (data['error']){
                comment_reformt(div_id,data['html']);
            } else {
                comment_reformt(div_id,data['html']);       
            }
        } else {
            $(div_id).update("Sorry, please try again.");
        }
    } else {
        $(div_id).update("Sorry, please try again.");
    }
}

function checkExternalImageSize(img) {
  if (Prototype.Browser.IE) {
    if (img.hasClassName('fubarlimitimgsize')) {
        var dim = img.getDimensions();
        if ((dim.width > 300) || (dim.height > 300)) {
            if (dim.width > dim.height) {
                img.setStyle({ width: '300px' });
            } else {
                img.setStyle({ height: '300px' });
            }
        }
    }
  }
}


function comment_reformt(div_id,txt) {
    try {
                var div = $(div_id);
                var bwidth = div.getWidth();
                div.setStyle({ width: bwidth+'px', overflow: 'hidden' });

                if (!txt.empty()) {
                    div.update(txt);
                }

                //check all image sizes
                var imgs = div.getElementsBySelector('img');
                imgs.each(function(img) {
                    if (!img.hasClassName('fubaruserimage')) {
                        var url = img.src;
                        if (url.search('fubar.com') == -1) {
                            if (!img.hasClassName('fubarlimitimgsize')) {
                                img.addClassName('fubarlimitimgsize');
                            }
                        }                       
                    }
                });

                myLL.specialDelayLoad(div);
    } catch(e) {
        //ingore any issues
    }
}

function delete_comment(cid,id1,id2,type) {
    if (confirm("Delete this comment?")) {
        new Ajax.Request("/a_comment.php", {
            method: 'post',
            parameters: { cid: cid, id1: id1, id2: id2, type: type, cmd: 'delete' },
            onSuccess: function(response) {
                handle_delete_comment(response);
            }
        });
    }
}

function handle_delete_comment(transport) {
    if (transport.status == 200) {
        var data = transport.responseJSON;
        if (data) {
            if (data['error']){
                alert(data['html']);
            } else {
                window.location.reload();
            }
        }
    }
}

// from http://www.quirksmode.org/viewport/compatibility.html
function z_getScroll(){ // returns how far down we are scrolled
    var pos;
    if (self.pageYOffset){ // all except Explorer
          pos = self.pageYOffset
    } else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict Mode
        pos = document.documentElement.scrollTop
    } else if (document.body){ // other Explorers
          pos = document.body.scrollTop
    }
    return pos
}

// from http://www.quirksmode.org/viewport/compatibility.html
function z_getHeight(){ // returns the height of the viewing area
    var h;
    if (self.innerHeight){ // all except Explorer
        h = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight){  // Explorer 6 Strict Mode
        h = document.documentElement.clientHeight;
    } else if (document.body){ // other Explorers
        h = document.body.clientHeight;
    }
    return h;
}

// from http://www.quirksmode.org/viewport/compatibility.html
function z_getWidth(){ // returns the width of the viewing area
    var h;
    if (self.innerWidth){ // all except Explorer
        h = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth){  // Explorer 6 Strict Mode
        h = document.documentElement.clientWidth;
    } else if (document.body){ // other Explorers
        h = document.body.clientWidth;
    }
    return h;
}

function clear_default_text(divid,divinput) {
    var tmpele = $(divid);
    if (tmpele.hasClassName("defaultText")) {
        tmpele.clear();
        tmpele.removeClassName("defaultText");
    }
    tmpele = $(divinput);
    if (tmpele) {
        tmpele.enable();
    }
}

function image_roll(tag,img) {
    tag.src = img;
}

function change(id, newClass) {
    identity=document.getElementById(id);
    identity.className=newClass;
}

function reload_captcha_image(captchaid) {
    new Ajax.Request("/a_reload_captcha.php",
    {
        method: 'post',
        onComplete: function(request) { reload_captcha_done(request,captchaid); }
    });
}

function reload_captcha_done(request,captchaid) {
    var data = request.responseJSON;
    if (data && data.option) {
        $('captchaFormWrapper_'+captchaid).show();
        if (!$('captcha_'+captchaid).hasClassName('required-captcha')) {
            $('captcha_'+captchaid).addClassName('required-captcha');
        }

        var tmpdiv = $('captchatoken_'+captchaid);
        if (tmpdiv && data.option.token) {
            tmpdiv.value = data.option.token;
        }
        tmpdiv = $('captchaimg_'+captchaid);
        if (tmpdiv && data.option.image) {
            tmpdiv.src = "/captchaimg.php?data="+data.option.image+"&i="+data.option.uid;
        }
        tmpdiv = $('sess_'+captchaid);
        if (tmpdiv && data.option.sess) {
            tmpdiv.value = data.option.sess;
        }
        tmpdiv = $('captcha_'+captchaid);
        if (tmpdiv) {
            tmpdiv.value = "";
        }
    }
}

function clear_crush(event) {
    if (!event.stopped) {
        var form = $(Event.element(event));
        if (form) {
            new Ajax.Request('/a_crush.php', {
                parameters: form.serialize(true),
                onSuccess: function(resp) {
                    clear_crush_response(resp);
                }
            });
        }
        Event.stop(event);
    } else {
        Modalbox.resizeToContent();
    }
}

function clear_crush_response(response) {
    if (response.status == 200) {
        var data = response.responseJSON;
        if (data) {
            if (data.error){
                if (!data.html.empty()) {
                    Modalbox.insert_error_bottom(1,data.html);
                }
            } else {
                Modalbox.notification('Successfully removed crush', { autoClose: 3000} );
		window.location.reload();
            }
        }
    }

}

function add_crush(event) {
    if (!event.stopped) {
        var form = $(Event.element(event));
        if (form) {
            new Ajax.Request('/a_crush.php', {
                parameters: form.serialize(true),
                onSuccess: function(resp) {
                    add_crush_response(resp);
                }
            });
        }
        Event.stop(event);
    } else {
        Modalbox.resizeToContent();
    }
}

function add_crush_response(response) {
    if (response.status == 200) {
        var data = response.responseJSON;
        if (data) {
            if (data.error){
                if (!data.html.empty()) {
                    Modalbox.insert_error_bottom(1,data.html);
                }
            } else {
                Modalbox.notification('Successfully added crush', { autoClose: 3000} );
            }
        }
    }

}

/*
 * AJAX call to block a user. 
 */

function add_block(event) {
    if (!event.stopped) {
        var form = $(Event.element(event));
        if (form) {
	    var obj = form.serialize(true);
	    if(obj['m_action'] == 'Block User!'){	
                new Ajax.Request('/a_blockuser.php', {
                   parameters: form.serialize(true),
                   onSuccess: function(resp) {
                     add_block_response(resp);
                   }
               });
	    }
	    else {
	    	 Modalbox.notification('This user is not blocked', { autoClose: 2000} );
            }
           	      
	}
        Event.stop(event);
  
    } else {
        Modalbox.resizeToContent();
    }
}

/*
 * AJAX response method to handle call add_block
 */

function add_block_response(response) {
    if (response.status == 200) {
        var data = response.responseJSON;
        if (data) {
            if (data.error){
                if (!data.html.empty()) {
                    Modalbox.insert_error_bottom(1,data.html);
                }
            } else {
		UpdateShouts();
                Modalbox.notification('User Successfully Blocked', { autoClose: 3000} );
            }
        }
    }

}


window.location.querystring = (function() {
 
    // by Chris O'Brien, prettycode.org
 
    var collection = {};
 
    // Gets the query string, starts with '?'
 
    var querystring = window.location.search;
 
    // Empty if no query string
 
    if (!querystring) {
        return { toString: function() { return ""; } };
    }
 
    // Decode query string and remove '?'
 
    querystring = decodeURI(querystring.substring(1));
 
   // Load the key/values of the return collection
 
    var pairs = querystring.split("&");
 
    for (var i = 0; i < pairs.length; i++) {
 
        // Empty pair (e.g. ?key=val&&key2=val2)
 
        if (!pairs[i]) {
            continue;
        }
 
        // Don't use split("=") in case value has "=" in it
 
        var seperatorPosition = pairs[i].indexOf("=");
 
        if (seperatorPosition == -1) {
            collection[pairs[i]] = "";
        }
        else {
            collection[pairs[i].substring(0, seperatorPosition)] 
                = pairs[i].substr(seperatorPosition + 1);
        }
    }
 
    // toString() returns the key/value pairs concatenated
 
    collection.toString = function() {
        return "?" + querystring;
    };
 
    return collection;
})();


var STATUS_CHANGE = 'sc';

var event_trigger_helper = Class.create({
    events: new Hash(),

    add_event: function(type,func) {
        if (this.events.get(type) == null) {
            this.events.set(type,new Array());
        }
        this.events.get(type).push(func);
    },

    trigget_event: function(type) {
        if (this.events.get(type) != null) {
            this.events.get(type).each(function(func) { func(); });
        }
    }

});

function append_query_string_args(args) {
    var querystring = window.location.querystring;
    var tmp = querystring['stats'];
    if (tmp) {
        args.set('stats',tmp);
    }
    tmp = querystring['log_sql'];
    if (tmp) {
        args.set('log_sql',tmp);
    }
    tmp = querystring['log_memcache'];
    if (tmp) {
        args.set('log_memcache',tmp);
    }
    return args;
}

var event_helper = new event_trigger_helper();
