var itp_static_url='http://static.seopult.ru';
String.prototype.trim = function() { return this.replace(/^[\s\r\n\t]+|[\s\r\n\t]+$/g, ''); };
function getInText(node){
	 return node.innerText || node.textContent;
}
function execute(id, url,while_loading,redirect_url,redirect_timeout, callback_on_success) {
	var goal=document.getElementById(id);
	if (!goal){
		//to debug
		//alert("Object with id '"+id+"' doesn't exist");
		return false;
	}
	if (!while_loading){
		goal.innerHTML="<img src='/themes/default/_img/loader.gif' width='16' height=16>";
	}else if(while_loading!='__empty__'){
		goal.innerHTML=while_loading;
	}
	var request   = false;
	var msxmlhttp = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP' );

	if ( window.XMLHttpRequest ) {
		request = new XMLHttpRequest;
	} else if ( window.ActiveXObject ) {
		for ( var i = 0; i < msxmlhttp.length; i ++ ) {
			try {
				request = new ActiveXObject( msxmlhttp[i] );
			} catch ( e ) {
				request = false;
			}
		}
	}
	if ( !request ) {
		alert( 'Can\'t create XMLHTTP instance' );
		return false;
	}
	request.onreadystatechange = function() {
		if ( request.readyState == 4 ) {
			if ( request.status == 200 ) {
				var reg=/<script[^>]*?>(.*?)<\/script>/ig;
				var reg_repl=/<[\/]{0,1}script[^>]*?>/ig;
				var resp=request.responseText;
				if (scr=resp.match(reg)){
					resp=resp.replace(reg,"");
					goal.innerHTML=resp;
					for (i=0; i<scr.length;i++){
						to_exec=scr[i].replace(reg_repl,"");
						eval(to_exec);
					}
				} else {
					goal.innerHTML=resp;
				}
				if (redirect_url){
					if (redirect_timeout){
						setTimeout("execute('"+id+"','"+redirect_url+"','"+while_loading+"')",redirect_timeout*1000);
					} else {
						execute(id,redirect_url,while_loading);
					}
				}

				if (callback_on_success) {
					callback_on_success();
				}
			} else {
				//alert( 'There was a problem with the request' );
			}
		}
	}
	var q_pos=url.indexOf('?');
	var q_data=(q_pos!=-1?url.substr(q_pos+1):'');
	var u_path=(q_pos!=-1?url.substr(0,q_pos):url);
	request.open( 'POST', u_path, true );
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send(q_data);
};
function check_checkboxes(formObj){
	elms=formObj.elements;
	if (!elms){
		return false;
	}
	for (i=0;i<elms.length;i++){
		if (elms[i].type=='checkbox' && elms[i].name!='' && elms[i].checked){
			return true;
		}
	}
	return false;
};
function execute_with_hiding(id,url,while_loading){
	var resObj=document.getElementById(id);
	if (resObj){
		if (resObj.style.display=='none'){
			resObj.style.display='';
			execute(id,url,while_loading);
		}else{
			resObj.style.display='none';
		}
	}
}
function execute_onempty_with_hiding(id,url){
	var resObj=document.getElementById(id);
	if (resObj){
		if (resObj.style.display=='none'){
			resObj.style.display='';
			if (resObj.innerHTML=='') {
				execute(id,url);
			}
		}else{
			resObj.style.display='none';
		}
	}
}
function enlargeObj(id,size){
	var oDist=document.getElementById(id);
	if (oDist){
		var currentSize=new Number(oDist.style.height.substr(0,oDist.style.height.length-2));
		var newSize=currentSize+size;
		oDist.style.height=newSize+'px';
		return true;
	} 
	return false;
};
function reduceObj(id,size){
	var oDist=document.getElementById(id);
	if (oDist){
		var currentSize=new Number(oDist.style.height.substr(0,oDist.style.height.length-2));
		if (currentSize<size)
			return false;
		var newSize=currentSize-size;
		oDist.style.height=newSize+'px';
		return true;
	}
	return false;
};
function clearObj(id) {
	var oDist=document.getElementById(id);
	if (oDist){
		if (oDist.value) {
			oDist.value='';
		} 
		if (oDist.innerHTML) {
			oDist.innerHTML='';
		}
	}
	return false;
};
function showhideObj(id){
	var oDist=document.getElementById(id);
	if (oDist){
		if (oDist.style.display=='none')
		oDist.style.display='';
		else
		oDist.style.display='none';
	}
};
function checkall_common(form,state,common){
	var elms=form.elements;
	for (i=0;i<elms.length;i++){
		if (elms[i].type=='checkbox' && (!common || elms[i].name.indexOf(common)!=-1) && !elms[i].disabled){
			elms[i].checked=state;
		}
	}
};
function fillall_common(form,value,common){
	var elms=form.elements;
	for (i=0;i<elms.length;i++){
		if (elms[i].type=='text' && (common=='' || elms[i].name.indexOf(common)!=-1)){
			elms[i].value=value;
		}
	}
};
function deleteById(id_to_delete){
	var obj_to_delete=document.getElementById(id_to_delete);
	if (obj_to_delete){
		obj_to_delete.parentNode.removeChild(obj_to_delete);
	}
}
function valid_email(mail){
	var preg_email=/^[a-zA-Z0-9_]+[-a-zA-Z0-9_\.]*@[a-zA-Z0-9]+[-a-zA-Z0-9_\.]*\.[a-zA-Z]+$/;
	return mail.match(preg_email)?true:false;
};
function valid_url(url){
	var preg_url=/^http:\/\/[a-zA-Z0-9]+[-a-zA-Z0-9\.]+\.[a-zA-Z]+.*$/i;
	return url.match(preg_url)?true:false;
}
function showhideHelp(){
	var help=document.getElementById('more_help');
	var helper=document.getElementById('more_helper');
	if (help.style.display==''){
		help.style.display='none';
		helper.innerHTML='подробнее';
	}else{
		help.style.display='';
		helper.innerHTML='Скрыть';
	}
};

