var http_request = false;
var win = null;
var startday = null;
var clockStart = null;


/**
 *  Openads wrapper
 */
function openads_wrapper(zoneid)
{
	var m3_u = (location.protocol=='https:'?'https://ads.musitag.com/www/delivery/ajs.php':'http://ads.musitag.com/www/delivery/ajs.php');
	var m3_r = Math.floor(Math.random()*99999999999);
	if (!document.MAX_used) document.MAX_used = ',';
	document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
	document.write ("?zoneid=" + zoneid);
	document.write ('&amp;cb=' + m3_r);
	if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
	document.write ("&amp;loc=" + escape(window.location));
	if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
	if (document.context) document.write ("&context=" + escape(document.context));
	if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
	document.write ("'><\/scr"+"ipt>");
}

/**
 *  Flash wrapper
 */
function flash_wrapper(src, width, height, id, flashvars)
{
	AC_FL_RunContent(
		"src", src,
		"FlashVars", flashvars,
		"width", width,
		"height", height,
		"align", "middle",
		"id", id,
		"quality", "high",
		"wmode", "transparent",
		"name", id,
		"allowScriptAccess","sameDomain",
		"type", "application/x-shockwave-flash",
		'codebase', 'http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab',
		"pluginspage", "http://www.adobe.com/go/getflashplayer"
	);
}

/**
* Key press handler.
**/
function handleKeyPress(e) {  
	if(!e) var e = event;  
	if(!e.target) e.target = e.srcElement;  
	var keys = new Array();    
	//get special key states  
	if(document.layers) {  
		keys["alt"] = (e.modifiers & Event.ALT_MASK)!=0;  
		keys["control"] = (e.modifiers & Event.CONTROL_MASK)!=0;  
		keys["shift"] = (e.modifiers & Event.SHIFT_MASK)!=0;  
	} else {  
		keys["alt"] = e.altKey;  
		keys["control"] = e.ctrlKey; 
		keys["shift"] = e.shiftKey;  
	} 
	var keycode = e.keyCode?e.keyCode:e.which;  
	var letter =  String.fromCharCode(keycode);  
	if((keycode==10||keycode==13) && keys["control"]) document.form.submit()
	if(keycode==10||keycode==13) document.login.submit()
	return true;  
}

/**
 *  Create ajax request object
 */
function create_ajax()
{
	http_request = false;

	// Mozilla, Safari,...
	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	}

	// IE
	else if(window.ActiveXObject)
	{
		try 
	{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}

	if(!http_request)
	{
		alert('Giving up, Cannot create an XMLHTTP instance!');
		return false;
	}

	return http_request;
}

/**
 *  Send MusiTag via mms
 */
function send_mms()
{
	http_request = create_ajax();

	var form = document.getElementById('send_mms_form');

	if(/^[+][0-9]+/.test(form.number.value))
	{
		text="number=" + encodeURIComponent(form.number.value) + "&id=" + encodeURI(form.id.value);

		http_request.open('post', 'sendmms.php', true);
		http_request.onreadystatechange = mms_sent;
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		http_request.send(text);
	}
	else
	{
		alert('Invalid number format');
	}
}

/**
 *  Update when a mms i sent or not
 */
function mms_sent()
{
	if(http_request && http_request.readyState == 4)
	{
		var code = http_request.responseXML.documentElement.getElementsByTagName('code')[0].firstChild.data;
	}

	var div1 = document.getElementById('send_mms');
	var div2 = document.getElementById('sent_mms');
	var div3 = document.getElementById('error_mms');

	div1.style.display = 'none';
	if(code < 0) div3.style.display = '';
	else if(code == 0) div2.style.display = '';
}

/**
 *  Handle login form, md5 sums password before it is sent
 */
function submitLogin(rnd_key)
{
	lf = document.getElementById('auth_form');

	if(lf.username.value == "")
	{
		alert("Please provide your username.");
		lf.username.focus();
		return false;
	}
	else if (lf.password.value == "")
	{
		alert("Please provide your password.");
		lf.password.focus();
		return false;
	}

	lf.secure.value = "1";
	lf.password.value = hex_md5(hex_md5(lf.password.value) + rnd_key);

	return true;
}

/**
 *  Open up a new popup window
 */
function PopupWindow(mypage, myname, w, h, scroll)
{
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll
	win = window.open(mypage, myname, settings)
	
	if (parseInt(navigator.appVersion) >= 4)
	{
		win.window.focus();
	}
}

/**
 *  Get elements by class name
 */
function getElementsByClassName(clsName)
{
	var i, matches=new Array();
	var els=document.getElementsByTagName('*');

	for(i = 0; i < els.length; i++)
	{
		if(els.item(i).className == clsName)
		{
			matches.push(els.item(i));
		}
	}

	return matches;
}

/**
 *  Get elements by id name
 */
function getElementsById(idName)
{
	var i, matches=new Array();
	var els=document.getElementsByTagName('a');

	for(i = 0; i < els.length; i++)
	{
		if(els.item(i).id == idName)
		{
			matches.push(els.item(i));
		}
	}

	return matches;
}

/**
 *  Toggle a hidden div
 */
function toggleDiv(id, classname)
{
	if(!classname)
		classname = 'toggle_class';
	var i;

	data = getElementsByClassName(classname);
	obj = document.getElementById(id)

	for(i = 0; i < data.length; i++)
	{
		data[i].style.display = "none";
	}

	if(obj.style.display == "none")
	{
		obj.style.display = "";
	}
	else
	{
		obj.style.display = "none";
	}
}

/**
 *  Show a alert box to user about registering
 */
function register_alert()
{
	ret = confirm('Register at MusiTag to see more!\n\nWant to become a member now?');
	if(ret == true)
	{
		parent.location.href = 'register.php';
	}
}

/**
 *  Replace url with register url on href's with id reg_alert
 */
function replace_register()
{
	data = getElementsById("reg_alert");

	for(i = 0; i < data.length; i++)
	{
		data[i].href = "javascript:register_alert();";
	}
}

/**
 *  Handle sending box
 */
function send_item()
{
	item_form = document.getElementById('add_item_form');
	
	item_form.submit();
	
	obj1 = document.getElementById("upload_box1");
	obj2 = document.getElementById("upload_box2");

	obj1.style.display = "none";
	obj2.style.display = "";

	error = document.getElementById("error_box");
	if(error)
	{
		error.style.display = "none";
	}

	startday = new Date();
	clockStart = startday.getTime();
	window.setTimeout('get_upload_time()', 1);
}

/**
 *  Uploading timer
 */
function init_upload_timer()
{ 
	var myTime = new Date(); 
   	return((myTime.getTime() - clockStart) / 1000); 
}

function get_upload_time()
{ 
	var tSecs = Math.round(init_upload_timer()); 
   	var iSecs = tSecs % 60;
   	var iMins = Math.round((tSecs - 30) / 60);   
	var sSecs = "" + ((iSecs > 9) ? iSecs : "0" + iSecs);
   	var sMins = "" + ((iMins > 9) ? iMins : "0" + iMins);

	document.getElementById("upload_timer_box").innerHTML = "Elapsed time: "+sMins+":"+sSecs;

   	window.setTimeout('get_upload_time()', 1000); 
}

/**
 *  Clear if value match
 */
function clear_if_value(object, value)
{
	if(object.value == value)
	{
		object.value = '';
	}
}
