/* embed flash (IE activex fix) */
function embedFlash(file, flashvars, width, height)
{
	
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+ width +'" height="'+ height +'" id="' + file + '" align="middle">\n');
	document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
	document.write('<param name="movie" value="'+ file +'" />\n');
	document.write('<param name="FlashVars" value="'+ flashvars +'" />\n');
	document.write('<param name="quality" value="high" />\n');
	document.write('<param name="wmode" value="transparent" />\n');
	document.write('<embed wmode="transparent" src="'+ file +'" FlashVars="'+ flashvars +'" quality="high" bgcolor="#000000" width="'+ width +'" height="'+ height +'" name="' + file + '" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
	document.write('</object>\n');
	
}

// mootools

window.addEvent('domready', function() {

	// tab tootltips

	var tooltips = new Tips($$('.tabTip'), {
		className: 'tabTip',
		offsets: {'x': 15,'y': -20},
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 250, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		}
	});


	// accordion
	new Accordion($$('div#accordionExample .stretchtoggle'), $$('div#accordionExample .stretcher'),
		{
		onActive: function(tog){
			//tog.setStyle('display', 'none');
		},
		show: function(tog){
			alwaysHide: true;
			//tog.setStyle('display', 'none');
		},
		onComplete: function(tog) {
			var tog = $(this.elements[this.previous]);
			if (tog.offsetHeight > 0) tog.setStyle('height', 'auto');
		}
	});

});


function recordOutboundLink(link, category, action) {
  if(pageTracker && !pageTracker.cb) {
    setTimeout(function() {
      recordOutboundLink(link, category, action);
    }, 200);    return;
  }
   try {
  pageTracker._trackEvent(category, action);
  setTimeout('document.location = "' + link.href + '"', 100)
	 }catch(err){}
}




function loadAjaxForms()
{
	window.addEvent('domready', function() {

		logWrapper = new Array();

		$$('.ajaxLog').each(function(el, index) {
			logWrapper[index] = el;
		});

		// create logs
		$$('form.ajax').each(function(el, index) {
			logs = [];
			logs[index] = new Element('div', {
				'styles': {
					'overflow': 'auto'
				},
				'id': 'log' + index
			}).injectInside(logWrapper[index]);

			el.addEvent('submit', function(e) {

				new Event(e).stop();

				log = logWrapper[index].empty().addClass('ajax-loading');

				this.send({
					update: log,

					onComplete: function() {
						log.removeClass('ajax-loading');
					},
					onSuccess: function() {
						log.getNext().remove();
					},
					onFailure: function() {
						log.setHTML(this.transport.responseText);
						log.removeClass('ajax-loading');
					}
				});
			});

		});

	});
}


jQuery(function(){

	var logWrapper = new Array();
	var formWrapper = new Array();
	
	jQuery('.jqAjaxLog').each(function(index) {
		logWrapper[index] = this;
	});
	
	jQuery('.jqAjaxFormWrapper').each(function(index) {
		formWrapper[index] = this;
	});
	
	
	jQuery('form.jqAjaxForm').each(function(index) {
				
		jQuery(this).bind('submit', function(eventObj) {
			
			eventObj.preventDefault();
			
			var formData = jQuery(this).serialize();
			var formURL  = jQuery(this).attr('action');
			var defaultConf = '{"remove_form":true}';
			
			if (jQuery(this).attr('rel') == null) {
				formConf = jQuery.parseJSON(defaultConf);
			} else {
				formConf = jQuery.parseJSON(jQuery(this).attr('rel'));
			}
			
			jQuery(logWrapper[index]).empty().addClass('ajax-loading');
			
			var jqxhr = jQuery.post(formURL, formData, function() {
				if (jqxhr.status == '200') {
					// Success - 200 OK
					jQuery(logWrapper[index]).html(jqxhr.responseText);
					if (formConf.remove_form == true) {
						jQuery(formWrapper[index]).remove();
					}
				}
		    })
		    .error(function() { 
		    	
		    	if (jqxhr.status == '400') {
			    	// Error - 400 Bad Request
			    	jQuery(logWrapper[index]).html(jqxhr.responseText);
		    	} else if (jqxhr.status == '404') {
		    		jQuery(logWrapper[index]).html("404 Ikke fundet - Kontakt os så vi kan rette fejlen");
		    	}
		    })
		    .complete(function() { 
		    	jQuery(logWrapper[index]).removeClass('ajax-loading');
		    });
						
		});
		
	});

});


