var b=window;
var e=null;
var debug = (b.skupe_debug!=e && b.skupe_debug==true);
var qsParm = new Array();
DisplayAds();

function GetSkupeUrl()
{
	var formParams = "";
	var i=0;
	for(i=0;i<document.searchForm.elements.length;i++)
	{
		if(document.searchForm.elements[i].name!="" && document.searchForm.elements[i].value!="")
		{
			formParams += "&";
			formParams += document.searchForm.elements[i].name;
			formParams += "=";
			formParams += escape(document.searchForm.elements[i].value);
		}
	}
	return "skupeURL=" + escape("http://ads.skupe.net/category.do?v=12" + formParams);
}

function OverrideFormSubmit()
{
	var skupe_callback_value="";

	if (b.skupe_callback!=null) skupe_callback_value=skupe_callback();
	
	var formParams=GetSkupeUrl();
	var d=document.location;

	var search = "?";
	if (skupe_callback_value!="")
	{
		if(skupe_callback_value.indexOf("&")==0) skupe_callback_value = skupe_callback_value.substring(1,skupe_callback_value.length);
		search+=skupe_callback_value;
		search += '&'+formParams;
	}
	else
	{
		search += formParams;	
	}	
	
	search=search.replace(/skupeURL(.)+skupeURL/,'skupeURL');
	
	var refreshURL=d.protocol + '//' + d.host + d.pathname +d.hash + search;
	if(b.skupe_search_url!=e && b.skupe_search_url!="" && b.skupe_search_url!=undefined) refreshURL = b.skupe_search_url + search;
	
	if(window!=top)
	{
		top.location.href=refreshURL;
	}
	else
	{
		window.location.href=refreshURL;
	}

	return false;
}

function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');

for (var i=0; i<parms.length; i++) {
	 var pos = parms[i].indexOf('=');
	 if (pos > 0) {
		var key = parms[i].substring(0,pos);
		var val = parms[i].substring(pos+1);
		qsParm[key] = val;
		}
	 }
}

function DisplayAds()
{
	var skupeUrl = BuildSkupeUrl();

	if(skupeUrl!="")
	{
		document.write('<script type="text\/javascript" src=');
    	document.write("http://ads.skupe.net/servlet/WhiteLabelContent?URL=" + escape(skupeUrl));
    	document.write('><\/script>');
    }
}

function BuildSkupeUrl()
{
	var skupeUrl = "";
	var pubFields = BuildPublisherDefinedFields();
	
	if(pubFields=="") return "";
	if(document.location.search.indexOf("skupeURL")!=-1)
	{
		qs();
		skupeUrl = unescape(qsParm['skupeURL']);
		skupeUrl += pubFields;
	}
	else
	{
		skupeUrl = "http://ads.skupe.net/category.do?v=12&method=whiteLabelSearch";
		skupeUrl += pubFields;
		skupeUrl += BuildCategoryFields(b.skupe_category);
	}

	if(b.skupe_defaults!=e && b.skupe_defaults!=undefined)
	{
		var skupeParams = SplitParams(skupeUrl);
		var defaultParams = SplitParams(b.skupe_defaults);
		for (key in defaultParams)
		{
			if(skupeParams[key]==null || skupeParams[key]=="") skupeUrl += "&" + key + "=" + defaultParams[key];
		}
	}

	return skupeUrl;
}

function SplitParams(pInput)
{
	var arrParms = new Array();

	if(pInput!=null && pInput!="")
	{
		var query = pInput;
		if(query.indexOf("?")>=0) query = query.substring(query.indexOf("?")+1);
		var parms = query.split('&');

		for (var i=0; i<parms.length; i++)
		{
			 var pos = parms[i].indexOf('=');
			 if(pos>0)
			 {
				var key = parms[i].substring(0,pos);
				var val = parms[i].substring(pos+1);
				arrParms[key] = val;
			 }
		}
	}

	return arrParms;
}

