//------------------------------------------------------------------------------------------------------Browser Detect
//------------------------------------------------------------------------------------------------------Browser Detect
//------------------------------------------------------------------------------------------------------Browser Detect
var aDOM = 0, ieDOM = 0, nsDOM = 0;
var stdDOM = document.getElementById;
if (stdDOM) aDOM = 1; else {ieDOM = document.all; if (ieDOM) aDOM = 1; else {
var nsDOM = ((navigator.appName.indexOf('Netscape') != -1)
&& (parseInt(navigator.appVersion) ==4)); if (nsDOM) aDOM = 1;}}
//------------------------------------------------------------------------------------------------------cross browser find objects
//------------------------------------------------------------------------------------------------------cross browser find objects
//------------------------------------------------------------------------------------------------------cross browser find objects
function crossBrFindObject(objectId, wS) {
    if (stdDOM) return wS ? document.getElementById(objectId).style: document.getElementById(objectId);
    if (ieDOM) return wS ? document.all[objectId].style: document.all[objectId];
    if (nsDOM) return document.layers[objectId];
    else return false;
} 
//------------------------------------------------------------------------------------------------------get object value
function getValue(id) { 
    var obj = crossBrFindObject(id,0);
    var myval = obj.value;
    return myval;
}
//------------------------------------------------------------------------------------------------------get object style
function getStyle(id) { 
    var objS = crossBrFindObject(id,1);
    var mytop = objS.top;
    return mytop;
}
//------------------------------------------------------------------------------------------------------get object
function getObject(id) {
    var obj = crossBrFindObject(id,0);
    return obj;
}
//------------------------------------------------------------------------------------------------------loadIt - prepare string for ajax
//------------------------------------------------------------------------------------------------------loadIt - prepare string for ajax
//------------------------------------------------------------------------------------------------------loadIt - prepare string for ajax
function loadIt(pageString) {
    var filesToAlter = pageString.split(" ");
    for(var i=0; i<filesToAlter.length; i++) {
        var fileArray = filesToAlter[i].split("|");
        var programName = fileArray[0];
        var openClose = fileArray[1];
        var whichWindow = fileArray[2];
        var programArgs = fileArray[3];
        programArgs = decodeURIComponent(programArgs);
        var okArgs;
        var encodeArgs = programArgs.split("&");
        for (var a=0; a<encodeArgs.length; a++) {
            var nameValues = encodeArgs[a].split("=");
            okArgs=okArgs+"&"+nameValues[0]+"="+encode(nameValues[1]);
        }        // end for loop a
        if (openClose=="0") {
            if (getObject(whichWindow)) {
                closeNode(whichWindow); 
            }        //end if openClose 0
        } else {
            dirtyWork(programName,openClose,whichWindow,okArgs);
        }        //end else
    }        //end for loop i
}        //end loadIt function
//------------------------------------------------------------------------------------------------------handle ajax request
//------------------------------------------------------------------------------------------------------handle ajax request
//------------------------------------------------------------------------------------------------------handle ajax request
function dirtyWork(programName,openClose,whichWindow,programArgs)
{
      var xmlHttp;
      xmlHttp=GetXmlHttpObject();
      if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } 
      var url="/skins/"+programName+".php";
      var str=programArgs+"&wndw="+whichWindow;
      try { xmlHttp.open("POST",url,true); }
      catch (e) { alert('Error sending HTTP GET request!');
      return false; }
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", str.length);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.onreadystatechange=function(){
          if (xmlHttp.readyState == 0) {
              getObject('ajaxreport').innerHTML = "Working...";
          }        //end if readyState 0
          if (xmlHttp.readyState == 1) {
              getObject('ajaxreport').innerHTML = "Searching...";
          }        //end if readyState 1
          if (xmlHttp.readyState == 2) {
              getObject('ajaxreport').innerHTML = "Processing...";
          }        //end if readyState 2
          if (xmlHttp.readyState == 3) {
              getObject('ajaxreport').innerHTML = "Applying...";
          }        //end if readyState 3
          if (xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") {
              if (xmlHttp.status == 200) {
                  if (openClose==1) { addChild(xmlHttp, whichWindow, programName); } 
                  if (openClose==2) { changeNode(xmlHttp, whichWindow, programName); }
                  if (openClose==3) { changeNode(xmlHttp, whichWindow, programName); }
              getObject('ajaxreport').innerHTML = "";
              }        //end if status 200
          }        //end if readyState 4
      }        //end readystatechange function
      xmlHttp.send(str);
}        //end dirtyWork
//------------------------------------------------------------------------------------------------------HANDLE NODES
//------------------------------------------------------------------------------------------------------HANDLE NODES
//------------------------------------------------------------------------------------------------------HANDLE NODES
function closeNode(childId) {
    var theNode = getObject(childId);
    theNode.parentNode.removeChild(theNode); 
}
//------------------------------------------------------------------------------------------------------changeNode
function changeNode(theText, whichWindow, programName) {
    getObject(whichWindow).innerHTML=theText.responseText;
}
//------------------------------------------------------------------------------------------------------closeInner
function closeInner(theText, whichWindow, programName) {
    getObject(whichWindow).innerHTML = theText.responseText;
}
//------------------------------------------------------------------------------------------------------addChild
function addChild(theText, whichWindow, programName) {   
    getObject(whichWindow).innerHTML = theText.responseText+getObject(whichWindow).innerHTML;
}
//------------------------------------------------------------------------------------------------------getXmlHttpObject
//------------------------------------------------------------------------------------------------------getXmlHttpObject
//------------------------------------------------------------------------------------------------------getXmlHttpObject
function GetXmlHttpObject() {
    var xmlHttp=null;
    try {
        xmlHttp=new XMLHttpRequest();    // Firefox, Opera 8.0+, Safari
    }        //end try 1
    catch (e) {
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    // Internet Explorer
        }        //end try 2
        catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }        //end catch e 2
    }        //end catch e 1
    return xmlHttp;
}        //end GetXmlHttpObject function
//------------------------------------------------------------------------------------------------------grabIt - grab a form, submit to loadIt
//------------------------------------------------------------------------------------------------------grabIt - grab a form, submit to loadIt
//------------------------------------------------------------------------------------------------------grabIt - grab a form, submit to loadIt
function grabIt(pageString) {
    var filesToAlter = pageString.split(" ");
    for (var q=0; q<filesToAlter.length; q++) {
        var fileArray = pageString.split("|");
        var programName = fileArray[0];
        var openClose = fileArray[1];
        var whichWindow = fileArray[2];
        var thisForm = fileArray[3];
        var extraArgs = fileArray[4];
        var strng = "form=form&"+extraArgs;
        var myReturn = thisForm.split(",");
        for (var x=0; x<myReturn.length; x++) {
            var thoseInputs = getObject(myReturn[x]).getElementsByTagName('input','textarea','file');
            for (var j=0; j<thoseInputs.length; j++) {
                var iValue=thoseInputs[j].value;
                var iValue=iValue.replace(/&/g,"amp;").replace(/=/g,"#61;").replace(/\+/g,"#43;");
                var iName=thoseInputs[j].getAttribute('id');
                strng = strng+"&"+iName+"="+iValue;
            }        //end for loop j
        }        //end for loop x
        strng = encodeURIComponent(strng);
        loadIt(programName+'|'+openClose+'|'+whichWindow+'|'+strng);
    }        //end for loop q
}        //end grabIt function
//------------------------------------------------------------------------------------------------------rotate a Captcha
//------------------------------------------------------------------------------------------------------rotate a Captcha
//------------------------------------------------------------------------------------------------------rotate a Captcha
function rotateTheCaptcha() {
    if (document.getElementById('imgCaptcha')) {
        img = document.getElementById('imgCaptcha'); 
        img.src = '/skins/create_image.php?' + Math.random(); //Change the image
    }        //end if imgCaptcha
}        //end rotateTheCaptcha function
//------------------------------------------------------------------------------------------------------encode
//------------------------------------------------------------------------------------------------------encode
//------------------------------------------------------------------------------------------------------encode
function encode(n) {
    var b = escape(n);
    var a = '';
    for (var i=0;i<b.length;i++) {
        a += String.fromCharCode(b.charCodeAt(i)-1);
    }        //end for loop i
    a = escape(a);
    return a;
}        //end encode function

