var path = (document.location.protocol=="https:")?"https://" : "http://" + "customers.agriya.com/";
var chaturl = path+"chat.html";

function addLink(){
	var chatContainerID = 'selChatLink';
	if(arguments.length>0){
		chatContainerID = arguments[0];
	}
	var divEle=document.createElement('a');
	var chatLinkID = chatContainerID+'ChatLink';
	divEle.setAttribute("id", chatLinkID);
	divEle.setAttribute("target", "new");
 	//divEle.setAttribute("onclick","window.open('"+ path +"chat.html','Livechat','width=400,height=500,scrollbars=yes')");
    divEle.onclick = function() {window.open(chaturl,'Livechat','width=500,height=525,scrollbars=yes');}; // for IE
 	if (chatContainer = document.getElementById(chatContainerID))
		chatContainer.appendChild(divEle);
	else
		document.body.appendChild(divEle);
	//addLink = '<a href="javascript:void(0);" ></a>';
	document.getElementById(chatLinkID).innerHTML = 'Live Sales';
}

function addButton(){
	var chatContainerID = 'selChatLink';
	if(arguments.length>0){
		chatContainerID = arguments[0];
	}
	var divEle=document.createElement('div');
	var chatButtonID = chatContainerID+'ChatButton';
	divEle.setAttribute("id", chatButtonID);
 	//divEle.setAttribute("onclick","window.open('"+ path +"chat.html','Livechat','width=400,height=500,scrollbars=yes')");
    divEle.onclick = function() {window.open(chaturl,'Livechat','width=500,height=525,scrollbars=yes');}; // for IE
 	if (chatContainer = document.getElementById(chatContainerID))
		chatContainer.appendChild(divEle);
	else
		document.body.appendChild(divEle);
	addButton = '<input id="live_help" type="button" value="Live Sales" tabindex="1010" name="live_help">';
	document.getElementById(chatButtonID).innerHTML = addButton;
}

function addImage(){
	var image_name = 'staffonline.gif';
	var chatContainerID = 'selChatLink';
	if(arguments.length>0){
		image_name = arguments[0];
		if (image_name == 'agriya')
			image_name = image_name + '.gif';
	}
	if(arguments.length>1){
		chatContainerID = arguments[1];
	}
	var divEle=document.createElement('div');
	var chatImageId = chatContainerID+'ChatImg';
	divEle.setAttribute("id", chatImageId);
 	//divEle.setAttribute("onclick","window.open('"+ path +"chat.html','Livechat','width=400,height=500,scrollbars=yes')");
 	divEle.onclick = function() {window.open(chaturl,'Livechat','width=500,height=525,scrollbars=yes');}; // for IE
 	if (chatContainer = document.getElementById(chatContainerID))
		chatContainer.appendChild(divEle);
	else
		document.body.appendChild(divEle);
	addImg = '<a href="javascript:void(0);"><img src="'+ path +'design/templates/default/root/images/'+ image_name +'" /></a>';
	document.getElementById(chatImageId).innerHTML = addImg;
}

