// global functions

function gebi(obId){
	return document.getElementById(obId);
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

//Array.indexOf( value, begin, strict ) - Return index of the first element that matches value
Array.prototype.indexOf = function( v, b, s ) {
	for( var i = +b || 0, l = this.length; i < l; i++ ) {
		if( this[i]===v || s && this[i]==v ) { return i; }
	}
	return -1;
};

//Array.unique( strict ) - Remove duplicate values
Array.prototype.unique = function( b ) {
	var a = [], i, l = this.length;
	for( i=0; i<l; i++ ) {
		if( a.indexOf( this[i], 0, b ) < 0 ) { a.push( this[i] ); }
	}
	return a;
};

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function loading (elementId, title){
	var obIdEl = document.getElementById(elementId);
	obIdEl.innerHTML = "" +
	"<div style=\"text-align: center; background: #000000; padding: 12px; color: #ffffff; width:400px; height: 30px;\">" +	
	"<img src=\"data:image/gif;base64,R0lGODlhIQAhANUjAA8PDyQkJAICAhwcHC4uLjIyMg0NDTMzMyYmJhkZGS8vLxQUFCwsLAYGBhYWFhgYGCoqKg4ODh8fH0xMTFlZWWxsbCsrKwUFBWJiYmpqal1dXTo6OiAgIGFhYVBQUAQEBHJycjY2NgAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAAjACwAAAAAIQAhAAAG/0CRcEgsGo9IpCERYBREGc0kNEhaBQtEaLsVgb5fj+ViLQIC3LQXDJ5IykIHIa1mszsE+IFet4MrVg4HInxca34gIgcORwBzIYRcEAMADSIGHBsUbJEEAEUCaIYhCg8CRx8FGIlpAadDC3win1ZvfAtEWmkKEXAiEQp0CEMGfA++Qg98BkIJdBCvvgIQdAlColxVyEIDdAFCDHS02wB0DEIFdJbbIg10T+zxIulp69vuafDhaePI5WnnRGDbom1bt1bNnkWDM62akGJ0jiFTRoeZEF1cePkCJoxILDqzyny6RSSUGlKmjgh4ECzSFldmHrkMMalSOwADqI0K4emIoDKZIAt1WWRlj1CgaQaVkXNUKAFGcM4UQhoiQL8yWDB2EbZg4bYlTZ4UYBAggUV5aIsEAQAh+QQFAAAjACwRAAEADwAPAAAGV8ACI5AwjI7IZGi5RCwESSRzGgBER9MpwRHNTg9d73JUISAbgAFkOgKBOpKo4KEItd2gyeVqxeMtVyMSGH4gHoEjBYUgA4EfFIV2gRuFE4gchRqIBoUZQQAh+QQFAAAjACwXAAYACQAVAAAGWcCRcHRwDIehEAFwTCYDAqHTuRhFFNMQQvjIhgwjASSbEA6yASEgyxA2soWjXGgA2e0ZIedu1wg3fCATIx8UgSEjBYEgAxIYgR5CixZDfBMXR3YdEnMVBENBACH5BAUAACMALBEAEQAPAA8AAAZZwJFwKGyEjscCkQhAHhnL4cAZCkRHAgg1cX1QQ4ZoREFFRCWj74L4KWBAaWRAMDJwNhSQHn4kAIR7gXojBw5DgoEVS4h6HQSLiBNokHseFhdXGRoTIQNXQ0EAIfkEBQAAIwAsBgAXABUACQAABlTAkXAkGRqNgKMQhCl8lCPBQxE6gq4gyoZjGDUAA0hoXF1iz6AReT0eVdBnNZt8IHTgV/mc4CBO8HprAUlCFxYeaIEhCAsCUAMhExoZIwUMAQldRkEAIfkEBQAAIwAsAQARAA8ADwAABlnADGg4NIyOyKOGOOQkkxMmaPNEhqSUT3U0kIIK25FHipFsLd4RoHqJEkchxUPwlHSG8JAeMgA0kAQVeXqEek8HhYlPDgSJhFUAAY4hWwILCIphIwYJAQwFQQAh+QQFAAAjACwBAAYACQAVAAAGWcCRkFARGkeSDgh0vEyWS6MFChV6qCCMZIAFFUYhLOUzelI3Qg2WI8xgDce4sBCq1xtChr0OEAb2IQNCCYAQAiMGgCEPQgiAChEjC4pCAn92RwAEdXIOB0dBACH5BAUAACMALAEAAQAPAA8AAAZYwJFwSByEJpoMcXixeEBQ6HIkmUSvS0LniiVWuN2R4zACR4UAQihUjlI2HMNIEFivy5jCh7iw26lTCH4hChFTBoMhD1MjCYMQAox1fgOMIwyDAJYFgw2WQQA7\" alt=\"Loading\" align=\"left\">" +
	"" + title + "</div>";
}

function goUrlBox(obA, idBox, url){
	obA.setAttribute('href', url);
	if(xmlHttp) {
		code	= encodeURIComponent(idBox);
		cache.push("id=" + code + "&url=" + url);
	}
	try {
		if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0) {
			var cacheEntry = cache.shift();
			xmlHttp.open("POST", 'com/index.php?m=Box_Main&e=addClick', true);
			xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlHttp.send(cacheEntry);
		}
	}catch (e){
		// do nothing
	}
	return false;
}

