// ==UserScript==
// @name OkChoices
// @version 3.0.0
// @namespace http://mitarashidango.net
// @description A script that allows you to modify gender, orientation, relationship status and pronouns on OKCupid.
// @include http://www.okcupid.com/profile*
// @match http://www.okcupid.com/profile*
// @updateURL https://openuserjs.org/install/mienaikage/httpmitarashidango.net/OkChoices.user.js
// @updateURL https://gist.github.com/raw/1131952/okchoices.user.js
// @downloadURL https://openuserjs.org/install/mienaikage/httpmitarashidango.net/OkChoices.user.js
// @downloadURL https://gist.github.com/raw/1131952/okchoices.user.js
// ==/UserScript==
document.getElementById("profile_details").innerHTML = document.getElementById("profile_details").innerHTML.replace(/(<dl>\s+?<dt>Orientation<\/dt>\s+?<dd\s+?id="ajax_orientation">.+?<\/dd>)/gi,'<dl><dt>Pronoun(s)</dt><dd id="ajax_pronoun">(Coming soon!)</dd></dl>'+'$1');
var gen = ['Agender','Androgyne','Butch','Female-to-Male','Femme','Gender Fluid','Gender Neutral','Genderless','Genderqueer','Intersex','Male-to-Female','Neutrois','Trans Man','Trans Woman','Transgender','Transsexual','Trans*']
var or = ['Asexual','Demisexual','Grey Asexual','Heteroflexible','Homoflexible','Panromantic','Pansexual','Polysexual','Queer','Sapiosexual']
var rel = ['Handfasted','Closed group','Separated']
var type = ['Polyamorous','Polyfidelitous']
var pro = ['Test']
var tag = document.getElementById("main_column").innerHTML.match(/ <a\sclass="ilink"\shref="\/interests\?i=(.+?)">/gi);
for (id = 0; id < tag.length; id++) {tag[id] = tag[id].replace(/ <a\sclass="ilink"\shref="\/interests\?i(=.+?)">/gi,'$1');}
for (gid = 0; gid < gen.length; gid++) {
var gmatch = new RegExp('='+gen[gid],'i');
if (gmatch.test(tag)) {
console.log('Found '+gen[gid]+'!');
document.getElementById("ajax_gender").innerHTML = document.getElementById("ajax_gender").innerHTML.replace(/.*/,gen[gid]);
}
}
for (oid = 0; oid < or.length; oid++) {
var omatch = new RegExp('='+or[oid],'i');
if (omatch.test(tag)) {
console.log('Found '+or[oid]+'!');
document.getElementById("ajax_orientation").innerHTML = document.getElementById("ajax_orientation").innerHTML.replace(/.*/,or[oid]);
}
}
for (rid = 0; rid < rel.length; rid++) {
var rmatch = new RegExp('='+rel[rid],'i');
if (rmatch.test(tag)) {
console.log('Found '+rel[rid]+'!');
document.getElementById("ajax_status").innerHTML = document.getElementById("ajax_status").innerHTML.replace(/.*/,rel[rid]);
}
}
for (tid = 0; tid < type.length; tid++) {
var tmatch = new RegExp('='+type[tid],'i');
if (tmatch.test(tag)) {
console.log('Found '+type[tid]+'!');
document.getElementById("ajax_monogamous").innerHTML = document.getElementById("ajax_monogamous").innerHTML.replace(/.*/,type[tid]);
}
}
for (pid = 0; pid < pro.length; pid++) {
var pmatch = new RegExp('='+pro[pid],'i');
if (pmatch.test(tag)) {
console.log('Found '+pro[pid]+'!');
document.getElementById("ajax_pronoun").innerHTML = document.getElementById("ajax_pronoun").innerHTML.replace(/.*/,pro[pid]);
}
}
Donate for the site OpenUserJS
Are you sure you want to go to an external site to donate a monetary value?
WARNING: Some countries laws may supersede the payment processors policy such as the GDPR and PayPal. While it is highly appreciated to donate, please check with your countries privacy and identity laws regarding privacy of information first. Use at your utmost discretion.