function BuildPublisherDefinedFields()
{
	var skupeUrl = "";
	
	if(b.skupe_client_id==e)
	{
		if(debug) alert("skupe_client_id cannot be null");
		return "";
	}
	else skupeUrl += "&WLS=" + b.skupe_client_id;
	
	if(b.skupe_category==e)
	{
		if(debug) alert("skupe_category cannot be null");
		return "";
	}
	else
	{
		var catString = SetCategoryParams(b.skupe_category);
		if(catString=="") return "";
		skupeUrl += catString;
	}
	
	if(b.skupe_style==e)
	{
		if(debug) alert("skupe_style cannot be null");
		return "";
	}
	else skupeUrl += "&WLSTYLE=" + b.skupe_style;
		
	if(b.skupe_language!=e && b.skupe_language!=undefined) skupeUrl += "&LA=" + b.skupe_language;
	if(b.skupe_sort_field!=e && b.skupe_sort_field!=undefined) skupeUrl += "&SF=" + escape(b.skupe_sort_field);
	if(b.skupe_sort_asc!=e && b.skupe_sort_asc!=undefined) skupeUrl += "&SA=" + b.skupe_sort_asc;
	if(b.skupe_custom_homepage!=e && b.skupe_custom_homepage!=undefined) skupeUrl += "&WLC=" + b.skupe_custom_homepage;
	if(b.skupe_random_results!=e && b.skupe_random_results!=undefined) skupeUrl += "&WLRANDOM=" + b.skupe_random_results;
	if(b.skupe_num_random_results!=e && b.skupe_num_random_results!=undefined) skupeUrl += "&WLNUMRANDOM=" + b.skupe_num_random_results;
	if(b.skupe_results_per_page!=e && b.skupe_results_per_page!=undefined) skupeUrl += "&HP=" + b.skupe_results_per_page;
	if(b.skupe_css_location!=e && b.skupe_css_location!=undefined && b.skupe_css_location!="") skupeUrl += "&WLCSS=" + escape(b.skupe_css_location);
	
	if(b.skupe_page_type!=e && b.skupe_page_type!=undefined && b.skupe_page_type!="") skupeUrl += "&WLPTP=" + escape(b.skupe_page_type);

	var skupe_referrerUrl = "";
	
	if(document.location.search.indexOf("skupe_referrerUrl")!=-1)
	{
		skupe_referrerUrl = unescape(qsParm['skupe_referrerUrl']);
	}
	else
	{
		if(window==top) skupe_referrerUrl = document.location.href;
		else skupe_referrerUrl = document.referrer;
	}
		
	if(skupe_referrerUrl!=e && skupe_referrerUrl!=undefined && skupe_referrerUrl!="") skupeUrl += "&WLURL=" + escape(skupe_referrerUrl);	
	
	return skupeUrl;
}

function BuildCategoryFields(pCatId)
{
	var retVal = "";
	
	if(parseInt(pCatId)==5010)
	{
		if(b.skupe_make!=e && b.skupe_make!=undefined) retVal += "&SV%28F5024%29=" + escape(b.skupe_make);
		if(b.skupe_h_make!=e && b.skupe_h_make!=undefined) retVal += "&WLPF5024=" + escape(b.skupe_h_make);
		if(b.skupe_model!=e && b.skupe_model!=undefined) retVal += "&SV%28F5026%29=" + escape(b.skupe_model);
		if(b.skupe_h_model!=e && b.skupe_h_model!=undefined) retVal += "&WLPF5026=" + escape(b.skupe_h_model);
		if(b.skupe_country!=e && b.skupe_country!=undefined) retVal += "&SV%28F5001%29=" + escape(b.skupe_country);
		if(b.skupe_h_country!=e && b.skupe_h_country!=undefined) retVal += "&WLPF5001=" + escape(b.skupe_h_country);
		if(b.skupe_region!=e && b.skupe_region!=undefined) retVal += "&SV%28F5002%29=" + escape(b.skupe_region);
		if(b.skupe_h_region!=e && b.skupe_h_region!=undefined) retVal += "&WLPF5002=" + escape(b.skupe_h_region);
		if(b.skupe_currency!=e && b.skupe_currency!=undefined) retVal += "&SV%28F5004%29=" + escape(b.skupe_currency);
		if(b.skupe_h_currency!=e && b.skupe_h_currency!=undefined) retVal += "&WLPF5004=" + escape(b.skupe_h_currency);
		if(b.skupe_distanceunits!=e && b.skupe_distanceunits!=undefined) retVal += "&SV%28F5044%29=" + escape(b.skupe_distanceunits);
		if(b.skupe_h_distanceunits!=e && b.skupe_h_distanceunits!=undefined) retVal += "&WLPF5044=" + escape(b.skupe_h_distanceunits);

		if(b.skupe_pricefrom!=e && b.skupe_pricefrom!=undefined) retVal += "&SV%28F5003from%29=" + escape(b.skupe_pricefrom);
		if(b.skupe_h_pricefrom!=e && b.skupe_h_pricefrom!=undefined) retVal += "&WLPF5003from=" + escape(b.skupe_h_pricefrom);
		if(b.skupe_priceto!=e && b.skupe_priceto!=undefined) retVal += "&SV%28F5003to%29=" + escape(b.skupe_priceto);
		if(b.skupe_h_priceto!=e && b.skupe_h_priceto!=undefined) retVal += "&WLPF5003to=" + escape(b.skupe_h_priceto);

		if(b.skupe_yearfrom!=e && b.skupe_yearfrom!=undefined) retVal += "&SV%28F5030from%29=" + escape(b.skupe_yearfrom);
		if(b.skupe_h_yearfrom!=e && b.skupe_h_yearfrom!=undefined) retVal += "&WLPF5030from=" + escape(b.skupe_h_yearfrom);
		if(b.skupe_yearto!=e && b.skupe_yearto!=undefined) retVal += "&SV%28F5030to%29=" + escape(b.skupe_yearto);
		if(b.skupe_h_yearto!=e && b.skupe_h_yearto!=undefined) retVal += "&WLPF5030to=" + escape(b.skupe_h_yearto);
	}
	else if(parseInt(pCatId)==1020)
	{
	}
	else if(parseInt(pCatId)==2020)
	{
	}
	else if(parseInt(pCatId)==8010)
	{
	}
		
	return retVal;
}

