/*****
*
* Default Script
*
* Description:	usual scripts for COPS
* Author:		Matthias von Deetzen
* Copyright:	CeWe Color AG & Co OhG
*
*****/

var sHref = document.location.href.toLowerCase();
var sHrefOrig = document.location.href;
var RedDotPageGuid = null;
var RedDotMode = false;

/** detect browser type **/
var is_moz = false;
var is_ie = false;
var token = false;
var hof_url = false;

/** if no server urls are set, get default **/
if (typeof(server_url_live) == 'undefined') {
	var server_url_live = 'as.photoprintit.de';
	var server_url_test = 'as.photoprintit.de';
}

var server_url = server_url_live; //getServerSystem(server_url_live, server_url_test);
var order_link = 'https://' + server_url + '/web/' + (typeof(operator) != 'undefined' ? (operator + '/') : '');

if (sHref.indexOf("action=reddot")!= -1) {
	RedDotMode = true;

	var search = /&pageguid\=([0-9A-Za-z]*)/;
	search.exec(sHref);
	RedDotPageGuid = RegExp.$1;
}

if (sHrefOrig.indexOf("token=")!= -1) {
	var search = /[&?]token\=([^\&]*)/;
	search.exec(sHrefOrig);
	token = RegExp.$1;

	writeCookie('LoginToken', (token == '-1' ? 0 : token), 1);
}
else {
	token = readCookie('LoginToken');
}

if (sHrefOrig.indexOf("hof_url=")!= -1) {
	var search = /[&?]hof_url\=(.*)/;
	search.exec(sHrefOrig);
	hof_url = RegExp.$1;
}

if (navigator.appName == 'Microsoft Internet Explorer')
{
	is_ie = true;
}
else if (navigator.appName == 'Netscape')
{
	is_moz = true;
}

/** some simple declarations **/
var last_element = new Object;
var last_zindex = 0;

/** display info for pricelist **/
function display_price_info(elementId, max_position)
{
	var max_position = 726;
	var width = 427;

	var element = null;
	if ($j('#' + elementId).length > 0)
	{
		element = $j('#' + elementId);

		if ($j(last_element).length > 0)
		{
			$j(last_element).css('display', 'none');
			$j(last_element).parents('li').css('z-index', last_zindex);
		}

		last_element = $j(element);
		last_zindex = $j(element).css('z-index');

		$j(element).css('opacity', 0);
		$j(element).css('display', 'block');
		fadeIn($j(element).attr('id'));

		$j(element).parents('ul').css('z-index', 1500);
		$j(element).parents('li').css('z-index', 1500);

		if ($j(element).hasClass('pos') == false && (parseInt($j(element).positionAncestor('.ips.teaser').left) + width) > max_position)
		{
			tmp = max_position - ($j(element).positionAncestor('.ips.teaser').left + width);
			$j(element).css('left', tmp - 1 + 'px');
			$j(element).addClass('pos');
		}
	}
}

/** hide an element **/
function hide(elementId)
{
	var element = null;
	if (document.getElementById(elementId))
	{
		fadeOut(elementId);
	}
}

/** fade an element in **/
function fadeIn(element_id)
{
	if (document.getElementById(element_id)) {
		$j('#' + element_id).fadeTo(300, '0.9999').css('display', 'block');
		//document.getElementById(element_id).fadein = new Fx.Style(document.getElementById(element_id), 'opacity', {duration: 300}).start(document.getElementById(element_id).style.opacity,0.9999);
	}
}

/** fade an element out **/
function fadeOut(element_id)
{
	if (document.getElementById(element_id)) {
		$j('#' + element_id).fadeTo(300, '0').css('display', 'none');
		//document.getElementById(element_id).fadein = new Fx.Style(document.getElementById(element_id), 'opacity', {duration: 300}).start(document.getElementById(element_id).style.opacity,0);
	}
}

/** set an element to active state **/
var elements = new Array();
var act_elements = new Array();
var container_height = 0;
function pricelist_set_active(element, activator)
{
	if (typeof element == 'string')
	{
		if (document.getElementById(element))
		{
			element = document.getElementById(element)
		}
		else
		{
			return false;
		}
	}

	var height = 220;

	if (element && element.className != 'active')
	{
		for (var i = 0; i < elements.length; i++)
		{
			if (elements[i])
			{
				elements[i].className = '';
				elements[i].getElementsByTagName('div')[0].style.display = 'none';
			}
		}


		element.className = 'active';
		element.getElementsByTagName('a')[0].style.outline = '0';
		element.getElementsByTagName('div')[0].style.display = 'block';

		if (is_ie) {
			element.parentNode.style.height = element.getElementsByTagName('div')[0].offsetHeight + height + 'px';
		}
		else {
			element.getParent().getParent().style.height = element.getElementsByTagName('div')[0].offsetHeight + height + 'px';
		}

		if (elements == null || in_array(element, elements) == false)
		{
			elements.unshift(element);
		}
	}

	if (activator)
	{
		for (var i = 0; i < act_elements.length; i++)
		{
			if (act_elements[i])
			{
				act_elements[i].className = '';
			}
		}

		activator.className = 'active';
		activator.blur();

		if (act_elements == null || in_array(activator, act_elements) == false)
		{
			act_elements.unshift(activator);
		}
	}
}

