var clipTop = 0;
var clipRight;
var clipBottom = 90;
var clipLeft;
var leftLoc;
var scroller;
var div_width = 284;
var div_left = 0;
var cellSize = 71;

var selectedScene;
var selectedSceneChsm;
var pacificaError;
var sceneId;
var sceneChsm;

function pacificaNotInstalled(err)
{
	//remove pacifica error becasue plug in doesn't work
	return;
	var errorHTML = "<h1><img src='images/error.gif' style='vertical-align: text-bottom;' /> Pacifica plugin is not installed </h1><a href='Setup.msi.zip'><h3>Download plugin</h3></a>";
	$('#pacificaDetectDiv').hide().html(errorHTML).modal({containerId: 'errModalContainer'});
	//<h3>("+err+")</h3>
	pacificaError = true;
	//alert(err);
	
}

function editVoki(LaunchURL, TokenID, secretPhrase, partnerID, configID, userid){
	var cxt = 'skype';
	var sceneid = readCookie('selectedCell');
	if (!sceneid) 
		sceneid = 0;

	var edt = '1';
	var csString = partnerID + configID + userid + cxt + sceneid + edt + TokenID + secretPhrase;
	var cs = MD5(csString);
	var sUrl = LaunchURL +'?PID='+ partnerID +'&CID='+ configID +'&UID='+ userid +'&CXT='+ cxt +'&SID='+ sceneid +'&EDT='+ edt +'&TKN='+ TokenID +'&CS='+ cs;
	alert(sUrl);
	//location.href = sUrl;
	window.location.href = sUrl;
}


function confirmDeleteVoki_iframe(accountID, userid) 
{
	var answer = window.confirm("Are you sure you want to delete it?");
	if (answer){
		deleteVoki_iframe(accountID, userid);
		return true;
	}else
		return false;

}

function deleteVoki_iframe(accountID, userid)
{
	var deleteID = readCookie('selectedCell');

	if (!deleteID)
		return;
		
	var pars = '?deleteID=' + deleteID + '&accid='+accountID + '&skypeuser=' + userid;		
	var sUrl = 'deleteScene.php' + pars;

	var ajaxRequest = CreateAjaxObj();
	if (!ajaxRequest)
		return false;

	try{
		ajaxRequest.onreadystatechange = function(){ HandleDeleteResponse(ajaxRequest); };
		ajaxRequest.open('GET', sUrl, true);
		ajaxRequest.send(null);
	}catch(err){
		alert("AjaxCall Error: "+err);
		return false;
	}
			
}

function HandleDeleteResponse(httpReq){

	if (httpReq.readyState == 4 ){
		
		if (httpReq.status != 200 ){
			alert("httpReq.status: "+httpReq.status);
		}
		else{
			
			var sUrl = location.href;
			// get rid of 'skypeSceneid' in the link to let the page refresh
			var posStart = sUrl.indexOf('&skypeSceneid=');
			if (posStart == -1){
				location.href = sUrl;										
				return;
			}
			//var sUrlpre = sUrl.substr(0, posStart);
			var posEnd = sUrl.indexOf('&', posStart+1)
			if (posEnd == -1){
				
				location.href = sUrl.substr(0, posStart);									
				return;
			}
			var sUrl_pre = sUrl.substr(0, posStart);
			var sUrl_suf = sUrl.substr(posEnd, sUrl.length);

			location.href = sUrl_pre+sUrl_suf;
		}

	}
	else{
		UpdateButtonIcon(false, false);
	}

}


function checkUpdate(sName, curVer){
	var bHasChecked = readCookie('HasCheckedUpdate');
	if (bHasChecked == '1')
		return;
//	setCookie('HasCheckedUpdate', '1', null, '/', 'oddcast.com');
	
	var pars = '?ID=' + sName + '&version=' + curVer;
	var sUrl = '../upgrade.php' + pars;
	
	var ajaxRequest = CreateAjaxObj();
	if (!ajaxRequest)
		return false;
		
	try{
		ajaxRequest.onreadystatechange = function(){ HandleUpdateResponse(ajaxRequest); };
		ajaxRequest.open('GET', sUrl, true);
		ajaxRequest.send(null);
	}catch(err){
		alert("AjaxCall Error: "+err);
		return false;
	}
	
}