function SetCategoryParams(pCatId)
{
	if(parseInt(pCatId)==5010) return "&SE=1&CL=5000&CA=5010";
	else if(parseInt(pCatId)==1020) return "&SE=2&CL=1000&CA=1020";
	else if(parseInt(pCatId)==2020) return "&SE=3&CL=2000&CA=2020";
	else if(parseInt(pCatId)==8010) return "&SE=8&CL=8000&CA=8010";
	else if(parseInt(pCatId)==9010) return "&SE=2&CL=9000&CA=9010";
	else
	{
		alert("Invalid Category Id entered!");
		return "";
	}
}

function GoToBottom()
{
	window.location.href = "#searchsection";
}

//Called by the searchsort
function SubmitForm()
{
	document.searchForm.method.value="whiteLabelSearch";
	document.searchForm.PN.value="1";
	OverrideFormSubmit();
}

//Called by the search sort
function sort(pField)
{
	document.searchForm.method.value="whiteLabelSearch";
	if(document.searchForm.SF.value!=pField)
	{
		document.searchForm.SF.value=pField;
		document.searchForm.SA.value="true";
	}
	else
	{
		document.searchForm.SA.value = (document.searchForm.SA.value=="false")?"true":"false";
	}
	document.searchForm.PN.value="1";
	OverrideFormSubmit();
}

function allContributors()
{
	document.searchForm.method.value="whiteLabelSearch";
	document.searchForm.CI.value = "";
	document.searchForm.CN.value = "";
	document.searchForm.PN.value="1";
	SubmitForm();
}

var advancedSearchHTML = "";
function ShowHideAdvancedSearch()
{
	var elem1 = document.getElementById("hideshowlinktext");
	var elem2 = document.getElementById("advancedsearchsection");

	if(advancedSearchHTML=="")
	{
		advancedSearchHTML = elem2.innerHTML;
		elem2.innerHTML = "";
		document.searchForm.ASO.value = "false";
		createCookie("AdvancedSearchOn", "false",1000)
		elem1.innerHTML = "more search options";
	}
	else
	{
		elem2.innerHTML = advancedSearchHTML;
		advancedSearchHTML = "";
		document.searchForm.ASO.value = "true";
		createCookie("AdvancedSearchOn", "true",1000)
		elem1.innerHTML = "less search options";
	}
}

var req, key, divElement, formElement;

var skupe_respMsg = "";
var gbAppend = false;
function getResponse(requestURL)
{
	//var old = document.getElementById('dynamicresponse');
	//if(old) head.removeChild(old);
	var tScript= document.createElement('script');
	tScript.id='dynamicresponse';
	tScript.type = 'text/javascript';
	//tScript.src = requestURL;
	tScript.defer = true;
	
	tScript.onload = function(){return true};
	tScript.setAttribute('src',requestURL);	
	
	var head = document.getElementsByTagName('head').item(0);
	void(head.appendChild(tScript));
}