/** get the absolute left position of element **/
function absLeft(el) {
	return (el.offsetParent)?
	el.offsetLeft+absLeft(el.offsetParent) : el.offsetLeft;
}

/** get the absolute right position of element **/
function absTop(el) {
	return (el.offsetParent)?
	el.offsetTop+absTop(el.offsetParent) : el.offsetTop;
}

/** own simple in_array function **/
function in_array(item,arr)
{
	for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
	return false;
}

/** open a popup window **/
function popup(element, lightbox, width, height, reddot_mode)
{
	if (reddot_mode)
	{
		myLink = document.createElement("iframe");
		myLink.src = element.href;
		myLink.style.display = "block";
		myLink.style.position = "absolute";
		myLink.style.width = width + 8 + "px";
		myLink.style.height = height + 8 + "px";

		myLink.style.zIndex = 50000;

		left = (screen.width - width) / 2 - 150;
		top = 300;

		myLink.style.left = left + "px";
		myLink.style.top = top + "px";

		body = document.getElementsByTagName("body")[0];
		body.appendChild(myLink);
	}
	else
	{
		if (lightbox)
		{
			element.rev = "width: " + width + "px; height: " + height + "px; border:0; scrolling: no;"
			element.setAttribute('rel', 'lyteframe');
			myLytebox.start(element, false, true);
		}
		else
		{
			var opt = "";
			var top = 0;
			var left = 0;

			if (width && height)
			{
				opt += "width=" + width + ",height=" + height + ",";
				left = (screen.width - width) / 2;
				top = (screen.height - height) / 2;
			}

			if (top > 0 && left > 0)
			{
				opt += 'top=' + top + ',left=' + left + ',';
			}
			opt += "status=no,scrollbars=yes,resizable=no,toolbar=no";

			window.open(element.href, "popup", opt);
		}
	}

	return false;
}

if(!window.Node){
	var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}

function checkNode(node, filter){
	return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}

/** get all children of element **/
function getChildren(node, filter)
{
	var result = new Array();
	var children = node.childNodes;
	for(var i = 0; i < children.length; i++){
		if(checkNode(children[i], filter)) result[result.length] = children[i];
	}
	return result;
}

