

var dbug = 0; 
function d_a(ary) {var beg = next_entry(ary) - 1; for (var i = beg ; i > -1; i--) {ary[i] = null;}} 
function init_array() {if (dbug) alert('init_cookie');  var ary = new Array(null); return ary;} 
//function set_cookie(name,value,expires) {if (dbug) alert('set_cookie'); if (!expires) expires = new Date(); document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString() + '; path=/';} 
function set_cookie(name,value,expires) {if (dbug) alert('set:'+name+'='+value); if (expires) document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString() + '; path=/'; else document.cookie = name + '=' + escape(value) + '; path=/';} 
function get_cookie(name) {if (dbug) alert('get_cookie'); var dcookie = document.cookie; var cname = name + "="; var clen = dcookie.length; var cbegin = 0; while (cbegin < clen) {var vbegin = cbegin + cname.length; if (dcookie.substring(cbegin, vbegin) == cname) {var vend = dcookie.indexOf (";", vbegin); if (vend == -1) vend = clen; return unescape(dcookie.substring(vbegin, vend));} cbegin = dcookie.indexOf(" ", cbegin) + 1; if (cbegin == 0) break;} return null;} 
function del_cookie(name) {if (dbug) alert('del_cookie'); document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/';} 
function get_array(name, ary) {if (dbug) alert('get_array'); d_a(ary); var ent = get_cookie(name); if (ent) {i = 1; while (ent.indexOf('^') != '-1') {ary[i] = ent.substring(0,ent.indexOf('^')); i++; ent = ent.substring(ent.indexOf('^')+1, ent.length);}}} 
function set_array(name, ary, expires) {if (dbug) alert('set_array'); var value = ''; for (var i = 1; ary[i]; i++) {value += ary[i] + '^';} set_cookie(name, value, expires);} 
function del_entry(name, ary, pos, expires) {if (dbug) alert('del_entry'); var value = ''; get_array(name, ary); for (var i = 1; i < pos; i++) {value += ary[i] + '^';} for (var j = pos + 1; ary[j]; j++) {value += ary[j] + '^';} set_cookie(name, value, expires);} 
function next_entry(ary) {if (dbug) alert('next_entry'); var j = 0; for (var i = 1; ary[i]; i++) {j = i} return j + 1;}
function debug_on() {dbug = 1;} 
function debug_off() {dbug = 0;} 
function dump_cookies() {if (document.cookie == '') document.write('No Cookies Found'); else {thisCookie = document.cookie.split('; '); for (i=0; i<thisCookie.length; i++) {document.write(thisCookie[i] + '<br \/>');}}}


function swapDivs(oldDiv, newDiv) {
	document.getElementById(oldDiv).style.display = 'none';
	document.getElementById(newDiv).style.display = 'block';
}

function clk(lid) {
	(new Image()).src="/go?t=L&id="+escape(lid);
	return false;
}

function view(url) {
	set_cookie("lc",url);
	return true;
}


 if (document.images)
   {
     addfavNormal = new Image(20,17);
     addfavNormal.src="/images/pw_addfav_normal.gif";  

     addfavOver = new Image(20,17);
     addfavOver.src="/images/pw_addfav_over.gif";

     removefavNormal = new Image(20,17);
     removefavNormal.src="/images/pw_removefav_normal.gif";  

     removefavOver = new Image(20,17);
     removefavOver.src="/images/pw_removefav_over.gif";
  }

function rollOver(imgName)
 {
   if (document.images)
    {
      imgOn=eval(imgName + "Over.src");
      document[imgName].src= imgOn;
    }
 }

function rollOff(imgName)
 {
   if (document.images)
    {
      imgOff=eval(imgName + "Normal.src");
      document[imgName].src= imgOff;
    }
 }



var http_request = false;

function makeRequest(url, parameters, readyContents) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla...
		http_request = new XMLHttpRequest();
		//if (http_request.overrideMimeType) {
		//	http_request.overrideMimeType('text/xml');
		//}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Unable to rate link from this browser. Perhaps try another?');
		return false;
	}
	http_request.onreadystatechange = readyContents;
	http_request.open('GET', url + parameters, true);
	http_request.send(null);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			response = http_request.responseText;
			if(response.indexOf('|') != -1) 
				update = response.split('|');
			else
				return;
			id='rate-'+update[0];
			idcur='current-'+update[0];
			if (update[1] == 'dupe') {
				document.getElementById(id).innerHTML = "Thanks, but one vote per mashup.";
				return;
			}
			widthOffset = update[1] * 15;
			document.getElementById(id).innerHTML = "Thanks! The new average is " + update[1];
			document.getElementById(idcur).style.width = widthOffset + 'px';
		} else {
			alert('There was a problem with the request.');
		}
	}
}
function rate(rating, ratetype, id) {
  //var getstr = "?";
  var getstr = "?rating="+rating+"&type="+ratetype+"&id="+id;
  //alert('Voting is temporarily disabled. Will be back on Tues 4/11. Thanks');
  //var getstr = "?rating=3";
  makeRequest('/rate', getstr, alertContents);
}

