var openedStructureContainerID = null;
var onBasket = false;

function showInsidePicture(id)
{
      document.getElementById('insidepicture').src = '/picture_w.php?ID='+id;
}

function showProductInsidePicture(id, maxwidth, maxheight)
{
	var strUrl = '/productpicture_w.php?ID='+id;
	if(maxwidth > 0)
	{
	    strUrl += "&maxwidth=" + maxwidth;
	}
	if(maxheight > 0)
	{
	    strUrl += "&maxheight=" + maxheight;
	}
    document.getElementById('product-insidepicture').src = strUrl;
}

function showPicture(content, width, height)
{
	var popup = window.open(content, 'popup', 'location=no,menubar=no,status=no,titlebar=no,toolbar=no,width='+width+',height='+height+'');
	popup.focus();
}
var OS,browser,version,total,thestring;		

function doOnLoad()
{
	resizeWindow();
    iframeBackground();
}

function getNode(id)
{
	if(document.all)
	{
	    var node = document.all[id];
	}
	else if(document.layers)
	{
	    var node = document.layers[id];
	}
	else
	{
	    var node = document.getElementById(id);
	}
	if(node)return node;
}

function getParentwindowNode(id)
{
	if(document.all)
	{
	    var node = parent.document.all[id];
	}
	else if(document.layers)
	{
	    var node = parent.document.layers[id];
	}
	else
	{
	    var node = parent.document.getElementById(id);
	}
	if(node)return node;
}

function emptyNode(node)
{
    if(node)
	{
	    while(node.firstChild)
		{
		    node.removeChild(node.firstChild);
		}
	}
}