/*--->*/function submitter(formObjToSubmit){
	if (!formObjToSubmit){
		return '';
	}
	var submit_elms=formObjToSubmit.elements;
	var ret='';
	for (i=0;i<submit_elms.length;i++){
		if (submit_elms[i].name==''){
			continue;
		}
		if (submit_elms[i].type=='button'){
			continue;
		}
		if (submit_elms[i].type=='checkbox' && !submit_elms[i].checked){
			continue;
		}
		ret+='&'+URLEncode(submit_elms[i].name)+'='+URLEncode(submit_elms[i].value);
	}
	if (ret==''){
		return '';
	}
	return ret.substr(1);
};

function is_numeric(val){
	var preg=/^[\+-]{0,1}[0-9]+(?:\.[0-9]*){0,1}$/;
	return val.match(preg)?true:false;
}

function is_int(val){
	var preg=/^[0-9]+$/;
	return val.match(preg)?true:false;
}

function redirect_url(url) {
	return "http://www.my-number.ru/redirect.php?url="+URLEncode(url);
}

function random (min, max) {
	max=Math.round(max); min=Math.round(min);
	if (min>=max) {
		return 0;
	}
	return min+Math.floor(Math.random()*(max-min));
}
// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++){
	trans[i] = i - 0x350; // А-Яа-я
}
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

function URLEncode(str){
	var ret = [];
	// Составляем массив кодов символов, попутно переводим кириллицу
	for (var i = 0; i < str.length; i++)
	{
		var n = str.charCodeAt(i);
		if (typeof trans[n] != 'undefined')
		n = trans[n];
		if (n <= 0xFF)
		ret.push(n);
	}
	return escape(String.fromCharCode.apply(null, ret));

};

function rand_num(){
	return Math.ceil(Math.random()*10000000000).toString();
};

