
var req = null;

function InitXMLHttpRequest() {
	// Make a new XMLHttp object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();

	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
//	if (typeof window.ActiveXObject != 'undefined' ) req = new ActiveXObject("Microsoft.XMLHTTP");
//	else req = new XMLHttpRequest();
}

function ProcessZip(zip, country, region, city, section, info_field) {
	//alert(country.innerHTML);
	//alert(country.value);
	var max_length = country.value == 90 ? 5 : 4;//country[country.selectedIndex].innerText == "Deutschland" ? 5 : 4; // .selectedIndex not works in FireFox
	zip.value = zip.value.replace(/[^\d]/, "");
	if (zip.value.length > max_length)
		zip.value = zip.value.substring(0, max_length);
	if (ProcessZip.value != zip.value) {
		ProcessZip.value = zip.value;
		city.innerHTML = '';
		region.innerHTML = '';
		if (ProcessZip.value.length == max_length) {
			InitXMLHttpRequest();
			if (req) {
				req.onreadystatechange = function() {
					if (req.readyState == 4) {
						var info = req.responseText.split("|");
						if (info_field) info_field.innerHTML = '';
						if (info.length = 4) {
							// info[0] - empty
							if (zip.value != info[1])
							{
								msg = zip.value + ' ersetzt durch: ' + info[1];
								if (info_field)
									info_field.innerHTML = msg;
								else
									alert(msg);
							}
							ProcessZip.value = zip.value = info[1];
							city.innerHTML = info[2];
							region.innerHTML = info[3];
						}
					}
				}
				req.open("GET", "location.php?sec=" + section + "&sel=city_region&zip=" + zip.value +
					"&country=" + country.value, true);
				req.send(null);
			} else {
				city.innerHTML = 'Browser unable to create XMLHttp Object';
			}
		}
	}
}

function trim(string)
{
	return string.replace(/(^\s+)|(\s+$)/g, "");
}

function CheckExist(sel, field, flag_field, info_field) {
	if (field.value == '')
		return;
	if (CheckExist.value == field.value + sel)
		return;
	else
		CheckExist.value = field.value + sel;
	InitXMLHttpRequest();
	// Load the result from the response page
	if (req) {
		flag_field.value = '0';
		//req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		req.open("GET", "location.php?sec=rp&sel="+sel+"&"+sel+"="+encodeURIComponent(field.value), false);
		req.send(null);
		if (req.status == 200) {
			ProcessResponse(req, info_field, flag_field);
		}
	}
}

function CheckPass(pass, flag_field, info_field) {
	if (pass.value == '')
		return;
	if (CheckPass.value == pass.value)
		return;
	else
		CheckPass.value = pass.value;
	InitXMLHttpRequest();
	// Load the result from the response page
	if (req) {
		flag_field.value = '0';
		req.open("GET", "location.php?sec=rp&sel=pass&pass=" + encodeURIComponent(pass.value), false);
		req.send(null);
		if (req.status == 200) {
			ProcessResponse(req, info_field, flag_field);
		}
	}
}

function ProcessResponse(req, info_field, flag_field) {
	response = trim(req.responseText);
	if (response.length > 0) {
		if (info_field)
			info_field.innerHTML = response;
		else
			alert(response);
		flag_field.value = '0';
	}
	else {
		flag_field.value = '1';
		if (info_field) info_field.innerHTML = '';
	}
}

function CheckDateBirthday(info_field) {
	_frm_ = document.reg_form;
	if (_frm_.b_day.value == "" || _frm_.b_month.value == "" || _frm_.b_year.value == "")
		return;
	date = _frm_.b_day.value + "." + _frm_.b_month.value + "." + _frm_.b_year.value;
	if (CheckDateBirthday.value == date)
		return;
	else
		CheckDateBirthday.value = date;
	flag_field = _frm_.is_correct_datebirthday;
	InitXMLHttpRequest();
	// Load the result from the response page
	if (req) {
		flag_field.value = '0';
		req.open("GET", "location.php?sec=rp&sel=datebirthday&date="+date, false);
		req.send(null);
		if (req.status == 200) {
			ProcessResponse(req, info_field, flag_field);
		}
	}
}

function SelectCountry(section, destination) {
	InitXMLHttpRequest();
	// Load the result from the response page
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				destination.innerHTML = req.responseText;
			} else {
				if (section == 'rp') {
					destination.innerHTML = "<select style=\"width:150px\"><option>Loading data...</option></select>";
				} else {
					destination.innerHTML = "<select style=\"width:150px\" class=\"index_select\"><option>Loading data...</option></select>";
				}

			}
		}
		req.open("GET", "location.php?sec=" + section + "&sel=city_region", true);
		req.send(null);
	} else {
		destination.innerHTML = 'Browser unable to create XMLHttp Object';
	}
}

