var bcDetect = navigator.userAgent.toLowerCase();
var _OS,_BROWSER;

var mediaDataButtonIn = false;
var mediaDataButtonOut = false;
var mediaDataButton2Out = false;

var mediaDataDiv = false;
var mediaDataLoadMask = false;

var W3CDOM = (document.createElement && document.getElementsByTagName);

if (bcCheckIt('konqueror')) { 
	_BROWSER = "KONQUEROR"; _OS = "LINUX"; 
} else 
if (bcCheckIt('safari')) { 
	_BROWSER = "SAFARI"; 
} else 
if (bcCheckIt('omniweb')) { 
	_BROWSER = "OMNIWEB"; 
} else 
if (bcCheckIt('opera')) { 
	_BROWSER = "OPERA"; 
} else 
if (bcCheckIt('webtv')) { 
	_BROWSER = "WEBTV";
} else 
if (bcCheckIt('icab')) { 
	_BROWSER = "ICAB";
} else 
if (bcCheckIt('msie')) { 
	_BROWSER = "INTERNET_EXPLORER"; 
} else 
if (bcCheckIt('firefox')) { 
	_BROWSER = "FIREFOX"; 
} else 
if (!bcCheckIt('compatible')) { 
	_BROWSER = "NETSCAPE"; 
} else { 
	_BROWSER = "UNKNOWN";
}

if (!_OS) {
	if (bcCheckIt('linux')) {
		_OS = "LINUX";
	} else 
	if (bcCheckIt('x11')) {
		_OS = "UNIX";
	} else 
	if (bcCheckIt('mac')) {
		_OS = "MAC"
	} else
	if (bcCheckIt('win')) {
		_OS = "WINDOWS"
	} else {
		_OS = "UNKNOWN";
	} 
}

function bcCheckIt(string) {
	var place = bcDetect.indexOf(string) + 1;
	return place;
}

function ajaxRequest(onSuccess, onFailure, method, params, args) {
	Ext.Ajax.request({
	    url: ROOT + 'shop/ajax.php',
	    params: params,
	    timeout: 10000,
	    method: method,
	    success: onSuccess,
		failure: onFailure,
		argument: args
	});
}

function iframeResize(elId) {
	iframe = document.getElementById(elId);
	doc = iframe.contentWindow.document.body;
	if (doc.scrollHeight > iframe.height) {
		iframe.height = doc.scrollHeight;
	}
}

function setImage(id, url) {
	var image = document.getElementById(id);
	var imageLink = document.getElementById(id + 'Link');
	if (image && image.src) {
		image.src = url;
	}
	if (imageLink && imageLink.href) {
		imageLink.href = url;
	}
}

function delShippingData(button) {
	el = document.getElementById("reloadPage");
	el.value = 1;

	el = document.getElementById("idDeleteShippingData");
	el.value = 1;

	button.form.submit();		
}

function fillShippingData(select) {
	showDeleteOption = false;
	values = select.value.split("&");
	
	for (var i = 0; i < values.length; ++i) {
			field = values[i].split("=");
			fieldname = field[0];
			fieldvalue = unescape(field[1]);
			
			if (fieldname == "shipToId") {
				if (fieldvalue != "") {
					showDeleteOption = true;
				}
			}
		element = document.getElementsByName(fieldname)[0];
		if (element) {
			if (element.options) {
				if (fieldvalue != "") {
					for (var k = 0; k < element.options.length; k++) {
						if (element.options[k].value == fieldvalue) {
							element.selectedIndex = k;
							break;
						}
					}
				} else {
					element.selectedIndex = 0;
				}
			} else {
				element.value = fieldvalue;
			}
		}
	}
	
	el = document.getElementById("deleteShippingData");
	if (showDeleteOption) {
		el.style.visibility = "visible";
		el.style.display = "block";
	} else {
		el.style.visibility = "hidden";
		el.style.display = "none";
	}
}

function addInputField() {
	var count = document.getElementById('addCount').value;
	if (count < 1) {
		count = 1;
	} else 
	if (count > 25) {
		count = 25;
	}

	for (var i = 1; i <= count; ++i) {
		fields = document.getElementById('inputFields').cloneNode(true);
		document.getElementById('inputTable').lastChild.appendChild(fields);
		
		var inputArray = fields.getElementsByTagName('input');
		for (var e = 0; e <= inputArray.length-1; ++e) {
			if (inputArray[e].type != 'hidden') {
				if (inputArray[e].name == 'amount[]') {
					inputArray[e].value = '1';
				} else {
					inputArray[e].value = '';
				}
			}
		}
	}
}

function onMediaDataSuccess(o) {
	mediaDataDiv.innerHTML = o.responseText;
	mediaDataButtonIn.style.display = 'none';
	mediaDataButtonOut.style.display = 'block';
	mediaDataButton2Out.style.display = 'block';
	mediaDataDiv.style.display = 'block';	
	mediaDataLoadMask.hide();
}

function onMediaDataFailure(o) {
	mediaDataLoadMask.hide();
}

function hideMediaData(productNo){
	mediaDataDiv = document.getElementById('mediaData_' + productNo);
	mediaDataButtonIn = document.getElementById('mediaButtonIn_' + productNo);
	mediaDataButtonOut = document.getElementById('mediaButtonOut_' + productNo);
	mediaDataButton2Out = document.getElementById('mediaButton2Out_' + productNo);
	
	mediaDataButtonOut.style.display = 'none';
	mediaDataButton2Out.style.display = 'none';
	mediaDataButtonIn.style.display = 'block';
	mediaDataDiv.style.display = 'none';
}

function showMediaData(fileName, productNo, configNo, refIdentifier) {
	mediaDataDiv = document.getElementById('mediaData_' + productNo);
	mediaDataButtonIn = document.getElementById('mediaButtonIn_' + productNo);
	mediaDataButtonOut = document.getElementById('mediaButtonOut_' + productNo);
	mediaDataButton2Out = document.getElementById('mediaButton2Out_' + productNo);

	if (mediaDataDiv.innerHTML == '') {
		mediaDataLoadMask = new Ext.LoadMask(Ext.getBody(), { msg: "loading ..."} );
		mediaDataLoadMask.show();
		
		ajaxRequest(onMediaDataSuccess, onMediaDataFailure, 'POST', 
			'method=loadMediaData&fileName=' + fileName 
			+ '&productNo=' + productNo 
			+ '&configNo=' + configNo
			+ '&refIdentifier=' + refIdentifier
		);
	} else {
		mediaDataButtonIn.style.display = 'none';
		mediaDataButtonOut.style.display = 'block';
		mediaDataButton2Out.style.display = 'block';
		mediaDataDiv.style.display = 'block';	
	}
}

function clearField(field, defaultValue) {
	if (field) {
		if (defaultValue) {
			if (field.value == defaultValue) {
				field.value = '';
			}
		} else {
			field.value = '';
		}
	}
}

function openWin(url, width, height, id) {
	popupWin = window.open(url, id, 
		'menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=no,width=' + 
		width + ',height=' + height + ',left=50,top=50')
}

function initFileUploads($imagePath) {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakeFile';
	
	var fakeFileInput = document.createElement('input');
	fakeFileInput.className = 'yalone';
	
	fakeFileUpload.appendChild(fakeFileInput);
	var image = document.createElement('img');
	image.src = $imagePath;
	image.style.paddingLeft = 5;
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].parentNode.className != 'fileInputs') continue;
		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
		}
	}
}			