//To get browser flash version
function getFlashVersion()
            {
                function a()
                {
                    var b, f;
                    try
                    {
                        f = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"), b = f.GetVariable("$version")
                    }
                    catch (d)
                    {}
                    if (!b) try
                    {
                        f = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"), b = "WIN 6,0,21,0", f.AllowScriptAccess = "always", b = f.GetVariable("$version")
                    }
                    catch (c)
                    {}
                    if (!b) try
                    {
                        f = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"), b = f.GetVariable("$version")
                    }
                    catch (i)
                    {}
                    if (!b) try
                    {
                        new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"), b = "WIN 3,0,18,0"
                    }
                    catch (o)
                    {}
                    if (!b) try
                    {
                        new ActiveXObject("ShockwaveFlash.ShockwaveFlash"), b = "WIN 2,0,0,11"
                    }
                    catch (e)
                    {}
                    return b
                }
                var f = navigator.appVersion.indexOf("MSIE") != -1 ? !0 : !1,
                    d = navigator.appVersion.toLowerCase().indexOf("win") != -1 ? !0 : !1,
                    c = navigator.userAgent.indexOf("Opera") != -1 ? !0 : !1;
                try
                {
                    var i = "none";
                    if (navigator.plugins != null && navigator.plugins.length > 0)
                    {
                        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
                        {
                            var o = navigator.plugins["Shockwave Flash" + (navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "")].description.split(" "),
                                e = o[2].split("."),
                                k = e[0],
                                g = e[1],
                                m = o[3];
                            m == "" && (m = o[4]);
                            m[0] == "d" ? m = m.substring(1) : m[0] == "r" && (m = m.substring(1), m.indexOf("d") > 0 && (m = m.substring(0, m.indexOf("d"))));
                            i = k + "." + g + "." + m
                        }
                    }
                    else navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1 ? i = 4 : navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1 ? i = 3 : navigator.userAgent.toLowerCase().indexOf("webtv") != -1 ? i = 2 : f && d && !c && (i = a());
                    return i.replace(/,/g, ".")
                }
                catch (r)
                {
                    return "none"
                }
        }

function hasFlash() {
	var a = getFlashVersion();
	if (a != "none" && a != "") return !0;
     		return !1
}

function playSound(soundfile) {
 	if(hasFlash())
         	{
 		   document.getElementById("alertSound").innerHTML= '<object width="0" height="0" style="width:0px;height:0px;font-size:0px;margin:0;padding:0;background-color:transparent;"><param name="movie" value="'+soundfile+'"></param><param name="loop" value="false"></param><param name="autostart" value="true"></param><param name="WMode" value="Window"></param><param name="Scale" value="ShowAll"></param><embed src="'+soundfile+'" type="application/x-shockwave-flash" swliveconnect="true" width="0" height="0" loop="false" autostart="true" wmode="window" scale="ShowAll" style="width:0px;height:0px;font-size:0px;margin:0;padding:0;background-color:transparent;"></embed></object>';
		}
}


/** APE javascript.js **/
var APE = {
	Config: {
		identifier: 'ape',
		init: true,
		frequency: 0,
		scripts: []
	},

	Client: function(core) {
			if(core) this.core = core;
	}
}
APE.Client.prototype.eventProxy = [];
APE.Client.prototype.fireEvent = function(type, args, delay) {
	this.core.fireEvent(type, args, delay);
}

APE.Client.prototype.addEvent = function(type, fn, internal) {
	var newFn = fn.bind(this), ret = this;
	if(this.core == undefined){
		this.eventProxy.push([type, fn, internal]);
	}else{
		var ret = this.core.addEvent(type, newFn, internal);
		this.core.$originalEvents[type] = this.core.$originalEvents[type] || [];
		this.core.$originalEvents[type][fn] = newFn;
	}
	return ret;
}
APE.Client.prototype.removeEvent = function(type, fn) {
	return this.core.removeEvent(type, fn);
}

APE.Client.prototype.onRaw = function(type, fn, internal) {
		this.addEvent('raw_' + type.toLowerCase(), fn, internal);
}

APE.Client.prototype.onCmd = function(type, fn, internal) {
		this.addEvent('cmd_' + type.toLowerCase(), fn, internal);
}

APE.Client.prototype.onError = function(type, fn, internal) {
		this.addEvent('error_' + type, fn, internal);
}

APE.Client.prototype.cookie = {};

APE.Client.prototype.cookie.write = function (name, value) {
	document.cookie = name + "=" + encodeURIComponent(value) + "; domain=" + document.domain;
}

APE.Client.prototype.cookie.read = function (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 decodeURIComponent(c.substring(nameEQ.length,c.length));
		}
	}
	return null;
}

