/**
 * COMMON DHTML FUNCTIONS
 * These are handy functions I use all the time.
 *
 * By Seth Banks (webmaster at subimage dot com)
 * http://www.subimage.com/
 *
 * Up to date code can be found at http://www.subimage.com/dhtml/
 *
 * This code is free for you to use anywhere, just keep this comment block.
 */

/**
 * X-browser event handler attachment and detachment
 * TH: Switched first true to false per http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
 *
 * @argument obj - the object to attach event to
 * @argument evType - name of the event - DONT ADD "on", pass only "mouseover", etc
 * @argument fn - function to call
 */
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}
function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

/**
 * Code below taken from - http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/
 *
 * Modified 4/22/04 to work with Opera/Moz (by webmaster at subimage dot com)
 *
 * Gets the full width/height because it's different for most browsers.
 */
function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight;

	return window.undefined;
}
function getViewportWidth() {
	var offset = 17;
	var width = null;
	if (window.innerWidth!=window.undefined) return window.innerWidth;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth;
	if (document.body) return document.body.clientWidth;
}

/**
 * Gets the real scroll top
 */
function getScrollTop() {
	if (self.pageYOffset) // all except Explorer
	{
		return self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		return document.body.scrollTop;
	}
}
function getScrollLeft() {
	if (self.pageXOffset) // all except Explorer
	{
		return self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollLeft)
		// Explorer 6 Strict
	{
		return document.documentElement.scrollLeft;
	}
	else if (document.body) // all other Explorers
	{
		return document.body.scrollLeft;
	}
}



function priceValidate(min,max) {
	var x=document.filter_price;

	for(i=0; i<document.filter_price.elements.length; i++)
	{
		if( document.filter_price.elements[i].type == "text" || document.filter_price.elements[i].type == "password" || document.filter_price.elements[i].type == "textarea" )
		{ document.filter_price.elements[i].value  = trim(document.filter_price.elements[i].value); }
	}

	if(x.min.value != "")
	{
		var tel1 = x.min.value;
		ret = numCheck(tel1,'Invalid From Price Value.');
		if(ret == 1)
		{x.min.focus();return false;}

		if(parseInt(x.min.value) < parseInt(min)){
			//alert("The From price cannot be less then "+min);
			//x.min.focus();
			//return false;
			x.min.value = min;
		}

		if(parseInt(x.min.value) > parseInt(max)){
			//alert("The From price cannot be greater then "+max);
			//x.min.focus();
			//return false;
			x.min.value = min;
		}

	}


	if(x.max.value != "")
	{
		var tel1 = x.max.value;
		ret = numCheck(tel1,'Invalid To Price value');
		if(ret == 1)
		{x.max.focus();return false;}

		if(parseInt(x.max.value) > parseInt(max)){
			//alert("The To price cannot be greater then "+max);
			//x.max.focus();
			//return false;
			x.max.value = max;
		}

		if(parseInt(x.max.value) < parseInt(min)){
			//alert("The To price cannot be less then "+min);
			//x.max.focus();
			//return false;
			x.max.value = max;
		}

	}
	x.submit();
}

function trim(s)
{
  return s.replace(/^\s*|\s*$/g,"");
}


function numCheck(tel,msg,focus)
{
	for (var i = 0; i < tel.length; i++)
	{
		var ch = tel.substring(i, i+1);
		if(ch < '0' || ch > '9' )
		{

				alert(msg);
				return 1;
		}
	}
}//end of numCheck function

function getNextProductsAjax(page, cat, limit, bgclass)
{
	pageTracker._trackPageview("/product.php?cat="+cat+"&page="+page); // for google analytic
//	alert(SITE_URL+"product.php?cat="+cat+"&page="+page);

	document.getElementById("popupmaskloading").className=bgclass;
	var sort = document.getElementById("id_sort_select").value;
	var url = "product.php";
	if(limit==""){
		var params = "page="+page+"&cat="+cat+"&sort="+sort+"&GetIt=Ajax";
	}else{
		var params = "page="+page+"&cat="+cat+"&sort="+sort+"&limit="+limit+"&GetIt=Ajax";
	}
	AjaxAgent.call(url,"","getNextProductsAjaxResponse",params);
}

function getNextProductsAjaxResponse(output)
{
	//alert(output);
	document.getElementById('products_center_id').innerHTML=output;
}