var favetype1;

function fave(favetype, id, logged_in) {
	favetype1 = favetype;
	if(logged_in) {
		var getstr = "?type="+favetype+"&id="+id;
		makeRequest('/fave', getstr, faveReturn);
	}
	else {
		// Tell them to login politely.
		pleaseLogin(favetype, id);
	}
	return false;
}

function remove_fave(id) {
	if(confirm("Are you sure you want to remove this favorite?") == 0)
		return false;
	var getstr = "?action=remove&id="+id;
	makeRequest('/fave', getstr, faveReturn);
	return false;
}

function faveReturn() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			response = http_request.responseText;
			if(response.indexOf('|') != -1) 
					update = response.split('|');
			else
				return;
			if(update[0] == 'fave' && update[1] == 'success') {
				var add_fave1 = document.getElementById('add_fave');
				if(add_fave1) {
					if (favetype1 == 'profile') {
						add_fave1.parentNode.innerHTML = '<a name=""><img src="/images/icon_friend.png" title="Friend" />&nbsp;Is a Friend</a>'; //update[2];
					} else {
						add_fave1.parentNode.innerHTML = '<img src="/images/icon_fav.png" title="Favorite" />'; //update[2];
					}
				}
				return;
			}
			if(update[0] == 'fave' && update[1] == 'deleted') {
				window.location.reload();
				return;
			}
		}
	}
}

function displayMessage(user, msgid, p, box) {
	//alert('displayMessage(' + '/profile/' + user + '/messaging?id=' + msgid + '&p=1&box=0&lb=1' + ')');
	tb_show('Message', '/profile/' + user + '/messaging?height=500&width=400&id=' + msgid + '&p=' + p + '&box=' + box + '&lb=1', null);
	return false;
}

function sendMessage(user, to, msgid, p, box, replytype, reply) {
	var qs = '?height=500&width=400&lb=1&id=' + msgid + '&p=' + p + '&box=' + box;
	if (replytype != null && replytype != '') {
		qs += '&' + replytype + '=' + reply;
	} else {
		qs += '&to=' + to;
	}
	tb_show('Compose Message', '/profile/' + user + '/messaging/send' + qs, null);
	return false;
}

function sendMsg(user, to, logged_in) {
	if(logged_in) {
		sendMessage(user, to, 0, 1, 0);
	}
	else {
		// Tell them to login politely.
		pleaseLogin('','');
	}
	return false;
}

function pleaseLogin(favetype, id) {
//	var login_dialog1 = document.getElementById('login_dialog');
//	if(login_dialog1) {
//		login_dialog1.style.display = 'block';
//	}
	tb_show('Please Login to PW','/lblogin?height=125&width=300&action=fave&favetype='+favetype+'&id='+id+'&pg='+location.href, null);
}

function hide(s) {
	var oHide = document.getElementById(s);
	if(oHide) {
		oHide.style.display = 'none';
	}
}

function searchq(q_mashups, q_apis)
{
	if (q_apis.value != '' && q_apis.value != 'Search APIs') {
		window.location.href = '/apitag/?q=' + q_apis.value;
		return false;
	}

	window.location.href = '/mashups/directory/1?q=' + q_mashups.value;
	return false;

}

