//menu start

var delay = 500;
var menuItems = new Array();
var dropItems = new Array();

function getOffset(what, offsettype) {
    
    var totaloffset = (offsettype == 'left') ? what.offsetLeft : what.offsetTop;
    var parentEl = what.offsetParent;
    while(parentEl != null) {
        totaloffset = (offsettype == 'left') ? totaloffset + parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl = parentEl.offsetParent;
    }
    return totaloffset;    
}

function displaySubMenu(id) {
    if(dropItems[id]) {
      dropItems[id].style.visibility = 'visible';
      if(menuItems[id].className != 'active') menuItems[id].className = 'hover';
    }
}

function hideSubMenu(id) {
    if(dropItems[id]) {
      dropItems[id].style.visibility = 'hidden';
      if(menuItems[id].className == 'hover') menuItems[id].className = '';
    }

}

function clearAllTimers() {
    for(var i = 0; i < menuItems.length; i++) {
        if(menuItems[i].timed) {
            clearTimeout(menuItems[i].timed);
            hideSubMenu(i);
        }
        if(dropItems[i] && dropItems[i].timed) {
            clearTimeout(dropItems[i].timed);
            hideSubMenu(i);
        }
    }
}

function startMenu(menu) {
    menuItems = document.getElementById(menu).getElementsByTagName("a");
    for(var i = 0; i < menuItems.length; i++) {
        menuItems[i].id = i;
        menuItems[i].onmouseover = function() { clearAllTimers(); displaySubMenu(this.id); };
        menuItems[i].onmouseout = function() { this.timed = setTimeout('hideSubMenu(' + this.id + ')', delay); };
        if(menuItems[i].getAttribute("rel")) {
            dropItems[i] = document.getElementById(menuItems[i].getAttribute("rel"));
            if(dropItems[i]) {
                dropItems[i].id = i;
                dropItems[i].onmouseover = function() { clearAllTimers(); displaySubMenu(this.id); };
                dropItems[i].onmouseout = function() { this.timed = setTimeout('hideSubMenu(' + this.id + ')', delay); };
                dropItems[i].style.left = getOffset(menuItems[i], "left") + 'px';
                dropItems[i].style.top = getOffset(menuItems[i], "top") + menuItems[i].offsetHeight + 'px';
                dropItems[i].style.visibility = 'hidden';
                if(dropItems[i].offsetWidth <= menuItems[i].offsetWidth) dropItems[i].style.width = menuItems[i].offsetWidth + 'px';
            }
        }
    }
}

function rePositionMenu(menu) {
    menuItems = document.getElementById(menu).getElementsByTagName("a");
    for(var i = 0; i < menuItems.length; i++) {
        if(menuItems[i].getAttribute("rel")) {           
            dropItems[i] = document.getElementById(menuItems[i].getAttribute("id"));
            if(dropItems[i]) {
                dropItems[i].style.left = getOffset(menuItems[i], "left") + 'px';
                dropItems[i].style.top = getOffset(menuItems[i], "top") + menuItems[i].offsetHeight + 'px';
            }
        }
    }
}

/* ------------------------------------------ */

	
function divpopup_del(url,formular,id){
	url+=appendProductURL(formular);
	writeContent(url,'divbasketpopup');
	window.setTimeout(function () {writeContent('?ViewAction=ViewBasketBox','id-basket');},1000);
	dojo.byId(id).innerHTML='\<div style="text-align:center;height:28px"\>\<img src="\/WebRoot\/StoreTypes\/6.11.1\/SW\/SF\/img\/del.gif" alt="" \/>\<\/div\>';
}

function writeContent(Url, TargetId) {
  dojo.xhrGet ({
    url: Url,       
    load: function (data) { dojo.byId(TargetId).innerHTML = data; },
    handleAs: "text",
    preventCache: true,
    timeout: 10000,
    error: function (data) { console.error('Error: ', data); }
  });  
}  
  
