var ajaxreq = false, ajaxlayerreq = false, ajaxCallback, form;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME:ajaxRequest 
//PURPOSE: Send AJAX request to server
//ARG: filename
//RET: 
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ajaxRequest(filename) {

    try {

        ajaxreq = new XMLHttpRequest();

    } catch (error) {

    try {

        ajaxreq = new ActiveXObject("Microsoft.XMLHTTP");

    } catch (error) {

      return false;

    }

    }

    ajaxreq.open("GET",filename);
    ajaxreq.onreadystatechange = ajaxResponse;
    ajaxreq.send(null);

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME:ajaxResponse 
//PURPOSE:Manage response to request
//ARG: 
//RET: 
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ajaxResponse() {

   if (ajaxreq.readyState != 4) return;
   if (ajaxreq.status == 200) {

   if (ajaxCallback) ajaxCallback();

   } else alert("Request failed: " + ajaxreq.statusText);

   return true;
}
//////////////////////////////////////////////////////
//NAME: js_userAlert()
//PURPOSE: Updates DOM element with user alert
//ARG: type, text
//RET: 
//NOTE:
//DLM: 121007
//////////////////////////////////////////////////////
function js_userAlert(type,text) {

i = document.getElementById("user_alert");
x = document.getElementById("user_alert_ok");
y = document.getElementById("user_alert_error");
z = document.getElementById("user_alert_none");

if (x) i.removeChild(x);
if (y) i.removeChild(y);
if (z) i.removeChild(z);

var alert_div = document.createElement("DIV");
alert_div.id = type;
var alert_text = document.createTextNode(text);
alert_div.appendChild(alert_text);
i.appendChild(alert_div);

}
//////////////////////////////////////////////////////
//NAME: js_userResponse()
//PURPOSE: White out user response if it exists
//ARG: 
//RET: 
//NOTE: 
//DLM:040610
//////////////////////////////////////////////////////
function js_userResponse() {

var response = document.getElementById('user_response_text');

if (response) {

	setTimeout("document.getElementById('user_response_text').innerHTML='';",2000);

}

}
//////////////////////////////////////////////////////
//NAME: js_button()
//PURPOSE: Mouseovers for buttons
//ARG: button_id
//RET: 
//NOTE: 
//DLM:071008
//////////////////////////////////////////////////////
function js_button(id) {

var button = document.getElementById('button_' + id);

if (button) {

	if (button.src == 'http://' + location.hostname + '/images/p23_button_' + id + '_a.jpg') {
		button.src = 'images/p23_button_' + id + '.jpg'
	} else {
		button.src = 'images/p23_button_' + id + '_a.jpg'
	}
}

}
//////////////////////////////////////////////////////
//NAME: js_loadImages()
//PURPOSE: Preload rollovers
//ARG:
//RET: 
//NOTE:
//DLM: 010509
//////////////////////////////////////////////////////
function js_loadImages() {

i1 = new Image();
i1.src = '/images/css/p23_button_4_a.jpg'; 
i2 = new Image();
i2.src = '/images/css/p23_button_5_a.jpg'; 
i3 = new Image();
i3.src = '/images/css/p23_button_6_a.jpg'; 
i4 = new Image();
i4.src = '/images/css/p23_button_10_a.jpg'; 
i5 = new Image();
i5.src = '/images/css/p23_button_3_a.jpg'; 
i6 = new Image();
i6.src = '/images/css/p23_button_7_a.jpg'; 
i7 = new Image();
i7.src = '/images/css/p23_button_8_a.jpg'; 
i8 = new Image();
i8.src = '/images/css/p23_button_9_a.jpg'; 

}
//////////////////////////////////////////////////////
//NAME: nav_menu functions
//PURPOSE: Mouseovers for buttons
//ARG: button_id
//RET: 
//NOTE: Copyright 2006-2007 javascript-array.com
//DLM:071008
//////////////////////////////////////////////////////
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	if (ddmenuitem) ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
//////////////////////////////////////////////////////
//NAME: js_scrollUp()
//PURPOSE: Scroll up Box
//ARG: box increment
//RET: 
//NOTE: From http://script.aculo.us/
//DLM:071008
//////////////////////////////////////////////////////
function js_scrollUp(box,increment) {

        new Effect.Move(box, { x: 0, y: increment, transition: Effect.Transitions.sinoidal });
	
}
//////////////////////////////////////////////////////
//NAME: js_scrollDown()
//PURPOSE: Scroll down Box
//ARG: box, increment
//RET: 
//NOTE: From http://script.aculo.us/
//DLM:071008
//////////////////////////////////////////////////////
function js_scrollDown(box,increment) {

        new Effect.Move(box, { x: 0, y: -increment, transition: Effect.Transitions.sinoidal });
	
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_getAjaxPage(pages_id)
//PURPOSE: Get page content via AJAX
//ARG: pages_id
//RET: XML
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_getAjaxPage(pages_id) {
	
//FIRE AJAX
filename = "/index.php?group=user&class=ajax&task=get_page&pages_id=" + pages_id;

ajaxCallback = js_updatePage;

ajaxRequest(filename);
	
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_getAjaxNews(news_id)
//PURPOSE: Get news item content via AJAX
//ARG: news_id
//RET: XML
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_getAjaxNews(news_id) {
	
//FIRE AJAX
filename = "/index.php?group=user&class=ajax&task=get_news&news_id=" + news_id;

ajaxCallback = js_updatePage;

ajaxRequest(filename);
	
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_updatePage()
//PURPOSE: Update page with page request response
//ARG:
//RET: DOM update
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_updatePage() {

var content = ajaxreq.responseXML.getElementsByTagName("content")[0].childNodes[0].nodeValue;
var pages_id = ajaxreq.responseXML.getElementsByTagName("pages_id")[0].childNodes[0].nodeValue;
var breadcrumb = ajaxreq.responseXML.getElementsByTagName("breadcrumb")[0].childNodes[0].nodeValue;

var container = document.getElementById('content_main');
var breadcrumb_container = document.getElementById('breadcrumb_container');

if (breadcrumb_container) {
	breadcrumb_container.innerHTML = breadcrumb;
}

var new_content = '<DIV ID=page_content>';

new_content += content;

new_content += '</DIV>';

container.innerHTML = new_content;

scrollTo(0,0);

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_updateBreadCrumb()
//PURPOSE: Update breadcrumb menu
//ARG:
//RET: DOM update
//NOTE:
//DLM:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_updateBreadCrumb(breadcrumb) {

var breadcrumb_container = document.getElementById('breadcrumb_container');

if (breadcrumb_container) {
	breadcrumb_container.innerHTML = breadcrumb;
}

}
//////////////////////////////////////////////////////
//NAME: js_controlMenuCat()
//PURPOSE: Open/Close Menu Category Box
//ARG: pages_id
//RET: 
//NOTE: From http://script.aculo.us/
//DLM:071008
//////////////////////////////////////////////////////
function js_controlMenuCat(pages_id) {

if (document.getElementById('mco' + pages_id).style.display=='none') {

	new Effect.BlindDown('mco' + pages_id);


} else {

	new Effect.BlindUp('mco' + pages_id);

}

}
//////////////////////////////////////////////////////
//NAME: js_newCaptcha()
//PURPOSE: Recreate reg form with new captcha
//ARG: 
//RET: 
//NOTE:
//DLM: 190808
//////////////////////////////////////////////////////
function js_newCaptcha(form) {

    var theForm = document.getElementById(form);
    //SET THIS TO BYPASS CAPTCHA CHECK
    var flag1 = document.createElement('INPUT');
    flag1.type = 'HIDDEN';
    flag1.name = 'new_code';
    flag1.value = 1;
    theForm.appendChild(flag1);

    theForm.submit();
    return false;

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_validateForm()
//PURPOSE: Check form data before submission
//ARG: form
//RET: 
//NOTE:
//DLM: 141008
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_validateForm(form) {

    //SET SCROLL POINT to 0 TO GO BACK TO TOP OF FORM
    var sp = document.getElementById('scroll_point');
    if (sp) sp.value = 0;
   
    //REQUIRED MISSING TEXT
    var rq_text = 'Required information is missing';

    //MISMATCH TEXT
    var mm_text = 'The highlighted values must match';

    var req=document.getElementById('required' + form);

    if (req)  {

	var reqfields = req.value.split(',');

	if (reqfields.length >= 1) {

	    for (var i=0;i<reqfields.length;i++) {

	        var field_value = document.getElementById(reqfields[i]).value;
	        var field_id = document.getElementById(reqfields[i]);         

	        if (field_id.style.backgroundColor = "yellow") field_id.style.backgroundColor = "white";

	        if (field_value = null || field_value == '') {
	          
	           field_id.style.backgroundColor = "yellow";

	           var form_error = true;

	        }

	     }

	}

    }

    var termsok_checkbox = document.getElementById("termsok");
    var termsok_span = document.getElementById("termsokspan");

    if (termsok_checkbox) {

       termsok_span.style.backgroundColor = "#3B557A";
       termsok_span.style.color = "#ffffff";

       if (!termsok_checkbox.checked) {

          termsok_span.style.backgroundColor = "yellow";
          termsok_span.style.color = "#85181D";
          var form_error = true;

       }

    }

    var match=document.getElementById('match' + form);

    if (match) {

	var matchfields = match.value.split(',');

	if (!form_error && matchfields[0] != 0) {

	for (var i=0;i<matchfields.length;i++) {

	        var field_value = document.getElementById(matchfields[i]).value;
	        var confirm_field_value = document.getElementById(matchfields[i] + "_confirm").value;
	        var field_id = document.getElementById(matchfields[i]);         
	        var confirm_field_id = document.getElementById(matchfields[i] + "_confirm");         

	        if (field_id.style.backgroundColor = "pink") field_id.style.backgroundColor = "white";
	        if (confirm_field_id.style.backgroundColor = "pink") confirm_field_id.style.backgroundColor = "white";

	        if (!confirm_error) {

	        if (field_value != confirm_field_value) {

	                field_id.style.backgroundColor = "chartreuse";
	                confirm_field_id.style.backgroundColor = "chartreuse";

	                var confirm_error = true;

	        }

	        }

	}

	}

    }

if (form_error) {

   window.alert(rq_text);

} else if (confirm_error) {

   window.alert(mm_text);

} else {

   document.getElementById(form).submit();

}
  
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME: js_resizeIframe()
//PURPOSE: resize IFrame for blog and forum
//ARG: iframe
//RET: 
//NOTE:
//DLM:171108
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function js_resizeIframe(iframe)
{

var f = document.getElementById(iframe + "_iframe");

if (f) {

	var h = (f.contentWindow.document.body.scrollHeight * 1) + 20;
	if (h < 500) h = 1000;
	f.style.height = h + 'px';

}

}