function checkIt(string)
    {
	var detect = navigator.userAgent.toLowerCase();
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
    } 	
    function iframeBackground()
    {
	var detect = navigator.userAgent.toLowerCase();
	if (checkIt('konqueror'))
	{
		browser = "Konqueror";
		OS = "Linux";
	}
	else if (checkIt('safari')) browser = "Safari"
	else if (checkIt('omniweb')) browser = "OmniWeb"
	else if (checkIt('opera')) browser = "Opera"
	else if (checkIt('webtv')) browser = "WebTV";
	else if (checkIt('icab')) browser = "iCab"
	else if (checkIt('msie')) browser = "Internet Explorer"
	else if (!checkIt('compatible'))
        {
		browser = "Netscape Navigator"
		version = detect.charAt(8);
        }
	else browser = "An unknown browser";
	if (!version)version = detect.charAt(place + thestring.length);

	if(!((browser == "Netscape Navigator" && version >= 5) || (browser == "Internet Explorer" && parseInt(version) > 5)))
	{
	    frames['iframe'].document.body.style.background = '#051302';
	}
    }

    function getBodySize()
    {
        var myHeight = 0;
        if( typeof( window.innerWidth ) == 'number' )
        {
            //Non-IE
            myHeight = window.innerHeight;
        }
        else if( document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
        {
            //IE 6+ in 'standards compliant mode'
            myHeight = document.documentElement.clientHeight;
        }
        else if(document.body && (document.body.clientWidth || document.body.clientHeight))
        {
            //IE 4 compatible
            myHeight = document.body.clientHeight;
        }
        return myHeight;
    }

    function resizeWindow()
    {

        if(document.getElementById)
        {
            var bigcontainer = document.getElementById('bigcontainer');
            var rightmenu = document.getElementById('rightmenu-container');
            var content = document.getElementById('content-container');
            var bodycontainer = document.getElementById('body-container');
            var iframe = document.getElementById('iframe');
			var rightside = document.getElementById('rightside');
			var leftside = document.getElementById('leftside');
        }
        else if(document.layers)
        {
            var bigcontainer = document.layers['bigcontainer'];
            var rightmenu = document.layers['rightmenu-container'];
            var content = document.layers['content-container'];
            var bodycontainer = document.layers['body-container'];
            var iframe = document.layers['iframe'];
			var rightside = document.layers['rightside'];
			var leftside = document.layers['leftside'];
        }
        else if(document.all)
        {
            var bigcontainer = document.all['bigcontainer'];
            var rightmenu = document.all['rightmenu-container'];
            var content = document.all['content-container'];
            var bodycontainer = document.all['body-container'];
            var iframe = document.all['iframe'];
			var rightside = document.all['rightside'];
			var leftside = document.all['leftside'];
        }
	
	if(document.body.scrollHeight)
	{
	    var rightmenu_height = rightmenu.scrollHeight;
	}
	else if(document.body.offsetHeight)
	{
	    var rightmenu_height = rightmenu.offsetHeight;
	}
    var body_height = getBodySize();
	var footer_height = 35;
	var topcontainer_height = 173;

	var new_bodycontainer_height = rightmenu_height + 70;

	if((body_height - topcontainer_height) > new_bodycontainer_height)new_bodycontainer_height = body_height - topcontainer_height; 

    var rightmenu_height = new_bodycontainer_height - footer_height;
    var content_height = new_bodycontainer_height - footer_height;
    var iframe_height = content_height - 70;
    var bodycontainer_height = new_bodycontainer_height;
	var page_height = new_bodycontainer_height + topcontainer_height; 

    bigcontainer.style.height = body_height+'px';
    bodycontainer.style.height = rightmenu_height+'px';
    rightmenu.style.height = rightmenu_height+'px';
    content.style.height = content_height+'px';
    iframe.style.height = iframe_height+'px';
	leftside.style.height = page_height + 'px';
	rightside.style.height = page_height + 'px';
}

function getNodeContentWidth(node)
{
    if(node)
	{
		if(document.body.scrollWidth)
		{
			var width = node.scrollWidth;
		}
		else if(document.body.offsetWidth)
		{
			var width = node.offsetWidth;
		}
		if(width)return width;
	}
}

function getNodeContentHeight(node)
{
    if(node)
	{
		if(document.body.scrollHeight)
		{
			var height = node.scrollHeight;
		}
		else if(document.body.offsetHeight)
		{
			var height = node.offsetHeight;
		}
		if(height)return height;
	}
}

function getdocumentscrollHeight()
{
  
		if(document.body.scrollHeight)
		{
			var height = document.body.scrollHeight;
		}
		else if(document.body.offsetHeight)
		{
			var height = document.body.offsetHeight;
		}
		if(height)return height;
}

function showProductPicture(picturesrc, width, height)
{
	if (document.documentElement && document.documentElement.scrollTop){
		theTop = document.documentElement.scrollTop;
	}else if (document.body){
		theTop = document.body.scrollTop;
	}
	theTop = parseInt(theTop) + 100;
    // background div
    var nodeBgDiv = document.createElement("div");
    nodeBgDiv.id = 'openedpicturebackground-container';
    document.body.appendChild(nodeBgDiv);
    
    // real div
    var nodeDiv = document.createElement("div");
    nodeDiv.id = 'openedpicture-container';
    nodeDiv.onclick = hideProductPicture;
    nodeDiv.style.paddingTop = theTop + 'px';
    // image
    var nodeImage = document.createElement("img");
    nodeImage.src = picturesrc;
    nodeImage.style.display = 'inline';
    nodeImage.onclick = hideProductPicture;
    nodeDiv.appendChild(nodeImage);
    document.body.appendChild(nodeDiv);
    // set background height
    var height = parseInt(getdocumentscrollHeight()) + theTop ;//getNodeContentHeight(nodeDiv);
    
    nodeBgDiv.style.height = height + 'px';

	// disable selects
	var listSelect = document.getElementsByTagName("SELECT");
	if(listSelect.length > 0)
	{
		for(var i = 0; i < listSelect.length; i++)
		{
			listSelect[i].style.visibility = 'hidden';
		}
	}
}

function hideProductPicture()
{
    var nodeDiv = getNode('openedpicture-container');
    if(nodeDiv)
    {
        nodeDiv.parentNode.removeChild(nodeDiv, true);
    }
    
    var nodeCloseDiv = getNode('close-container');
    if(nodeCloseDiv)
    {
        nodeCloseDiv.parentNode.removeChild(nodeCloseDiv, true);
    }
    
    var nodeBgDiv = getNode('openedpicturebackground-container');
    if(nodeBgDiv)
    {
        nodeBgDiv.parentNode.removeChild(nodeBgDiv, true);
    }

	// enable selects
	var listSelect = document.getElementsByTagName("SELECT");
	if(listSelect.length > 0)
	{
		for(var i = 0; i < listSelect.length; i++)
		{
			listSelect[i].style.visibility = 'visible';
		}
	}
}

function showProductPictureArr()
{
	if (document.documentElement && document.documentElement.scrollTop){
		theTop = document.documentElement.scrollTop;
	}else if (document.body){
		theTop = document.body.scrollTop;
	}
	theTop = parseInt(theTop) + 100;
    // background div
    var nodeBgDiv = document.createElement("div");
    nodeBgDiv.id = 'openedpicturebackground-container';
    document.body.appendChild(nodeBgDiv);
    
    // real div
    var nodeCloseDiv = document.createElement("div");
    nodeCloseDiv.id = 'close-container';
    nodeCloseDiv.onclick = hideProductPicture;
    nodeCloseDiv.style.paddingTop = theTop + 'px';
    
    var nodeCloseImage = document.createElement("img");
	nodeCloseImage.src = "/images/close_window.gif";
    nodeCloseImage.onclick = hideProductPicture;
    nodeCloseDiv.appendChild(nodeCloseImage);
    document.body.appendChild(nodeCloseDiv);
    
    var nodeDiv = document.createElement("div");
    nodeDiv.id = 'openedpicture-container';
    // image
    
    for (i=0; i<ConImages[current_prod].length; i++){
	    var nodeImage = document.createElement("img");
	    if (ConExtImages[current_prod][i] == 1){
	    	nodeImage.src = "/productpicture_w.php?ID="+ ConImages[current_prod][i] +"&maxwidth=900&maxheight=900&external=1";
	    }else{
	    nodeImage.src = "/productpicture_w.php?ID="+ ConImages[current_prod][i] +"&maxwidth=900&maxheight=900";
	    }
	    nodeImage.id = current_prod + 'div' + i;
	    
	    if (ConImages[current_prod].length >1){
	    	nodeImage.onclick = showNextProductPicture;
	    }
	    if (i>0){
	    	nodeImage.style.display = 'none';
	    }else{
	    	nodeImage.style.display = 'inline';
	    }
	    nodeDiv.appendChild(nodeImage);
	    nodeDiv.style.paddingTop = theTop + 'px';
    }
    document.body.appendChild(nodeDiv);
    // set background height
    var height = parseInt(getdocumentscrollHeight()) + theTop;//getNodeContentHeight(nodeDiv);
    
    nodeBgDiv.style.height = height + 'px';

	// disable selects
	var listSelect = document.getElementsByTagName("SELECT");
	if(listSelect.length > 0)
	{
		for(var i = 0; i < listSelect.length; i++)
		{
			listSelect[i].style.visibility = 'hidden';
		}
	}
}

function showNextProductPicture(){
	var nodeImageDiv = getNode(current_prod + 'div' + activ_img);
	nodeImageDiv.style.display = 'none';
	
	activ_img = activ_img + 1;
	var nodeImageDiv = getNode(current_prod + 'div' + activ_img);
	if (nodeImageDiv){
		nodeImageDiv.style.display = 'inline';
	}else{
		activ_img = 0;
		var nodeImageDiv = getNode(current_prod + 'div' + activ_img);
		nodeImageDiv.style.display = 'inline';
	}
}

/*Sajax functions*/

	function add_to_basket(prodID, elemNode){
		var tmp = document.getElementById("prod_qnt_" + prodID);
		arrTosend = new Array();
		if (tmp == null){
			arrTosend[0] = prodID;
			arrTosend[1] = 'additionals';
		}else{
			arrTosend[0] = prodID;
		}
		x_sajax_add_product(arrTosend, update_product);
		var tmp = elemNode.innerHTML;
		elemNode.innerHTML = AddedToBasket;
		elemNode.style.border = "1px inset #f1f1f1";
		setTimeout((function(){restoreNode(tmp, elemNode);}), 1000);
	}

	function restoreNode(tmp, elemNode){
		elemNode.innerHTML = tmp;
		elemNode.style.border = "1px outset #f1f1f1";
	}

	function remove_from_basket(){
		if (arrCheckItem.length){
			var deleted = new Array();
			deleted = arrCheckItem;
			for (var i=0; i<deleted.length; i++) {
				var obj = document.getElementById("prod_qnt_" + deleted[i]);
				deleteCurrentRow(obj);
			}
			x_sajax_remove_product(arrCheckItem, remove_product);
			arrCheckItem = new Array();
		}
	}
	
	function change_amount(prodID){
		var amount_arr = new Array();
		amount_arr[0] = prodID;
		amount_arr[1] = parseInt(document.getElementById("prod_qnt_" + prodID).value);
		if (amount_arr[1]){
			old_qnt[prodID] = amount_arr[1];
			x_sajax_add_product_qnt(amount_arr, product_qnt_change);
		}else
			document.getElementById("prod_qnt_" + prodID).value = old_qnt[prodID];
	}
	
	function empty_basket(warning){
		if (confirm(warning))
			x_sajax_empty_basket(empty_basket_display);
	}
	
	function send_order(){
		var values = new Array();
		for(var i=0; i< document.shopping_basket.bank_id.length; i++){
			if (document.shopping_basket.bank_id[i].checked){
				values[0] = parseInt(document.shopping_basket.bank_id[i].value);
				break;
			}
		}
		for(var i=0; i< document.shopping_basket.f_transport.length; i++){
			if (document.shopping_basket.f_transport[i].checked){
				values[5] = parseInt(document.shopping_basket.f_transport[i].value);
				break;
			}
		}
		if (!values[5]){
			values[5] = 0;
		}
		values[1] = document.shopping_basket.name.value;
		values[2] = document.shopping_basket.phone.value;
		values[3] = document.shopping_basket.email.value;
		values[4] = document.shopping_basket.adress.value;
		x_sajax_send_order(values, order_payment);
	}
	
	function order_payment(params){
		if (params == 'empty'){
			return false;
		}else if(params == 'continue'){
			document.shopping_basket.submit();
		}else{
			if (params[0] == '1')
				document.getElementById("display_bank_error").style.display = "block";
			else
				document.getElementById("display_bank_error").style.display = "none";
			if (params[1] == '1')
				document.getElementById("display_name_error").style.display = "block";
			else
				document.getElementById("display_name_error").style.display = "none";
			if (params[2] == '1')
				document.getElementById("display_phone_error").style.display = "block";
			else
				document.getElementById("display_phone_error").style.display = "none";
			if (params[3] == '1')
				document.getElementById("display_email_error").style.display = "block";
			else
				document.getElementById("display_email_error").style.display = "none";
			if (params[4] == '1')
				document.getElementById("display_adress_error").style.display = "block";
			else
				document.getElementById("display_adress_error").style.display = "none";
			if (params[5] == '1')
				document.getElementById("display_transport_error").style.display = "block";
			else
				document.getElementById("display_transport_error").style.display = "none";
			return false;
		}
	}
	
	function update_product(params){
		var tmp = document.getElementById("qnt_container");
		if (tmp == null){
			var tmp2 = document.getElementById("prod_qnt_" + params[0]);
			if (tmp2 == null){
				if (params[8] == "out"){
					alert(OutOfStock);
					window.location.reload();
				}else{
					var picture_path = SystemPath + '/productpicture_w.php?ID=' + params[5] + '&maxwidth=44';
					Lastline++;
					addRowToTable(Lastline, params[0], picture_path, params[6], params[7], params[2], params[3]);
					
					old_qnt[params[0]] = params[2];
				}
			}else{
				if (params[8] == "out"){
					alert(OutOfStock);
					window.location.reload();
				}else{
					document.getElementById("prod_qnt_" + params[0]).value = params[2];
					document.getElementById("total_price_" + params[0]).innerHTML = params[3] + ' EEK';
				}
			}
			document.getElementById("total_to_pay").innerHTML = params[4] + ' EEK';
			var eur_price = Math.round(params[4]/EuroCourse*100)/100;
			document.getElementById("total_to_pay_eur").innerHTML = eur_price + ' EEK';
			if (params[9] == "free"){
				document.getElementById("post_fee").style.display = "none";
				document.getElementById("els_fee").style.display = "none";
				document.getElementById("transport_free").style.display = "block";
			}else{
				document.getElementById("post_fee").style.display = "inline";
				document.getElementById("els_fee").style.display = "inline";
				document.getElementById("transport_free").style.display = "none";
			}
		}else{
			if (params[8] == "out"){
				alert(OutOfStock);
				window.location.reload();
			}else{
				tmp.innerHTML = params[1];
			}
		}
	}
	
	function product_qnt_change(params){
		if (document.getElementById("prod_qnt_" + params[0])){
			document.getElementById("prod_qnt_" + params[0]).value = params[2];
			document.getElementById("total_price_" + params[0]).innerHTML = params[3] + ' EEK';
			document.getElementById("total_to_pay").innerHTML = params[4] + ' EEK';
			var eur_price = Math.round(params[4]/EuroCourse*100)/100;
			document.getElementById("total_to_pay_eur").innerHTML = eur_price + ' EEK';
		}
		if (old_qnt[params[0]] != parseInt(params[2])){
			old_qnt[params[0]] = parseInt(params[2]);
		}
		if (params[9] == "free"){
			document.getElementById("post_fee").style.display = "none";
			document.getElementById("els_fee").style.display = "none";
			document.getElementById("transport_free").style.display = "block";
		}else{
			document.getElementById("post_fee").style.display = "inline";
			document.getElementById("els_fee").style.display = "inline";
			document.getElementById("transport_free").style.display = "none";
		}
	}
	
	function fnCheckItem(ID) {
	  var elementname = "prod_check_" + ID;
	  var objCheckbox = document.getElementById(elementname);

	  if(arrCheckItem == null)arrCheckItem = new Array;

	  if (objCheckbox && objCheckbox.checked) {
	    arrCheckItem.push(ID);

	  } else if (objCheckbox && !objCheckbox.checked) {
	    for(cnt = 0; cnt < arrCheckItem.length; cnt++) {
	      if (arrCheckItem[cnt] == ID) {
	        arrCheckItem.splice(cnt, 1);
	        break;
	      }
	    }
	  }
	}
	
	function remove_product(params){
		if (document.getElementById("total_to_pay")){
			document.getElementById("total_to_pay").innerHTML = params[4] + ' EEK';
			var eur_price = Math.round(params[4]/EuroCourse*100)/100;
			document.getElementById("total_to_pay_eur").innerHTML = eur_price + ' EUR';
		}
		if (params[9] == "free"){
			document.getElementById("post_fee").style.display = "none";
			document.getElementById("els_fee").style.display = "none";
			document.getElementById("transport_free").style.display = "block";
		}else{
			document.getElementById("post_fee").style.display = "inline";
			document.getElementById("els_fee").style.display = "inline";
			document.getElementById("transport_free").style.display = "none";
		}
	}
	
	function add_delivery(val){
		x_sajax_add_delivery(val, change_price);
	}
	
	function change_price(params){
		if (document.getElementById("total_to_pay")){
			document.getElementById("total_to_pay").innerHTML = params[4] + ' EEK';
			var eur_price = Math.round(params[4]/EuroCourse*100)/100;
			document.getElementById("total_to_pay_eur").innerHTML = eur_price + ' EUR';
		}
	}
	
	function deleteCurrentRow(obj){
		var delRow = obj.parentNode.parentNode;
		var tbl = delRow.parentNode.parentNode;
		var rIndex = delRow.sectionRowIndex;
		var rowArray = new Array(delRow);
		deleteRows(rowArray);
		Lastline--;
		//reorderRows(tbl, rIndex);
	}
	
	function deleteRows(rowObjArray){
		for (var i=0; i<rowObjArray.length; i++) {
			var rIndex = rowObjArray[i].sectionRowIndex;
			rowObjArray[i].parentNode.deleteRow(rIndex);
		}
	}
	
	function reorderRows(tbl, startingIndex){
		if (tbl.tBodies[0].rows[startingIndex]) {
			var count = startingIndex + ROW_BASE;
			for (var i=startingIndex; i<tbl.tBodies[0].rows.length; i++) {
				//alert(tbl.tBodies[0].rows[i].id);
			}
		}
	}
	
	function addRowToTable(num, product, picture, desc1, desc2, qnt, price){
		var tbl = document.getElementById(TABLE_NAME);
		var nextRow = tbl.tBodies[0].rows.length;
		var iteration = nextRow + ROW_BASE;
		if (num == null) { 
			num = nextRow;
		} else {
			iteration = num + ROW_BASE;
		}
		
		// add the row
		var row = tbl.tBodies[0].insertRow(num);
		
		row.className = 'products_list';
		row.id = 'product_row_' + product;
	
		// CONFIG: This whole section can be configured
		
		// cell 0 - picture
		var cell0 = row.insertCell(0);
		cell0.className = 'prod_left';
		cell0.setAttribute('width', '20%');
		var imgNode = document.createElement("img");
		imgNode.src = picture;
		imgNode.setAttribute('border', '0');
		cell0.appendChild(imgNode);
		
		// cell 1 - description
		var cell1 = row.insertCell(1);
		var labelblue = document.createElement('label');
		var br = document.createElement('br');
		var label = document.createElement('label');
		labelblue.className = 'blue_simple';
		labelblue.innerHTML = desc1;
		label.innerHTML = desc2;
		cell1.appendChild(labelblue);
		cell1.appendChild(br);
		cell1.appendChild(label);
		
		// cell 2 - input text
		var cell2 = row.insertCell(2);
		cell2.className = 'cart_product_qnt';
		cell2.setAttribute('align', 'center');
		cell2.setAttribute('width', '15%');
		var inpTxt = document.createElement('input');
		inpTxt.setAttribute('type', 'text');
		inpTxt.setAttribute('value', qnt);
		inpTxt.setAttribute('name', 'qnt[' + product + ']');
		inpTxt.setAttribute('id', 'prod_qnt_' + product);
		inpTxt.className = 'input_product_qnt';
		inpTxt.onchange = function () {change_amount(product)};
		cell2.appendChild(inpTxt);
		
		// cell 3 - span
		var cell3 = row.insertCell(3);
		cell3.setAttribute('align', 'center');
		cell3.setAttribute('width', '20%');
		cell3.className = 'cart_product_price';
		var Span = document.createElement('span');
		Span.id = 'total_price_' + product;
		Span.innerHTML = price;
		cell3.appendChild(Span);
		
		// cell 4 - input checkbox
		var cell4 = row.insertCell(4);
		cell4.setAttribute('align', 'center');
		cell4.setAttribute('width', '15%');
		cell4.className = 'prod_right';
		var cbEl = document.createElement('input');
		cbEl.setAttribute('type', 'checkbox');
		cbEl.setAttribute('name', 'prod_check[]');
		cbEl.setAttribute('id', 'prod_check_' + product);
		cbEl.setAttribute('value', product);
		cbEl.onclick = function () {fnCheckItem(product);remove_from_basket()};
		cell4.appendChild(cbEl);
		
		
	}
/*End of Sajax functions*/