function HandleUpdateResponse(httpReq){
	if (httpReq.readyState == 4 ){
		if (httpReq.status != 200 ){
			
		}
		else{
			//alert(httpReq.responseText);
			var result = HandleCheckUpdateResult(httpReq.responseText);
			if (result[0] == "yes" ){			
				setCookie('HasCheckedUpdate', '1', null, '/', 'oddcast.com');
				var answer = window.confirm("There is a new version available. Would you like to download it?" );
				if (!answer)
					return;
				else{
					window.open(result[1]);
				}
			}
		}

	}
	else{
	}
	
}

function HandleCheckUpdateResult(sResultXML){
	try{
		objResDom = LoadXMLDOM(sResultXML);
		var objResTree = objResDom;
		var objResponse = objResTree.getElementsByTagName('response').item(0);
		var objPageLink = objResTree.getElementsByTagName('PageLink').item(0);
		var valResponse = (objResponse && objResponse.firstChild)?objResponse.firstChild.nodeValue:"";
		var valPageLink = (objPageLink && objPageLink.firstChild)?objPageLink.firstChild.nodeValue:""; 
		return [valResponse, valPageLink];
	}catch(e){
	// invalid xml or fail to create DOM xml parser
		return [null, e];
	}
}

function LoadXMLDOM(sResultXML){
	var xmlDoc;
	try{
		if (window.ActiveXObject){
		  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		  xmlDoc.async = false;
		  xmlDoc.loadXML(sResultXML);
		  //alert("IE: "+xmlDoc.getElementsByTagName('NumSS').length);
		}else{
			 var parser = new DOMParser();
			 xmlDoc = parser.parseFromString(sResultXML,"text/xml");
			 //alert("Firefox: "+xmlDoc.getElementsByTagName('NumSS').length);
		}	
	}catch(e){
		xmlDoc = null;
		throw(e);
	}
		
	return xmlDoc;
}

function CreateAjaxObj() 
{
	try{
		if (window.XMLHttpRequest)
			ajaxObj = new XMLHttpRequest();
		else
			ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
	}catch (err){
			ajaxObj = null;
	}
		
	return ajaxObj;
}


function Init() {

	//checkUpdate("VOKISKYPE", "1.0");
	
	/*var cellid = readCookie('selectedCell');
	if (!cellid){ 
		var precellid = readCookie('prevselectedCell');	
		if (!precellid)
			return;
		cellid = precellid;
	}
	var objCell = document.getElementById('s_'+cellid);
	if (!objCell)
		return;
	objCell.className = 'thumbnailSelected';

	setCookie('selectedCell', cellid, null, '/', 'oddcast.com');
	setCookie('prevselectedCell', cellid, null, '/', 'oddcast.com');
	if ( $("#vokiScenesCustom .thumbnailSelected").get(0) )
		UpdateButtonIcon(true, true);
	else
		UpdateButtonIcon(false, false);*/
	$("#rightArrow").click(function(){scrollRight(0)});
	
}

function showIntro(sceneId,chsm)
{
	//alert("showIntro "+sceneId+" chsm="+chsm);
	document.getElementById('previewFrame').innerHTML = AC_Voki_Embed(225, 300, chsm, sceneId, true, 'FFFFFF', 1);
}

function SelectCell(cellid, chsm){
	
	//alert('SelectCell '+cellid+","+chsm);
	//UpdateButtonIcon(bIsRegScene, bIsRegScene);
	//setCookie('selectedCell', cellid, null, '/', 'oddcast.com');
	//alert("selectedScene="+cellid);
	selectedScene = cellid;
	selectedSceneChsm = chsm;
	/*
	var objCell = document.getElementById('s_'+cellid);
	objCell.className = 'thumbnailSelected';
	
	var prevcellid = readCookie('prevselectedCell');

	if (prevcellid){
		objCell = document.getElementById('s_'+prevcellid);
		if (objCell)
		objCell.className = 'thumbnail';
	}
	
	setCookie('prevselectedCell', cellid, null, '/', 'oddcast.com');
	*/
	$('.vokiSelect').removeClass('selected');
	$('#s_'+cellid).parent().addClass('selected');
	document.getElementById('previewFrame').innerHTML = AC_Voki_Embed(225, 300, chsm, cellid, true, 'FFFFFF', 1);
	
}