function populateDependentDD(pformElement, pparentkey, pchildId, pFirstItemText)
{
	if(pparentkey!="" && pchildId!="")
	{
		var parentElementName = "SV(F" + pparentkey + ")";
		var childElementName = "SV(F" + pchildId + ")";
		clear(pformElement[childElementName]);
		pformElement[childElementName].options[0] = new Option("loading...", -1);
		
		if(pformElement[parentElementName].value!="" && pformElement[parentElementName].value!="-1")
		{
		  	skupe_respMsg = "";
			getDataSet(pformElement, childElementName, pchildId, pformElement[parentElementName].value, pFirstItemText);
		}
		else if(pFirstItemText!="")
		{
			pformElement[childElementName].options[0] = new Option(pFirstItemText, "-1");
		}
	}
}

function getDataSet(pformElement, pdivElement, pchildId, pfilter, pFirstItemText)
{
    divElement = pdivElement;
    formElement = pformElement;
    
	var publisherId = "0";
	if(formElement["WLS"]!=null) publisherId = formElement["WLS"].value;

    var url = "http://ads.skupe.net/servlet/DynamicData?PublisherId=" + publisherId + "&LanguageId=" + formElement["LA"].value + "&type=GetDataSet&CategoryId=" + formElement["CA"].value + "&TemplateFieldId=" + pchildId + "&FirstItem=" + escape(pFirstItemText);

    if(pfilter!=null)
    {
    	url += "&DataSetFilter=" + pfilter;
    }
    var fullUrl = "http://ads.skupe.net/servlet/WhiteLabelDynamicData?URL=" + escape(url);
    getResponse(fullUrl);
}

function clear(objSelect)
{
     for (var i = (objSelect.options.length-1); i >= 0; i--)
     {
         objSelect.options[i]=null;
     }
}
parseMessage();
function parseMessage()
{
	if(skupe_respMsg!="")
	{
		var myDocument;
		if (document.implementation.createDocument)
		{
			// Mozilla, create a new DOMParser
			var parser = new DOMParser();
			myDocument = parser.parseFromString(skupe_respMsg, "text/xml");
		}
		else if(window.ActiveXObject)
		{
   			// Internet Explorer, create a new XML document using ActiveX
   			// and use loadXML as a DOM parser.
   			myDocument = new ActiveXObject("Microsoft.XMLDOM")
   			myDocument.async="false";
   			myDocument.loadXML(skupe_respMsg);
 		}
 		
 		var messageElem = myDocument.getElementsByTagName("message")[0];
 		if(messageElem!=null)
 		{
	 		var vals = messageElem.childNodes;
	 		clear(formElement[divElement]);

	 		for(var i=0;i<vals.length;i++)
	 		{
	 			formElement[divElement].options[i] = new Option(vals[i].firstChild.nodeValue, vals[i].getAttribute("ID"));
	 		}
	
	 		//Call change on this element in case there are other dependent dropdowns
	 		var f = formElement[divElement].getAttribute('onchange');
	 		if(f!=null)
	 		{
	 			formElement[divElement].onchange();
	 		}
	 	}
	 	else
	 	{
	 		if(b.CustomMessageHandler!=e && b.CustomMessageHandler!=undefined)
	 		{
	 			CustomMessageHandler(skupe_respMsg);
	 		}
	 	}
 		skupe_respMsg = "";
 	}
 	setTimeout("parseMessage()",1000);
}


function favit(heading,address)
{
	if(window.external)window.external.AddFavorite(address,heading);
	else if(window.sidebar)window.sidebar.addPanel(heading,address,"");
}

function validateDateField(field)
{
	var elementName = "SV(" + field + ")";
	if(document.searchForm[elementName].value!="")
	{
		if(!check_date(document.searchForm[elementName]))
		{
			alert("Invalid date format entered. Dates must be in the format dd/mm/yyyy");
			document.searchForm[elementName].focus();
		}
	}
}

function validateDynamicNumberField(field)
{
	var reNumber  = /[\D]/gi;

	var elementName = "SV(" + field + ")";
	if(document.searchForm[elementName].value!="")
	{
		if(reNumber.test(document.searchForm[elementName].value))
		{
			alert("Invalid number entered.");
			document.searchForm[elementName].focus();
		}
	}
}

function validateNumberField(field)
{
	var reNumber  = /[\D]/gi;
	if(document.searchForm[field].value!="")
	{
		if(reNumber.test(document.searchForm[field].value))
		{
			alert("Invalid number entered.");
			document.searchForm[field].focus();
		}
	}
}