APE.Client.prototype.load = function(config){

	config = config || {};

	config.transport = config.transport || APE.Config.transport || 0;
	config.frequency = config.frequency || 0;
	config.domain = config.domain || APE.Config.domain || document.domain;
	config.scripts = config.scripts || APE.Config.scripts;
	config.server = config.server || APE.Config.server;
	config.secure = config.sercure || APE.Config.secure;

	config.init = function(core){
		this.core = core;
		for(var i = 0; i < this.eventProxy.length; i++){
			this.addEvent.apply(this, this.eventProxy[i]);
		}
	}.bind(this);

	//set document.domain
	if (config.transport != 2) {
		if (config.domain != 'auto') document.domain = config.domain;
		if (config.domain == 'auto') document.domain = document.domain;
	}

	//Get APE cookie
	var cookie = this.cookie.read('APE_Cookie');
	var tmp = eval('(' + cookie + ')');

	if (tmp) {
		config.frequency = tmp.frequency+1;
	} else {
		cookie = '{"frequency":0}';
	}

	var reg = new RegExp('"frequency":([ 0-9]+)' , "g")
	cookie = cookie.replace(reg, '"frequency":' + config.frequency);
	this.cookie.write('APE_Cookie', cookie);

	var iframe = document.createElement('iframe');
	iframe.setAttribute('id','ape_' + config.identifier);
	iframe.style.display = 'none';
	iframe.style.position = 'absolute';
	iframe.style.left = '-300px';
	iframe.style.top = '-300px';
	document.body.insertBefore(iframe,document.body.childNodes[0]);

	var initFn = function() {
		iframe.contentWindow.APE.init(config);
	}

	if (iframe.addEventListener) {
		iframe.addEventListener('load', initFn, false);
	} else if (iframe.attachEvent) {
		iframe.attachEvent('onload', initFn);
	}

	if (config.transport == 2) {
		var doc = iframe.contentDocument;
		if (!doc) doc = iframe.contentWindow.document;//For IE

		//If the content of the iframe is created in DOM, the status bar will always load...
		//using document.write() is the only way to avoid status bar loading with JSONP
		doc.open();
		var theHtml = '<html><head>';
		for (var i = 0; i < config.scripts.length; i++) {
			theHtml += '<script type="text/JavaScript" src="' + config.scripts[i] + '"></script>';
		}
		theHtml += '</head><body></body></html>';
		doc.write(theHtml);
		doc.close();
	} else {
		iframe.setAttribute('src',(config.secure ? 'https': 'http') + '://' + config.frequency + '.' + config.server + '/?[{"cmd":"script","params":{"domain":"' + document.domain +'","scripts":["' + config.scripts.join('","') + '"]}}]');
		if (navigator.product == 'Gecko') {
			//Firefox fix, see bug #356558
			// https://bugzilla.mozilla.org/show_bug.cgi?id=356558
			iframe.contentWindow.location.href = iframe.getAttribute('src');
		}
	}

}

if (Function.prototype.bind == null) {
	Function.prototype.bind = function(bind, args) {
		return this.create({'bind': bind, 'arguments': args});
	}
}
if (Function.prototype.create == null) {
	Function.prototype.create = function(options) {
			var self = this;
			options = options || {};
			return function(){
				var args = options.arguments || arguments;
				if(args && !args.length){
					args = [args];
				}
				var returns = function(){
					return self.apply(options.bind || null, args);
				};
				return returns();
			};
	}
}

/***
 * APE JSF Setup
 */

APE.Config.baseUrl = 'http://push.agriya.com/APE_JSF'; //APE JSF
APE.Config.domain = 'agriya.com';
APE.Config.server = 'push.agriya.com:6969'; //APE server URL

(function(){
	for (var i = 0; i < arguments.length; i++)
		APE.Config.scripts.push(APE.Config.baseUrl + '/Source/' + arguments[i] + '.js');
})('mootools-core', 'Core/APE', 'Core/Events', 'Core/Core', 'Pipe/Pipe', 'Pipe/PipeProxy', 'Pipe/PipeMulti', 'Pipe/PipeSingle', 'Request/Request','Request/Request.Stack', 'Request/Request.CycledStack', 'Transport/Transport.longPolling','Transport/Transport.SSE', 'Transport/Transport.XHRStreaming', 'Transport/Transport.JSONP', 'Transport/Transport.WebSocket', 'Core/Utility', 'Core/JSON');

var chatloaded = 1;