function SelectRegion(section, id_country, destination, destination2) {
	if (id_country != '') {
		InitXMLHttpRequest();
		// Load the result from the response page
		if (req) {
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					destination.innerHTML = req.responseText;
				} else {
					if (section == 'rp') {
						destination.innerHTML = "<select style=\"width:150px\"><option>Loading data...</option></select>";
					} else {
						destination.innerHTML = "<select style=\"width:150px\" class=\"index_select\"><option>Loading data...</option></select>";
					}
				}
			}
			req.open("GET", "location.php?sec=" + section + "&sel=region&id_country=" + id_country, true);
			req.send(null);
		} else {
			destination.innerHTML = 'Browser unable to create XMLHttp Object';
		}
	} else {
		destination.innerHTML = "Country is not selected";
	}
	if (section == 'as') {
		destination2.innerHTML = "<select style=\"width:150px\" class=\"index_select\"><option>All</option></select>";
	} else {
		if (section == 'rp') {
			destination2.innerHTML = "<select style=\"width:150px\"><option>Please select...</option></select>";
		} else {
			destination2.innerHTML = "<select style=\"width:150px\" class=\"index_select\"><option>Please select...</option></select>";
		}

	}
}

function SelectCity(section, id_region, destination) {
	if (id_region != '') {
		InitXMLHttpRequest();
		// Load the result from the response page
		if (req) {
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					destination.innerHTML = req.responseText;
				} else {
					if (section == 'rp') {
						destination.innerHTML = "<select style=\"width:150px\"><option>Loading data...</option></select>";
					} else {
						destination.innerHTML = "<select style=\"width:150px\" class=\"index_select\"><option>Loading data...</option></select>";
					}
				}
			}
			req.open("GET", "location.php?sec=" + section + "&sel=city&id_region=" + id_region, true);
			req.send(null);
		} else {
			destination.innerHTML = 'Browser unable to create XMLHttp Object';
		}
	} else {
		destination.innerHTML = "Region is not selected";
	}
}

function CheckLogin(section, login, destination) {
	if (login != '') {
		InitXMLHttpRequest();
		// Load the result from the response page
		if (req) {
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					destination.innerHTML = req.responseText;
				}
			}
			//req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			req.open("GET", "location.php?sec=" + section + "&sel=login&login=" + login, true);
			req.send(null);
		} else {
			destination.innerHTML = 'Browser unable to create XMLHttp Object';
		}
	} else {
		destination.innerHTML = "Nick is empty";
	}
}

function ShowTab(sel, mlink, sub, sec_par) {
	destination = document.getElementById('tab_div');
	if (sel > 6 && sub != 0) {
		if (sec_par == 2) {
			document.getElementById("sub_menu8").className='sub_tab_first';
			document.getElementById("sub_menu9").className='sub_tab';
			document.getElementById("sub_menu10").className='sub_tab';
		} else {
			document.getElementById("sub_menu7").className='sub_tab_first';
			document.getElementById("sub_menu8").className='sub_tab';
			document.getElementById("sub_menu9").className='sub_tab';
			document.getElementById("sub_menu10").className='sub_tab';
		}

		if (sel == 7) {
			document.getElementById("sub_menu"+sel).className='sub_tab_active_first';
		} else {
			if (sec_par == 2 && sel==8) {
				document.getElementById("sub_menu"+sel).className='sub_tab_active_first';
			} else {
				document.getElementById("sub_menu"+sel).className='sub_tab_active';
			}
		}

		document.getElementById("sub_link7").className='link';
		document.getElementById("sub_link8").className='link';
		document.getElementById("sub_link9").className='link';
		document.getElementById("sub_link10").className='link';
		document.getElementById("sub_link" + sel).className='text';

//     if (sec_par == 0 && sel==8) return;
	} else {
    if ($('#menu8').hasClass('tab_active_last')) $('#menu8').removeClass().addClass('tab_last');

		destination = document.getElementById("tab_div");
		document.getElementById("menu1").className='tab_first';
		document.getElementById("menu2").className='tab';
		document.getElementById("menu3").className='tab';
		document.getElementById("menu4").className='tab';
 		document.getElementById("menu5").className='tab';
		document.getElementById("menu6").className='tab';

		if (sel == 1) {
			document.getElementById("menu"+sel).className='tab_active_first';
		} else if (sel == 6) {
			document.getElementById("menu"+sel).className='tab_active';
		} else {
			document.getElementById("menu"+sel).className='tab_active';
		}

		document.getElementById("link1").className='link';
		document.getElementById("link2").className='link';
		document.getElementById("link3").className='link';
		document.getElementById("link4").className='link';
 		document.getElementById("link5").className='link';
		document.getElementById("link6").className='link';
		document.getElementById("link"+sel).className='text';
	}

	InitXMLHttpRequest();
	// Load the result from the response page
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				RunJS(destination, req.responseText);
			}
		}
		if (sel > 6 && sub != 0) {
			req.open("GET", mlink + "&sub=" + sel + "&act=ajax&action="+ sub, true);
		} else {
			req.open("GET", mlink + "&act=ajax", true);
		}
		req.send(null);
	} else {
		destination.innerHTML = 'Browser unable to create XMLHttp Object';
	}
}