function selectFirstCell(cellid,checksum) {
	var sUrl = location.href;
	var pos = sUrl.indexOf("&create=1");
	
	//10.18.2007 ========
	//After a user creates Voki, we always select the first voki which is the most recent one.
	if (pos != -1){
		setCookie('selectedCell', cellid, null, '/', 'oddcast.com');
		updateURL('sceneid=' + cellid + '&cs=' + checksum);
		return;
	}
	// ==================
	
	var oldcellid = readCookie('selectedCell');
	if(!oldcellid) {
		setCookie('selectedCell', cellid, null, '/', 'oddcast.com');
		updateURL('sceneid=' + cellid + '&cs=' + checksum);
	} else {
		return;
	}
}

function updateURL(sAttachment){
	sUrl = location.href;
	var pos = sUrl.indexOf("&create=1");
	if (pos != -1){
		sUrl = sUrl.substr(0, sUrl.length-"&create=1".length);
	}

	var pos = sUrl.indexOf('&skypeSceneid=');
	if (pos == -1){// not finding scene id
		sUrl = sUrl + "&" + sAttachment;
	}else{
		sUrl = sUrl.substr(0, pos);
		sUrl = sUrl + "&" + sAttachment;
	}

	location.href = sUrl;
}


function initScroll(scrollId) {
	
	scroller = document.getElementById(scrollId);	
	if (scroller == null)
		return;
		
	var cke_clipLeft = readCookie('clipLeft');
	var cke_clipRight = readCookie('clipRight');
	var cke_leftLoc = readCookie('leftLoc');

	clipLeft = cke_clipLeft?parseInt(cke_clipLeft):0;
	clipRight = cke_clipRight?parseInt(cke_clipRight):284;
	leftLoc = cke_leftLoc?parseInt(cke_leftLoc):71;
	
	scroller.style.clip = 'rect(' + clipTop + 'px,' + clipRight + 'px,' + clipBottom + 'px,' + clipLeft + 'px)';
	scroller.style.left = leftLoc;
	
	if (document.getElementById("rightArrow")){
		if (clipRight >= scroller.offsetWidth)
			document.getElementById("rightArrow").style.display = "none";
		else
			document.getElementById("rightArrow").style.display = "block";
	}
	
	if (document.getElementById("leftArrow")){
		if (clipLeft > div_left)
			document.getElementById("leftArrow").style.display = "block";
		else
			document.getElementById("leftArrow").style.display = "none";
	}
}


function goNext(){
	
	var cke_clipLeft = readCookie('clipLeft');
	var cke_clipRight = readCookie('clipRight');
	var cke_leftLoc = readCookie('leftLoc');
	
	clipLeft = cke_clipLeft?parseInt(cke_clipLeft):0;
	clipRight = cke_clipRight?parseInt(cke_clipRight):284;
	leftLoc = cke_leftLoc?parseInt(cke_leftLoc):71;

	if (clipRight >= scroller.offsetWidth){
		return;
	}
	clipRight += cellSize;
	clipLeft += cellSize;
	leftLoc -= cellSize;
	
	scroller.style.clip = 'rect(' + clipTop + 'px,' + clipRight + 'px,' + clipBottom + 'px,' + clipLeft + 'px)';
	scroller.style.left = leftLoc;
	
	setCookie('clipLeft', clipLeft, null, '/', 'oddcast.com');
	setCookie('clipRight', clipRight, null, '/', 'oddcast.com');
	setCookie('leftLoc', leftLoc, null, '/', 'oddcast.com');
	
	if (clipRight >= scroller.offsetWidth){
		document.getElementById("rightArrow").style.display = "none";
	}
	
	if (clipLeft > div_left){
		document.getElementById("leftArrow").style.display = "block";
	}

}

