var xmlHttp



function ajaxdisplay (url, load, divdisplay, type) {

	xmlHttp=GetXmlHttpObject ();

	if (xmlHttp==null) {

		alert ("Your browser does not support AJAX!");

		return;

	}

	var url2 = url+"&sid"+Math.random();

	xmlHttp.onreadystatechange=function() {

		stateChanged (load, divdisplay, type);

	};

	xmlHttp.open("GET",url2,true);

	xmlHttp.send(null); 

}

function stateChanged(load, divdisplay, type){



	if(load) {

		try {

			if (xmlHttp.readyState==1){

			document.getElementById(load).style.display="block";

			} if (xmlHttp.readyState==2) {

				document.getElementById(load).style.display="block";

			} if (xmlHttp.readyState==3) {

				document.getElementById(load).style.display="block";

			}

		} catch (e) {

		}

	}

	if (xmlHttp.readyState==4) {

		if(xmlHttp.status == 200){

			if(load) {

				try {

					document.getElementById(load).style.display="none";

				} catch (e) {

				}

			}

			if(type) {

				if (divdisplay) {

					document.getElementById(divdisplay).value=xmlHttp.responseText;

				}

				if(document.readyState) {

					if (document.readyState=="complete") {

					     suggestInput_init();

					}

				} else {

					try {

					  	if (window.captureEvents) {

						    window.captureEvents(Event.LOAD)

//						    window.onload=suggestInput_init();

						}

					}

					catch (e) {

	//				  	suggestInput_init();

					}

				}

			} else {

				if(divdisplay) {

//alert(xmlHttp.responseText);

					document.getElementById(divdisplay).innerHTML=xmlHttp.responseText;				

					var haveFade = checkBrowser();

					if (divdisplay == "del_msg") { // delete message

						var o_b = document.getElementById("o_b").value;

						var o_d = document.getElementById("o_d").value;

						var s_f = document.getElementById("s_f").value;

						var data_search = document.getElementById("data_search").value;

						var type = document.getElementById("type").value;

						var p = document.getElementById("p").value;

						

						var link = 'inc/dinamic_list.php?message&o_b=' + o_b + '&o_d=' + o_d + '&s_f=' + s_f + '&data_search=' + data_search + '&type=' + type + '&p=' + p + '&ajax=1';

						SimpleAJAXCall(link, SimpleAJAXCallback, '', 'admin_messages');

					}

					

					if (document.getElementById("temp_action")) {

						if (document.getElementById("temp_action").value == 'del_cat') {

							var hash = document.getElementById("hash").value;

							var type = document.getElementById("type").value;

							new Ajax.PeriodicalUpdater('admin_catalog', '../inc/request.php?action=get_catalog&type=' + type + '&hash=' + hash, {

								  method: 'get', frequency: 600, decay: 1

							});

						}

					}

					

					if (document.getElementById("my_action")) {

					

						var my_action = document.getElementById("my_action").value;

						

						if (my_action == 'delete_news_photo') { // delete news's photo

							document.getElementById("view_news_photo").style.display = "none";

							document.getElementById("photo_status").innerHTML = "Upload";

							if (haveFade)

								fade('result', 'fadeConfirmRule1,fadeConfirmRule2'); 

						}



						if (my_action == 'change_hot' || my_action == 'remove_news' || my_action == 'delete_news' || my_action == 'delete_book' || my_action == 'delete_topic' || my_action == 'delete_link') {

							if (haveFade)

								fade('result', 'fadeConfirmRule1,fadeConfirmRule2'); 

						}

					

						if (document.getElementById("my_action").value == 'del_photo') { // delete user's avatar

							document.getElementById("user_photo").style.display = "none";

							document.getElementById("ph_title").innerHTML = "<B>Upload photo</B> (available formats: jpg or gif; max size: 5Mb)";						

						}

						if (document.getElementById("my_action").value == 'del_video') { // delete user's video

							document.getElementById("user_video").style.display = "none";

							document.getElementById("vi_title").innerHTML = "<B>Upload video</B> (available format: flv; max size: 20Mb)";						

						}			

						

						if (document.getElementById("my_action").value == 'del_user') { // delete user

							var user = document.getElementById("current_user").value;

							document.getElementById("user_" + user).style.display = "none";	

						}

						if (document.getElementById("my_action").value == 'del_user_page') { // delete user and return to all users list

							location.href="index.php?users&deleted";

						}

					}

				}

				

			}

			return true;

		} else {

			if (load) {

				document.getElementById(load).style.display="none";

			}

			if (type) {

				//document.getElementById(divdisplay).value="HTTP " + xmlHttp.status;

			} else {

				if (divdisplay){

					//document.getElementById(divdisplay).innerHTML="HTTP " + xmlHttp.status;

				}	

			}

	    }

	}

}



