var siteURL = 'http://www.gct.pl/';

function getElement(id)
{
	with (document) var element = getElementById ? getElementById(id) : all ? all[id] : layer[id];
	if(!element.style) element.style = element;
	return element;
}

function hideElement(name)
{
	getElement(name).style.display = 'none';
}

function viewElement(name)
{
	getElement(name).style.display = '';
}

function elementOnOff(name)
{
	if (getElement(name).style.display == 'block')
		getElement(name).style.display = 'none';
	else
		getElement(name).style.display = 'block';

	// zapisanie do cookie
	Set_Cookie(name, getElement(name).style.display);
}

function menuOff(name)
{
	getElement(name).style.visibility = 'hidden';
}

function menuOn(name)
{
	getElement(name).style.visibility = 'visible';
}

function getSelectedValue(selectObject)
{
	var listValue = '';

	for(i = 0; i < selectObject.options.length; i++)
	{
		if(selectObject.options[i].selected == true)
		{
			if(listValue.length > 0) separator = '|'; else separator = '';
			listValue = listValue + separator + selectObject.options[i].value;
		}
	}

	return listValue;
}

function getCheckedValue(checkObject)
{
}

function ereg(pattern, text)
{
	var pattern = new RegExp(pattern, 'i');
	return pattern.test(text);
}

function number_format(number, decimals, dec_point, thousands_sep)
{
	var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
	var d = dec_point == undefined ? "." : dec_point;
	var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
	var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function exeAjax(module, params)
{
	url = siteURL + 'ajax/' + module + '?' + params + '&temporary=' + parseInt(Math.random()*99999999);
	myRequest.open('GET', url, true);
	myRequest.onreadystatechange = responseAjax;
	myRequest.send(null);
}

function getRequest()
{
	var req = false;
	try
	{
		req = new XMLHttpRequest();
	}
	catch(err1)
	{
		try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(err2)
		{
			try
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(err3)
			{
				req = false;
			}
		}
	}
	return req;
}


function responseAjax()
{
	if (myRequest.readyState == 4)
	{
		if (myRequest.status == 200)
		{
			//alert(myRequest.responseText);
			var xml = myRequest.responseXML;
			var result = xml.getElementsByTagName('result')[0].childNodes[0].nodeValue;
			switch(result)
			{
				case 'CheckForm':
				{
					var element = xml.getElementsByTagName('element')[0].childNodes[0].nodeValue;
					var errorIcon = xml.getElementsByTagName('errorIcon')[0].childNodes[0].nodeValue;
					var errorInfo = xml.getElementsByTagName('errorInfo')[0].childNodes[0].nodeValue;
					formElementValid(element, errorInfo, errorIcon);
					break;
				}
				case 'Info':
				{
					var comment = xml.getElementsByTagName('comment')[0].childNodes[0].nodeValue;
					alert(comment);
					break;
				}
				default:
				{
					alert("DEFAULT:\n\n" + myRequest.responseText);
				}
			}
		}
		else
		{
			//alert('AjaxError: ' + myRequest.status);
		}
	}
}
var myRequest = getRequest();


function formElementValid(element, errorInfo, errorIcon)
{
	if (errorIcon == 'ok')
	{
		getElement('xFormErrorInfo' + element).innerHTML = '';
		getElement('xFormErrorInfo' + element).className = 'errorInfoOff';
		getElement('xFormErrorIcon' + element).innerHTML = '<img src="' + siteURL + 'images/xform/xform-ok.png" style="width: 14px; height: 14px;" alt="poprawnie wypełnione pole" />';
	}
	else if (errorIcon == 'error')
	{
		getElement('xFormErrorInfo' + element).innerHTML = errorInfo;
		getElement('xFormErrorInfo' + element).className = 'errorInfoOn';
		getElement('xFormErrorIcon' + element).innerHTML = '<img src="' + siteURL + 'images/xform/xform-error.png" style="width: 14px; height: 14px;" alt="błędnie wypełnione pole" />';
	}
	else
	{
		getElement('xFormErrorInfo' + element).innerHTML = '';
		getElement('xFormErrorInfo' + element).className = 'errorInfoOff';
		getElement('xFormErrorIcon' + element).innerHTML = '';
	}
}

function checkFormAjax(form, element, idelement, value, confirmvalue)
{

	if(confirmvalue != 0) confirmvalue = getElement('id' + confirmvalue).value; else confirmvalue = '0';
	exeAjax('CheckForm', 'form=' + form + '&element=' + element + '&idelement=' + idelement + '&value=' + urlEncode(value) + '&confirmvalue=' + urlEncode(confirmvalue));
}

function checkFormEreg(element, textToCheck, pattern, errorInfo)
{
	if (ereg(pattern, textToCheck) == true)
	{
		formElementValid(element, '', 'ok');
		return true;
	}
	else
	{
		formElementValid(element, errorInfo, 'error');
		return false;
	}
}

function uploadFileReady(fileName, fileSize, element, id, index)
{
	getElement('xFormUploadInfoId' + element).innerHTML = '-> <b>' + fileName + '</b> (' + fileSize / 1000 + 'kB) <a href="javascript:uploadFileDelete(\''+element+'\', '+index+')"><img src="'+siteURL+'images/cms/icon_delete.png"></a>';
	getElement('iduploadid' + element).value = id;
	formElementValid(index, '', '');
}


function uploadFile(formname, iframename, idgap)
{
	// przeslanie danych
	getElement(formname).target = iframename;
	getElement('idxupload').value = 'uploadfile';
	getElement(formname).submit();

	// po przeslaniu
	getElement(formname).target = '_self';
	getElement('idxupload').value = '';
	uploadFileClear(idgap);
}

function uploadFileClear(id)
{
	fileField = getElement(id);
	parentNod = fileField.parentNode;
	tmpForm	= document.createElement("form");
	parentNod.replaceChild(tmpForm,fileField);
	tmpForm.appendChild(fileField);
	tmpForm.reset();
	parentNod.replaceChild(fileField,tmpForm);
}

function uploadFileDelete(element, index)
{
	getElement('iduploadid' + element).value = '';
	getElement('xFormErrorInfo' + index).innerHTML = '';
	getElement('xFormErrorInfo' + index).className = 'errorInfoOff';
	getElement('xFormErrorIcon' + index).innerHTML = '';
	getElement('xFormUploadInfoId' + element).innerHTML = '';
}

function urlEncode(str)
{
	//str = escape(str);
	str = str.replace(/\?/gi, '%3F');
	str = str.replace(/\(/gi, '%28');
	str = str.replace(/\)/gi, '%29');
	str = str.replace(/\+/gi, '%2B');
	str = str.replace(/\*/gi, '%2A');
	str = str.replace('/', '%2F');
	str = str.replace(/@/gi, '%40');
	str = str.replace(/&/gi, '%26');
	str = str.replace(/=/gi, '%3D');
	return str;
}




$(document).ready(function(){
	$('a.contractorLogo')
	.css({backgroundPosition: "0 -54px"})
	.mouseover(function() {$(this).css('backgroundPosition', '0 0');})
	.mouseout(function() {$(this).css('backgroundPosition', '0 -54px');})
});









function Set_Cookie( name, value, expires, path, domain, secure )
{
	// dzisiejsza data
	var today = new Date();
	today.setTime(today.getTime());

	if (expires) expires = expires * 1000 * 60 * 60 * 24;

	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	((expires) ? ";expires=" + expires_date.toGMTString() : "" ) +
	((path) ? ";path=" + path : "" ) +
	((domain) ? ";domain=" + domain : "" ) +
	((secure) ? ";secure" : "" );
}

function Delete_Cookie( name, path, domain )
{
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Get_Cookie( name )
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return '';
	}
	if ( start == -1 ) return '';
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}