var st1;
function prepData(form){
	var data = {};
	var formObj = dojo.formToObject(form);
	
	var productParams = new Array('ChangeObjectID','ProductID');
	
	for(var i=0;i<productParams.length;i++){
		data[productParams[i]] = eval("formObj."+productParams[i]);
	}

	var quantity = parseInt(formObj.Quantity);
	
	if (!quantity && !dojo.byId('LimitOrder'+formObj.ProductID).value)
		quantity = 1;
	else if (!quantity && dojo.byId('LimitOrder'+formObj.ProductID).value)
		quantity = 0;
	
	data['Quantity'] = quantity;
	
	if (eval("formObj.LimitOrder"+formObj.ProductID.value)) {
		data['LimitOrder'] = eval("formObj.LimitOrder"+formular.ProductID.value+".value");
	}
	
	if (formObj.WishedPrice) {
		data['WishedPrice'] = formObj.WishedPrice.value;
	}
	
	if (formObj.ValidUntil) {
		data['ValidUntil'] = formObj.ValidUntil.value;
	}
	
	return data;
}

function appendProductURL(formular){
  var urlstr = "";
  var productParams = new Array('ChangeObjectID','ProductID','Quantity');
  for(var i=0;i<productParams.length;i++){
    urlstr += "&"+productParams[i]+"="+eval("formular."+productParams[i]+".value");  
  }
  if(eval("formular.LimitOrder"+formular.ProductID.value)) {
    urlstr+='&LimitOrder'+formular.ProductID.value+'='+eval("formular.LimitOrder"+formular.ProductID.value+".value");
  }
  return urlstr;
}

function divpopup(url,form){
	var formObj = dojo.byId(form);
  if(formObj.ProductID.value) {
		if(eval("formObj.LimitOrder"+formObj.ProductID.value) != null) {
			url+='&LimitOrder'+formObj.ProductID.value+'='+eval("formObj.LimitOrder"+formObj.ProductID.value+".value");
		}
		if (formObj.WishedPrice) {
			url+= '&WishedPrice=' + formObj.WishedPrice.value;
		}
		if (formObj.ValidUntil) {
			url+= '&ValidUntil=' + formObj.ValidUntil.value;
		}
  }
	var rurl = WebServerScriptUrlSSL+url;	
	//dojo.byId('divbasketpopup_container').style.display = 'block';
	dojo.byId('divbasketpopup_container').style.display = 'block';
	dojo.byId("divbasketpopup").innerHTML = '<div><img id="loader" src="/WebRoot/StoreTypes/6.11.1/SW/SF/img/loader.gif" alt="" /></div>';
	
	dojo.xhrPost({
		url: rurl,
		method: "post",
		content: prepData(form),
		preventCache: true,
		load: function (data) {
                dojo.byId("divbasketpopup").innerHTML = data;
             },
		error: function (data) {
			dojo.byId('divbasketpopup').innerHTML = "<p>An error has occurred! Please try again later.</p>";		
		},
		mimetype:'text/html'
	});	

	window.clearTimeout(st1);
	st1 = undefined;
	st1=window.setTimeout(function () {closedivpopup();},5000);
}

function writeToBasket(url){
	var rurl = WebServerScriptUrlSSL+url;	
	
	dojo.xhrPost({
		url: rurl,
		method: "post",
		preventCache: true,
		load: function (data) {
                dojo.byId("basket").innerHTML = data;
             },
		mimetype:'text/html'
	});	
}


function closedivpopup(){
	dojo.byId('divbasketpopup_container').style.display = 'none';
}

function resetdivpopup() {
	dojo.byId('divbasketpopup').innerHTML = '<div><img id="loader" src="/WebRoot/StoreTypes/6.11.1/SW/SF/img/loader.gif" alt="" /></div>';
}

function Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	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 Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
	else
	{
	   return cookie_value;
  }
}

jQuery(document).ready(function($) {
	var hoverConfig = {	
		over: showMenu,
		timeout: 100,
		out: hideMenu
	};

	$("#nav li").each(
		function(ev, li) {	
			$(li).hoverIntent(hoverConfig);              				
		}
	);
	
	function showMenu(ev) {
  	li = ev.currentTarget;                  
    if(li.childNodes.length > 2) {
    	offset = $(document).width();  
    	liOffset = $(li).offset();
    	w = $(li).children('ul').width(); 	
			liOffset =  w + liOffset.left;
			if(liOffset > offset) {
				pos = offset - liOffset;
				$(li).children('ul').css('left', pos); 	
			}
    	$(li).children('ul').css('width', w); 
    	$(li).children('a').addClass('hover');
    	$(li).children('ul').fadeIn(150);
    }
  }
  function hideMenu(ev) {
  	li = ev.currentTarget;
    if(li.childNodes.length > 2) {
  		$(li).children('a').removeClass('hover');   
  	  $(li).children('ul').fadeOut(150);
    }
  } 
	
	
});

