var copy="Copy",paste="Paste",paste_filters_button_text="Paste Filters",filter_warning="Can't copy filters to same account";function GMsetValue(name,value){GM_setValue(name,value);}
function GMgetValue(name){return GM_getValue(name);}
function mainCode(){setTimeout(function(){function doCopy(){var i,editLink=document.getElementsByClassName("action_link"),copyLink,pasteLink,vertTemp,vert1,vert2,accountNum,success=true,inserted=document.getElementById("inserted"),scidmatch;scidMatch=/scid=(\d+)(&|$|#$)/.exec(location.href);if(scidMatch){GMsetValue("scid",scidMatch[1]);}
if(!inserted){if(editLink&&editLink.length){vertTemp=document.createElement('td');vertTemp.align="left";vertTemp.style.verticalAlign="top";vertTemp.innerHTML='<div class="gwt-HTML">&nbsp;|&nbsp;</div>';for(i=0;i<editLink.length;i++){vert1=vertTemp.cloneNode(true);if(i==0){vert1.id="inserted";}
vert2=vertTemp.cloneNode(true);editParent=editLink[i].parentNode;copyLink=editParent.cloneNode(true);pasteLink=editParent.cloneNode(true);accountNum=editLink[i].innerHTML.match(/\?id=(\d+)/);if(accountNum){accountNum=accountNum[1];copyLink.id="copy"+ i;copyLink.title=accountNum;pasteLink.title=accountNum;copyLink.firstChild.innerHTML='<a href="javascript:void(0)">'+ copy+'</a>';pasteLink.firstChild.innerHTML='<a href="edit_profile?id='+ accountNum+'">'+ paste+'</a>';copyLink.addEventListener("click",function(){var that=this;setTimeout(function(){for(j=0;j<editLink.length;j+=1){document.getElementById("copy"+ j).style.fontWeight="";}
that.style.fontWeight="bold";GMsetValue("copy_account",that.title);},1);},true);pasteLink.addEventListener("click",function(){var that=this;setTimeout(function(){GMsetValue("paste_account",that.title);GMsetValue("stage",1);GMsetValue("home",location.href);},1);},true);copyLink.innerHTML=copyLink.innerHTML.replace("action_link","copy_link");pasteLink.innerHTML=pasteLink.innerHTML.replace("action_link","paste_link");editParent.parentNode.appendChild(vert1);editParent.parentNode.appendChild(copyLink);editParent.parentNode.appendChild(vert2);editParent.parentNode.appendChild(pasteLink);}else{i=editLink.length;setTimeout(function(){doCopy();},100);success=false;}}}else{setTimeout(function(){doCopy();},100);success=false;}}
if(success){document.addEventListener("DOMNodeInserted",mainCode,false);}}
function nextGoal(stage){switch(stage){case 3:GMsetValue("stage",4);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_goal?id="+ GMgetValue("paste_account")+"&goalNumber="+ GMgetValue("goal_number");break;case 6:GMsetValue("stage",7);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_profile_filter?id="+ GMgetValue("paste_account")+"&scid="+ GMgetValue("scid");break;}}
function filterCopy(){GMsetValue("stage",7);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_profile_filter?id="+ GMgetValue("paste_account")+"&scid="+ GMgetValue("scid");}
function newCopyGoal(){if(GMgetValue("goal_number")<=20){GMsetValue("stage",13);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_goal?id="+ GMgetValue("copy_account")+"&goalNumber="+ GMgetValue("goal_number");}else{GMsetValue("goal_number",0);filterCopy();}}
function goalReady(){var gwt=document.getElementsByClassName("gwt-ListBox");if(gwt&&gwt[0]){gwt[0].addEventListener("DOMNodeInserted",function(event){var that=this;setTimeout(function(){if(GMgetValue("goal_number")==event.target.value){switch(GMgetValue("stage")){case 13:setTimeout(function(){copyGoals();},100);break;case 14:setTimeout(function(){pasteGoals();},100);break;}
that.removeEventListener("DOMNodeInserted",arguments.callee,false);}},0);},false);document.removeEventListener("DOMNodeInserted",goalReady,false);}}
function copyGoals(){var goals=document.getElementById("GoalsUi-ROOT"),goalName=document.getElementsByClassName("gwt-TextBox")[0],inputTags,selectTags,evObj,i;try{evObj=document.createEvent('MouseEvents');evObj.initEvent('click',true,false);document.getElementsByClassName("funnel-create-label")[0].dispatchEvent(evObj);document.getElementsByClassName("add-funnel-step")
for(i=0;i<20;i+=1){document.getElementsByClassName("add-funnel-step")[0].dispatchEvent(evObj);}}catch(err){}
if(goalName.value){GMsetValue("stage",14);inputTags=goals.getElementsByTagName("input");for(i=0;i<inputTags.length;i++){if(inputTags[i].type=="radio"||inputTags[i].type=="checkbox"){GMsetValue("input"+ i,inputTags[i].checked);}else{GMsetValue("input"+ i,inputTags[i].value);}}
selectTags=goals.getElementsByTagName("select");for(i=0;i<selectTags.length;i++){GMsetValue("select"+ i,selectTags[i].value);}
location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_goal?id="+ GMgetValue("paste_account")+"&goalNumber="+ GMgetValue("goal_number");}else{GMsetValue("goal_number",Number(GMgetValue("goal_number")+ 1));newCopyGoal();}}
function pasteGoals(){var goals=document.getElementById("GoalsUi-ROOT"),inputTags,selectTags,evObj,i;try{document.getElementById("gwt-uid-5").click();evObj=document.createEvent('MouseEvents');evObj.initEvent('click',true,false);document.getElementsByClassName("funnel-create-label")[0].dispatchEvent(evObj);document.getElementsByClassName("add-funnel-step")
for(i=0;i<20;i+=1){document.getElementsByClassName("add-funnel-step")[0].dispatchEvent(evObj);}}catch(err){}
GMsetValue("goal_number",Number(GMgetValue("goal_number")+ 1));GMsetValue("stage",15);inputTags=goals.getElementsByTagName("input");for(i=0;i<inputTags.length;i++){if(inputTags[i].type=="radio"||inputTags[i].type=="checkbox"){if(GMgetValue("input"+ i)){inputTags[i].click();}}else{inputTags[i].value=GMgetValue("input"+ i);}}
selectTags=goals.getElementsByTagName("select");for(i=0;i<selectTags.length;i++){selectTags[i].value=GMgetValue("select"+ i);}
document.getElementsByClassName("gwt-Button")[0].click();}
function goalNext(){var goalStart=document.getElementById("GoalsUi-ROOT"),goalFinish=document.getElementById("finish");if(goalStart||goalFinish){if(goalFinish){GMsetValue("stage",5);GMsetValue("paste_security",document.getElementsByName("security_token")[0].value);}else if(goalStart){GMsetValue("stage",13);}
location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_goal?id="+ GMgetValue("copy_account")+"&goalNumber="+ GMgetValue("goal_number");}else{setTimeout(function(){goalNext();},100);}}
if(location.pathname.match("^/analytics/settings/(home)?$")){GMsetValue("stage",0);}
document.removeEventListener("DOMNodeInserted",mainCode,false);switch(GMgetValue("stage")){case 1:GMsetValue("stage",2);GMsetValue("paste_name",document.getElementsByName("ucpr_name")[0].value);GMsetValue("paste_security",document.getElementsByName("security_token")[0].value);GMsetValue("paste_time",document.getElementsByName("utpr_mtime")[0].value);GMsetValue("mform_action",document.getElementsByName("mform")[0].action);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_profile?id="+ GMgetValue("copy_account");break;case 2:GMsetValue("stage",3);GMsetValue("goal_number",1);document.getElementsByName("ucpr_name")[0].value=GMgetValue("paste_name");document.getElementsByName("security_token")[0].value=GMgetValue("paste_security");document.getElementsByName("utpr_mtime")[0].value=GMgetValue("paste_time");document.getElementsByName("mform")[0].action=GMgetValue("mform_action");document.getElementById("finish").click();break;case 3:GMsetValue("stage",4);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_goal?id="+ GMgetValue("paste_account")+"&goalNumber="+ GMgetValue("goal_number");break;case 4:goalNext();break;case 5:if(GMgetValue("goal_number")==4){GMsetValue("goal_number",0);GMsetValue("stage",6);}else{GMsetValue("goal_number",Number(GMgetValue("goal_number")+ 1));GMsetValue("stage",3);}
document.getElementsByName("security_token")[0].value=GMgetValue("paste_security");document.getElementsByName("mform")[0].action=document.getElementsByName("mform")[0].action.replace(GMgetValue("copy_account"),GMgetValue("paste_account"));if(document.getElementsByName("ucgo_name")[0].value&&document.getElementsByName("ucgo_path")[0].value){document.getElementById("finish").click();}else{nextGoal(GMgetValue("stage"));}
break;case 6:filterCopy();break;case 7:GMsetValue("stage",8);document.getElementById("change").click();GMsetValue("paste_security",document.getElementsByName("security_token")[0].value);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_profile_filter?id="+ GMgetValue("copy_account")+"&scid="+ GMgetValue("scid");break;case 8:GMsetValue("stage",9);document.getElementById("change").click();document.getElementsByName("security_token")[0].value=GMgetValue("paste_security");ids=document.getElementsByName("id")
for(i=0;i<ids.length;i++){if(ids[i].nodeName=="INPUT"){ids[i].value=GMgetValue("paste_account");}}
document.getElementsByName("return_list")[0].value=GMgetValue("paste_account");document.getElementById("finish").click();break;case 9:GMsetValue("stage",10);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_profile_user?id="+ GMgetValue("paste_account")+"&scid="+ GMgetValue("scid");break;case 10:GMsetValue("stage",11);document.getElementsByName("ubus_new")[1].click();GMsetValue("paste_security",document.getElementsByName("security_token")[0].value);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_profile_user?id="+ GMgetValue("copy_account")+"&scid="+ GMgetValue("scid");break;case 11:GMsetValue("stage",12);document.getElementsByName("ubus_new")[1].click();document.getElementsByName("security_token")[0].value=GMgetValue("paste_security");ids=document.getElementsByName("id")
for(i=0;i<ids.length;i++){if(ids[i].nodeName=="INPUT"){ids[i].value=GMgetValue("paste_account");}}
document.getElementsByName("selected_profiles_list")[0].value=GMgetValue("paste_account")+",";document.getElementById("finish").click();break;case 12:GMsetValue("stage",0);location.href=GMgetValue("home");break;case 13:document.addEventListener("DOMNodeInserted",goalReady,false);break;case 14:document.addEventListener("DOMNodeInserted",goalReady,false);break;case 15:newCopyGoal();break;default:if(location.href.match("home|settings/(\\?|$|#)")){GMsetValue("stage",0);doCopy();}}},1);}
function copyFilters(){var adminCells=document.getElementsByClassName("admin_list_cell"),adminTitles=document.getElementsByClassName("admin_list_ctitle"),deleteTitle,pasteButton,copyCell,i,numFilters=1;GMsetValue("scid",location.href.match(/scid=(\d+)/)[1]);pasteButton=document.createElement("td");pasteButton.innerHTML='&nbsp;<input type="button" value="'+ paste_filters_button_text+'"></input>';pasteButton.addEventListener("click",function(){if(GMgetValue("scid")==GMgetValue("copy_scid")){alert(filter_warning);}else{GMsetValue("filter_number",1);GMsetValue("paste_scid",GMgetValue("scid"));location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_filter?scid="+ GMgetValue("scid");}},false);document.getElementsByName("search")[0].parentNode.parentNode.appendChild(pasteButton);deleteTitle=adminTitles[adminTitles.length- 1];copyCell=deleteTitle.cloneNode(true);copyCell.innerHTML="<a href='javascript:void(0);'>"+ copy+"</a>&nbsp;&nbsp;&nbsp;<input type='checkbox' onclick='javascript:var copyFilters = document.getElementsByName(&quot;copyFilter&quot;); for(i=0;i<copyFilters.length;i++){copyFilters[i].checked = this.checked; }'></input>";copyCell.addEventListener("click",function(){var copyFilters=document.getElementsByName("copyFilter");for(i=0;i<copyFilters.length;i++){if(copyFilters[i].checked){GMsetValue("filter"+ numFilters,copyFilters[i].id);numFilters++;}}
GMsetValue("max_filters",numFilters);numFilters=0;GMsetValue("copy_scid",GMgetValue("scid"));},false);deleteTitle.parentNode.appendChild(copyCell);for(i=0;i<adminCells.length;i++){if(adminCells[i].innerHTML.indexOf("confirmDelete")!==-1){copyCell=adminCells[i].cloneNode(true);copyCell.innerHTML="<input id='"+ adminCells[i].innerHTML.match(/\d+/)+"' name='copyFilter' type='checkbox'></input>";adminCells[i].parentNode.appendChild(copyCell);}}}
function securityCode(){GMsetValue("filter_security",document.getElementsByName("security_token")[0].value);location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/edit_filter?rid="+ GMgetValue("filter"+ GMgetValue("filter_number"))+"&scid="+ GMgetValue("copy_scid");}
function pasteFilters(){var rid=document.getElementsByName("rid")[0],filterNumber=GMgetValue("filter_number");filterNumber++;if(filterNumber==GMgetValue("max_filters")){GMsetValue("filter_number",0);}else{GMsetValue("filter_number",filterNumber);}
document.getElementsByName("security_token")[0].value=GMgetValue("filter_security");rid.parentNode.removeChild(rid);scids=document.getElementsByName("scid")
for(i=0;i<scids.length;i++){if(scids[i].nodeName=="INPUT"){scids[i].value=GMgetValue("paste_scid");}}
document.getElementById("finish").click();}
if(location.pathname.match("^/analytics/settings/(home)?$")){GMsetValue("filter_number",0);}
if(GMgetValue("filter_number")>0){if(location.href.match("add_filter")){securityCode();}else if(location.href.match("edit_filter")){pasteFilters();}else{location.href=location.protocol+"//"+ location.hostname+"/analytics/settings/add_filter?scid="+ GMgetValue("paste_scid");;}}else if(location.href.match("filter_list")){copyFilters();}else{mainCode();}