// Walidacja formularzy
// Pole nie jest puste
function validateText(ob, message){
	var obO = document.getElementById(ob);
	if(obO){
		if (obO.value==''){
			return message + "\n";
		}
	}
	return '';
}

// pole jest poprawnym mailem
function validateTextMail(ob, message){
	var obO = document.getElementById(ob);
	if(obO){
		if (obO.value==''){
			return message + "\n";
		}else{
			if(!validateEmail(obO.value)){
				return message + " - niepoprawny format\n";
			}
		}
	}
	return '';
}

//pola mają taką samą wartość
function validateTextSame(ob1, ob2, message){
	var obO1 = document.getElementById(ob1);
	var obO2 = document.getElementById(ob2);
	if(obO1 && obO2){
		if (obO1.value != obO2.value){
			return message + "\n";
		}
	}
	return '';
}

// Pole nie przekracza długości length
function validateTextL(ob, lenght, message){
	var obO = document.getElementById(ob);
	if(obO){
		if (obO.value.length>lenght){
			return message + ' do ' + lenght + ' znaków (wprowadzono '+ obO.value.length +' znaków)' + "\n";
		}
	}
	return '';
}


function validateEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}
	if (str.indexOf(at,(lat+1))!=-1){
	    return false
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	}
	if (str.indexOf(dot,(lat+2))==-1){
	    return false
	}
	if (str.indexOf(" ")!=-1){
	    return false
	}
	return true					
}

function dID( idFun ) {
	return gebi( idFun );
}

function dTAG( tagFun , obFun ) {
	var ob = document;
	
	if( !tagFun ) { tagFun = '*'; }
	if( obFun ) { ob = obFun; }
	
	if( ob ) {
		return ob.getElementsByTagName( tagFun );
	}
}

function dCLASS( classFun , tagFun ) {
	if( !classFun ) { classFun = ''; }
	if( !tagFun ) { tagFun = '*'; }
	
	var divList 	= dTAG( tagFun );
	var classList 	= new Array();
	
	if( divList ) {
		for( var el in divList ) {
			if( ( divList[ el ].className == classFun ) ) {
				classList.push( divList[ el ] );
			}
		}
	}
	
	return classList;
}

function updateContReload(elementId, url, string, top){
	if(!string){
		string = 'ładowanie...';
	}
	if(!top){
		top = 0;
	}
	marginTop = 5+top;
	var tekst = '<div align="center" style="width: 160px; border:1px solid #eee; margin: auto; margin-top: '+marginTop+'px; padding: 6px; background: #fff url(design/img/loadingMid.gif) repeat-x top">' + string + '<br /><br /><img src="./design/img/loading.gif" alt="" style="border: none;"></div>';
	var elUpd = dID(elementId);
	if(elUpd){
		elUpd.innerHTML = tekst;
		setTimeout( "updateContReloadNow('"+elementId+"','"+ url + "');", 1000);
	}
}

function updateContReloadNow(elementId, url){
	Spry.Utils.updateContent(elementId, url);
}