function sendRequest(frm, load, divdisplay) {
 
	var oForm = document.forms[frm];

	var sBody = getRequestBody(oForm);



	var oOptions = {

    	method: "post",

        parameters: sBody,

        onSuccess: function (oXHR, oJson) {

            document.getElementById(divdisplay).innerHTML=oXHR.responseText;			

			if (divdisplay == 'send') {

				document.getElementById("contact_form").style.display = "none";

				document.getElementById("c_message").style.display = "none";

				document.getElementById("c_submit").style.display = "none";

			}
			
			
			
			if (divdisplay == 'sendoffer') {
				document.getElementById("offer_form1").style.display = "none";
				document.getElementById("offer_form2").style.display = "none";
				document.getElementById("offer_form3").style.display = "none";
				document.getElementById("offer_form4").style.display = "none";
				document.getElementById("c_message1").style.display = "none";
				document.getElementById("c_message2").style.display = "none";
				document.getElementById("c_message3").style.display = "none";
				document.getElementById("c_message4").style.display = "none";
				document.getElementById("c_submit").style.display = "none";

			}


			if (divdisplay == 'send_request') {

				document.getElementById("request_form").style.display = "none";

			}

			if (divdisplay == 'f_email') {

				document.getElementById("newsletter").style.display = "none";

			}

			if (frm == 'all_catalog') {

				var hash = document.getElementById("hash").value;

				var type = document.getElementById("type").value;

				new Ajax.PeriodicalUpdater('admin_catalog', '../inc/request.php?action=get_catalog&type=' + type + '&hash=' + hash, {

					  method: 'get', frequency: 600, decay: 1

				});

				document.getElementById("new_value").value = 'new value';

			}

			if (frm == 'add_user_info') {

				document.getElementById("add_user_form").style.display = 'none';

			}

			if (frm == 'all_info' || frm == 'about_text') {

				var haveFade = checkBrowser();

				if (haveFade)

					fade('result', 'fadeConfirmRule1,fadeConfirmRule2'); 

			}

			

        },

        onFailure: function (oXHR, oJson) {

            alert("An error occurred: " + oXHR.statusText);

        }

    };   

    var oRequest = new Ajax.Request(oForm.action, oOptions);  

}

 

function getRequestBody(oForm) {

 

	var aParams = new Array(); 

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

         if(oForm.elements[i].type == "radio" || oForm.elements[i].type == "checkbox"){

         	if(oForm.elements[i].type == "radio"){

         		if(oForm.elements[i].checked ) {

         			var sParam = oForm.elements[i].name;

         			sParam += "=";

         		   	sParam += oForm.elements[i].value

//alert(oForm.elements[i].value);

         		}

         	} else {

//alert (oForm.elements[i].value);

				if (oForm.elements[i].value == 'on') {

					var sParam = oForm.elements[i].name;

	         		sParam += "=";

	         		sParam += oForm.elements[i].checked;

				}	

         	}

         } else {

			oForm.elements[i].value = oForm.elements[i].value;

         	var sParam = oForm.elements[i].name;

        	sParam += "=";

         	sParam += encodeURIComponent(oForm.elements[i].value);

         }

//alert(sParam);

         aParams.push(sParam);

     } 

     return aParams.join("&");        

}



function GetXmlHttpObject() {

	var xmlHttp=null;

	try {

		// Firefox, Opera 8.0+, Safari

	  	xmlHttp=new XMLHttpRequest();

	}

	catch (e) {

		// Internet Explorer

	  	try {

	    	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

	    }

	  	catch (e) {

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

	    }

	}

	return xmlHttp;

}