function check_date(field)
{
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
var dateformat = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

if(!dateformat.test(DateField.value))
{
	return false;
}



   err = 0;
   DateValue = DateField.value;

   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++)
   {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;

   /* Always change date to 8 digits - string*/
   if (DateValue.length != 8)
   {
      err = 19;
   }

   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }

   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }

   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }

   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }

   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }

   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   if (err == 0)
   {
	DateField.value = day + seperator + month + seperator + year;
	return true;
   }
   else
   {
      return false;
   }
}

function IsFutureDate( str1, offsetInDays)
 {
      // Parse the string in DD/MM/YYYY format
      re = /(\d{1,2})\/(\d{1,2})\/(\d{4})/
      var arr = re.exec( str1 );
      var dt1 = new Date( parseInt(arr[3]), parseInt(arr[2], 10) - 1, parseInt(arr[1], 10) );
	  var today = new Date();
	  //var todayStringPlusOneDay = (today.getDate()+1) + "/" + (today.getMonth()+1) + "/" + today.getYear();
      var todayStringPlusOffSet = (today.getDate() + offsetInDays) + "/" + (today.getMonth()+1) + "/" + today.getYear();
      var arr2 = re.exec(todayStringPlusOffSet);
      var dt2 = new Date( parseInt(arr2[3]), parseInt(arr2[2], 10) - 1, parseInt(arr2[1], 10) );

      return dt1 >= dt2;
}

function ChangeResultNum()
{
	document.searchForm.PN.value="1";
	OverrideFormSubmit();
}

function move(pageNum)
{
	document.searchForm.PN.value = pageNum;
	document.searchForm.method.value = "whiteLabelSearch";
	OverrideFormSubmit();
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}


function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef";
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2)
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
}

function ChangeFieldImage(field, image)
{
  if(field.value!=null && field.value.length>0)
  {
    image.src = "http://ads.skupe.net/images/fieldgood.gif";
  }
  else
  {
    image.src = "http://ads.skupe.net/images/fieldbad.gif";
  }
}

function ChangeEmailFieldImage(field, image)
{
  if(field.value!=null && field.value.length>0 && echeck(field.value))
  {
    image.src = "http://ads.skupe.net/images/fieldgood.gif";
  }
  else
  {
    image.src = "http://ads.skupe.net/images/fieldbad.gif";
  }
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1)
	{
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==(lstr-1))
	{
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==(lstr-1))
	{
	    return false
	}

	if (str.indexOf(at,(lat+1))!=-1)
	{
	    return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	{
	    return false
	}

	if (str.indexOf(dot,(lat+2))==-1)
	{
	    return false
	}

	if (str.indexOf(" ")!=-1)
	{
	    return false
	}

	return true;
}

function popup(requestedUrl, titleName, Height, Width)
{
	var url = requestedUrl;

	var features =
	',directories=0'+
	',location=0'   +
	',menubar=0'   +
	',scrollbars=1'+
	',status=0'   +
	',toolbar=0'   +
	',resizable=1' +
	',width=' + Width +
	',height=' + Height +
	',screenX=15' +
	',screenY=15' +
	',top=15'+
	',left=15';
	
	if(window!=top)
	{
		var wind = top.open(url, null, features);
		wind.focus();
	}
	else
	{
		var wind = window.open(url, null, features);
		wind.focus();
	}
}

/*****
Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com
*****/
var d=document, imgs = new Array(), titles = new Array(), zInterval = null, current=0, pause=false;
var imgContainerWidth=164;
var imgContainerHeigth=123;

function so_setImageContainerDimensions(pHeight, pWidth)
{
	imgContainerWidth=pWidth;
	imgContainerHeigth=pHeight;
}
function so_init() {
	for(i=0;i<imgs.length;i++)
	{
		imgs[i].xOpacity = 0;
		imgs[i].style.display = "block";
		imgs[i].style.top =  ((imgContainerHeigth - imgs[i].getElementsByTagName("img")[0].height)/2);
		imgs[i].style.left =  ((imgContainerWidth - imgs[i].getElementsByTagName("img")[0].width)/2);
		imgs[i].style.display = "none";
		titles[i].xOpacity = 0;
	}

	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	titles[0].style.display = "block";
	titles[0].xOpacity = .99;
	setTimeout(so_xfade,3000);
}

