Advertisement
Guest User

main0000.js (2011)

a guest
Jun 11th, 2022
17
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Function to getElementById
  3.  *
  4.  * @param String eId
  5.  */
  6. function eId(eId){
  7.     e = document.getElementById(eId);
  8.     if (e){
  9.         return e;
  10.     }else{
  11.         return false;
  12.     }
  13. }
  14.  
  15. /**
  16.  * function to toggle a Object 'display' status
  17.  * default: none|block
  18.  *
  19.  * @param: objectId
  20.  * @param: defaultValue
  21.  */
  22. function toggleDiv(divId,defaultValue){
  23.     if (!defaultValue){
  24.         defaultValue = "block";
  25.     }
  26.  
  27.     e = document.getElementById(divId);
  28.     if (e){
  29.         if (e.style.display == "none"){
  30.             e.style.display = defaultValue;
  31.         }else{
  32.             e.style.display = "none";
  33.         }
  34.     }
  35. }
  36.  
  37. function blinkNickVisible(elIdNick){
  38.     return true;
  39. }
  40.  
  41. function clearField(field){
  42.     field.value = "";
  43.     field.focus();
  44. }
  45.  
  46. function checkSearchField(){
  47.     searchField = eId("search_field");
  48.  
  49.     if (searchField.value.length < 3){
  50.         searchField.style.background = "#f00";
  51.         searchField.value = searchField.value;
  52.         searchField.focus();
  53.     }else if(searchField.value == findGameString){
  54.         searchField.style.background = "#f00";
  55.         clearField(searchField);
  56.     }else{
  57.         document.location.href = searchLocation+"/"+searchField.value.replace(/ /g,"_");
  58.     }
  59. }
  60.  
  61. /**
  62.  * Hintergrund toggeln
  63.  *
  64.  */
  65. function toggleBackground(elementObj,imageScr){
  66.     elementObj.style.backgroundImage = "url("+imageScr+")";
  67. }
  68.  
  69. /**
  70.  * Tab-Boxen toggeln
  71.  *
  72.  */
  73. function toggleTabBox(tabGroup,currentTab,maxTabs){
  74.     elControlPrefix = "tabcontrol__";
  75.     elPrefix = "tabbox__";
  76.     elSeperator = "_";
  77.     elActiveClassName = "tabBoxLinkActive";
  78.    
  79.     fixedTabs = 0;
  80.    
  81.     for(i=0;i<maxTabs;i++){
  82.         elCurrent = eId(elPrefix+tabGroup+elSeperator+i);
  83.         elCurrentControl = eId(elControlPrefix+tabGroup+elSeperator+i);
  84.        
  85.         /* toggle for Tab */
  86.         if (elCurrent && i==currentTab){
  87.             elCurrent.style.display = "block";
  88.             fixedTabs++;
  89.         }else if (elCurrent){
  90.             elCurrent.style.display = "none";
  91.             fixedTabs++;
  92.         }
  93.        
  94.         /* toggle for Control */
  95.         if (elCurrentControl && i==currentTab){
  96.             elClassWords = elCurrentControl.className.split(" ");
  97.             isInArray = false;
  98.             for (z=0;z<elClassWords.length;z++){
  99.                 if (elClassWords[z] == elActiveClassName){
  100.                     isInArray = true;
  101.                     break;
  102.                 }
  103.             }
  104.            
  105.             if (!isInArray){
  106.                 elClassWords[elClassWords.length] = elActiveClassName;
  107.             }
  108.            
  109.             tmpClassName = "";
  110.             for (z=0;z<elClassWords.length;z++){
  111.                 if (elClassWords[z] != ""){
  112.                     tmpClassName += elClassWords[z];
  113.                 }
  114.                 if (z<(elClassWords.length-1)){
  115.                     tmpClassName += " ";
  116.                 }
  117.             }                      
  118.             elCurrentControl.className = tmpClassName;
  119.         }else if (elCurrent){
  120.             elClassWords = elCurrentControl.className.split(" ");
  121.             isInArray = false;
  122.             for (z=0;z<elClassWords.length;z++){
  123.                 if (elClassWords[z] == elActiveClassName){
  124.                     elClassWords[z] = "";
  125.                     break;
  126.                 }
  127.             }
  128.                        
  129.             tmpClassName = "";
  130.             for (z=0;z<elClassWords.length;z++){
  131.                 if (elClassWords[z] != ""){
  132.                     tmpClassName += elClassWords[z];
  133.                 }
  134.                 if (z<(elClassWords.length-1)){
  135.                     tmpClassName += " ";
  136.                 }
  137.             }                      
  138.             elCurrentControl.className = tmpClassName;
  139.         }
  140.     }
  141.     return fixedTabs;
  142. }
  143.  
  144. /**
  145.  * Absolute Position von links
  146.  */
  147. function getElementX(el){
  148.     if (typeof(el) != "object"){
  149.         el = eId(el);
  150.     }
  151.    
  152.     x = el.offsetLeft;
  153.     if (!el.offsetParent) return x;
  154.     else return (x+getElementX(el.offsetParent));
  155. }
  156.  
  157. /**
  158.  * Absolute Position von oben
  159.  */
  160. function getElementY(el) {
  161.     if (typeof(el) != "object"){
  162.         el = eId(el);
  163.     }
  164.    
  165.     y = el.offsetTop;
  166.     if (!el.offsetParent) return y;
  167.     else return (y+getElementY(el.offsetParent));
  168. }
  169.  
  170. /**
  171.  * Absolute Position des Element Bodens
  172.  */
  173. function getElementBottom(el){
  174.     if (typeof(el) != "object"){
  175.         el = eId(el);
  176.     }
  177.    
  178.     elTop = getElementY(el);
  179.     return elTop+el.offsetHeight;
  180. }
  181.  
  182. /**
  183.  * Absoluter Wert des Container-styles
  184.  */
  185. function getStyle(el,styleProp){
  186.     if (typeof(el) != "object"){
  187.         el = eId(el);
  188.     }  
  189.     if (el.currentStyle){
  190.         var y = el.currentStyle[styleProp];
  191.     }else if (window.getComputedStyle){
  192.         var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
  193.     }
  194.     return y;
  195. }
  196.  
  197. /**
  198.  * Entfernt Pixel/Prozent/Em werte
  199.  * px|%|em
  200.  */
  201. function rP(text){
  202.     text = text.replace("px","");
  203.     text = text.replace("%","");
  204.     text = text.replace("em","");
  205.     return text;
  206. }
  207.  
  208. /**
  209.   * Funktion, um alle Container auf eine Ebene zu leveln
  210.   */
  211. function levelContainer(containerVars,forceId){
  212.     containerObjects = new Array();
  213.     heighestIndex = 0;
  214.    
  215.     for (i=0;i<containerVars.length;i++){
  216.         tmpObject = eId(containerVars[i]);
  217.         if (tmpObject){
  218.             if (forceId == containerVars[i]){
  219.                 heighestIndex = containerObjects.length;
  220.             }
  221.             containerObjects[containerObjects.length] = tmpObject;
  222.         }
  223.     }
  224.    
  225.     if (!forceId){
  226.         for (i=0;i<containerObjects.length;i++){
  227.             if (getElementBottom(containerObjects[i]) > getElementBottom(containerObjects[heighestIndex])){
  228.                 heighestIndex = i;
  229.             }
  230.         }
  231.     }
  232.    
  233.     for (i=0;i<containerObjects.length;i++){
  234.         if (i == heighestIndex){
  235.             continue;
  236.         }
  237.        
  238.         /** check for browser-differences **/
  239.         if (getStyle(containerObjects[i],"padding-top") == undefined){
  240.             realContainerHeight = containerObjects[i].offsetHeight-rP(getStyle(containerObjects[i],"paddingTop"))-rP(getStyle(containerObjects[i],"paddingBottom"));
  241.         }else{
  242.             realContainerHeight = containerObjects[i].offsetHeight-rP(getStyle(containerObjects[i],"padding-top"))-rP(getStyle(containerObjects[i],"padding-bottom"));
  243.         }
  244.         tmpHeight = (getElementBottom(containerObjects[heighestIndex])-getElementBottom(containerObjects[i])) + realContainerHeight;
  245.         containerObjects[i].style.height = tmpHeight+"px";
  246.     }
  247. }
  248.  
  249.  
  250.  
  251. function openPopupGame(gameHash){
  252.     alert("#ToDo!\n"+gameHash);
  253. }
  254.  
  255.  
  256. /**
  257.   * Refresh header
  258.   */
  259. function doRefreshHeader(){
  260.     $('#head_container').html($.ajax({
  261.         url: "/account/remote_refresh_header",
  262.         async: false
  263.     }).responseText);
  264. }
  265.  
  266. function levelup(displayDiv){
  267.     if (displayDiv){
  268.         $("#level_up").center();
  269.         $("#level_up").fadeIn(1000);
  270.         $("#content_container").animate({opacity:0.3},100);
  271.         $("body").css("overflow", "hidden");
  272.     }else{
  273.         $("#level_up").fadeOut(500);
  274.         $("#content_container").animate({opacity:1},100);
  275.         $("body").css("overflow", "auto");
  276.     }
  277. }
  278.  
  279. function submitAjaxUpdateFormData(updateId,targetUrl,formName){
  280.     if (formName == null){
  281.         formName = "current_form";
  282.     }
  283.  
  284.     formValues = {};
  285.     s = $('#'+formName).serializeArray();
  286.     jQuery.each(s,function(){
  287.         formValues[this.name]=this.value;
  288.     });
  289.  
  290.     $('#'+updateId).html($.ajax({
  291.         url: targetUrl,
  292.         data: formValues,
  293.         async: false
  294.     }).responseText);
  295.  
  296.     return false;
  297. }
  298.  
  299. function reposWindowContainer(windowId){
  300.     elCont=eId('window_container_'+windowId);
  301.     if (!elCont){
  302.         return true;
  303.     }
  304.  
  305.     if(window.innerWidth) {
  306.         x = (window.pageXOffset+window.innerWidth);
  307.     }
  308.     else {
  309.         x = (document.documentElement.scrollLeft+window.document.documentElement.clientWidth);
  310.     }
  311.  
  312.  
  313.     if(elCont.offsetTop < 0){
  314.         elCont.style.top="10px";
  315.     }else if(elCont.offsetTop > (x+window.innerHeight-10)){
  316.         elCont.style.top=(x+window.innerHeight-20)+"px";
  317.     }
  318.     if(elCont.offsetLeft < 0){
  319.         elCont.style.left="10px";
  320.     }else if(elCont.offsetLeft > (window.innerWidth-10)){
  321.         elCont.style.left=(window.innerWidth-20)+"px";
  322.     }
  323. }
  324.  
  325. function resizeWindowContainer(windowId){
  326.     elCont=eId('window_container_content_'+windowId);
  327.     elContPos=eId('window_container_resizeable_'+windowId);
  328.  
  329.     elWidth = (elContPos.offsetLeft-elCont.offsetLeft)+"px";
  330.     elHeight = (elContPos.offsetTop-elCont.offsetTop-10)+"px";
  331.     elCont.style.width = elWidth;
  332.     elCont.style.height = elHeight;
  333. }
  334.  
  335. function closeWindowContainer(windowId){
  336.     elCont=eId('window_container_'+windowId);
  337.     if (!elCont){
  338.         return true;
  339.     }
  340.     elCont.parentNode.removeChild(elCont);
  341. }
  342.  
  343. function openWindowContainer(windowId,focusButton){
  344.     elContent=eId('window_container_'+windowId);
  345.     if (!elContent){
  346.         return true;
  347.     }
  348.     elContent.style.display = "block";
  349.     centerDiv(elContent);
  350.  
  351.     if (focusButton){
  352.         elButtonObj = eId('window_container_'+windowId+'_button');
  353.         if (elButtonObj){
  354.             elButtonObj.focus();
  355.         }
  356.     }
  357. }
  358.  
  359. function centerDiv(node) {
  360.     var x,y;
  361.  
  362.     if(window.innerWidth) {
  363.         x = (window.pageXOffset+(window.innerWidth/2));
  364.         y = (window.pageYOffset+(window.innerHeight/2));
  365.     }
  366.     else {
  367.         x = (document.documentElement.scrollLeft+(window.document.documentElement.clientWidth/2));
  368.         y = (document.documentElement.scrollTop+(window.document.documentElement.clientHeight/2));
  369.     }
  370.     node.style.top = (y-node.offsetHeight/2)+'px';
  371.     node.style.left = (x-node.offsetWidth/2)+'px';
  372. }
  373.  
  374. function doGetCaretPosition (oField) {
  375.     // Initialize
  376.     var iCaretPos = 0;
  377.  
  378.     // IE Support
  379.     if (document.selection){
  380.         // Set focus on the element
  381.         oField.focus ();
  382.  
  383.         // To get cursor position, get empty selection range
  384.         var oSel = document.selection.createRange ();
  385.  
  386.         // Move selection start to 0 position
  387.         oSel.moveStart ('character', -oField.value.length);
  388.  
  389.         // The caret position is selection length
  390.         iCaretPos = oSel.text.length;
  391.     }
  392.     // Firefox support
  393.     else if (oField.selectionStart || oField.selectionStart == '0')
  394.     iCaretPos = oField.selectionStart;
  395.  
  396.     // Return results
  397.     return (iCaretPos);
  398. }
  399.  
  400. function doSetCaretPosition (oField, iCaretPos) {
  401.     // IE Support
  402.     if (document.selection) {
  403.         // Set focus on the element
  404.         oField.focus ();
  405.  
  406.         // Create empty selection range
  407.         var oSel = document.selection.createRange ();
  408.  
  409.         // Move selection start and end to 0 position
  410.         oSel.moveStart ('character', -oField.value.length);
  411.  
  412.         // Move selection start and end to desired position
  413.         oSel.moveStart ('character', iCaretPos);
  414.         oSel.moveEnd ('character', 0);
  415.         oSel.select ();
  416.     }
  417.     // Firefox support
  418.     else if (oField.selectionStart || oField.selectionStart == '0') {
  419.         oField.selectionStart = iCaretPos;
  420.         oField.selectionEnd = iCaretPos;
  421.         oField.focus ();
  422.     }
  423. }
  424.  
  425. /**
  426.   * get Information via Ajax
  427.   */
  428. function getInformationWindow(infoString){
  429.     $('#dynamic_container').append($.ajax({
  430.         url: "/window/information/"+infoString,
  431.         async: false
  432.     }).responseText);
  433. }
  434.  
  435. /**
  436.   * status toggle
  437.   */
  438. function toggleStatusContainer(){
  439.     containerObjA = eId("profile_status_inner_container");
  440.     containerObjB = eId("profile_status_change_container");
  441.  
  442.     if (containerObjA.style.display == "none"){
  443.         containerObjA.style.display = "block";
  444.         containerObjB.style.display = "none";
  445.     }else{
  446.         containerObjA.style.display = "none";
  447.         containerObjB.style.display = "block";
  448.     }
  449. }
  450.  
  451. /**
  452.   * status form
  453.   */
  454. function submitStatusForm(targetUrl){
  455.     containerObjA = eId("profile_status_inner_container");
  456.     containerObjB = eId("profile_status_change_container");
  457.     containerObjC = eId("profile_status_wait_container");
  458.     buttonObjA = eId("profile_status_submit_button");
  459.  
  460.     containerObjA.style.display = "none";
  461.     containerObjB.style.display = "none";
  462.     containerObjC.style.display = "block";
  463.     buttonObjA.disabled = true;
  464.  
  465.     submitAjaxUpdateFormData('profile_status_container',targetUrl,'status_form');
  466.     return false;
  467. }
  468.  
  469. function setStatusClassName(elCurrentControl,elStatus,elActiveClassName){
  470.     /* toggle for Control */
  471.     if (elCurrentControl && elStatus){
  472.         elClassWords = elCurrentControl.className.split(" ");
  473.         isInArray = false;
  474.         for (z=0;z<elClassWords.length;z++){
  475.             if (elClassWords[z] == elActiveClassName){
  476.                 isInArray = true;
  477.                 break;
  478.             }
  479.         }
  480.  
  481.         if (!isInArray){
  482.             elClassWords[elClassWords.length] = elActiveClassName;
  483.         }
  484.  
  485.         tmpClassName = "";
  486.         for (z=0;z<elClassWords.length;z++){
  487.             if (elClassWords[z] != ""){
  488.                 tmpClassName += elClassWords[z];
  489.             }
  490.             if (z<(elClassWords.length-1)){
  491.                 tmpClassName += " ";
  492.             }
  493.         }
  494.         elCurrentControl.className = tmpClassName;
  495.     }else if (elCurrentControl){
  496.         elClassWords = elCurrentControl.className.split(" ");
  497.         isInArray = false;
  498.         for (z=0;z<elClassWords.length;z++){
  499.             if (elClassWords[z] == elActiveClassName){
  500.                 elClassWords[z] = "";
  501.                 break;
  502.             }
  503.         }
  504.  
  505.         tmpClassName = "";
  506.         for (z=0;z<elClassWords.length;z++){
  507.             if (elClassWords[z] != ""){
  508.                 tmpClassName += elClassWords[z];
  509.             }
  510.             if (z<(elClassWords.length-1)){
  511.                 tmpClassName += " ";
  512.             }
  513.         }
  514.         elCurrentControl.className = tmpClassName;
  515.     }
  516. }
  517.  
  518. function getStatusClassName(elCurrentControl,elActiveClassName){
  519.     elClassWords = elCurrentControl.className.split(" ");
  520.     isInArray = false;
  521.     for (z=0;z<elClassWords.length;z++){
  522.         if (elClassWords[z] == elActiveClassName){
  523.             return true;
  524.             break;
  525.         }
  526.     }
  527.     return false;
  528. }
  529.  
  530.  
  531.  
  532. function checkRegistration(){
  533.     elEmail = eId("user_email");
  534.     elNick = eId("user_nick");
  535.     elGenderM = eId("user_gender_m");
  536.     elGenderF = eId("user_gender_f");
  537.     elAgb = eId("user_agb");
  538.  
  539.     elGenderContainer = eId("user_gender_container");
  540.     elAgbContainer = eId("user_agb_container");
  541.     elNickReserved = eId("user_nick_reserved");
  542.     elNickWrong = eId("user_nick_wrong");
  543.     elRegisterButton = eId("user_register_button");
  544.    
  545.     elEmailLocked = eId("user_email_locked");
  546.     elEmailSubline = eId("user_email_subline");
  547.     elEmailReserved = eId("user_email_reserved");
  548.     elEmailWrong = eId("user_email_wrong");
  549.  
  550.     noErrors = true;
  551.  
  552.     var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
  553.     if(!pattern.test(elEmail.value)){
  554.         elEmail.style.background = "#f00";
  555.         noErrors = false;
  556.     }else{
  557.         /* now check for email */
  558.         /* check, if nick is free */
  559.         var isEmailFree = true;
  560.         isEmailFree = $.ajax({
  561.             url: "/account/remote_check_email/"+encodeURI(elEmail.value),
  562.             async: false
  563.         }).responseText;
  564.  
  565.         if (isEmailFree == "correct"){
  566.             elEmailLocked.style.display = "none";
  567.             elEmailReserved.style.display = "none";
  568.             elEmailWrong.style.display = "none";
  569.             elEmailSubline.style.display = "block";
  570.             elEmail.style.background = "";
  571.         }
  572.         else if(isEmailFree == "e_reserved"){
  573.             elEmailLocked.style.display = "none";
  574.             elEmailReserved.style.display = "block";
  575.             elEmailWrong.style.display = "none";
  576.             elEmailSubline.style.display = "none";
  577.             elEmail.style.background = "#f00";
  578.             noErrors = false;
  579.         }
  580.         else if(isEmailFree == "e_locked"){
  581.             elEmailLocked.style.display = "block";
  582.             elEmailReserved.style.display = "none";
  583.             elEmailWrong.style.display = "none";
  584.             elEmailSubline.style.display = "none";
  585.             elEmail.style.background = "#f00";
  586.             noErrors = false;
  587.         }
  588.         else if(isEmailFree == "e_wrong"){
  589.             elEmailLocked.style.display = "none";
  590.             elEmailReserved.style.display = "none";
  591.             elEmailWrong.style.display = "block";
  592.             elEmailSubline.style.display = "none";
  593.             elEmail.style.background = "#f00";
  594.             noErrors = false;
  595.         }
  596.     }
  597.  
  598.     if (elNick.value == ""){
  599.         elNick.style.background = "#f00";
  600.         noErrors = false;
  601.     }else{
  602.         /* check if nick is free */
  603.         var isFree = true;
  604.         isFree = $.ajax({
  605.             url: "/account/remote_check_nick/"+encodeURI(elNick.value),
  606.             async: false
  607.         }).responseText;
  608.  
  609.         if (isFree == "correct"){
  610.             elNick.style.background = "";
  611.             elNickReserved.style.display = "none";
  612.             elNickWrong.style.display = "none";
  613.         }
  614.         else if(isFree == "e_reserved"){
  615.             elNickReserved.style.display = "block";
  616.             elNickWrong.style.display = "none";
  617.             elNick.style.background = "#f00";
  618.             noErrors = false;
  619.         }
  620.         else if(isFree == "e_wrong"){
  621.             elNickReserved.style.display = "none";
  622.             elNickWrong.style.display = "block";
  623.             elNick.style.background = "#f00";
  624.             noErrors = false;
  625.         }
  626.     }
  627.     if (elGenderM.checked == false && elGenderF.checked == false){
  628.         elGenderContainer.style.border = "1px solid #f00";
  629.         noErrors = false;
  630.     }else{
  631.         elGenderContainer.style.border = "";
  632.     }
  633.  
  634.     if (elAgb && elAgbContainer){
  635.         if (elAgb.checked == false){
  636.             elAgbContainer.style.border = "1px solid #f00";
  637.             noErrors = false;
  638.         }else{
  639.             elAgbContainer.style.border = "";
  640.         }
  641.     }
  642.  
  643.     if (noErrors){
  644.         elRegisterButton.disabled = true;
  645.         elRegisterButton.className = "defaultSubmitDisabled";
  646.     }else{
  647.         elRegisterButton.disabled = false;
  648.         elRegisterButton.className = "defaultSubmitSmaller";
  649.     }
  650.  
  651.     return noErrors;
  652. }
  653.  
  654. function doFadeInBlink(classname, speed) {
  655.     $("."+classname).fadeIn(speed);
  656.     window.setTimeout("doFadeOutBlink('"+ classname + "', " + speed + ")", speed);
  657.     }
  658.  
  659. function doFadeOutBlink(classname, speed) {
  660.     $("."+classname).fadeOut(speed);
  661.     window.setTimeout("doFadeInBlink('" + classname + "', " + speed + ")", speed);
  662.     }
  663.  
  664. $(document).ready(function(){
  665.     doFadeOutBlink("blinkingObject", 500);
  666. });
  667.  
  668. jQuery.fn.center = function () {
  669.     this.css("position","absolute");
  670.     this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
  671.     this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
  672.     return this;
  673. }
  674.  
Advertisement
RAW Paste Data Copied
Advertisement