// Szorzószámok
	var rate=new Array();
		rate['pt2mm']=1/72*25.4;
		rate['inch2mm']=25.4;
		rate['lpc2lpi']=2.54;
		rate['px2mm']=0.08466667;

// Mértékegységek
	var units=new Array();
			units['pt2mm']=Array('pt','mm');
			units['inch2mm']=Array('inch','mm');
			units['lpc2lpi']=Array('lpc','lpi');
			units['px2mm']=Array('px','mm');

// Papírméretek
	var paperSizes=new Array();
	paperSizes['a']=	Array(
							Array("A/0","841 × 1189"),
							Array("A/1","594 × 841"),
							Array("A/2","420 × 594"),
							Array("A/3","297 × 420"),
							Array("A/4","210 × 297"),
							Array("A/5","148 × 210"),
							Array("A/6","105 × 148"),
							Array("A/7","74 × 105"),
							Array("A/8","52 × 74"),
							Array("A/9","37 × 52")
					);
	paperSizes['b']=	Array(
							Array("B/0","1000 × 1414"),
							Array("B/1","707 × 1000"),
							Array("B/2","500 × 707"),
							Array("B/3","353 × 500"),
							Array("B/4","250 × 353"),
							Array("B/5","176 × 250"),
							Array("B/6","125 × 176"),
							Array("B/7","88 × 125"),
							Array("B/8","62 × 88"),
							Array("B/9","44 × 62")
					);
	paperSizes['bb']=	Array(
							Array("BB/0","1000 × 1400"),
							Array("BB/1","700 × 1000"),
							Array("BB/2","500 × 700"),
							Array("BB/3","350 × 500"),
							Array("BB/4","250 × 350"),
							Array("BB/5","175 × 250"),
							Array("BB/6","125 × 175"),
							Array("BB/7","87 × 125"),
							Array("BB/8","62 × 87"),
							Array("BB/9","43 × 62")
					);
	paperSizes['na']=	Array(
							Array("NA/0","860 × 1220"),
							Array("NA/1","610 × 860"),
							Array("NA/2","430 × 610"),
							Array("NA/3","350 × 430")
					);
	paperSizes['c']=	Array(
							Array("C0","917 × 1297"),
							Array("C1","648 × 917"),
							Array("C2","458 × 648"),
							Array("C3","324 × 458"),
							Array("C4","229 × 324"),
							Array("C5","162 × 229"),
							Array("C6","114 × 162")
					);
	paperSizes['usa']=	Array(
							Array("Letter","216 x 279"),
							Array("Legal","216 x 356"),
							Array("Executive","190 x 254"),
							Array("Tabloid/Ledger","279 x 432"),
							Array("A","216 x 279"),
							Array("B","279 x 432"),
							Array("C","432 x 559"),
							Array("D","559 x 864"),
							Array("E","864 × 1118")
					);



					var iMousePosX = 0;
	var iMousePosY = 0;
	

var iOrigObjTop;
var iOrigObjLeft;

var iDragObjTopDiff;
var iDragObjLeftDiff;

var rightclick = false;
var oDragObj = null;
  
var oEasyObj = null;

var palettes = new Array('userPalette', 'converter', 'paperSize', 'refDetail');

var activeRefImg = 1;
var maxRefNumber;
var refImgName;
	

function getX( oElement ) {
 var iReturnValue = 0;
 while( oElement != null ) {
  iReturnValue += oElement.offsetLeft;
  oElement = oElement.offsetParent;
 };
 return iReturnValue;
}

function getY( oElement ) {
 var iReturnValue = 0;
 while( oElement != null ) {
  iReturnValue += oElement.offsetTop;
  oElement = oElement.offsetParent;
 };
 return iReturnValue;
}
					
function dragPiece(sourceObject) {
  iOrigObjTop = parseInt(sourceObject.style.top);
  iOrigObjLeft = parseInt(sourceObject.style.left);
  iDragObjTopDiff = iMousePosY - iOrigObjTop;
  iDragObjLeftDiff = iMousePosX - iOrigObjLeft;
  oDragObj = sourceObject;
}

function drop() {
	paletteSave();
	oDragObj = null;
}
	  
function setCookie(name, value, expire) {
          document.cookie = name + "=" + escape(value)
          + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
}

function getCookie(Name) {
          var search = Name + "="
          if (document.cookie.length > 0) { // if there are any cookies
                    offset = document.cookie.indexOf(search) 
                    if (offset != -1) { // if cookie exists 
                              offset += search.length 
                              // set index of beginning of value
                              end = document.cookie.indexOf(";", offset) 
                              // set index of end of cookie value
                              if (end == -1) 
                                        end = document.cookie.length
                              return unescape(document.cookie.substring(offset, end))
                    } 
          }
}

