daily pastebin goal
40%
SHARE
TWEET

Untitled

a guest Apr 17th, 2018 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  2. var left_scene_id = 0;
  3. var right_scene_id = 0;
  4. var default_scene_id = 0;
  5. var position_array = new Array();
  6.  
  7.  
  8. /*function uploadFile(file){
  9.     document.partners.upload_file.value = file;
  10.     document.partners.submit_action.value = "Submit";
  11.     document.partners.submit();
  12. }
  13.  
  14. function deleteFile(file){
  15.     document.partners.delete_file.value = file;
  16.     document.partners.submit_action.value = "Submit";
  17.     document.partners.submit();
  18. } */
  19. var W3CDOM = (document.createElement && document.getElementsByTagName);
  20.  
  21. function protoAjax(url,params,helperFunction) {
  22.     params = params + '&rand=' + Math.floor(Math.random() * 1000000000);
  23.     var ajaxRequest = new Ajax.Request(url, {
  24.         parameters:   params,
  25.         asynchronous: false,
  26.         onSuccess:   helperFunction,
  27.         onFailure: function () {
  28.             alert(url);
  29.         }
  30.     });
  31. }
  32.  
  33. function fetchSceneCount(cid, pid) {
  34.     protoAjax('partners_edit.php?mode=settings&partnerid='+pid+'&sceneCount='+cid, '', updateSceneCount);
  35. }
  36.  
  37. function updateSceneCount(json) {
  38.     var data = json.responseText.parseJSON();
  39.     parent.parent.document.getElementById('cid' + data.cid).innerHTML = data.count;
  40. }
  41.  
  42. function callVokiScene(sceneId, update) {
  43.     if (update) {
  44.         var params = 'partnerid=' + glob_partnerid + '&cid=' + glob_cid + '&upsid='  +sceneId;
  45.         protoAjax(location.protocol + '//' + location.hostname + '/partners/admin/modal_config_scenes.php?' + params, params, updateVokiScene);
  46.     } else {
  47.         var params = 'partnerid=' + glob_partnerid + '&cid=' + glob_cid + '&sid='  +sceneId;
  48.         protoAjax(location.protocol + '//' + location.hostname + '/partners/admin/modal_config_scenes.php?' + params, params, addVokiScene);
  49.     }
  50. }
  51.  
  52. function addVokiScene(json) {
  53.     var text = $('scenes').innerHTML;
  54.     var data = json.responseText.parseJSON();
  55.     $('scenes').innerHTML = text +
  56.     '<div class="scene" id="scene_' + data.sid + '">' +
  57.     '<div align="center">' +
  58.     '<div class="thumb">' +
  59.     '<a href="#" onClick="window.open(\'' + data.link + '\', \'partner\', ' + '\'width=570,height=500,resizable\')">' +
  60.     '<img src="' + data.thumb + '" /></a>' +
  61.     '</div></div>' + ( (data.title == '' || data.title == 'null' || data.title == 'undefined' || !data.title || data.title === null) ? 'unnamed' : data.title ) + '<br />' +
  62.     '<a href="javascript:void(0);" onClick="window.open(\'' + data.link + '\', \'partner\', ' + '\'width=570,height=500,resizable\')">Edit</a>&nbsp;' +
  63.     '<a href="javascript:void(0);" onClick="deleteVokiScene(' + data.sid + ')">delete</a>' +
  64.     '</div>';
  65. }
  66.  
  67. function updateVokiScene(json) {
  68.     location.reload();
  69.     /*var timestamp = (new Date()).getTime();
  70.     var data = json.responseText.parseJSON();
  71.     $(data.sid).remove();
  72.  
  73.     var text = document.getElementById('scenes').innerHTML;
  74.     //alert(json.responseText);
  75.  
  76.     document.getElementById('scenes').innerHTML = text +
  77.     '<div class="scene" id="scene_' + data.sid + '">' +
  78.     '<div align="center">' +
  79.     '<div class="thumb">' +
  80.     '<a href="#" onClick="window.open(\'' + data.link + '\', \'partner\', ' + '\'width=570,height=500,resizable\')">' +
  81.     '<img src="' + data.thumb + '?' + timestamp + '" /></a>' +
  82.     '</div></div>' + data.title + '<br />' +
  83.     '<a href="javascript:void(0);" onClick="window.open(\'' + data.link + '\', \'partner\', ' + '\'width=570,height=500,resizable\')">Edit</a>&nbsp;' +
  84.     '<a href="javascript:void(0);" onClick="deleteVokiScene(' + data.sid + ')">delete</a>' +
  85.     '</div>';*/
  86. }
  87.  
  88. function deleteVokiScene(sid) {
  89.     var params = 'partnerid=' + glob_partnerid + '&sid=' + sid + '&cid=' + glob_cid + '&action=delete';
  90.     protoAjax('modal_config_scenes.php?' + params, params, hide_deleted_scene);
  91. }
  92.  
  93. function hide_deleted_scene(json) {
  94.     var data = json.responseText.parseJSON();
  95.     $( 'scene_' + data.sid ).remove();
  96. }
  97.  
  98. function editVokiApp(vokiapp, partnerid){
  99.     document.location="vokiapps_edit.php?&vokiapp=" + vokiapp + "&partnerid=" + partnerid;
  100. }
  101.  
  102. function doDelete(vokiappid){
  103.     if (!confirm("Are you sure you want to delete this Voki App?"))
  104.         return;
  105.     document.vokiapps.submit_action.value = "delete_" + vokiappid;
  106.     document.vokiapps.submit();
  107. }
  108.  
  109. function filter(partnerid) {
  110.     var url = "partners_edit.php?mode=vokiapps&partnerid=" + partnerid + "&apptype=" +
  111.             document.vokiapps.vokiappsFilterByApp.value;
  112.            
  113.     if (document.vokiapps.vokiappsFilterByPartner) {
  114.         url = url + "&prt=" + document.vokiapps.vokiappsFilterByPartner.value;
  115.     }
  116.     document.location = url;
  117. }
  118.  
  119. function doUpdate() {
  120.     if (adObj) {
  121.         for (a in adObj) {
  122.             ajaxAdSave(a,0);
  123.         }
  124.     }
  125.     document.vokiapps.submit_action.value = "update";
  126.     document.vokiapps.submit();
  127. }
  128.  
  129. function doCancel() {
  130.     document.vokiapps.submit_action.value = "cancel";
  131.     document.vokiapps.submit();
  132. }
  133.  
  134. function doPreview() {
  135.     document.vokiapps.submit_action.value = "preview";
  136.     document.vokiapps.submit();
  137. }
  138.  
  139. function doUpload() {
  140.     document.vokiapps.submit_action.value = "upload";
  141.     document.vokiapps.submit();
  142. }
  143.  
  144. function getAjaxObj() {
  145.     var req = false;
  146.     if (window.XMLHttpRequest) {// if Mozilla, Safari etc
  147.         try {
  148.             req = new XMLHttpRequest();
  149.         } catch (e) {
  150.         }
  151.     } else if (window.ActiveXObject) {// if IE
  152.         try {
  153.             req = new ActiveXObject("Msxml2.XMLHTTP");
  154.         } catch (e) {
  155.             try{
  156.                 req = new ActiveXObject("Microsoft.XMLHTTP");
  157.             } catch (e) {
  158.             }
  159.         }
  160.     }
  161.     return req;
  162. }
  163.  
  164. function ajaxPost(url,params,helperFunc) {
  165.     var req = getAjaxObj();
  166.     if (!req) return;
  167.     var method = (params) ? 'POST' : 'GET';
  168.     req.open(method,url,true);
  169.     req.setRequestHeader('User-Agent','XMLHTTP/1.0');
  170.     if (method == 'POST') {
  171.         req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  172.     }
  173.     req.onreadystatechange = function () {
  174.         if (req.readyState != 4) return;
  175.         if (helperFunc) {
  176.             helperFunc(req);
  177.         }
  178.         return;
  179.     };
  180.     if (req.readyState == 4) return;
  181.     req.send(params);
  182. }
  183.  
  184. var logo, banner, bg, logoImg, bannerImg, bgIMg, deleteLogo, deleteBanner, deleteBg;
  185. function initImageObjs() {
  186.     logo = new Image();
  187.     banner = new Image();
  188.     bg = new Image();
  189.     logoImg = document.getElementById('logoImg');
  190.     bannerImg = document.getElementById('bannerImg');
  191.     bgImg = document.getElementById('bgImg');
  192.     deleteLogo = document.getElementById('deleteLogo');
  193.     deleteBanner = document.getElementById('deleteBanner');
  194.     deleteBg = document.getElementById('deleteBack');
  195. }
  196.  
  197. function initImageFunctions() {
  198.     logo.onerror = function () {
  199.         logoImg.style.display = 'none';
  200.         deleteLogo.className = 'btn_gray_125';
  201.         deleteLogo.disabled = true;
  202.     };
  203.     logo.onload = function () {
  204.         logoImg.src = logo.src;
  205.         logoImg.style.height = 65 + 'px';
  206.         logoImg.style.display = 'block';
  207.     };
  208.     banner.onerror = function () {
  209.         bannerImg.style.display = 'none';
  210.         deleteBanner.className = 'btn_gray_125';
  211.         deleteBanner.disabled = true;
  212.     };
  213.     banner.onload = function () {
  214.         bannerImg.src = banner.src;
  215.         bannerImg.style.width = 292 + 'px';
  216.         bannerImg.style.display = 'block';
  217.     };
  218.     bg.onerror = function () {
  219.         bgImg.style.display = 'none';
  220.         deleteBg.className = 'btn_gray_125';
  221.         deleteBg.disabled = true;
  222.     };
  223.     bg.onload = function () {
  224.         bgImg.src = bg.src;
  225.         bgImg.style.width = Math.ceil((bg.width/4)) + 'px';
  226.         bgImg.style.height = Math.ceil((bg.height/4)) + 'px';
  227.         bgImg.style.display = 'block';
  228.     };
  229. }
  230.  
  231. function loadImages(logoSrc,bannerSrc,bgSrc) {
  232.     var date = new Date();
  233.     var timestamp = date.getTime();
  234.     var partnerid = document.vokiapps.partnerid.value;
  235.     var vokiappid = document.vokiapps.vokiAppId.value;
  236.     logo.src = logoSrc + '?' + timestamp + '&partnerid=' + partnerid + '&vokiapp=' + vokiappid;
  237.     banner.src = bannerSrc + '?' + timestamp + '&partnerid=' + partnerid + '&vokiapp=' + vokiappid;
  238.     bg.src = bgSrc + '?' + timestamp + '&partnerid=' + partnerid + '&vokiapp=' + vokiappid;
  239. }
  240.  
  241. function deleteLogoImg(req) {
  242.     if (req.responseText == 'ok') {
  243.         logoImg.style.display = 'none';
  244.         deleteLogo.className = 'btn_gray_125';
  245.         deleteLogo.disabled = true;
  246.     }
  247. }
  248.  
  249. function deleteBannerImg(req) {
  250.     if (req.responseText == 'ok') {
  251.         bannerImg.style.display = 'none';
  252.         deleteBanner.className = 'btn_gray_125';
  253.         deleteBanner.disabled = true;
  254.     }
  255. }
  256.  
  257. function deleteBackgroundImg(req) {
  258.     if (req.responseText == 'ok') {
  259.         bgImg.style.display = 'none';
  260.         deleteBg.className = 'btn_gray_125';
  261.         deleteBg.disabled = true;
  262.     }
  263. }
  264.  
  265. function launchEditor(appType,side,edit) {
  266.     if (appType == 'Face Off') {
  267.         if (side.indexOf('left') != -1) {
  268.             if (edit == 0) {
  269.                 window.open(leftCreateUrl,'partner', 'width=570,height=500,resizable');
  270.             } else {
  271.                 window.open(leftEditorUrl,'partner', 'width=570,height=500,resizable');
  272.             }
  273.         } else {
  274.             if (edit == 0) {
  275.                 window.open(rightCreateUrl,'partner', 'width=570,height=500,resizable');
  276.             } else {
  277.                 window.open(rightEditorUrl,'partner', 'width=570,height=500,resizable');
  278.             }
  279.         }
  280.     } else {
  281.         if (edit == 0) {
  282.             window.open(createUrl,'partner', 'width=570,height=500,resizable');
  283.         } else {
  284.             window.open(editorUrl,'partner', 'width=570,height=500,resizable');
  285.         }
  286.     }
  287. }
  288.  
  289. function initDefaultScenes(theId) {
  290.     var createButton = document.getElementById('create_' + theId);
  291.     var editButton = document.getElementById('edit_' + theId);
  292.     var deleteButton = document.getElementById('delete_' + theId);
  293.     var thumbImg = document.getElementById('defaultThumb_' + theId);
  294.     var imgField = document.getElementById('thumbVal_' + theId);
  295.     var sceneField = document.getElementById('sceneID_' + theId);
  296.  
  297.     if (sceneField.value != 0) {
  298.         createButton.className = 'btn_gray_125';
  299.         createButton.disabled = true;
  300.         editButton.className = 'btn_blue_125';
  301.         editButton.disabled = false;
  302.         deleteButton.className = 'btn_green_125';
  303.         deleteButton.disabled = false;
  304.     }
  305. }
  306.  
  307. function deleteDefault(theId) {
  308.     var createButton = document.getElementById('create_' + theId);
  309.     var editButton = document.getElementById('edit_' + theId);
  310.     var deleteButton = document.getElementById('delete_' + theId);
  311.     var thumbImg = document.getElementById('defaultThumb_' + theId);
  312.     var imgField = document.getElementById('thumbVal_' + theId);
  313.     var sceneField = document.getElementById('sceneID_' + theId);
  314.  
  315.     createButton.className = 'btn_blue_125';
  316.     createButton.disabled = false;
  317.     thumbImg.innerHTML = '<img src="../images/silhouette_50.jpg" />';
  318.     editButton.className = 'btn_gray_125';
  319.     editButton.disabled = true;
  320.     deleteButton.className = 'btn_gray_125';
  321.     deleteButton.disabled = true;
  322.     imgField.value = '../images/silhouette_50.jpg';
  323.     sceneField.value = 0;
  324.     doUpload();
  325. }
  326.  
  327. function showSaved() {
  328.     document.getElementById('message').innerHTML = 'Saved.';
  329. }
  330.  
  331. function show_preview(URL) {
  332.     if ( document.vokiapps.preview.value == "yes" ) {
  333.         day = new Date();
  334.         id = day.getTime();
  335.         eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=screen.width,height=screen.height');");   
  336.     }
  337. }
  338.  
  339. function grabQueryValue(theKey) {
  340.     var vals = location.search.split('&');
  341.     for (i=0;i<vals.length;i++) {
  342.         var val = vals[i].split('=');
  343.         if (val[0].indexOf(theKey) != -1) {
  344.             theVal = val[1];
  345.             break;
  346.         } else {
  347.             theVal = '';
  348.         }
  349.     }
  350.     return theVal;
  351. }
  352.  
  353. function changeCSSLink() {
  354.     var selected = document.getElementById('style_select').selectedIndex;
  355.     var theId = document.getElementById('style_select').options[selected].value;
  356.     var theLink = document.getElementById('editCSSlink').href;
  357.     var idloc = theLink.lastIndexOf('loadstyle=');
  358.     theLink = theLink.slice(0, idloc);
  359.    
  360.     document.getElementById('editCSSlink').href = theLink + 'loadstyle='+ theId;
  361.     decoGreyboxLinks();
  362. }
  363.  
  364. function checkOptions() {
  365.     var theSelect = document.getElementById('style_select');
  366.     var options = theSelect.options;
  367.     var optionPresent = false;
  368.     for (i=0;i<options.length;i++) {
  369.         if (options[i].value == '0') {
  370.             theSelect.selectedIndex = i;
  371.             optionPresent = true;
  372.             changeCSSLink();
  373.             break;
  374.         }
  375.     }
  376.     if (!optionPresent) {
  377.         var changeCSS = new Option('Customized Style', '0', true, true);
  378.         theSelect.add(changeCSS,null);
  379.         changeCSSLink();
  380.     }
  381. }
  382.  
  383. function submitChangePassword() {
  384.     var oldp = document.changepass.oldpass.value;
  385.     var newp = document.changepass.newpass.value;
  386.     var newp2 = document.changepass.newpass2.value;
  387.     var prt = document.changepass.partnerid.value;
  388.    
  389.     if (newp != newp2) {
  390.         document.getElementById('message').innerHTML = "The two passwords do not match. Please try again.";
  391.         document.changepass.newpass.value = '';
  392.         document.changepass.newpass2.value = '';
  393.         return false;
  394.     }
  395.    
  396.     var params = 'save=1&old=' + oldp + '&new='+ newp + '&partnerid=' + prt;
  397.    
  398.     ajaxPost('modal_change_password.php?' + params,params,ChangePasswordResponse);
  399. }
  400.  
  401. function ChangePasswordResponse(resp) {
  402.     var text = resp.responseText;
  403.     if (text == 'success') {
  404.         document.getElementById('message').innerHTML = "<strong>Password changed. Click 'Close' to finish.</strong>";
  405.     }
  406.     else {
  407.         document.getElementById('message').innerHTML = text;
  408.     }
  409. }
  410.  
  411. //universal parse JSON function
  412. (function (s) {
  413.   var m = {
  414.     '\b': '\\b',
  415.     '\t': '\\t',
  416.     '\n': '\\n',
  417.     '\f': '\\f',
  418.     '\r': '\\r',
  419.     '"' : '\\"',
  420.     '\\': '\\\\'
  421.   };
  422.  
  423.   s.parseJSON = function (filter) {
  424.     try {
  425.       if (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.
  426.         test(this)) {
  427.  
  428.           var j = eval('(' + this + ')');
  429.  
  430.           if (typeof filter === 'function') {
  431.  
  432.             function walk(k, v) {
  433.               if (v && typeof v === 'object') {
  434.                 for (var i in v) {
  435.                   if (v.hasOwnProperty(i)) {
  436.                     v[i] = walk(i, v[i]);
  437.                   }
  438.                 }
  439.               }
  440.               return filter(k, v);
  441.             }
  442.  
  443.             j = walk('', j);
  444.           }
  445.           return j;
  446.         }
  447.       } catch (e) {
  448.  
  449.       }
  450.       throw new SyntaxError("parseJSON");
  451.     };
  452.   }
  453. ) (String.prototype);
  454.  
  455. //ad admin tool functions
  456. function initAdManage(typeFilter) {
  457.     if (!typeFilter) typeFilter = 0;
  458.     var partnerId = document.vokiapps.partnerid.value;
  459.     var urlStr = location.protocol + '//' + location.hostname + '/partners/admin/json_ads.php?';
  460.     var params = 'action=getall&partnerid=' + partnerId ;
  461.     protoAjax(urlStr + params, params, showAdManage);
  462. }
  463.  
  464. var appObj = false;
  465. function showAdManage(req) {
  466.     if (!req.responseText || req.responseText == '[]') return;
  467.     typeFilter = document.vokiapps.select_type.options[document.vokiapps.select_type.selectedIndex].value;
  468.     appObj = req.responseText.parseJSON();
  469.     var ads = $('ads');
  470.     ads.innerHTML = '';
  471.     var adTable = document.createElement('table');
  472.     var adTableBody = document.createElement('tbody');
  473.     adTable.appendChild(adTableBody);
  474.     for (app in appObj) {
  475.         if ( appObj[app].typeid != typeFilter && parseInt(typeFilter, 10) != 0 ) { continue; }
  476.  
  477.         var trTitle = document.createElement('tr');
  478.         trTitle.style.color = 'white';
  479.         trTitle.style.backgroundColor = '#999';
  480.         var appTitle = document.createElement('td');
  481.         appTitle.style.padding = '2px';
  482.         appTitle.innerHTML = '<b>Application Name:</b> ' + appObj[app].name + ' | <b>Application Type</b>: ' + appObj[app].type;
  483.         trTitle.appendChild(appTitle);
  484.         var dimensionHead = document.createElement('td');
  485.         dimensionHead.innerHTML = '<b>Dimensions</b>';
  486.         dimensionHead.style.padding = '2px';
  487.         trTitle.appendChild(dimensionHead);
  488.         var typeHead = document.createElement('td');
  489.         typeHead.innerHTML = '<b>Ad Type</b>';
  490.         typeHead.style.padding = '2px';
  491.         trTitle.appendChild(typeHead);
  492.         adTableBody.appendChild(trTitle);
  493.  
  494.         adObj = appObj[app].ads;
  495.         for (position in adObj) {
  496.             var tr = document.createElement('tr');
  497.  
  498.             var adTd = document.createElement('td');
  499.             adTd.innerHTML = '<b>Ad ' + position + ':</b>';
  500.             adTd.style.padding = '4px';
  501.             for (adType in adObj[position]) {
  502.                 if ((adObj[position][adType].ads && adObj[position][adType].ads != 'none') && (adObj[position][adType].selected || adObj[position][adType].selected == 0)) {
  503.                     if(!$('selectAd_' + app + '_' + position)) {
  504.                         var inputSelect = createSelect(position,adType,'select_' +app + '_' + position + '_' + adType);
  505.                         adTd.appendChild(inputSelect);
  506.                         break;
  507.                     }
  508.                 }
  509.             }
  510.             tr.appendChild(adTd);
  511.            
  512.             for (adType in adObj[position]) {
  513.                 if(adObj[position][adType].selected || adObj[position][adType].selected ==0) {
  514.                     var dimensionTd = document.createElement('td');
  515.                     dimensionTd.innerHTML = adObj[position][adType].width + ' x ' + adObj[position][adType].height;
  516.                     tr.appendChild(dimensionTd);
  517.                     var typeTd = document.createElement('td');
  518.                     typeTd.innerHTML = adObj[position][adType].type_title;
  519.                     tr.appendChild(typeTd);
  520.                 }
  521.             }
  522.             adTableBody.appendChild(tr);
  523.         }
  524.     }
  525.     ads.appendChild(adTable);
  526. }
  527.  
  528. function initAdRep(typeFilter) {
  529.     if (!typeFilter) typeFilter = 0;
  530.     var partnerId = document.vokiapps.partnerid.value;
  531.     var urlStr = location.protocol + '//' + location.hostname + '/partners/admin/json_ads.php?';
  532.     var params = 'action=listads&partnerid=' + partnerId;
  533.     protoAjax(urlStr + params, params, showAdRep);
  534. }
  535.  
  536. function showAdRep(req) {
  537.     if (!req.responseText || req.responseText == '[]') return;
  538.     typeFilter = document.vokiapps.type_filter.options[document.vokiapps.type_filter.selectedIndex].value;
  539.     var ads = $('ads');
  540.     ads.innerHTML = '';
  541.     var adTable = document.createElement('table');
  542.     var adTableBody = document.createElement('tbody');
  543.     adTable.appendChild(adTableBody);
  544.     var headerRow = document.createElement('tr');
  545.     headerRow.style.background = '#999';
  546.     headerRow.style.color = 'white';
  547.     var defaultTd = document.createElement('td');
  548.     defaultTd.innerHTML = '<b>Default</b>';
  549.     defaultTd.style.padding = '2px';
  550.     headerRow.appendChild(defaultTd);
  551.     var nameTd = document.createElement('td');
  552.     nameTd.innerHTML = '<b>Ad Name</b>';
  553.     nameTd.style.padding = '2px';
  554.     headerRow.appendChild(nameTd);
  555.     var dimensionTd = document.createElement('td');
  556.     dimensionTd.innerHTML = '<b>Dimensions</b>';
  557.     dimensionTd.style.padding = '2px';
  558.     headerRow.appendChild(dimensionTd);
  559.     var editTd = document.createElement('td');
  560.     editTd.innerHTML = '<b>Edit</b>';
  561.     editTd.style.padding = '2px';
  562.     headerRow.appendChild(editTd);
  563.     adTableBody.appendChild(headerRow);
  564.     var manageObj = req.responseText.parseJSON();
  565.     for (ad in manageObj) {
  566.         if ( manageObj[ad].ad_type_id != typeFilter && parseInt(typeFilter, 10) != 0 ) { continue; }
  567.         var tr = document.createElement('tr');
  568.  
  569.         var adCheckTd = document.createElement('td');
  570.         var adCheck = document.createElement('input');
  571.         adCheck.type = 'checkbox';
  572.         adCheck.name = 'dimension_default_' + manageObj[ad].id;
  573.         adCheck.id = 'dimension_default_' + manageObj[ad].id;
  574.         adCheckTd.appendChild(adCheck);
  575.         if (manageObj[ad].def) {
  576.             adCheck.checked = true;
  577.         }
  578.         adCheck.disabled = true;
  579.  
  580.         var checkLabel = document.createElement('span');
  581.         checkLabel.innerHTML = 'Dimension Default';
  582.         adCheckTd.appendChild(checkLabel);
  583.         tr.appendChild(adCheckTd);
  584.  
  585.         var adNameTd = document.createElement('td');
  586.         var adName = document.createElement('span');
  587.         adName.style.display = 'inline';
  588.         adName.style.margin = '0 5px 0 5px';
  589.         adName.innerHTML = manageObj[ad].name;
  590.         adNameTd.appendChild(adName);
  591.         tr.appendChild(adNameTd);
  592.  
  593.         var adDimensionTd = document.createElement('td');
  594.         var adDimension = document.createElement('span');
  595.         adDimension.style.display = 'inline';
  596.         adDimension.style.margin = '0 5px 0 5px';
  597.         adDimension.innerHTML = manageObj[ad].dimension;
  598.         adDimensionTd.appendChild(adDimension);
  599.         tr.appendChild(adDimensionTd);
  600.  
  601.         var editTd = document.createElement('td');
  602.         var editButton = createEdit(ad,manageObj[ad].ad_type_id);
  603.         editTd.appendChild(editButton);
  604.         tr.appendChild(editTd);
  605.  
  606.         adTableBody.appendChild(tr);
  607.     }
  608.     ads.appendChild(adTable);
  609. }
  610.  
  611. function createEdit(ad,typeId) {
  612.     var editButton = document.createElement('a');
  613.     editButton.innerHTML = 'Edit';
  614.     editButton.href = 'javascript:void(0)';
  615.     editButton.onclick = function () { createNewAd('edit',{"ad": ad , "typeId" : typeId}); };
  616.     return editButton;
  617. }
  618.  
  619. function initAdObj( div_id ) {
  620.     document.getElementById( div_id ).innerHTML = '';
  621.     var appId = document.vokiapps.vokiAppId.value;
  622.     var partnerId = document.vokiapps.partnerid.value;
  623.     if (document.vokiapps.layout) {
  624.         var layout = document.vokiapps.layout;
  625.         if (layout.length) {
  626.             for(i=0;i<layout.length;i++) {
  627.                 if (layout[i].checked == true) {
  628.                     var layoutId = layout[i].value;
  629.                 }
  630.             }
  631.         } else {
  632.             var layoutId = document.vokiapps.layout.value;
  633.         }
  634.     }
  635.     var urlStr = location.protocol + '//' + location.hostname + '/partners/admin/json_ads.php?';
  636.     var params = 'action=getad&lid=' + layoutId + '&partnerid=' + partnerId + '&app=' + appId + '&preview=1';
  637.     protoAjax(urlStr + params, params, showAdObj);
  638. }
  639.  
  640. var adObj = false;
  641. var isSelected = false;
  642. function showAdObj(req) {
  643.     if (!req.responseText || req.responseText == '[]') return;
  644.     adObj = req.responseText.parseJSON();
  645.     if (adObj) {
  646.         var ads = $('ads');
  647.         ads.style.border = '1px solid black';
  648.         var adTable = document.createElement('table');
  649.         var adTableBody = document.createElement('tbody');
  650.         adTable.appendChild(adTableBody);
  651.  
  652.         var headerTr = document.createElement('tr');
  653.         headerTr.style.background = '#999';
  654.         headerTr.style.color = 'white';
  655.         var adHeaderTd = document.createElement('td');
  656.         adHeaderTd.innerHTML = '<b>Ad #</b>';
  657.         headerTr.appendChild(adHeaderTd);
  658.         var selectHeaderTd = document.createElement('td');
  659.         selectHeaderTd.innerHTML = '<b>Select Ad</b>';
  660.         headerTr.appendChild(selectHeaderTd);
  661.         var dimensionHeaderTd = document.createElement('td');
  662.         dimensionHeaderTd.innerHTML = '<b>Dimensions</b>';
  663.         headerTr.appendChild(dimensionHeaderTd);
  664.         if (window.ActiveXObject) {
  665.             var radioHeaderTd = document.createElement('<td colspan="3">')
  666.         } else {   
  667.             var radioHeaderTd = document.createElement('td');
  668.             radioHeaderTd.setAttribute('colspan',3);
  669.         }
  670.         radioHeaderTd.innerHTML = '<b>Ad Type</b>';
  671.         headerTr.appendChild(radioHeaderTd);
  672.         adTableBody.appendChild(headerTr);
  673.  
  674.         for (position in adObj) {
  675.             var inputSelect = false;
  676.             var tr = document.createElement('tr');
  677.             var adTd = document.createElement('td');
  678.             adTd.innerHTML = '<b>Ad ' + position + ':</b>';
  679.             tr.appendChild(adTd);
  680.             var selectTd = document.createElement('td');
  681.             for (adType in adObj[position]) {
  682.                 if ((adObj[position][adType].ads && adObj[position][adType].ads != 'none') && (adObj[position][adType].selected || adObj[position][adType].selected == 0)) {
  683.                     if(!$('selectAd_' + position)) {
  684.                         inputSelect = createSelect(position,adType);
  685.                         selectTd.appendChild(inputSelect);
  686.                         break;
  687.                     }
  688.                 }
  689.                 if (adType == 4 || adType == '4') {
  690.                     if(!$('selectAd_' + position)) {
  691.                         inputSelect = createSelect(position,adType);
  692.                         selectTd.appendChild(inputSelect);
  693.                         inputSelect.style.display = 'none';
  694.                         break;
  695.                     }
  696.                 }
  697.             }
  698.             for (adType in adObj[position]) {
  699.                 if(adObj[position][adType].ads == 'none') {
  700.                     if (!$('create_' + position)) {
  701.                         var butt = createButton(position,adType);
  702.                         selectTd.appendChild(butt);
  703.                         if ((adType == 4 || adType == '4') || (inputSelect && inputSelect.style.display != 'none')) {
  704.                             butt.style.display = 'none';
  705.                         }
  706.                         break;
  707.                     }
  708.                 }
  709.             }
  710.             for (adType in adObj[position]) {
  711.                 if(adObj[position][adType].ads == 'none' && (adType == 4 || adType == '4') && (adObj[position][adType].selected || adObj[position][adType].selected == 0)) {
  712.                     butt.style.display = 'none';
  713.                     break;
  714.                 }
  715.             }
  716.             tr.appendChild(selectTd);
  717.             for (adType in adObj[position]) {
  718.                 if(adObj[position][adType].selected || adObj[position][adType].selected == 0) {
  719.                     var dimensionSpan = createSpan(position,adType);
  720.                     var dimensionTd = document.createElement('td');
  721.                     dimensionTd.appendChild(dimensionSpan);
  722.                     break;
  723.                 }
  724.             }
  725.             tr.appendChild(dimensionTd);
  726.             var numRadios = 0;
  727.             for (adType in adObj[position]) {
  728.                 numRadios++;
  729.                 if(adObj[position][adType].selected || adObj[position][adType].selected == 0) {
  730.                     var checked = 'checked';
  731.                     isSelected = true;
  732.                 } else {
  733.                     var checked = '';
  734.                 }
  735.                 var inputRadio = createRadio('radioAd_' + position + '_' + adType, 'radioAd_' + position, adType,checked);
  736.                 var radioLabel = createLabel('radioAd_' + position + '_' + adType, adObj[position][adType].type_title);
  737.                 var radioTd = document.createElement('td');
  738.                 radioTd.appendChild(inputRadio);
  739.                 radioTd.appendChild(radioLabel);
  740.                 tr.appendChild(radioTd);
  741.             }
  742.             if (numRadios == 1) {
  743.                 inputRadio.style.display = 'none';
  744.             }
  745.             if (!isSelected) {
  746.                 document.vokiapps.elements['radioAd_' + position][0].checked = true;
  747.             }
  748.             adTableBody.appendChild(tr);
  749.         }
  750.         ads.appendChild(adTable);
  751.     }
  752. }
  753.  
  754. function createAdRow(id) {
  755.     var divRow = document.createElement('div');
  756.     divRow.id = 'divRow' + id;
  757.     divRow.style.display = 'block';
  758.     divRow.style.margin = '4px';
  759.     divRow.style.padding = '4px';
  760.     var re = new RegExp(/(\d+)$/);
  761.     var ad_position = re.exec(id);
  762.     divRow.innerHTML = '<b>Ad ' + ad_position[0] + ':</b>';
  763.     return divRow;
  764. }
  765.  
  766. function createRadio(id, name, value, checked) {
  767.     if (window.ActiveXObject) {
  768.         var inputRadio = document.createElement('<input type="radio" name="' + name + '" id="' + id + '" value="' + value + '" ' + checked + ' />');
  769.     } else {
  770.         var inputRadio = document.createElement('input');
  771.         inputRadio.type = 'radio';
  772.         inputRadio.id = id;
  773.         inputRadio.name = name;
  774.         inputRadio.value = value;
  775.         inputRadio.style.margin = '0 0 0 4px';
  776.         if(checked == 'checked') {
  777.             inputRadio.checked = true;
  778.         }
  779.     }
  780.     inputRadio.onclick = function () {changeAdSelect(id);};
  781.     return inputRadio;
  782. }
  783.  
  784. function createLabel(target,text) {
  785.     if (window.ActiveXObject) {
  786.         var radioLabel = document.createElement('<label for="' + target + '">');
  787.     } else {
  788.         var radioLabel = document.createElement('label');
  789.         radioLabel.setAttribute('for',target);
  790.     }
  791.     radioLabel.innerHTML = text;
  792.     return radioLabel;
  793. }
  794.  
  795. function createSpan(position,adType) {
  796.     var dimensionSpan = document.createElement('span');
  797.     dimensionSpan.id = 'dimensions_' + position;
  798.     dimensionSpan.innerHTML = adObj[position][adType].width + ' x ' + adObj[position][adType].height;
  799.     dimensionSpan.style.margin = '0 2px 0 2px';
  800.     return dimensionSpan;
  801. }
  802.  
  803. function createCreate() {
  804.     var createOption = document.createElement('option');
  805.     createOption.innerHTML = 'Create New';
  806.     createOption.value = 'create';
  807.     return createOption;
  808. }
  809.  
  810. function createButton(position,adType) {
  811.     var createButton = document.createElement('input');
  812.     createButton.type = 'button';
  813.     createButton.value = 'Create New';
  814.     createButton.id = 'create_' + position;
  815.     createButton.onclick = function () {createNewAd('default',{'position' : position , 'adType' : adType});};
  816.     return createButton;
  817. }
  818.  
  819. function createSelect(position,adType,id) {
  820.     var inputSelect = document.createElement('select');
  821.     inputSelect.style.width = '150px';
  822.     inputSelect.style.margin = '0 4px 0 4px';
  823.     if (!id) {
  824.         id = 'selectAd_' + position;
  825.         var createOption = createCreate();
  826.         inputSelect.appendChild(createOption);
  827.         inputSelect.onchange = function () { ajaxAdSave(position,1); };
  828.     } else {
  829.         inputSelect.onchange = function () { ajaxSaveAdFromRep(id,0); };
  830.     }
  831.     inputSelect.name = id;
  832.     inputSelect.id = id;
  833.     for (adNum in adObj[position][adType].ads) {
  834.         if(!isNaN(parseInt(adNum, 10)) ) {
  835.             var selectOption = document.createElement('option');
  836.             selectOption.value = adNum;
  837.             selectOption.innerHTML = adObj[position][adType].ads[adNum];
  838.             inputSelect.appendChild(selectOption);
  839.         }
  840.     }
  841.     if (adObj[position][adType].selected || adObj[position][adType].selected == 0) {
  842.         for (j=0;j<inputSelect.options.length;j++) {
  843.             if (inputSelect.options[j].value == adObj[position][adType].selected) {
  844.                 inputSelect.selectedIndex = j;
  845.             }
  846.         }
  847.     } else {
  848.         inputSelect.selectedIndex = 1;
  849.     }
  850.     return inputSelect;
  851. }
  852.  
  853. function changeAdSelect(id) {
  854.     var vals = id.split('_');
  855.     var position = vals[1];
  856.     var adType = vals[2];
  857.     $('dimensions_' + position).innerHTML = adObj[position][adType].width + ' x ' + adObj[position][adType].height;
  858.     var inputSelect = $('selectAd_' + position);
  859.     var butt = $('create_' + position);
  860.     if(adObj[position][adType].ads == 'none') {
  861.         butt.style.display = 'inline';
  862.         if(inputSelect) inputSelect.style.display = 'none';
  863.         butt.disabled = false;
  864.         if (adType == '4' || adType == 4) {
  865.             butt.disabled = true;
  866.         }
  867.         butt.onclick = function () {createNewAd('default',{'position' : position , 'adType' : adType});};
  868.     } else {
  869.         if(butt) butt.style.display = 'none';
  870.         if (inputSelect) inputSelect.style.display = 'inline';
  871.     }
  872.     if (adObj[position][adType].ads && adObj[position][adType].ads != 'none') {
  873.         inputSelect.options.length = 0;
  874.         inputSelect.disabled = false;
  875.         var createOption = createCreate();
  876.         inputSelect.appendChild(createOption);
  877.         for (adNum in adObj[position][adType].ads) {
  878.             if(!isNaN(parseInt(adNum, 10))) {
  879.                 var selectOption = document.createElement('option');
  880.                 selectOption.value = adNum;
  881.                 selectOption.innerHTML = adObj[position][adType].ads[adNum];
  882.                 inputSelect.appendChild(selectOption);
  883.             }
  884.         }
  885.     } else {
  886.         if(inputSelect) inputSelect.disabled = true;
  887.     }
  888.     if (adObj[position][adType].selected) {
  889.         for (j=0;j<inputSelect.options.length;j++) {
  890.             if (inputSelect.options[j].value == adObj[position][adType].selected) {
  891.                 inputSelect.selectedIndex = j;
  892.             }
  893.         }
  894.     } else {
  895.         if(inputSelect) inputSelect.selectedIndex = 1;
  896.     }
  897.     ajaxAdSave(position,1);
  898. }
  899.  
  900. function createNewAd(mode,vals) {
  901.     var partnerid = document.vokiapps.partnerid.value;
  902.     switch (mode) {
  903.         case 'create' :
  904.             var params = 'mode=' + mode + '&partnerid=' + partnerid;
  905.             if (vals) {
  906.                 params = params + '&enum=' + vals['position'];
  907.             }
  908.         break;
  909.  
  910.         case 'edit' :
  911.             var params = 'mode=' + mode + '&partnerid=' + partnerid + '&ad=' + vals['ad'] + '&type=' + vals['typeId'];
  912.         break;
  913.  
  914.         default:
  915.             var theDefault = adObj[vals['position']][vals['adType']]['default'];
  916.             if(!theDefault) theDefault = 0;
  917.             var params = 'mode=' + mode + '&partnerid=' + partnerid + '&enum=' + vals['position'] + '&type=' + vals['adType'] + '&default=' + theDefault;
  918.         break;
  919.     }
  920.  
  921.     var urlStr = location.protocol + '//' + location.hostname + '/partners/admin/modal_savead.php?' + params;
  922.     GB_showCenter('Create New Ad', urlStr, 300, 330);
  923. }
  924.  
  925. function ajaxSaveAdFromRep(id,prev) {
  926.     var partnerid = top.document.vokiapps.partnerid;
  927.     var vals = id.split('_');
  928.     var appId = vals[1];
  929.     var position = vals[2];
  930.     var adType = vals[3];
  931.     var adId = $(id).options[$(id).selectedIndex].value;
  932.     var urlStr = 'json_ads.php?partnerid=' + partnerid + '&action=selectad&app=' + appId + '&enum=' + position + '&ad=' + adId + '&type=' + adType + '&preview=' + prev;
  933.     protoAjax(urlStr,'','');
  934. }
  935.  
  936. function ajaxAdSave(position,prev) {
  937.     if(!adObj) return;
  938.     var appId = document.vokiapps.vokiAppId.value;
  939.     var partnerid = document.vokiapps.partnerid.value;
  940.     var inputSelect = document.getElementById('selectAd_' + position);
  941.     if (inputSelect) {
  942.         var adId = inputSelect.options[inputSelect.selectedIndex].value;
  943.     } else {
  944.         var adId = 0;
  945.     }
  946.     if(document.vokiapps.elements['radioAd_' + position]) {
  947.         if(document.vokiapps.elements['radioAd_' + position].length) {
  948.             for (i=0;i<document.vokiapps.elements['radioAd_' + position].length;i++) {
  949.                 if(document.vokiapps.elements['radioAd_' + position][i].checked) {
  950.                     var adType = document.vokiapps.elements['radioAd_' + position][i].value;
  951.                 }
  952.             }
  953.         } else {
  954.             var adType = document.vokiapps.elements['radioAd_' + position].value;
  955.         }
  956.     }
  957.     if (adId == 'create') {
  958.         createNewAd('createbydim', {"position":position, "adType":adType} );
  959.         return;
  960.     }
  961.     if (adType == '4' || adType == 4) {
  962.         adId = -1;
  963.     }
  964.     if (prev) {
  965.         var urlStr = 'json_ads.php?partnerid=' + partnerid + '&action=selectad&app=' + appId + '&enum=' + position + '&ad=' + adId + '&type=' + adType + '&preview=' + prev;
  966.     } else {
  967.         var urlStr = 'json_ads.php?partnerid=' + partnerid + '&action=selectad&app=' + appId + '&enum=' + position + '&ad=' + adId + '&type=' + adType;
  968.     }
  969.     protoAjax(urlStr,'','');
  970. }
  971.  
  972. function saveNewAd(mode) {
  973.     var partnerid = document.savead.partnerid.value;
  974.     var adname = document.savead.adname.value.strip();
  975.     var embed = escape(document.savead.embedcode.value.strip());
  976.     embed= embed.replace(/\+/,'%2B');
  977.  
  978.     var useasdefault = document.savead.useasdefault.checked;
  979.     if (useasdefault) {
  980.         useasdefault = 1;
  981.     } else {
  982.         useasdefault = 0;
  983.     }
  984.     if ( !embed || !adname ) {
  985.         alert('Please input all the fields.');
  986.         return;
  987.     }
  988.     var appId = top.document.vokiapps.vokiAppId.value;
  989.     var ad = document.savead.ad.value;
  990.     switch (mode) {
  991.         case 'edit':
  992.             var typeId = grabQueryValue('type');
  993.             var params = 'action=savead&partnerid=' + partnerid + '&type=' + typeId + '&name=' + adname + '&embed=' + embed + '&default=' + useasdefault + '&ad=' + ad ;
  994.             var callback = handleEditCreate;
  995.         break;
  996.  
  997.         case 'create':
  998.             var position = document.savead['enum'].value;
  999.             var types = document.savead.type_select.options[document.savead.type_select.selectedIndex].value;
  1000.             var vals = types.split('_');
  1001.             var typeId = vals[0];
  1002.             //useasdefault = vals[1];
  1003.             var params = 'action=savead&partnerid=' + partnerid + '&type=' + typeId + '&name=' + adname + '&embed=' + embed + '&default=' + useasdefault;
  1004.             var callback = handleEditCreate;
  1005.         break;
  1006.  
  1007.         default:
  1008.             var position = document.savead['enum'].value;
  1009.             var typeId = document.savead.type.value;
  1010.             var params = 'action=savead&partnerid=' + partnerid + '&type=' + typeId + '&name=' + adname + '&embed=' + embed + '&default=' + useasdefault + '&from=editapp&position=' + position + '&app=' + appId;
  1011.             var callback = handleNewAd;
  1012.         break;
  1013.     }
  1014.     top.protoAjax('json_ads.php?', params, callback);
  1015. }
  1016.  
  1017. function cancelCreate() {
  1018.     var position = grabQueryValue('enum');
  1019.     var adType = grabQueryValue('type');
  1020.     var theSelect = top.$('selectAd_' + position)
  1021.     if (theSelect) {
  1022.         var selectedVal = top.adObj[position][adType].selected;
  1023.         for (i=0;i<theSelect.options.length;i++) {
  1024.             if (theSelect.options[i].value == selectedVal) {
  1025.                 theSelect.selectedIndex = i;
  1026.                 break;
  1027.             }
  1028.         }
  1029.     }
  1030.     top.GB_hide();
  1031. }
  1032.  
  1033. function checkAdTypeSelect() {
  1034.     var vals = document.savead.type_select.options[document.savead.type_select.selectedIndex].value.split('_');
  1035.     var defaultVal = vals[1];
  1036.     var theDefault = document.savead.useasdefault;
  1037.     if (defaultVal == 0 || defaultVal == '0') {
  1038.         theDefault.checked = true;
  1039.         theDefault.disabled = true;
  1040.     } else {
  1041.         theDefault.checked = false;
  1042.         theDefault.disabled = false;
  1043.     }
  1044. }
  1045.  
  1046. function handleEditCreate(oReq) {
  1047.     if (!oReq.responseText) return;
  1048.     top.initAdRep();
  1049.     top.GB_hide();
  1050. }
  1051.  
  1052. function handleNewAd(oReq) {
  1053.     if (!oReq.responseText) return;
  1054.     top.initAdObj('ads');
  1055.     top.GB_hide();
  1056. }
  1057.  
  1058. function checkDefault(mode) {
  1059.     switch (mode) {
  1060.         case 'edit':
  1061.             var defaultVal = document.savead.def.value;
  1062.         break;
  1063.         case 'create':
  1064.             checkAdTypeSelect();
  1065.             return;
  1066.         break;
  1067.         default:
  1068.             var defaultVal = grabQueryValue('default');
  1069.         break;
  1070.     }
  1071.     var ad = document.savead.ad.value;
  1072.     var theDefault = document.savead.useasdefault;
  1073.     if (defaultVal == ad || defaultVal == 0 || defaultVal == '0') {
  1074.         theDefault.disabled = true;
  1075.         theDefault.checked = true;
  1076.     } else {
  1077.         theDefault.disabled = false;
  1078.         theDefault.checked = false;
  1079.     }
  1080. }
  1081.  
  1082. function changeConfigAdSelect(position) {
  1083.     if ( !position ) {
  1084.         position_array.each( function(position) {
  1085.             var radios = $$('input.ad_type' + position);
  1086.             radios.each( function(el) {
  1087.                 var radio = el;
  1088.                 $('ad_dropdown[' + position + '][' + radio.value + ']').style.display = 'none';
  1089.             });
  1090.             radios.each( function(el) {
  1091.                 var radio = el;
  1092.                 if (radio.checked) {
  1093.                     $('ad_dropdown[' + position + '][' + radio.value + ']').style.display = 'inline';
  1094.                 }
  1095.             });
  1096.         });
  1097.     }
  1098.     else {
  1099.         var radios = $$('input.ad_type' + position);
  1100.         radios.each( function(el) {
  1101.             var radio = el;
  1102.             $('ad_dropdown[' + position + '][' + radio.value + ']').style.display = 'none';
  1103.         });
  1104.         radios.each( function(el) {
  1105.             var radio = el;
  1106.             if (radio.checked) {
  1107.                 $('ad_dropdown[' + position + '][' + radio.value + ']').style.display = 'inline';
  1108.             }
  1109.         });
  1110.     }
  1111. }
  1112.  
  1113. /*
  1114. function doSearch(){
  1115.     document.partners_main.submit_action.value = "Search";
  1116.     document.partners_main.submit();
  1117. }
  1118.  
  1119. function goToPage(num)
  1120. {
  1121.     document.partners_main.page.value = num;
  1122.     document.partners_main.submit();
  1123. }
  1124.  
  1125. function numPerPage(num)
  1126. {
  1127.     document.partners_main.numOnPageDEF.value = num;
  1128.     document.partners_main.submit();
  1129. }
  1130.  
  1131. function setSort(sort,changeOrder)
  1132. {
  1133.     document.partners_main.sortBy.value = sort;
  1134.     if(changeOrder)
  1135.         document.partners_main.sortOrder.value = (document.partners_main.sortOrder.value.toLowerCase() == 'asc') ? 'desc' : 'asc';
  1136.     else
  1137.         document.partners_main.sortOrder.value = 'asc';
  1138.     document.partners_main.submit();
  1139. }
  1140.  
  1141.  
  1142. function checkAgreement(){
  1143.     if(document.partners.agreementcheckbox.checked == false &&
  1144.         document.partners.statusSelector.options[document.partners.statusSelector.selectedIndex].value != "Pending") {
  1145.         alert("The agreement checkbox needs to be checked in order to change a partner's status");
  1146.         document.partners.statusSelector.selectedIndex = 0;
  1147.         return false;
  1148.     }
  1149. }*/
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top