function submitGuide(type) {
    
    return false;
    
    window.addEvent('domready', function() {
        
        //alert(6542321);
        
        var myForm = $E('form.ajax');
        var log;

        if (type == 3) {
            // create rating hidden input
            ratingEl = new Element('input', {
                'type': 'hidden',
                'name': 'rating',
                'value': 1
            }).injectAfter($('sortKarakter'));

            if (!rating) {
                rating = 1;
            }

            var rating = ratingEl.value;
        }

        // send form
        function sendForm(rating)
        {

            log = $E('div#log').empty().addClass('ajax-loading');

            if (type == 3) {
                if (!rating) {
                    rating = ratingEl.value;
                } else {
                    ratingEl.setProperty('value', rating);
                }
            }

            myForm.send({
                update: log,
                onSuccess: function() {
                    log.removeClass('ajax-loading');
                },
                onComplete: function() {
                    log.removeClass('ajax-loading');
                },
                onFailure: function() {
                    log.setHTML(this.transport.responseText);
                    log.removeClass('ajax-loading');
                }
            });
            if (type == 3) {
                myElement.getChildren().each(function(el, index) {
                    if (index < rating) {
                        el.addClass('active');
                    }
                });
                initState = rating;
                if (initState == '') initState = 1;
            }
        }

        // submit form
        myForm.addEvent('submit', function(e) {

            new Event(e).stop();

            sendForm(rating);

        });

        if (type == 3) {

            // setup rating images and add events
            myElement = $('sortKarakter');

            var num = myElement.getChildren().length;
            if (!initState) {
                var initState = 0;
            }

            myElement.getChildren().each(function(el, index) {
                if (el.hasClass('active')) {
                    initState++;
                }

                el.addEvents({
                    'click': function() {
                        sendForm(index+1);
                    },
                    'mouseenter': function() {
                        myElement.getChildren().each(function(subEl, subIndex) {
                            if (subIndex <= index) {
                                subEl.addClass('active');
                            } else {
                                subEl.removeClass('active');
                            }
                        });
                    },
                    'mouseleave': function() {
                        el.removeClass('active');
                    }
                });

                myElement.addEvent('mouseleave', function() {
                    myElement.getChildren().each(function(el, index) {
                        if (index < initState) {
                            el.addClass('active');
                        } else {
                            el.removeClass('active');
                        }
                    });
                });
            });
        }

        // sort submit
        $ES('select', myForm).each(function(el, index) {
            el.addEvent('change', function() {
                sendForm();
            });
        });

        // facts submit
        $ES('input', myForm).each(function(el, index) {
            el.addEvent('click', function() {
                sendForm();
            });
        });

    });

}

function _OLD_submitGuide(type) {
	
	window.addEvent('domready', function() {
		
		//alert(6542321);
		
		var myForm = $E('form.ajax');
		var log;

		if (type == 3) {
			// create rating hidden input
			ratingEl = new Element('input', {
				'type': 'hidden',
				'name': 'rating',
				'value': 1
			}).injectAfter($('sortKarakter'));

			if (!rating) {
				rating = 1;
			}

			var rating = ratingEl.value;
		}

		// send form
		function sendForm(rating)
		{

			log = $E('div#log').empty().addClass('ajax-loading');

			if (type == 3) {
				if (!rating) {
					rating = ratingEl.value;
				} else {
					ratingEl.setProperty('value', rating);
				}
			}

			myForm.send({
				update: log,
				onSuccess: function() {
					log.removeClass('ajax-loading');
				},
				onComplete: function() {
					log.removeClass('ajax-loading');
				},
				onFailure: function() {
					log.setHTML(this.transport.responseText);
					log.removeClass('ajax-loading');
				}
			});
			if (type == 3) {
				myElement.getChildren().each(function(el, index) {
					if (index < rating) {
						el.addClass('active');
					}
				});
				initState = rating;
				if (initState == '') initState = 1;
			}
		}

		// submit form
		myForm.addEvent('submit', function(e) {

			new Event(e).stop();

			sendForm(rating);

		});

		if (type == 3) {

			// setup rating images and add events
			myElement = $('sortKarakter');

			var num = myElement.getChildren().length;
			if (!initState) {
				var initState = 0;
			}

			myElement.getChildren().each(function(el, index) {
				if (el.hasClass('active')) {
					initState++;
				}

				el.addEvents({
					'click': function() {
						sendForm(index+1);
					},
					'mouseenter': function() {
						myElement.getChildren().each(function(subEl, subIndex) {
							if (subIndex <= index) {
								subEl.addClass('active');
							} else {
								subEl.removeClass('active');
							}
						});
					},
					'mouseleave': function() {
						el.removeClass('active');
					}
				});

				myElement.addEvent('mouseleave', function() {
					myElement.getChildren().each(function(el, index) {
						if (index < initState) {
							el.addClass('active');
						} else {
							el.removeClass('active');
						}
					});
				});
			});
		}

		// sort submit
		$ES('select', myForm).each(function(el, index) {
			el.addEvent('change', function() {
				sendForm();
			});
		});

		// facts submit
		$ES('input', myForm).each(function(el, index) {
			el.addEvent('click', function() {
				sendForm();
			});
		});

	});

}