function goPrev(){
	var cke_clipLeft = readCookie('clipLeft');
	var cke_clipRight = readCookie('clipRight');
	var cke_leftLoc = readCookie('leftLoc');

	clipLeft = cke_clipLeft?parseInt(cke_clipLeft):0;
	clipRight = cke_clipRight?parseInt(cke_clipRight):284;
	leftLoc = cke_leftLoc?parseInt(cke_leftLoc):71;
	
	if (clipLeft <= div_left)
		return;

	clipLeft -=cellSize;
	clipRight -= cellSize;
	leftLoc += cellSize;
	scroller.style.clip = 'rect(' + clipTop + 'px,' + clipRight + 'px,' + clipBottom + 'px,' + clipLeft + 'px)';
	scroller.style.left = leftLoc;
	
	setCookie('clipLeft', clipLeft, null, '/', 'oddcast.com');
	setCookie('clipRight', clipRight, null, '/', 'oddcast.com');
	setCookie('leftLoc', leftLoc, null, '/', 'oddcast.com');

	if (clipRight < scroller.offsetWidth){
		document.getElementById("rightArrow").style.display = "block";
	}
	
	if (clipLeft <= div_left){
		document.getElementById("leftArrow").style.display = "none";
	}
	
}

function scrollRight(current) {
	$("#leftArrow").unbind('click');
	$("#rightArrow").unbind('click');
	var currentId = "#custom" + current;
	var nextId = "#custom" + (current+1);
	var selectDivs = $("#vokiScenesCustom .customVokiHolder");
	var currentIndex = selectDivs.index( $(currentId).get(0) );
	
	current++;
	selectDivs.eq(currentIndex).add(nextId).animate({ left: "-=196px" }, 1600, function(){
		if (selectDivs.length <= (current+1))
		{
			$("#leftArrow").click(function(){scrollLeft(current)});
		}
		else
		{
			$("#rightArrow").click(function(){scrollRight(current)});
			$("#leftArrow").click(function(){scrollLeft(current)})
		}
	});
	if (selectDivs.length <= (current+1))
	{
		$("#rightArrow").fadeOut("fast", function(){$("#rightArrow").hide()});
		$("#leftArrow").fadeIn("fast");
	}
	else
	{
		$("#leftArrow").fadeIn("fast");
	}
}

function scrollLeft(current) {
	$("#leftArrow").unbind('click');
	$("#rightArrow").unbind('click');
	var currentId = "#custom" + current;
	var prevId = "#custom" + (current-1);
	var selectDivs = $("#vokiScenesCustom .customVokiHolder");
	var currentIndex = selectDivs.index( $(currentId).get(0) );

	current--;
	selectDivs.eq(currentIndex).add(prevId).animate({ left: "+=196px" }, 1600, function(){
		if ((current) <= 0 )
		{
			$("#rightArrow").click(function(){scrollRight(current)});
		}
		else
		{
			$("#leftArrow").click(function(){scrollLeft(current)});
			$("#rightArrow").click(function(){scrollRight(current)});
		}
	});
	if ((current) <= 0 )
	{
		$("#leftArrow").fadeOut("fast", function(){$("#leftArrow").hide()});
		$("#rightArrow").fadeIn("fast");
	}
	else
	{
		$("#rightArrow").fadeIn("fast");
	}
}

function UpdateButtonIcon(dBtn, eBtn){
	
/*	if (!cBtn){
		document.getElementById('createButton').style.background = "url(images/createButton_dis.gif) no-repeat";
		document.getElementById('createButton').disabled = "disabled";
	}
	else{
		document.getElementById('createButton').style.background = "url(images/createButton.gif) no-repeat";
		document.getElementById('createButton').disabled = "";	
	}
*/	
	var objDelBtn = document.getElementById('deleteButton');
	var objEditBtn = document.getElementById('editButton');
	if (!objDelBtn || !objDelBtn)
		return;
		
	if (!dBtn){
		//document.getElementById('deleteButton').style.display = "none";
		objDelBtn.style.display = "none";
	}
	else{
		//document.getElementById('deleteButton').style.display = "block";
		objDelBtn.style.display = "block";
	}
	
	if (!eBtn && objEditBtn){
		//document.getElementById('editButton').style.display = "none";
		objEditBtn.style.display = "none";
	}
	else{
		//document.getElementById('editButton').style.display = "block";
		objEditBtn.style.display = "block";
	}
		

}