function CH_AjaxRequest( post, reply_to, showLoading ) {
	
	if(showLoading != "no") {
		CH_PushContent( languageLoading, reply_to );
	}
	
	var data = new Array();
	data = post.split("?");
	var url = data[0];
	var postString = data[1];
	
	var oXHR = zXmlHttp.createRequest();
	oXHR.open("post", MainURL+url, true);
	oXHR.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	oXHR.onreadystatechange = function() {
		if (oXHR.readyState == 4) {
			CH_AjaxReply( oXHR.responseText, reply_to );
		}
	}
	oXHR.send( postString );
	
}

function CH_AjaxFormSubmit( formName, fields, reply_to ) {
	var fieldsArray = new Array();
	fieldsArray = fields.split(",");
	var postString = "";
	for(i=0;i<fieldsArray.length;i++){
		var fieldInfo = new Array();
		var fieldValue = "";
		fieldInfo = fieldsArray[i].split(":");
		postString+= fieldInfo[0]+"=";
		switch(fieldInfo[1]) {
			case 'radio':
				fieldValue = CH_GetRadioValue(document.forms[formName].elements[fieldInfo[0]]);
				break;
			case 'dropdown':
				fieldValue = CH_GetDropdownValue(document.forms[formName].elements[fieldInfo[0]]);
				break;
			default:
				fieldValue = document.forms[formName].elements[fieldInfo[0]].value;
				break;
		}
		postString+= encodeURIComponent( fieldValue )+"&";
	}
	var post = "ajax.php?"+postString;
	CH_AjaxRequest( post, reply_to );
	return false;
}

function CH_AjaxReply ( content, reply_to ) {
	var js = content.substring( 0, 2 );
	if(js == "js") {
		var jscode = content.substring( 3, 6 );
		switch(jscode){
			case 'CH1':
				CH_DelayedHide( reply_to );
				break;
			case 'CH2':
				var vid_id = content.substring( 7 );
				CH_CreateNewPlaylist( vid_id );
				content = "";
				break;
			case 'CH3':
				CH_SetThanksInfo();
				break;
			case 'CH4':
				CH_SwitchSubscribeButton();
				CH_DelayedHide( reply_to );
				break;
		}
		var push = content.substring( 6 );
	} else {
		var push = content;
	}
	CH_PushContent( push, reply_to );
}

function CH_HideHandler( handlerID ){
	var Handler = document.getElementById( handlerID );
	Handler.style.display = "none";
}

function CH_DelayedHide( handlerID ) {
	setTimeout( "CH_HideHandler('"+handlerID+"')" , 2000 );
}

function CH_PushContent( content, handlerID ) {
	var Handler = document.getElementById( handlerID );
	Handler.innerHTML = content;
	if(Handler.style.display == "" || Handler.style.display == "none"){
		Handler.style.display = "block";
	}
}

function CH_GetRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function CH_GetDropdownValue(dropdownObj) {
	var Ind = dropdownObj.options.selectedIndex;
	return dropdownObj.options[Ind].value;
}