function so_xfade() {
	cOpacity = imgs[current].xOpacity;
	nIndex = imgs[current+1]?current+1:0;
	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		
		titles[current].style.display = "none";
		titles[nIndex].style.display = "block";
		titles[nIndex].xOpacity = .99;
		
		current = nIndex;
		setTimeout(so_xfade,3000);
	} else {
		setTimeout(so_xfade,50);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}

var imagesLoaded = 0;
function so_imageLoad()
{
	if(!d.getElementById || !d.createElement)return;
	imagesLoaded++;
	
	if(imgs.length==0)
	{		
		imgs = d.getElementById("skupe_image").getElementsByTagName("div");
		titles = d.getElementById("skupe_caption").getElementsByTagName("font");
	}
	
	if(imagesLoaded==imgs.length) so_init();
}


function skupe_imageLoad(daImg)
{
	if(!d.getElementById || !d.createElement)return;
	imagesLoaded++;
		
	if(imgs.length==0)
	{
		imgs = d.getElementById("skupe_image").getElementsByTagName("div");
		titles = d.getElementById("skupe_caption").getElementsByTagName("font");
	}
	
	if(imagesLoaded==imgs.length) skupe_init();
}


function skupe_init() {
	for(i=0;i<imgs.length;i++)
	{
		imgs[i].xOpacity = 0;
		imgs[i].style.display = "block";
		imgs[i].style.top =  ((imgContainerHeigth - imgs[i].getElementsByTagName("img")[0].height)/2);
		imgs[i].style.left =  ((imgContainerWidth - imgs[i].getElementsByTagName("img")[0].width)/2);
		imgs[i].style.display = "none";
		titles[i].xOpacity = 0;
	}

	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	titles[0].style.display = "block";
	titles[0].xOpacity = .99;
	setTimeout(so_xfade,3000);
}

// ************************************************** //
// 
// New Fading ads code. Doesn't use layers to allow
// simultaneous fading in and out. Simply fade out
// and in separately
// 
// ************************************************** //

var skupe_imagesLoaded=0;

function skupe_initImageLoad(daImg)
{
	if(!d.getElementById || !d.createElement)return;
	skupe_imagesLoaded++;						
	if(skupe_imagesLoaded==skupe_imagesToLoad) skupe_initStart();
}

var skupe_currImageIndex=-1;
var elem_skupe_caption=null, elem_skupe_image=null;
function skupe_initStart()
{
	skupe_currImageIndex++;
	if(skupe_currImageIndex==skupe_imagesLoaded) skupe_currImageIndex=0;
	
	if(elem_skupe_caption==null)
	{
		elem_skupe_caption = document.getElementById("skupe_caption_elem");
		elem_skupe_image = document.getElementById("skupe_image_elem");
	}
	
	elem_skupe_image.innerHTML = "<img border=0 src=\"" + document.getElementById("skupe_img" + skupe_currImageIndex).src + "\">";
	elem_skupe_image.href=skupe_links[skupe_currImageIndex];
	elem_skupe_caption.innerHTML=skupe_titles[skupe_currImageIndex];
	elem_skupe_caption.href=skupe_links[skupe_currImageIndex];

	if(elem_skupe_contentTable==null) elem_skupe_contentTable = document.getElementById("skupe_contentTable");
	elem_skupe_contentTable.xOpacity = 0;
	skupe_setOpacity(elem_skupe_contentTable);
	skupe_fadeIn = true;
	
	setTimeout(skupe_fadeCurrent,50);
}

var elem_skupe_contentTable = null;
var skupe_fadeIn = true;
function skupe_fadeCurrent()
{
	var cOpacity = elem_skupe_contentTable.xOpacity;
	
	if(skupe_fadeIn) cOpacity+=.05;
	else cOpacity-=.05;
	
	elem_skupe_contentTable.xOpacity = cOpacity;
	skupe_setOpacity(elem_skupe_contentTable); 
	
	if(cOpacity<=0)
	{
		skupe_initStart();
	}
	else if(cOpacity>=1.0)
	{
		skupe_fadeIn = false;
		setTimeout(skupe_fadeCurrent,4000);
	}
	else
	{
		setTimeout(skupe_fadeCurrent,50);
	}						
}

function skupe_setOpacity(obj)
{
	if(obj.xOpacity>1.0)
	{
		obj.xOpacity = 1.0;
		return;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}

