/**
 * @description Fukcja do zmiany wartości klasy elementu
 * @param e <b>string</b> - id elementu
 * @param c <b>string</b> - wartość klasy elementu na którą ma zmienić ta funkcja
 * @param radio <b>string</b> - wartość id radio button - opcjonalnie
 */

var stop = 1;
var delay = 1;

function changeClass(e,c,radio) {
	if(!radio) {
		radioVar="no";
	} else {
		var radioCont=document.getElementById(radio);
		radioVar=radioCont.checked;
	}
	if(radioVar=="no" || radioVar==false) {
		var cont=document.getElementById(e);
		cont.className=c;
	}
}

function changeClassParam(e,c) {
	var cont=document.getElementById(e);
	cont.className = (cont.className==c ? c + '_change' : c);
}

/**
 * @description Fukcja do zmiany wartości klasy elementu
 * @param e <b>string</b> - id elementu
 * @param p <b>int</b> - parametr informujący na jaką wartość ma zmienić : 1 - "top_left_links_image_selected", 0 - "top_left_links_image"
 */
function change_bg(e,p) {
	var cont=document.getElementById(e);
	if(p==1) {
		cont.className="top_left_links_image_selected";
	} else {
		cont.className="top_left_links_image";
	}
}

/**
 * @description Fukcja do validacji adresu email
 * @param e string - id elementu
 * @param fieldname string - nazwa klasy
 * @param additionalFieldName string - nazwa klasy dołaczanej do bazwej klasy, np rozmiar, etc
 */

function isValidEmail(e,fieldname, additionalFieldName) {
	 if (fieldname == null){
	   fieldname = contact_form;
	 }

	 if (additionalFieldName == null){
	   additionalFieldName = '';
	 }
	var elem=document.getElementById(e);
	var RegExp =/^((([a-z]|[0-9]|_)+(\.(([a-z]|[0-9]|_))+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/;
	//var RegExp =/^([a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2,3})$/;
	if(RegExp.test(elem.value)){
        this.changeClass(e,fieldname + "_ok" + ' ' + additionalFieldName);
	} else {
        this.changeClass(e,fieldname + "_error" + ' ' + additionalFieldName);
	}
}


function changeImages(imgId, img_src) {
    document.getElementById(imgId).src=img_src;
}

function clearForm(formName)
{	
	form = document.forms[formName];
	if(form)
	{
		formElems = form.elements;
		ile = formElems.length;
		for(i=0;i<ile;i++)
		{
			elem = formElems[i];
			elem.disabled =false;
			//alert(elem.nodeName);
			if(elem.nodeName=='INPUT')
				{
					if(elem.type=='text') elem.value = '';
					else if(elem.type=='checkbox') elem.checked = false;
					else if(elem.type=='radio') elem.checked = false;
				}
			else if(elem.nodeName=='SELECT')
			{
				elem.selectedIndex = 0;
				elem.selected = false;
			}
		}
	}
}

function showHideBlock(e) {
	var elem=document.getElementById(e);
    elem.style.display = (elem.style.display=='none' ? 'block' : 'none');
}

function changeColor(e,param) {
	var elem=document.getElementById(e);
	if(param==1) {
		elem.style.color='#e06915' ;
	} else {
		elem.style.color='#555454';
	}
	
	
}
function showHideAdvSearch(e) {
	var elem=document.getElementById(e);
	if(elem.style.display == 'block') {
		//$("#adv_search_options").hide("slow");
		$("#adv_search_options").slideUp("slow");
		stop = 0;
	} else {
		//$("#adv_search_options").show("slow");
		$("#adv_search_options").slideDown("slow");
		stop = 0;
	}
}

function showAdvance(e) {
	$("#adv_search_options").slideDown("slow");
	stop = 0;
}

function delayHide(e) {
	if(e==1) {
		delay=setTimeout('$("#adv_search_options").slideUp("slow")',5000);
	} else {
		delay=setTimeout('$("#adv_search_options").slideUp("slow")',5000);
	}
	//hide('slow');
}

function showForm() {
	if(stop) {
		$('#adv_search_options').slideDown('slow')
	}
}

function clearDelay() {
	if(delay) {
		clearTimeout(delay);
	}
}

//(elem.style.color=='black' ? '#e06915' : 'black');

//XMLHttpRequest class function
function datosServidor() {
};
datosServidor.prototype.iniciar = function() {
	try {
		// Mozilla / Safari
		this._xh = new XMLHttpRequest();
	} catch (e) {
		// Explorer
		var _ieModelos = new Array(
		'MSXML2.XMLHTTP.5.0',
		'MSXML2.XMLHTTP.4.0',
		'MSXML2.XMLHTTP.3.0',
		'MSXML2.XMLHTTP',
		'Microsoft.XMLHTTP'
		);
		var success = false;
		for (var i=0;i < _ieModelos.length && !success; i++) {
			try {
				this._xh = new ActiveXObject(_ieModelos[i]);
				success = true;
			} catch (e) {
			}
		}
		if ( !success ) {
			alert('1');
			return false;
		}
		return true;
	}
}

datosServidor.prototype.ocupado = function() {
	estadoActual = this._xh.readyState;
	return (estadoActual && (estadoActual < 4));
}

datosServidor.prototype.procesa = function() {
	if (this._xh.readyState == 4 && this._xh.status == 200) {
		this.procesado = true;
	}
}

datosServidor.prototype.enviar = function(method,urlget,datos) {
	if (!this._xh) {
		this.iniciar();
	}
	if (!this.ocupado()) {
		this._xh.open(method,urlget,false);
        if(method=="POST")
            {
                this._xh.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                this._xh.setRequestHeader("Content-length", datos.length);
                this._xh.setRequestHeader("Connection", "close");
            }
		this._xh.send(datos);
		if (this._xh.readyState == 4 && this._xh.status == 200) {
			return this._xh.responseText;
		}

	}
	return false;
}

function traffic(href, type, id)
{
	remotos = new datosServidor;
	nt = remotos.enviar("POST", "traffic.html", "url="+encodeURIComponent(href)+(type!=null && id!=null ? "&type="+type+"&id="+id : ''));
	//alert(nt);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires;
}

function getScrollXY() {
  var X = 0, Y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    Y = window.pageYOffset;
    X = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    Y = document.body.scrollTop;
    X = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    Y = document.documentElement.scrollTop;
    X = document.documentElement.scrollLeft;
  }
  return [ X, Y ];
}