/** set the link to the IPS order client **/
function set_order_link(product, value)
{
	var order_links = new Object();
	var link = document.getElementById('order_link');
	var design = 'nodesign';

	if (!link)
	{
		return false;
	}
	else if (!operator || !product || product == '')
	{
		link.href = '';
		link.style.display = 'none';
		return false;
	}

	if (!value && document.getElementById('product_select'))
	{
		products = getChildren(document.getElementById('product_select'), 'input');

		for (var i = 0; i < products.length; i++)
		{
			if (products[i].checked)
			{
				value = products[i].value;
			}
		}
	}

	if (document.getElementById('design0') && document.getElementById('design1'))
	{
		design = (document.getElementById('design1').checked ? 'design' : 'nodesign');
	}

	if (product && link)
	{
		var order_links = {

			// Fotofun
			'bib': 'productSettings.do?productid=23',
			'cap': 'productSettings.do?productid=12',
			'moose': 'productSettings.do?productid=69',
			'crystal_pic_80_105': 'productSettings.do?productid=555',
			'sticker': 'productEditor.do?new=true&productId=42&new=true', // changed to new editor
			'globe_glitter': 'productSettings.do?productid=100',
			'barbeque_pinafore': 'productSettings.do?productid=21',
			'easter_bunny': 'productSettings.do?productid=47',
			'child_tshirt': 'productSettings.do?productid=666',
			'crystal_pic': 'productSettings.do?productid=33',
			'heart_of_glass': 'productSettings.do?productid=556',
			'puzzle_20_30': {
				'design': 'productSettings.do?productid=27',
				'nodesign': 'productSettings.do?productid=9'
			},
			//'puzzle_20_30': 'productSettings.do?productid=9',
			'puzzle_30_45': 'productSettings.do?productid=27',
			'key_ring': 'productSettings.do?productid=22',
			'snowglobe': 'productEditor.do?productId=26&templateId=empty&new=true',
			'playcards': 'productSettings.do?productid=45',
			'pokercards' : 'productSettings.do?productid=10704',
			'pen_bracket': 'productSettings.do?productid=558',
			'memoclip': 'productSettings.do?productid=557',
			'remembory': 'productEditor.do?productId=155&new=true',
			'big_bag': 'productSettings.do?productid=10700',
			'small_bag': 'productSettings.do?productid=10705',
			'alubottle': {
				'design': 'productEditor.do?productId=10703&new=true',
				'nodesign': 'productEditor.do?productId=10703&templateId=empty&new=true'
			},
			'pillow_filled': {
				'design': 'productEditor.do?productId=101&new=true',
				'nodesign': 'productEditor.do?productId=101&templateId=empty&new=true'
			},
			'glass': {
				'design': 'productEditor.do?productId=665&new=true',
				'nodesign': 'productEditor.do?productId=665&templateId=empty&new=true'
			},
			'sweatshirt': {
				'design': 'productEditor.do?productId=38&new=true',
				'nodesign': 'productEditor.do?productId=38&templateId=empty&new=true'
			},
			'teddy': 'productSettings.do?productid=11',
			'cup_panorama': {
				'design': 'productEditor.do?productId=6394&new=true',
				'nodesign': 'productEditor.do?productId=6394&templateId=empty&new=true'
			},
			'cup_set': 'productEditor.do?productId=14&new=true',
			'cup': {
				'design': 'productEditor.do?productId=8&new=true',
				'nodesign': 'productEditor.do?productId=8&templateId=empty&new=true'
			},
			'mousepad': {
				'design': 'productEditor.do?productId=10&new=true',
				'nodesign': 'productEditor.do?productId=10&templateId=empty&new=true'
			},
			'pillow': {
				'design': 'productEditor.do?productId=20&new=true',
				'nodesign': 'productEditor.do?productId=20&templateId=empty&new=true'
			},
			'tshirt': {
				'design': 'productEditor.do?productId=17&new=true',
				'nodesign': 'productEditor.do?productId=17&templateId=empty&new=true'
			},
			'stuffbag': {
				'design': 'productEditor.do?productId=25&new=true',
				'nodesign': 'productEditor.do?productId=25&templateId=empty&new=true'
			},
			'beer_mug_panorama': {
				'design': 'productEditor.do?productId=6400&new=true',
				'nodesign': 'productEditor.do?productId=6400&templateId=empty&new=true'
			},
			'cup_magic': {
				'design': 'productEditor.do?productId=31&new=true',
				'nodesign': 'productEditor.do?productId=31&templateId=empty&new=true'
			},
			'cup_magic_panorama': {
				'design': 'productEditor.do?productId=6401&new=true',
				'nodesign': 'productEditor.do?productId=6401&templateId=empty&new=true'
			},
			'beer_mug': {
				'design': 'productEditor.do?productId=24&new=true',
				'nodesign': 'productEditor.do?productId=24&templateId=empty&new=true'
			},
			'cup_color': 'productSettings.do?productid=6398&new=true',
			'animal_pendant': 'productSettings.do?productid=7106&new=true',
			'stuff_calendar': {
				'': ''
			},
			'saving_box': {
				'design': 'productEditor.do?productId=700&new=true',
				'nodesign': 'productEditor.do?productId=700&templateId=empty&new=true'
			},

			// Collageblock
			'collageblock_a5': 'productEditor.do?productId=10713&new=true',
			'collageblock_a4': 'productEditor.do?productId=10712&new=true',

			// School articles
			'bread_box': 'productEditor.do?productId=10716&new=true',
			'childrens_backpack': 'productEditor.do?productId=10717&new=true',
			'sports_bag': 'productEditor.do?productId=10718&new=true',
			'feather_bag': 'productEditor.do?productId=10719&new=true',
			'school_agenda': {
				'design': 'productEditor.do?productId=10721&new=true',
				'nodesign': 'productEditor.do?productId=10721&templateId=empty&new=true'
			},
			'agenda': {
				'design': 'productEditor.do?productId=10720&new=true',
				'nodesign': 'productEditor.do?productId=10720&templateId=empty&new=true'
			},
			'write_notebook_a4': 'productEditor.do?productId=10722&new=true',
			'write_notebook_a5': 'productEditor.do?productId=10723&new=true',
			'note_issue': 'productEditor.do?productId=10724&new=true',

			// COPS 2.3 articles
			'glass_clock': 'productEditor.do?new=true&productId=917&new=true',
			'magnet': 'productEditor.do?new=true&productId=662&new=true',
			'pillow_heart': 'productEditor.do?new=true&productId=911&new=true',
			'puzzle_xxl': 'productEditor.do?new=true&productId=4005&new=true',
			'advent_calendar': 'productEditor.do?new=true&productId=417&new=true',
			'poster_xxl': 'productEditor.do?new=true&productId=1213&new=true',
			'poster_xxl_30': 'productEditor.do?new=true&productId=1200&new=true',
			'poster_debond': 'productEditor.do?new=true&productId=1004&new=true&templateId=empty',
			'poster_acryl': 'productEditor.do?new=true&productId=1104&new=true&templateId=empty',
			'calendar_photopaper_A2': 'productEditor.do?new=true&productId=6288&new=true',
			'calendar_A3_square': 'productEditor.do?new=true&productId=6292&new=true',

			// Calendar
			'annual_calendar_A3_across': 'productEditor.do?productId=6283&new=true',
			'kitchen_planner': 'productEditor.do?productId=6282&new=true',
			'decorative_calendar_A4_upright': 'productEditor.do?productId=6279&new=true',
			'decorative_calendar_A3_upright': 'productEditor.do?productId=6281&templateId=122-CAL11-SF&new=true',
			'family_calendar_A4_across': 'productEditor.do?productId=6278&new=true',
			'put_up_table_planner': 'productEditor.do?productId=6280&new=true',
			'table_planner': 'productEditor.do?productId=6277&new=true',

			'calendar_name_a3' : 'productEditor.do?productId=6291&templateId=001-CAL11P-CC&personalized=true&new=true',
			'calendar_name_a4' : 'productEditor.do?productId=6289&templateId=001-CAL9P-CC&personalized=true&new=true',

			'table_calendar': 'productEditor.do?productId=51&new=true',
			'calendar_photopaper_a4_upright': 'productEditor.do?productId=6284&new=true',
			'calendar_photopaper_a3_upright': 'productEditor.do?productId=6285&new=true',
			'calendar_photopaper_a3_across': 'productEditor.do?productId=6286&new=true',
			'calendar_photopaper_square': 'productEditor.do?productId=6287&new=true',

			// Canvas
			'canvas': 'productSettings.do?productid=881',
			'deco_canvas': 'productEditor.do?productId=881&new=true',
			'canvas_more_formats': 'productEditor.do?productId=881&new=true&templateId=empty',

			// Poster
			'poster': '###order_poster###',
			'deco_poster': 'productEditor.do?productId=904&new=true&templateId=empty',
			'poster_map': 'productEditor.do?new=true&productId=904&geomap=true&templateId=empty',

			// Greetingcards
			'greetingcard': {
				'design': 'productEditor.do?productId=6426&new=true',
				'nodesign': 'productEditor.do?productId=6426&templateId=empty&new=true'
			},
			'card_xl_long': {
				'design': 'productEditor.do?productId=6414&new=true',
				'nodesign': 'productEditor.do?productId=6414&templateId=empty&new=true'
			},
			'card_xl_short': {
				'design': 'productEditor.do?productId=6413&new=true',
				'nodesign': 'productEditor.do?productId=6413&templateId=empty&new=true'
			},
			'card_classic': {
				'design': 'productEditor.do?productId=6051&new=true',
				'nodesign': 'productEditor.do?productId=6051&templateId=empty&new=true'
			},
			'postcard_xl': {
				'design': 'productEditor.do?productId=6424&new=true',
				'nodesign': 'productEditor.do?productId=6424&templateId=empty&new=true'
			},
			'postcard_classic': {
				'design': 'productEditor.do?productId=6050&new=true',
				'nodesign': 'productEditor.do?productId=6050&templateId=empty&new=true'
			},

			// Greetingcards VARIO
			'greetingcard_vario': 'designTemplateSelector.do?productIds=6426',
			'card_xl_long_vario': {
				'design' : 'designTemplateSelector.do?productIds=6414,6423',
				'nodesign' : 'designTemplateSelector.do?productIds=6957,6958'
			},
			'card_xl_short_vario': {
				'design' : 'designTemplateSelector.do?productIds=6413,6422',
				'nodesign' : 'designTemplateSelector.do?productIds=6955,6956'
			},
			'card_classic_vario': {
				'design' : 'designTemplateSelector.do?productIds=6051,6425',
				'nodesign' : 'designTemplateSelector.do?productIds=6953,6954'
			},
			'postcard_xl_vario': {
				'design' : 'designTemplateSelector.do?productIds=6424',
				'nodesign' : 'designTemplateSelector.do?productIds=6960'
			},
			'postcard_classic_vario': {
				'design' : 'designTemplateSelector.do?productIds=6050',
				'nodesign' : 'designTemplateSelector.do?productIds=6959'
			},
			'greetingcard_20er': 'productEditor.do?productId=6427&new=true',

			'software': (typeof(lnk_software) != 'undefined' ? lnk_software : ''),

			// Photobook
			'photobook': 'photobookWizardIntro.do',

			// Textilshop
			'textil_babybody': 'textileEditor.do?productGroupId=2010&color=1',
			'textil_baseball_tshirt': 'textileEditor.do?productGroupId=2002&color=1',
			'textil_baseball_cap': 'textileEditor.do?productGroupId=2011&color=1',
			'textil_bib': 'textileEditor.do?productGroupId=2009&color=1',
			'textil_kids_tshirt': 'textileEditor.do?productGroupId=2008&color=1',
			'textil_men_longsleeve': 'textileEditor.do?productGroupId=2003&color=1',
			'textil_men_premium_tshirt': 'textileEditor.do?productGroupId=2001&color=1',
			'textil_men_tshirt_american': 'textileEditor.do?productGroupId=2005&color=1',
			'textil_pillow_no_filling': 'textileEditor.do?productGroupId=2014&color=1',
			'textil_pinaforte': 'textileEditor.do?productGroupId=2013&color=1',
			'textil_stuff_handlebag': 'textileEditor.do?productGroupId=2012&color=1',
			'textil_women_longsleeve': 'textileEditor.do?productGroupId=2004&color=1',
			'textil_women_tshirt': 'textileEditor.do?productGroupId=2007&color=1',
			'textil_women_tshirt_american': 'textileEditor.do?productGroupId=2006&color=1',

			// kruidvat products
			'gardenposter': 'productEditor.do?productId=1300&templateId=empty&new=true',
			'clock': 'productEditor.do?productId=10706&templateId=empty&new=true',
			'diaperbag': 'productEditor.do?productId=4000&templateId=empty&new=true',
			'flag': 'productEditor.do?productId=4006&templateId=empty&new=true',
			'flags_triangle': 'productEditor.do?productId=4001&templateId=empty&new=true',
			'flags_square': 'productEditor.do?productId=4002&templateId=empty&new=true',
			'christmastreeball' : 'productEditor.do?productId=4007&templateId=empty&new=true',

			'my_gallery': 'showGalleryPhotos.do',

			'smartalbum': 'startClient.do?type=smartalbum&client=java',

			'photo_sticker': 'productEditor.do?productId=8160&new=true&templateId=empty'
		};


		var new_link = '';
		var url_target = order_link;
		if (product == 'software')
		{
			url_target = '';
		}


		if (order_links[product] && order_links[product][design] && order_links[product][design][value])
		{
			new_link = url_target + order_links[product][design][value];
		}
		else if (order_links[product] && order_links[product][design])
		{
			new_link = url_target + order_links[product][design];
		}
		else if (order_links[product])
		{
			new_link = url_target + order_links[product];
		}
		else
		{
			link.href = '';
			link.style.display = 'none';
			return false;
		}

		link.href = new_link;
		link.style.display = 'block';

		var icarousel_order_link = null;
		if (document.getElementById('icarousel_link'))
		{
			icarousel_order_link = document.getElementById('icarousel_link');
			icarousel_order_link.innerHTML = link.innerHTML;
			icarousel_order_link.style.display = 'block';
			icarousel_order_link.href = new_link;
		}

		return true;
	}
	else
	{
		link.href = '';
		link.style.display = 'none';
		return false;
	}
}