/*********************
//* jQuery Multi Level CSS Menu #2- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last update: Nov 7th, 08': Limit # of queued animations to minmize animation stuttering
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
*********************/

//Specify full URL to down and right arrow images (23 is padding-right to add to top level LIs with drop downs):
var arrowimages={down:['downarrowclass',  siteURL + 'images/dynamicmenu/down.gif', 15], right:['rightarrowclass', siteURL + 'images/dynamicmenu/right.gif']}

var jqueryslidemenu={

animateduration: {over: 100, out: 200}, //duration of slide in/ out animation, in milliseconds

buildmenu:function(menuid, arrowsvar){
	jQuery(document).ready(function($){
		var $mainmenu=$("#"+menuid+">ul")
		var $headers=$mainmenu.find("ul").parent()
		$headers.each(function(i){
			var $curobj=$(this)
			var $subul=$(this).find('ul:eq(0)')
			this._dimensions={w:this.offsetWidth, h:this.offsetHeight, subulw:$subul.outerWidth(), subulh:$subul.outerHeight()}
			this.istopheader=$curobj.parents("ul").length==1? true : false
			$subul.css({top:this.istopheader? this._dimensions.h+"px" : 0})
			$curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: arrowsvar.down[2]} : {}).append(
				'<img src="'+ (this.istopheader? arrowsvar.down[1] : arrowsvar.right[1])
				+'" class="' + (this.istopheader? arrowsvar.down[0] : arrowsvar.right[0])
				+ '" style="border:0;" />'
			)
			$curobj.hover(
				function(e){
					var $targetul=$(this).children("ul:eq(0)")
					this._offsets={left:$(this).offset().left, top:$(this).offset().top}
					var menuleft=this.istopheader? 0 : this._dimensions.w
					menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft
					if ($targetul.queue().length<=1) //if 1 or less queued animations
						$targetul.css({left:menuleft+"px", width:this._dimensions.subulw+'px'}).slideDown(jqueryslidemenu.animateduration.over)
				},
				function(e){
					var $targetul=$(this).children("ul:eq(0)")
					$targetul.slideUp(jqueryslidemenu.animateduration.out)
				}
			) //end hover
		}) //end $headers.each()
		$mainmenu.find("ul").css({display:'none', visibility:'visible'})
	}) //end document.ready
}
}

//build menu with ID="myslidemenu" on page:
jqueryslidemenu.buildmenu("myslidemenu", arrowimages)