function submitGuideTur(type) {
	
    return false;
    
	window.addEvent('domready', function() {
		
		
		var myTurForm = $E('#turGuideWrapper form.ajax');
		var myTurLog;

		if (type == 4) {
			// create rating hidden input
			ratingTurEl = new Element('input', {
				'type': 'hidden',
				'name': 'rating',
				'value': 1
			}).injectAfter($('sortTurKarakter'));

			if (!rating) {
				rating = 1;
			}

			var rating = ratingTurEl.value;
		}

		// send form
		function sendTurForm(rating)
		{

			myTurLog = $E('div#logTur').empty().addClass('ajax-loading');

			if (type == 4) {
				if (!rating) {
					rating = ratingTurEl.value;
				} else {
					ratingTurEl.setProperty('value', rating);
				}
			}

			myTurForm.send({
				update: myTurLog,
				onSuccess: function() {
					myTurLog.removeClass('ajax-loading');
				},
				onComplete: function() {
					myTurLog.removeClass('ajax-loading');
				},
				onFailure: function() {
					myTurLog.setHTML(this.transport.responseText);
					myTurLog.removeClass('ajax-loading');
				}
			});
			if (type == 4) {
				ratingTurEl.getChildren().each(function(el, index) {
					if (index < rating) {
						el.addClass('active');
					}
				});
				initState = rating;
				if (initState == '') initState = 1;
			}
		}

		// submit form
		myTurForm.addEvent('submit', function(e) {

			new Event(e).stop();

			sendTurForm(rating);

		});

		if (type == 4) {

			// setup rating images and add events
			myTurElement = $('sortTurKarakter');

			var num = myTurElement.getChildren().length;
			if (!initState) {
				var initState = 0;
			}

			myTurElement.getChildren().each(function(el, index) {
				if (el.hasClass('active')) {
					initState++;
				}

				el.addEvents({
					'click': function() {
						sendTurForm(index+1);
					},
					'mouseenter': function() {
						myTurElement.getChildren().each(function(subEl, subIndex) {
							if (subIndex <= index) {
								subEl.addClass('active');
							} else {
								subEl.removeClass('active');
							}
						});
					},
					'mouseleave': function() {
						el.removeClass('active');
					}
				});

				myTurElement.addEvent('mouseleave', function() {
					myTurElement.getChildren().each(function(el, index) {
						if (index < initState) {
							el.addClass('active');
						} else {
							el.removeClass('active');
						}
					});
				});
			});
		}

		// sort submit
		$ES('select', myTurForm).each(function(el, index) {
			el.addEvent('change', function() {
				sendTurForm();
			});
		});

		// facts submit
		$ES('input', myTurForm).each(function(el, index) {
			el.addEvent('click', function() {
				sendTurForm();
			});
		});

	});

}

/*  Tur- og hotelguide som jQuery frem for MooTools 
    CJS, 14-11-2011
*/

$jq(function(){
    
    /*
    // Tracking af mailto: links - CJS - 2011-12-13
    $jq("a[href^='mailto:']").click(function(){
        _gaq.push(['_trackEvent', 'MailToLinks', 'Click', this.href.replace("mailto:", ""), location]);
    });
    */

    tb_fn = function(){
        formAction = this.form.action.split("/").reverse()[0];
        if (formAction != "hotelguide.php" && formAction != "turguide.php" && formAction != "destinationsguide.php" && formAction != "produktgruppe_guide.php"){
            return;
        }
        if (this.form.id == "turGuideWrapper"){
            logID = "div#logTur";   
        } else {
            logID = "div#log"; 
        }
        $jq(logID).empty().addClass('ajax-loading').load(this.form.action, $jq("form.ajax").serialize(), function(){$jq(logID).removeClass('ajax-loading')});         
    }    

    $jq("form[action*='hotelguide.php'] select, form[action*='turguide.php'] select, form[action*='destinationsguide.php'] select, form[action*='produktgruppe_guide.php'] select").change(tb_fn);
    $jq("form[action*='hotelguide.php'] input:checkbox, form[action*='turguide.php'] input:checkbox, form[action*='destinationsguide.php'] input:checkbox, form[action*='produktgruppe_guide.php'] input:checkbox").change(tb_fn);

    var ratingField = $jq("<input type='hidden' name='rating' id='ratingfield' value='1' />");

    if ($jq("#sortKarakter").length){
        ratingID = "#sortKarakter";
    } else if ($jq("#sortTurKarakter").length){
        ratingID = "#sortTurKarakter";
    } else {
        ratingID = false;
    }
    if (ratingID){
        $jq(ratingID).append(ratingField);    
        rating_fn = function(event){
            if (event.type == "mouseover"){
                thisindex = $jq(this).index();
                $jq(ratingID + " div").each(function(index){
                    if (index <= thisindex){ 
                        $jq(this).addClass("active");
                    } else {
                        $jq(this).removeClass("active");
                    }
                })         
            }
            if (event.type == "click"){
                $jq("#ratingfield").val(1 * thisindex + 1);
                $jq($jq("#" + $jq(this).closest("form").attr("id") + " select")[0]).change()
            }
            if (event.type == "mouseout"){
                $jq(ratingID + " div").each(function(index){
                    if (index < $jq("#ratingfield").val()){ 
                        $jq(this).addClass("active");
                    } else {
                        $jq(this).removeClass("active");
                    }
                })         
            }
        }            
        $jq(ratingID + " div").mouseover(rating_fn);
        $jq(ratingID + " div").mouseout(rating_fn);
        $jq(ratingID + " div").click(rating_fn);
    }
});