function deleteCookie(name) {  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	var cval = GetCookie(name);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function getMouseXY(posX, posY) {
	iMousePosX = posX;
	iMousePosY = posY;
	if (oDragObj != null) {
		oDragObj.style.top = Math.min (window.document.body.offsetHeight - oDragObj.offsetHeight, Math.max(0, iMousePosY - iDragObjTopDiff)) + "px";
		oDragObj.style.left = Math.min (window.document.body.offsetWidth - oDragObj.offsetWidth, Math.max(0, iMousePosX - iDragObjLeftDiff)) + "px";
	}
	if (oEasyObj != null) {
		if ( !(iMousePosX > getX(oEasyObj) && iMousePosX < getX(oEasyObj)+oEasyObj.offsetWidth &&
			iMousePosY > getY(oEasyObj) && iMousePosY<getY(oEasyObj)+oEasyObj.offsetHeight) &&
			!(iMousePosX>getX(document.getElementById('description')) && iMousePosX < getX(document.getElementById('description'))+document.getElementById('description').offsetWidth &&
			iMousePosY > getY(document.getElementById('description')) && iMousePosY<getY(document.getElementById('description'))+document.getElementById('description').offsetHeight))
		{
			document.getElementById('description').style.display='none';
			document.getElementById('description').innerHTML=null;
			oEasyObj=null;
		};
	}
}

function getMouseXYPos(e) {
  if (!e) var e = window.event;
  getMouseXY(e.clientX + document.body.scrollLeft, e.clientY + document.body.scrollTop);
  return true;
}

function unitChange() {
	document.getElementById('unit1').innerHTML=units[document.getElementById('converterForm').converterType.value][0];
	document.getElementById('unit2').innerHTML=units[document.getElementById('converterForm').converterType.value][1];
	document.getElementById('converterForm').value1.value='';
	document.getElementById('converterForm').value2.value='';
}

function unitConverter(oDirection) {
		if (oDirection) {
			document.getElementById('converterForm').value2.value=document.getElementById('converterForm').value1.value * rate[document.getElementById('converterForm').converterType.value];
		} else {
			document.getElementById('converterForm').value1.value=document.getElementById('converterForm').value2.value / rate[document.getElementById('converterForm').converterType.value];
		}
		
}

function paperChange() {
	document.getElementById('paperSerie').innerHTML='';
	for(i=0; i<paperSizes[document.getElementById('paperSizeForm').paperType.value].length; i++) {
		document.getElementById('paperSerie').innerHTML += "<P><SPAN class='paperName'>" + paperSizes[document.getElementById('paperSizeForm').paperType.value][i][0] + "</SPAN><SPAN class='paperDim'>" + paperSizes[document.getElementById('paperSizeForm').paperType.value][i][1] + "</SPAN></P>";
	}
}

function showHideDiv(oA) {
	if (document.getElementById(oA.id + "Div").style.display!='block') {
		document.getElementById(oA.id + "Div").style.display='block';
		oA.className='active';
	} else {
		document.getElementById(oA.id + "Div").style.display='none';
		oA.className='inactive';
	}
}

function paletteSave() {
	var positionSet='';
	positionSet += getX(document.getElementById('main'));
	for(i=0; i<palettes.length; i++) {
		positionSet += '-' + getX(document.getElementById(palettes[i])) + 'x' +  getY(document.getElementById(palettes[i]));
	};
	setCookie('positionSet', positionSet);
}

function paletteRestore() {
	var mainLeft = getX(document.getElementById('main'));
	var mainRight = getX(document.getElementById('main')) + eval(document.getElementById('main').offsetWidth);

	if ( getCookie('positionSet') ) {
		var positionSet=getCookie('positionSet').split('-');
		for (i=0; palettes.length; i++) {
			paletteXY=positionSet[i+1].split('x');
			document.getElementById(palettes[i]).style.left=paletteXY[0] - positionSet[0] + mainLeft;
			document.getElementById(palettes[i]).style.top=paletteXY[1];
		}
	} else {
		// Start positions
		document.getElementById('converter').style.left='8px';
		document.getElementById('converter').style.top='7px';
		document.getElementById('paperSize').style.left='8px';
		document.getElementById('paperSize').style.top=document.getElementById('converter').offsetHeight + 7 + 7 + 'px';
		document.getElementById('userPalette').style.left='8px';
		document.getElementById('userPalette').style.top=eval(getY(document.getElementById('paperSize')) + document.getElementById('paperSize').offsetHeight + 7) + 'px';
		if (document.getElementById('refDetail')) {
			document.getElementById('refDetail').style.left=eval(getX(document.getElementById('main')) + document.getElementById('main').offsetWidth) + 'px';
			document.getElementById('refDetail').style.top='7px';
		};
	};
}

function arrowDraw(maxNumber) {
	if ( eval(document.getElementById('thisPicNumber').innerHTML) - 1 > 0) {
		document.getElementById('prevArrow').className='aArrow';
	} else {
		document.getElementById('prevArrow').className='arrow';
	};
	if ( eval(document.getElementById('thisPicNumber').innerHTML) + 1 <= maxNumber) {
		document.getElementById('nextArrow').className='aArrow';
	} else {
		document.getElementById('nextArrow').className='arrow';
	};
}

function clickArrow(oObject, offset, maxNumber) {
	if (oObject.className=='aArrow') {
		var picNumber=eval(document.getElementById('thisPicNumber').innerHTML) + offset;
		document.getElementById('thisPicNumber').innerHTML=picNumber;
		document.getElementById('refImage').src=document.getElementById('refImage').src.split('-')[0] + '-' + picNumber + '.jpg'
		arrowDraw(maxNumber);
	}
}

function blurArrow(oA) {
		oA.style.backgroundPosition='0px 0px';
}

function refImageLoaded() {
	document.getElementById('descTitle').style.background='none';
}

function reSizer() {
	var wSize;
	if (window.innerHeight) {
		wSize=window.innerHeight-7;
	} else {
		wSize=document.body.offsetHeight;
	};
	document.getElementById('main').style.height=Math.max(wSize, document.body.offsetHeight);
	paletteRestore();
}

function initBody(){
	unitChange();
	paperChange();
	reSizer();
/*	if (navigator.appName != 'Netscape') {
		var oNewDiv = document.createElement("A");
			document.body.appendChild(oNewDiv);
			oNewDiv.id="getFirefox";
			oNewDiv.setAttribute('href', 'http://www.spreadfirefox.com/?q=affiliates&id=0&t=64');
			oNewDiv.innerHTML="<IMG style='position: fixed; display: block; left: 10px; bottom: 10px;' border='0' alt='Get Firefox!' title='Get Firefox!' src='http://sfx-images.mozilla.org/affiliates/Buttons/110x32/get.gif'/>";
	};
*/
}

function changeRefImage(oA) {
	switch (oA.innerHTML) {
		case 'elöző':
			if (activeRefImg != 1) {
				document.getElementById('refA-' + activeRefImg).className='';
				activeRefImg--;
				document.getElementById('refA-' + activeRefImg).className='activeImg';
				document.getElementById('refImage').src="./pics/references/" + refImgName + "-" + activeRefImg + ".jpg";
			};
		break;
		case 'következő':
			if (activeRefImg != maxRefNumber) {
				document.getElementById('refA-' + activeRefImg).className='';
				activeRefImg++;
				document.getElementById('refA-' + activeRefImg).className='activeImg';
				document.getElementById('refImage').src="./pics/references/" + refImgName + "-" + activeRefImg + ".jpg";
			};
		break;
		default:
			document.getElementById('refA-' + activeRefImg).className='';
			activeRefImg=oA.innerHTML;
			document.getElementById('refA-' + activeRefImg).className='activeImg';
			document.getElementById('refImage').src="./pics/references/" + refImgName + "-" + activeRefImg + ".jpg";
		break;
	}
}

function fillRefDetail(refTitle, refClient, refApplication, refPictureName, refDescription, refLink, refTarget, maxNumber) {
	maxRefNumber=maxNumber;
	refImgName=refPictureName;
	document.getElementById('refDetail').style.display='block';
	document.getElementById('refTitle').innerHTML='<SPAN>' + refTitle + '</SPAN>';
	var innerStr = "<DIV id='imgContainer'><IMG id='refImage' src='./pics/references/" + refPictureName + "-1.jpg' /></DIV>";
	
	// Képek közötti navigálás
		innerStr += "<P id='picNav'>";
		innerStr += "<A onClick=\"changeRefImage(this)\">elöző</A>";
		activeRefImg = 1;
		for (i=1; i<=maxNumber; i++) {
			innerStr += "<A id='refA-" + i + "'";
			if (i==1) {
				innerStr += " class='activeImg'";
			};
			innerStr += " onClick=\"changeRefImage(this)\">" + i + "</A>";		
		}	
		innerStr += "<A onClick=\"changeRefImage(this)\">következő</A>";
		innerStr += "</P>";
		
	innerStr += "<P class='refData'>Megrendelő: <B>" + refClient + "</B></P>";
	innerStr += "<P class='refData'>Alkalmazás: <B>" + refApplication + "</B</P>";
	if (refLink) {innerStr += "<P class='refData'><A href='" + refLink + "' target='" + refTarget + "'>" + "Link</A></P>"};
	innerStr += "<P>" + refDescription + "</P>";
	document.getElementById('refBody').innerHTML=innerStr;
}

function showHint(oA, divName, hintStr) {
	document.getElementById(divName).innerHTML = hintStr;
	document.getElementById(divName).style.visibility = 'visible';
	if (getX(document.getElementById('main')) + 147 < getX(oA)) {
		document.getElementById(divName).style.left = getX(oA) + oA.offsetWidth + 22 + 'px';
	} else {
		document.getElementById(divName).style.left = getX(oA) - document.getElementById(divName).offsetWidth - 36 + 'px';	
	};
	document.getElementById(divName).style.top=getY(oA);
}

function hideHint(divName) {
	document.getElementById(divName).style.visibility='hidden';
}

	window.document.onmousemove = getMouseXYPos;