function checkContactForm(frm, param, div) {



	var err = true;

	var email = document.getElementById("email").value;

	

	if (document.getElementById("newsletter").checked || drop_spaces(trim(document.getElementById("f_name").value)) != '' || drop_spaces(trim(document.getElementById("organization").value)) != '' || drop_spaces(trim(document.getElementById("email").value)) != '' || drop_spaces(trim(document.getElementById("street").value)) != '' || drop_spaces(trim(document.getElementById("l_name").value)) != '' || drop_spaces(trim(document.getElementById("title").value)) != '' || drop_spaces(trim(document.getElementById("phone").value)) != '' || drop_spaces(trim(document.getElementById("city").value)) != '' || drop_spaces(trim(document.getElementById("zipcode").value)) != '' || drop_spaces(trim(document.getElementById("message").value)) != '' || drop_spaces(trim(document.getElementById("state").value)) != '0') {

		err = true;

	} else {

		document.getElementById("empty").innerHTML = "Please fill in the contact form";

		err = false;

	}

	

	if (document.getElementById("email").value != '') {

		if (!check_email(email)) {

			document.getElementById("email").className = 'error_field';

			document.getElementById("f_email").className = 'form_error';

			document.getElementById("f_email").innerHTML = "Wrong email address";

			err = false;

			if (drop_spaces(trim(document.getElementById("email").value)) == '') {

				document.getElementById("email").value = '';

			}

  		}

	}

	

	if (document.getElementById("newsletter").checked) {

		var email = document.getElementById("email").value;

		if (!check_email(email)) {

			document.getElementById("email").className = 'error_field';

			document.getElementById("f_email").className = 'form_error';

			document.getElementById("f_email").innerHTML = "Wrong email address";

			err = false;

			if (drop_spaces(trim(document.getElementById("email").value)) == '') {

				document.getElementById("email").value = '';

			}

		}

	}



	if (err) {

  		sendRequest(frm, param, div);

	} else {

  		return false;

	}

}

function checkOfferForm(frm, param, div) {
	var error = false;
	if (drop_spaces(trim(document.getElementById("f_name").value)) == ''){
		document.getElementById("f_name").className = 'error_field';
		document.getElementById("f_f_name").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("f_name").className = '';
		document.getElementById("f_f_name").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("l_name").value)) == ''){
		document.getElementById("l_name").className = 'error_field';
		document.getElementById("f_l_name").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("l_name").className = '';
		document.getElementById("f_l_name").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("organization").value)) == ''){
		document.getElementById("organization").className = 'error_field';
		document.getElementById("f_organization").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("organization").className = '';
		document.getElementById("f_organization").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("title").value)) == ''){
		document.getElementById("title").className = 'error_field';
		document.getElementById("f_title").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("title").className = '';
		document.getElementById("f_title").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("phone").value)) == ''){
		document.getElementById("phone").className = 'error_field';
		document.getElementById("f_phone").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("phone").className = '';
		document.getElementById("f_phone").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("cellphone").value)) == ''){
		document.getElementById("cellphone").className = 'error_field';
		document.getElementById("f_cellphone").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("cellphone").className = '';
		document.getElementById("f_cellphone").className = '';
	}
	
	var email = document.getElementById("email").value;
	if (document.getElementById("email").value == '') {
		document.getElementById("email").className = 'error_field';
		document.getElementById("f_email").className = 'form_error';
		error = true;
	}
	else if (!check_email(email)) {
		document.getElementById("email").className = 'error_field';
		document.getElementById("f_email").className = 'form_error';
		document.getElementById("f_email").innerHTML = "Wrong email address";
		error = true;
		if (drop_spaces(trim(document.getElementById("email").value)) == '') {
			document.getElementById("email").value = '';
		}
	}
	else{
		document.getElementById("email").className = '';
		document.getElementById("f_email").className = '';
		document.getElementById("f_email").innerHTML = "Email*";
	}
	
	if (drop_spaces(trim(document.getElementById("artist_name").value)) == ''){
		document.getElementById("artist_name").className = 'error_field';
		document.getElementById("f_artist_name").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("artist_name").className = '';
		document.getElementById("f_artist_name").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("honorarium").value)) == ''){
		document.getElementById("honorarium").className = 'error_field';
		document.getElementById("f_honorarium").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("honorarium").className = '';
		document.getElementById("f_honorarium").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("location_program").value)) == ''){
		document.getElementById("location_program").className = 'error_field';
		document.getElementById("f_location_program").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("location_program").className = '';
		document.getElementById("f_location_program").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("travel_expenses").value)) == ''){
		document.getElementById("travel_expenses").className = 'error_field';
		document.getElementById("f_travel_expenses").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("travel_expenses").className = '';
		document.getElementById("f_travel_expenses").className = '';
	}
	if (drop_spaces(trim(document.getElementById("travel_expenses").value)) == 'Other' && drop_spaces(trim(document.getElementById("other").value)) == ''){
		alert(document.getElementById("other").value);
		document.getElementById("other").className = 'error_field';
		document.getElementById("f_other").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("other").className = '';
		document.getElementById("f_other").className = '';
	}
	
	if (drop_spaces(trim(document.getElementById("performance_dates").value)) == ''){
		document.getElementById("performance_dates").className = 'error_field';
		document.getElementById("f_performance_dates").className = 'form_error';
		error = true;
	}
	else{
		document.getElementById("performance_dates").className = '';
		document.getElementById("f_performance_dates").className = '';
	}
	if (document.getElementById("authorized").checked){
		document.getElementById("authorized").className = '';
		document.getElementById("f_authorized").className = '';
	}
	else{
		document.getElementById("authorized").className = 'error_field';
		document.getElementById("f_authorized").className = 'form_error';
		error = true;
	}
	
	if (error) {
		return false
	} else {
		sendRequest(frm, param, div);
	}
}