function getNextResultAjax(page, cat, limit, bgclass, is_sort)
{
		pageTracker._trackPageview(SITE_URL+"result.php?cat="+cat+"&page="+page); // for google analytic
		//alert(SITE_URL+"result.php?cat="+cat+"&page="+page);

		document.getElementById("popupmaskloading").className=bgclass;
		var sort = document.getElementById("id_sort_select").value;
		var url = "result.php";
		if(arguments[4]=="yes"){
			var params = "page="+page+"&cat="+cat+"&sort="+sort+"&sortchange=yes&previous_value="+document.sortform.value+"&GetIt=Ajax";
		}else{
			if(limit==""){
				var params = "page="+page+"&cat="+cat+"&sort="+sort+"&GetIt=Ajax";
			}else{
				var params = "page="+page+"&cat="+cat+"&sort="+sort+"&limit="+limit+"&GetIt=Ajax";
			}
		}
		//alert(url+" = "+params);
		AjaxAgent.call(url,"","getNextResultAjaxResponse",params);
}

function getNextResultAjaxResponse(output)
{
	//alert(output);
	document.getElementById('products_center_id').innerHTML=output;
}

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

function getArtDetailFilter(cat)
{
	var url = "process.php";
	var params = "mode=getArtDetailFilter&cat="+cat;
	AjaxAgent.call(url,"","getArtDetailFilterResponse",params);
}

function getArtDetailFilterResponse(output)
{
	document.getElementById('art_detail').innerHTML=output;
	//getLoadPriceFilterAjax();
}

function getLoadPriceFilterAjax()
{
	var url = "process.php";
	var params = "mode=getLoadPriceFilterAjax";
	AjaxAgent.call(url,"","getLoadPriceFilterAjaxResponse",params);
}


function getLoadPriceFilterAjaxResponse(output)
{
	document.getElementById('price_filter').innerHTML=output;
	getLoadOtherCategoryFilterAjax();
}


function getLoadOtherCategoryFilterAjax()
{
	var url = "process.php";
	var params = "mode=getLoadOtherCategoryFilterAjax";
	AjaxAgent.call(url,"","getLoadOtherCategoryFilterAjaxResponse",params);
}


function getLoadOtherCategoryFilterAjaxResponse(output)
{
	document.getElementById('other_category_filter').innerHTML=output;
	getLoadOurPartnerFilterAjax();
}


function getLoadOurPartnerFilterAjax()
{
	var url = "process.php";
	var params = "mode=getLoadOurPartnerFilterAjax";
	AjaxAgent.call(url,"","getLoadOurPartnerFilterAjaxResponse",params);
}


function getLoadOurPartnerFilterAjaxResponse(output)
{
	document.getElementById('our_partenrs').innerHTML=output;
}

function getSearchCategoryFilter()
{
	var url = "process.php";
	var params = "mode=getSearchCategoryFilter";
	AjaxAgent.call(url,"","getSearchCategoryFilterResponse",params);
}

function getSearchCategoryFilterResponse(output)
{
	document.getElementById('search_category_filter').innerHTML=output;
}

//
function getLoadPriceFilterAjaxResult()
{
	var url = "process.php";
	var params = "mode=getLoadPriceFilterAjaxResult";
	AjaxAgent.call(url,"","getLoadPriceFilterAjaxResultResponse",params);
}


function getLoadPriceFilterAjaxResultResponse(output)
{
	document.getElementById('price_filter').innerHTML=output;
	getLoadOtherCategoryFilterAjaxResult();
}


function getLoadOtherCategoryFilterAjaxResult()
{
	var url = "process.php";
	var params = "mode=getLoadOtherCategoryFilterAjaxResult";
	AjaxAgent.call(url,"","getLoadOtherCategoryFilterAjaxResultResponse",params);
}


function getLoadOtherCategoryFilterAjaxResultResponse(output)
{
	document.getElementById('other_category_filter').innerHTML=output;
	getLoadOurPartnerFilterAjaxResult();
}


function getLoadOurPartnerFilterAjaxResult()
{
	var url = "process.php";
	var params = "mode=getLoadOurPartnerFilterAjaxResult";
	AjaxAgent.call(url,"","getLoadOurPartnerFilterAjaxResultResponse",params);
}


function getLoadOurPartnerFilterAjaxResultResponse(output)
{
	document.getElementById('our_partenrs').innerHTML=output;
}

/* Open product_url.php in different position */
//function oeffnefenster (url) 
//{
//    fenster = window.open(url, "fenster1", "status=yes,scrollbars=yes,resizable=yes,left=210,top=200");
//    fenster.focus();
//}

function oeffnefenster (url)
{
 fenster = window.open(url, "fenster1", "status=yes,scrollbars=yes,resizable=yes,left=210");
 fenster.focus();
}