function setOrderLinks(plugin) {
	var AllLinks = document.getElementsByTagName('a');

	var target = 'selectClient.do?type=';
	if (typeof(plugin.activex) != 'undefined' && plugin.activex) {
		target = 'startClient.do?client=actx&type=';
	}
	else if (typeof(plugin.java) != 'undefined' && plugin.java) {
		target = 'startClient.do?client=java&type=';
	}

	/** check photos and poster type for link **/
	if (typeof(icarousel_link) != 'undefined' && icarousel_link.length > 0) {
		for (var i = 0; i < icarousel_link.length; i++) {
			if (typeof(icarousel_link[i]) != 'undefined')
			{
				var iLink = $('icarousel_link');

				if (icarousel_link[i]['link'].indexOf('###') >= 0) {
					if (icarousel_link[i]['link'].indexOf('###order_photos###') >= 0) {

						icarousel_link[i]['link'] = order_link + target + 'print';

						/*if (typeof(order_way_selection) != 'undefined' && order_way_selection == 'true') {
							icarousel_link[i]['link'] = 'onoffline_selection.html?link=' + escape(icarousel_link[i]['link']);
							iLink.rev = "width: 1001px; height: 631px; border:0; scrolling: no; top: 20px;"
							iLink.setAttribute('rel', 'lyteframe');
						}*/
					}
					else if (icarousel_link[i]['link'].indexOf('###order_photos_standard###') >= 0) {
						icarousel_link[i]['link'] = order_link + target + 'print&pmId=standard';
					}
					else if (icarousel_link[i]['link'].indexOf('###order_poster###') >= 0) {
						icarousel_link[i]['link'] = order_link + target + 'poster';
					}

					iLink.href.replace(/###.+###/i, icarousel_link[i]['link']);
				}
			}
		}
	}

	/** change the place holder with links **/
	for (var i = 0; i < AllLinks.length; i++) {
		if (AllLinks[i].href.indexOf('###') > 0 || AllLinks[i].href.indexOf('#%23%23') > 0) {

			var link = AllLinks[i].href = AllLinks[i].href.replace("#%23%23", "###");
			link = AllLinks[i].href = link.replace("%23%23%23", "###");

			if (link.indexOf('###order_photos###') > 0) {
				AllLinks[i].href = link.replace(/.*###order_photos###/, order_link + target + 'print');

				/*if (typeof(order_way_selection) != 'undefined' && order_way_selection == 'true') {
					AllLinks[i].href = 'onoffline_selection.html?link=' + escape(AllLinks[i].href);
					AllLinks[i].rev = "width: 1001px; height: 631px; border:0; scrolling: no; top: 20px;"
					AllLinks[i].setAttribute('rel', 'lyteframe');
				}*/
			}
			else if (link.indexOf('###order_photos_standard###') > 0) {
				AllLinks[i].href = link.replace(/.*###order_photos_standard###/, order_link + target + 'print&pmId=standard');
			}
			else if (link.indexOf('###order_poster###') > 0) {
				AllLinks[i].href = order_link + target + 'poster';
			}
			else if (link.indexOf('###order_businesscards###') > 0)
			{
				AllLinks[i].href = order_link + 'bcSearchTemplates.do';
			}
			else if (link.indexOf('###textil_shop###') > 0)
			{
				AllLinks[i].href = order_link + 'textileshopOverview.do';
			}
			else if (link.indexOf('###textil_shop_design###') > 0)
			{
				AllLinks[i].href = order_link + link.replace(/^.*###textil_shop_design###/, 'textileEditorWithDesign.do?design=');
			}
			else if (link.indexOf('###link_terms###') > 0)
			{
				AllLinks[i].href = order_link + 'sbc.do';
			}
			else if (link.indexOf('###online_album###') > 0)
			{
				AllLinks[i].href = order_link + 'myPhotosIntro.do';
			}
			else if (link.indexOf('###login_page###') > 0)
			{
				AllLinks[i].href = order_link + 'loginRegister.do';
			}
			else if (link.indexOf('###download_windows###') > 0)
			{
				AllLinks[i].href = typeof(software_path_windows) != 'undefined' ? software_path_windows : '';
			}
			else if (link.indexOf('###download_mac###') > 0)
			{
				AllLinks[i].href = typeof(software_path_mac) != 'undefined' ? software_path_mac : '';
			}
			else if (link.indexOf('###download_linux###') > 0)
			{
				AllLinks[i].href = typeof(software_path_linux) != 'undefined' ? software_path_linux : '';
			}
			else if (link.indexOf('###account_page###') > 0)
			{
				AllLinks[i].href = order_link + 'myAccount.do';
			}
			else if (link.indexOf('###register_page###') > 0)
			{
				AllLinks[i].href = order_link + 'myAccountRegister.do';
			}
			else if (link.indexOf('###order_tracking_url###') > 0)
			{
				AllLinks[i].href = typeof(order_tracking_url) != 'undefined' ? order_tracking_url : '';
			}
			else if (link.indexOf('###faq_url###') > 0)
			{
				AllLinks[i].href = typeof(faq_url) != 'undefined' ? faq_url : '';
			}
			else if (link.indexOf('###contact_url###') > 0)
			{
				AllLinks[i].href = typeof(contact_url) != 'undefined' ? contact_url : '';
			}
			else if (link.indexOf('###photobook_reorder_url###') > 0)
			{
				AllLinks[i].href = order_link + 'reorder.do';
			}
			else if (link.indexOf('###shopping_cart###') > 0)
			{
				AllLinks[i].href = order_link + 'shoppingcart.do';
			}
			else if (link.indexOf('###greetingcard###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6426&new=true';
			}
			else if (link.indexOf('###card_classic###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6051&new=true';
			}
			else if (link.indexOf('###decorative_calendar_A4_upright###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6279&new=true';
			}
			else if (link.indexOf('###decorative_calendar_A3_upright###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6281&new=true';
			}
		}

		if (AllLinks[i].target == '_lytebox') {
			AllLinks[i].rev = "width: 800px; height: 600px; border:0; scrolling: no;"
			AllLinks[i].setAttribute('rel', 'lyteframe');
		}

	}
}

function GET(parameter)
{
	HTTP_GET_VARS = new Array();
	strGET = document.location.search.substr(1, document.location.search.length);

	if(strGET != '')
	{
		gArr = strGET.split('&');
		for(i=0; i<gArr.length; ++i) {
			v = ''; vArr = gArr[i].split('=');
			if(vArr.length > 1) {
				v = vArr[1];
			}
			HTTP_GET_VARS[unescape(vArr[0])] = unescape(v);
		}
	}

	if(!HTTP_GET_VARS[parameter]){return 'undefined';}
	return HTTP_GET_VARS[parameter];
}

function validateEmail(email)
{
	var splitted = email.match("^(.+)@(.+)$");
	if(splitted == null) return false;
	if(splitted[1] != null )
	{
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null)
		{
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null)return false;
		}
		return true;
	}
	return false;
}

function setRoundedCorners()
{
	var elements = $$('.roundedCornerElement');

	elements.each(function(element,index,object) {
		var options = element.className.match(/\{.+\}/);
		var tmp = new Object();
		tmp = eval('var options = ' + options);
		var roundedCorners = new roundCorners(options);
		roundedCorners.generate(element);
	});

	if(typeof(teaser_round_corners) != 'undefined' && $j('body#page_ips').length == 0) {

		if(teaser_round_corners['set'] == 1) {

			var elements = $j('.teaser');
			elements.each(function(index, element, object) {
				teaser_round_corners['antiAliase'] = true;
				var roundedCorners = new roundCorners(teaser_round_corners);
				roundedCorners.generate(element);
			});

			if($j('#nav_container') != false) {
				if($j('#nav_container').css('display') != 'none') {
					var element = $j('#nav_container');
					var roundedCorners = new roundCorners(teaser_round_corners);
					roundedCorners.generate(element);
				}
			}

			var element = $j('ul#pricelist');
			var roundedCorners = new roundCorners(teaser_round_corners);
			roundedCorners.generate(element);
		}
	}
}

function setPriceGraphics()
{
	$j('.lightbox .price').each(function() {
		$j(this).css('display', 'none');
		$j.ajax({
			dataType: 'jsonp',
			jsonp: 'jsonp_callback',
			context: $(this),
			url: 'http://cs.photoprintit.de/cgi-bin/prices_handler.cgi',
			data: 'data=' + escape($j(this).html().trim()) + '&operator=84000005&font=' + price_font + "&old=" + $j(this).attr('rel'),
			success: function (response) {
				response = eval(response);
				if (response.image != '') {
					$j(this).html('<div class="bg">' + response.image + '</div>');
				}
				$j(this).css('display', 'block');
			},
			type: 'get'
		});
	});
}

/** initialize some basic onload functions **/
$j(document).ready(function()
{
	// prevent onloads events by old scripts
	window.onload = null;

        // perform the IPS onload code
        if (typeof onload_timeout == 'function') {
                onload_timeout();
        }
        if (typeof _gc_onload == 'function') {
                _gc_onload();
        }

	// hide the javascript information
	$j('#java_info').css('display', 'none');

	// not in reddot system?
	if (!RedDotMode)
	{
		// generate price graphics
		setTimeout("setPriceGraphics()", 200);
	}

	// check for plugins
	var plugin = false;
	if (typeof(PluginDetection) != 'undefined') {
		plugin = new PluginDetection();
	}

	// start new system for rounded corners
	setRoundedCorners();

	// set order links on page (new system)
	setOrderLinks(plugin);

	// create some nice popups for kruidvat
	setPopupLinks();

	// create social links
	socialLinks();

	// generate events for photobook variation nav
	$j('.variation').each(function() {
		$j(this).hover(function() {
			$j('.variation').removeClass('active');
			$j(this).addClass('active');
			$j(this).parents('.variation_box').css('background-image', 'url(\'' + $j(this).attr('title') + '\')');
		})
	});

	// activate first photobook variation if exists
	$j('.variation:first').trigger('mouseenter');


	// check if we got a token
	if (token != false && typeof(token) == 'string')
	{
		// forward token to login IFrame of IPS system
		$j('#loginFrame').attr('src', $j('#loginFrame').attr('src') + '&token=' + token);

		// forward token to external canvas provider
		if ($j('iframe[src^=http://www.herinneringenoplinnen.nl]').length > 0)
		{
			var iframe = $j('iframe[src^=http://www.herinneringenoplinnen.nl]');

			var url = '';
			if (sHrefOrig.indexOf("url=")!= -1)
			{
				var search = /[&?]url\=(.*)&/;
				search.exec(sHrefOrig);
				url = 'http://' + RegExp.$1 + '?lang=nl_NL';
			}
			else
			{
				url = $j(iframe).attr('src');
			}

			// add the token to IFrame source
			$j(iframe).attr('src', url + '&token=' + token);
		}
	}
	
	// set onclick on navigation-item ...
	$j('.sub_nav_page_photos_online_order').click(function(){
		pageTracker0._link(this.href); return false;
	});
	
});

jQuery.fn.positionAncestor = function(selector)
{
	var left = 0;
	var top = 0;
	this.each(function(index, element)
	{
		// check if current element has an ancestor matching a selector
		// and that ancestor is positioned
		var $ancestor = $j(this).closest(selector);
		if ($ancestor.length && $ancestor.css("position") !== "static") {
			var $child = $j(this);
			var childMarginEdgeLeft = $child.offset().left - parseInt($child.css("marginLeft"), 10);
			var childMarginEdgeTop = $child.offset().top - parseInt($child.css("marginTop"), 10);
			var ancestorPaddingEdgeLeft = $ancestor.offset().left + parseInt($ancestor.css("borderLeftWidth"), 10);
			var ancestorPaddingEdgeTop = $ancestor.offset().top + parseInt($ancestor.css("borderTopWidth"), 10);
			left = childMarginEdgeLeft - ancestorPaddingEdgeLeft;
			top = childMarginEdgeTop - ancestorPaddingEdgeTop;
			// we have found the ancestor and computed the position
			// stop iterating
			return false;
		}
	});
	return {
		left:    left,
		top:    top
	}
};

/* kruidvat JS */
function ShowAnswer(iAnswer, Items) {
  document.getElementById('faqquestion'+iAnswer).className='highlight';
  document.getElementById('faqanswer'+iAnswer).className='showfaqanswer';
    for (i = 1; i<= 17; i++) {
      if (i != iAnswer) {
        document.getElementById('faqquestion'+i).className='faqquestion';
        document.getElementById('faqanswer'+i).className='hidefaqanswer';
      }
    }
}

function setPopupLinks()
{
	var pp_width = 700;
	var pp_height = 500;
	$j('a[rel*=popup]').each(function() {
		$j(this).click(function() {
			var match = false;
			if (match = $j(this).attr('rel').match(/popup\[([0-9]*)x([0-9]*)\]/))
			{
				pp_width = match[1];
				pp_height = match[2];
			}

			window.open($j(this).attr('href'),'popup','toolbar=no,width=' + pp_width + ',height=' + pp_height + ',resizable=no,top=40,scrollbars=yes');
			return false;
		});
	});

	$j('a[target*=popup]').each(function() {
		$j(this).click(function() {
			var match = false;
			if (match = $j(this).attr('rel').match(/popup\[([0-9]*)x([0-9]*)\]/))
			{
				pp_width = match[1];
				pp_height = match[2];
			}

			window.open($j(this).attr('href'),'popup','toolbar=no,width=' + pp_width + ',height=' + pp_height + ',resizable=no,top=40,scrollbars=yes');
			return false;
		});
	});
}

function socialLinks()
{
	var url = window.location;
	var title = document.title;

	var hyves = 'http://www.hyves.nl/profilemanage/add/tips/?name=' + title + '&url=' + url + '&text=' + title + ' ' + url + '&type=12';
	var facebook = 'http://www.facebook.com/sharer.php?u=' + url + '&t=' + title;
	var twitter = 'http://www.twitter.com/home?status=I+like+' + title.replace(/ /g, '+') + '+see+it+on:+' + url;
	var myspace = 'http://www.myspace.com/Modules/PostTo/Pages/?u=' + encodeURIComponent(document.location.toString());

	$j('.teaser.social .links a[rel=hyves]').attr('href', hyves);

	$j('.teaser.social .links a[rel=facebook]').attr('href', facebook);

	$j('.teaser.social .links a[rel=twitter]').attr('href', twitter);

	$j('.teaser.social .links a[rel=myspace]').attr('href', myspace);
}

function writeCookie(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;
}