function checkContactsForm(frm, param, div) {



	var err = true;

	var error_class = 'form_error';

	var error_field = 'error_field';

	

	var email1 = document.getElementById("email1").value; 

	if (email1 != '') {

		if (!check_email(email1)) {

			document.getElementById("f_email1").className = error_class;

			document.getElementById("email1").className = error_field;

			err = false;

			

			if (drop_spaces(trim(document.getElementById("email1").value)) == '') {

				document.getElementById("email1").value = '';

			}

	  	}

	}

	



	if (err) {

		show_indicator('result');

  		sendRequest(frm, param, div);

	} else {

		var haveFade = checkBrowser();

		if (haveFade)

			fade('result', 'fadeErrorRule');

		document.getElementById("result").innerHTML = '<span class="form_error">Please check email address</span>';

  		return false;

	}

}



function checkRequestForm (frm, param, div) {

	var err = true;

	var error_class = 'form_error';

	var error_field = 'error_field';

	

	var email = document.getElementById("r_email").value; 



	if (!check_email(email)) {

		document.getElementById("r_email").className = 'error_field';

		document.getElementById("f_r_email").className = 'form_error';

		document.getElementById("f_r_email").innerHTML = "Wrong email address";

		err = false;

		

		if (drop_spaces(trim(document.getElementById("r_email").value)) == '') {

			document.getElementById("r_email").value = '';

		}

  	}

	

	if (err) {

  		sendRequest(frm, param, div);

	} else {

  		return false;

	}

}



function checkNewsletterForm (frm, param, div) {

	var err = true;

	var error_class = 'form_error';

	var error_field = 'error_field';

	

	var email = document.getElementById("email").value; 



	if (!check_email(email)) {

		document.getElementById("email").className = 'error_field';

		document.getElementById("f_email").className = 'form_error';

		document.getElementById("f_email").innerHTML = "Wrong email address";

		err = false;

		

		if (drop_spaces(trim(document.getElementById("email").value)) == '') {

			document.getElementById("email").value = '';

		}

  	}

	

	if (err) {

  		sendRequest(frm, param, div);

	} else {

  		return false;

	}

}



function drop_spaces(str) {

    var newstr = trim(str);

    return newstr.replace(/(\s)+/g, ""); 

}



function trim(str) {

    var newstr = str.replace(/^\s*(.+?)\s*$/, "$1");

    if (newstr == " ") {

        return "";

    }

    return newstr;

}



function check_email(email) {

    var template = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;

    if (template.test(email)) {

        return true;

    }

    return false; 

}



function isFloat (summ) {



	if (summ.length > 0) {

		var template = /^-?\d+[\.|\,]?\d+$/;

		if (template.test(summ)) 

			return true;

		else 

			return false;

	}

	else

		return false;

}



////////////////////////////////////////////////// check is browser is IE6

function checkBrowser () {

	var br_version = 0;	

	var ua = navigator.userAgent;

 	var IEoffset = ua.indexOf("MSIE ");

	var MSIEVersionNumber = parseFloat(ua.substring(IEoffset+5, ua.indexOf(";", IEoffset)));	

		

	if (MSIEVersionNumber == 6)

		br_version = MSIEVersionNumber;

	if (br_version == 0)

		return true;

	else

		return false;

}