function RunJS(dest, response){

	if (response.search(/<script/) == -1){
		dest.innerHTML = response;
		return false;
	}
	//Check user browser
	var agent=(window.navigator.appName=='Netscape')?'Firefox':'IE';
	if(agent=='IE'){
		///place &nbsp; before <scrript> tag
		dest.innerHTML=response;
		var arr_scripts = dest.getElementsByTagName("script");
		for(i in arr_scripts){
			var src = arr_scripts[i].src;
			if(null!=src){
				var has_question = (src.indexOf('?', 1)>0 ? true : false);
				if(0==src.length)
					arr_scripts[i].setAttribute('src', '');
				else
					arr_scripts[i].setAttribute('src', arr_scripts[i].src + (has_question==true ? '&' : '?') + '1=1');
			}
		}
	}else{
		//Mozilla
		var d=dest.parentNode;
		var d_new=document.createElement('div');

		//Set same attributes as original
		var attributes=dest.attributes;
		var len=attributes.length;

		d_new.innerHTML=response;
		for(var i=0; i<len; i++){
			d_new.setAttribute(attributes[i].name, attributes[i].value);
		}

		d.replaceChild(d_new, dest);
	}
}

function VoteAction(id_upload, vote, id_category, destination, upload_type) {
	InitXMLHttpRequest();
    if (req){
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				destination.innerHTML = req.responseText;
			} else {
				destination.innerHTML = "Loading...";
			}
		}
		req.open('GET', 'gallary.php?sel=vote&id_upload=' + id_upload + '&vote=' + vote + '&id_category=' + id_category+ '&upload_type=' + upload_type, true);
		req.send(null);
    }
    else{
       destination.innerHTML = 'Browser unable to create XMLHttp Object';
    }
    return;
}

function ajaxRequest(file_name, str, destination_odj, tmp_text, anisochronous){
	if (str != '') {
		str = str+'&ajax=1';
		InitXMLHttpRequest();
		// Load the result from the response page
		if (req) {
			if (anisochronous){
				req.onreadystatechange = function() {
					if (req.readyState == 4) {
						//destination_odj.innerHTML = req.responseText;
						RunJS(destination_odj,req.responseText);
					} else {
						destination_odj.innerHTML = tmp_text;
					}
				}
			}
			req.open("POST", file_name+'?rnd='+Math.random(), anisochronous);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8 ');
			req.setRequestHeader("Content-length", str.length);
      		req.setRequestHeader("Connection", "close");
			req.send(str);
			if (!anisochronous) RunJS(destination_odj,req.responseText);
		} else {
			destination_odj.innerHTML = 'Browser unable to create XMLHttp Object';
		}
	} else {
		destination_odj.innerHTML = "no string";
	}
}
opacity = 0;
i1 = 0;
i2 = 0;
t1 = 0;
function noticeCode(code){
	//if(code == '') return false;
	addNoticeDiv(code);
	divTag = document.getElementById('notice_div');
	opacity = 0;
	i1 = setInterval('increaseOpacity(divTag);',2);
}

function increaseOpacity(divTag){
	opacity++;
	if (opacity >= 100){
		clearInterval(i1);
		setTimeout("i2 = setInterval('decreaseOpacity(divTag)',5)",3000);
		return false;
	}
	setOpacity(divTag,opacity);
}

function decreaseOpacity(divTag){
	opacity = opacity-10;
	if (opacity <= 1){
		clearInterval(i2);
		clearTimeout(t1);
		document.body.removeChild(divTag);
		return false;
	}
	setOpacity(divTag,opacity);
}
function setOpacity(divTag,i){
	divTag.style.filter = 'alpha(opacity='+i+')';
	divTag.style.opacity = i/100;
}
function addNoticeDiv(code){
	if (document.getElementById('notice_div')){
		clearInterval(i1);
		clearInterval(i2);
		clearTimeout(t1);
		divTag = document.getElementById('notice_div');
		if (divTag) document.body.removeChild(divTag);
	}

	var divTag = document.createElement("div");

	divTag.id = 'notice_div';
	divTag.setAttribute('align','center');
	divTag.style.margin = '0px auto';
	divTag.style.border = '1px solid #000000';
	divTag.style.background = '#ffffff';
	divTag.style.padding = '15px'

	if (navigator.appName == 'Microsoft Internet Explorer'){
		divTag.style.position = 'absolute';
		divTag.style.top = document.body.scrollTop+10;
	}else{
		divTag.style.position = 'fixed';
		divTag.style.top = '10px';
	}
	divTag.style.left = '10px';

	divTag.style.filter = 'alpha(opacity=1)';
	divTag.style.opacity = '0.01';

	divTag.className ="dynamicDiv";
	divTag.innerHTML = code;
	document.body.appendChild(divTag);
}
