function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

var req;

function loadXMLDoc(url) 
{
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
	if (req.readyState == 4) {
		if (req.status == 200) {
			response  = req.responseXML.documentElement;
			method = response.getElementsByTagName('method')[0].firstChild.data;
			result = response.getElementsByTagName('result')[0].firstChild.data;
			returned = response.getElementsByTagName('returned')[0].firstChild.data;
			eval(method + '(\'\', result)');
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}


function checkNewsletter(input, status, response)
{

  if (response != '') { 
    // Response mode
    message = document.getElementById('newslettermsg');
    message.innerHTML = result;
		if (returned == "0") {
		document.getElementById('template_email').value = '';
		} else {
		document.getElementById('template_email').value = returned;
		}
  } else {
    // Input mode
    url = '/xml_newsletter.php?q=' + input + '&s=' + status;
    loadXMLDoc(url);
  }

}

function checkNewsletterPopup(input, status, response)
{
  if (response != '') { 
    // Response mode
    message = document.getElementById('newsletterpopupmsg');
    message.innerHTML = result;
		if (returned == "0") {
		document.getElementById('popup_email').value = '';
		} else {
		document.getElementById('popup_email').value = returned;
		}
  } else {
    // Input mode
    url = '/xml_newsletter.php?q=' + input + '&s=' + status + '&t=1';
    loadXMLDoc(url);
  }

}

function sendDownloadmsg(input, status, game, response)
{

  if (response != '') { 
    // Response mode
    message = document.getElementById('downloadmsg');
    message.innerHTML = result;
		if (returned == "0") {
		document.getElementById('download_email').value = '';
		} else {
		document.getElementById('download_email').value = returned;
		}
  } else {
    // Input mode
    url = '/xml_downloadmsg.php?q=' + input + '&s=' + status + '&g=' + game;
    loadXMLDoc(url);
  }

}

function checkName(input, response)
{
  if (response != '') { 
    message = document.getElementById('checknamemsg');
    message.innerHTML = result;
  } else {
    url = '/xml_forum_namecheck.php?name=' + input;
    loadXMLDoc(url);
  }

}


function change_awardtext(awardname,gamename,currentname) {

var spanname = document.getElementById('txt_'+awardname).innerHTML;

if (currentname == gamename && spanname != gamename) {
document.getElementById('txt_'+awardname).innerHTML = gamename;
} else if (currentname != gamename && spanname != gamename) {
document.getElementById('txt_'+awardname).innerHTML = gamename;
} else if (currentname == gamename && spanname == gamename) {
document.getElementById('txt_'+awardname).innerHTML = 'Not awarded yet';
} else if (currentname != '') {
document.getElementById('txt_'+awardname).innerHTML = currentname;
} else {
document.getElementById('txt_'+awardname).innerHTML = 'Not awarded yet';
}

}

function profileText(input, status, response)
{
  if (response != '') { 
    document.getElementById('profile_text').value = returned;
  } else {
    url = '/xml_profile_text.php?t=' + input;
    loadXMLDoc(url);
  }

}


function loadurl(dest,elem) {

 try {
  	xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
 } catch (e) {
  	// browser doesn't support ajax. handle however you want
 }
 
 xmlhttp.onreadystatechange = function triggered() {
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
		if (elem != '') {
		var elemdiv = document.getElementById(elem);
		elemdiv.innerHTML = xmlhttp.responseText;
		}
 }
};

 xmlhttp.open("GET", dest);

 xmlhttp.send(null);

}


function highlight(srcid,formid,formval) {

var hiddenval = document.getElementById(formid);
var highlightspan = document.getElementById(srcid);
if (highlightspan.className == 'unhighlight') {
highlightspan.className = 'highlight';
hiddenval.value = formval;
} else {
highlightspan.className = 'unhighlight';
hiddenval.value = '';
}

}


function highlightimg(srcid,formid,formval,imgid,imgoff,imgon) {

var hiddenval = document.getElementById(formid);
var highlightimg = document.getElementById(imgid);
if (highlightimg.src == imgoff) {
highlightimg.src = imgon;
hiddenval.value = formval;
} else {
highlightimg.src = imgoff;
hiddenval.value = '';
}
}


function highlight(srcid,formid,formval) {

var hiddenval = document.getElementById(formid);
var highlightspan = document.getElementById(srcid);
if (highlightspan.className == 'unhighlight') {
highlightspan.className = 'highlight';
hiddenval.value = formval;
} else {
highlightspan.className = 'unhighlight';
hiddenval.value = '';
}

}


function emohighlight(srcid,formid,formval) {

var hiddenval = document.getElementById(formid);
var highlightspan = document.getElementById(srcid);
if (highlightspan.className == 'emounhighlight') {
highlightspan.className = 'emohighlight';
hiddenval.value = formval;
} else {
highlightspan.className = 'emounhighlight';
hiddenval.value = '';
}

}


function rateimgshow(elem,game,ratenum,onoff) {

for (i=1;i<=ratenum;i++) {
var rateelement = document.getElementById(elem+'_'+game+'['+i+']');
onoff>0?rateelement.src='/images/star-1h.gif':rateelement.src='/images/star-1.gif';
}
// added a special off star gif for feedback popover "fbrate" NJW 01.07.07
for (i=ratenum+1;i<=5;i++) {
var rateelement = document.getElementById(elem+'_'+game+'['+i+']');
elem=="fbrate"?rateelement.src='/images/star-feedback-0.gif':rateelement.src='/images/star-0.gif';
}

}

function reviewrateimgshow(elem,game,ratenum,onoff,imgname) {

for (i=1;i<=ratenum;i++) {
var rateelement = document.getElementById(elem+'['+i+']');
onoff>0?rateelement.src='/images/'+imgname+'-1h.gif':rateelement.src='/images/'+imgname+'-1.gif';
}
for (i=ratenum+1;i<=5;i++) {
var rateelement = document.getElementById(elem+'['+i+']');
rateelement.src='/images/'+imgname+'-0.gif';
}

}

function reviewrateimgclick(elem,game,ratenum,onoff,imgname) {

for (i=1;i<=ratenum;i++) {
var rateelement = document.getElementById(elem+'['+i+']');
onoff>0?rateelement.src='/images/'+imgname+'-1h.gif':rateelement.src='/images/'+imgname+'-1.gif';
}
for (i=ratenum+1;i<=5;i++) {
var rateelement = document.getElementById(elem+'['+i+']');
rateelement.src='/images/'+imgname+'-0.gif';
}

}

function rategame(divid,game,rating) {

new Ajax.Updater(divid+'_'+game,'xml_profile_rating.php?game='+game+'&rate='+rating, {asynchronous: false});
reloadProfile('profile');

}

//function reviewrategame(divid,game,rating,ratetype) {
//new Ajax.Updater(divid,'xml_review_rating.php?game='+game+'&rate='+rating+'&ratetype='+ratetype);
//}

function smileygame(game,oldsmiley,newsmiley) {
//var smileyelement = document.getElementById('smileys_'+game+'['+i+']');
//var smileyimg = document.getElementById('smileyimg_'+game+'['+i+']');
staticTip.hide();
//smileyimg.src = '/images/smiles/icon_'+srcimg+'.gif';
//smileyelement.value = srcimg;
new Ajax.Updater('xmlsmileys_'+game,'xml_profile_smileys.php?game='+game+'&oldsmiley='+oldsmiley+'&newsmiley='+newsmiley);
}


function show_hide(elem,btn) {

divstatus = document.getElementById(elem).style.display;

if (divstatus == 'none') {
document.getElementById(elem).style.display='inline';
document.getElementById(btn).innerHTML='Hide';
} else {
document.getElementById(elem).style.display='none';
document.getElementById(btn).innerHTML='Show';
}

}


function show_hide_img(elemid,btnid,imgon,imgoff) {

divstatus = document.getElementById(elemid).style.display;

if (divstatus == 'none') {
document.getElementById(elemid).style.display='block';
document.getElementById(btnid).src=imgoff;
} else {
document.getElementById(elemid).style.display='none';
document.getElementById(btnid).src=imgon;
}

}


function show_hide_toggle(elem1,elem2) {

var status = document.getElementById(elem1).style.display;

if (status == 'none') {
document.getElementById(elem1).style.display='inline';
document.getElementById(elem2).style.display='none';
} else {
document.getElementById(elem1).style.display='none';
document.getElementById(elem2).style.display='inline';
}

}

function squirly_show() {
document.getElementById('docTipsAjaxLayer').style.display='block';
}

function squirly_hide() {
document.getElementById('docTipsAjaxLayer').style.display='none';
}


var myGlobalHandlers = {
onCreate: function(){
mouse_follow();
squirly_show();
},
onComplete: function() {
if(Ajax.activeRequestCount == 0){
squirly_hide();
mouse_nofollow();
}
}
};

Ajax.Responders.register(myGlobalHandlers);


function textareaResize(divid,direction) {

var elemrows = document.getElementById('profile_text').rows;
if (direction > 0 && elemrows < 20) {
elemrows = elemrows + direction;
} else if (direction < 0 && elemrows > 8) {
elemrows = elemrows + direction;
}

document.getElementById('profile_text').rows = elemrows;

}


function selectProfileImage(imgid) {

for (i=1;i<11;i++) {
document.getElementById('img'+i).className='profileimghover';
}
document.getElementById('img'+imgid).className='profileimgactive';

}


function reloadProfile(profilemode) {

new Ajax.Updater('gameawardsdiv', '/xml_profile_gameawards.php');
new Ajax.Updater('membertabsheaders','/xml_profile_tabheaders.php?mode='+profilemode);

}

/***********************************************
* Form Field Progress Bar- By Ron Jonk- http://www.euronet.nl/~jonkr/
* Modified by Dynamic Drive for minor changes
* Script featured/ available at Dynamic Drive- http://www.dynamicdrive.com
* Please keep this notice intact
***********************************************/

function textCounter(field,counter,maxlimit,linecounter) {

var fieldWidth =  parseInt(field.offsetWidth);
var charcnt = field.value.length;

if (charcnt > maxlimit) {
field.value = field.value.substring(0, maxlimit);
var percentage = 100;
} else {
var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit);
}
if (counter != '') {
if (percentage > 70) {
var barpercentage = 30;
} else {
var barpercentage = (100-percentage);
}
document.getElementById(counter).style.width = parseInt((fieldWidth*barpercentage)/100)+'px';
document.getElementById(counter).innerHTML = '&nbsp;Words Left: '+(100-percentage)+'%';
}

}


function cCkEventObj(ce,cp){
 if (!ce) var ce=window.event;
 ce.cancelBubble=true;
 if (ce.stopPropagation) ce.stopPropagation();
 if (ce.target) ceobj=ce.target;
 else if (ce.srcElement) ceobj=ce.srcElement;
 if (ceobj.nodeType==3) ceobj=ceobj.parentNode;
 var ceobj=(ce.relatedTarget)?ce.relatedTarget:(ce.type=='mouseout')?ce.toElement:ce.fromElement;
 if (!ceobj||ceobj==cp) return false;
 while (ceobj.parentNode){
  if (ceobj==cp) return false;
  ceobj=ceobj.parentNode;
 }
 return true;
}
