var ContactTypeRequest = 1;
var ContactTypeDocument = 2;
var ContactTypeVideo = 3;
var ContactPassthroughDirect = 'direct';
var ContactPassthroughPopup = 'popup';

var _contactEnabled = true;
var _contactExternalUrl = 'http://mscrm.technoligence.com/af2?LinkID=CH00095593eR00000009AD';
var _contactContentRequestPage = '/AboutUs/ContactContentRequest.aspx';
var _contactCookieName = 'requestContent';
var _contactCookieDomain = 'technoligence.com';
var _contactIsDev = false;
var _contactIsMSIE = false;

$(document).ready(function() 
{
    jQuery.each(jQuery.browser, function(i)
    {
                    if ($.browser.msie)
                                    _contactIsMSIE = true;
    });
    
    //$.ui.dialog.defaults.bgiframe = true;

    var dialogEl = $("#dialog");
    if (dialogEl && (dialogEl.length > 0))
    {
                    if (_contactIsMSIE)
                                    dialogEl.dialog({ autoOpen: false, width: 500,height: 270, draggable: false, modal: true, resizable: false });
                    else
                                    dialogEl.dialog({ autoOpen: false, width: 500, height: 270, draggable: false, modal: true, resizable: false });
    }
});

function contactGoToPopup(url, interest, type)
{
	contactGoToLinkEx2(url, '', interest, ContactPassthroughPopup, type)
}

function contactGoToPopupEx(url, externalUrl, interest, type)
{
	contactGoToLinkEx2(url, externalUrl, interest, ContactPassthroughPopup, type)
}

function contactGoToLink(url, interest, type)
{
	contactGoToLinkEx2(url, '', interest, ContactPassthroughDirect, type);
}

function contactGoToLinkEx(url, externalUrl, interest, type)
{
	contactGoToLinkEx2(url, externalUrl, interest, ContactPassthroughDirect, type);
}

function contactGoToLinkEx2(url, externalUrl, interest, passthrough, type)
{
	if (!_contactEnabled)
	{
		contactOpenLink(url);
		return;
	}

	var cookie = $.cookie(_contactCookieName);
	if (cookie)
	{
		url = _contactContentRequestPage + '?url=' + escape(url);
		contactOpenLink(url, passthrough);
		return;
	}

	var urlQuery = '&version=dialog';
	if (interest > 0)
		urlQuery += '&interest=' + interest;

	if (passthrough)
		urlQuery += '&passthrough=' + passthrough;

	if (type)
		urlQuery += '&type=' + type;
	else
		urlQuery += '&type=' + ContactTypeDocument;

	if (externalUrl == '')
		externalUrl = _contactExternalUrl;
	var linkUrl = externalUrl + '&url=' + escape(url) + urlQuery;
	contactOpenDialog(linkUrl);
}

function contactCloseDialog()
{
	$("#dialog").dialog("close");
}

function contactOpenDialog(url)
{
	if (_contactIsMSIE)
		$("#dialog").html('<iframe id="modalIframeId" style="width:100%; height:215px; padding-left:1px;" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="no" />').dialog("open");
	else
		$("#dialog").html('<iframe id="modalIframeId" style="width:100%; height:215px; padding-left:1px;" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="no" />').dialog("open");
	$("#modalIframeId").attr("src", url);
}

function contactOpenLink(url, passthrough, local)
{
	if (local)
	{
		if (passthrough == ContactPassthroughPopup)
			window.open(url);
		else
			window.location = url;
	}
	else
	{
		if (passthrough == ContactPassthroughPopup)
			parent.open(url);
		else
			parent.location = url;
	}
}

function contactSetCookie(name, domain)
{
	$.cookie(name, 'submitted', { expires: 356, path: '/', domain: domain });
}

function contactSetExternalUrl(url)
{
	_contactExternalUrl = url; 
}

function alertError(err, title)
{
	if (!err)
		return;

	if (!_contactIsDev)
		return;

	alert((title && title != '' ? title + '\r\n' : '') +
				err.name + ' (' + err.number + ')' +
				(err.description ? '\r\n' + err.description : '') +
				(err.message ? (err.description != err.message ? '\r\n' + err.message : '') : ''));
}
