var xmlHttp
var ajaxDiv

function ajaxMagic(url, divName) {
	xmlHttp=GetXmlHttpObject() 
	ajaxDiv = divName;
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request")
  		return
  	}
  	 
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged() { 
	if(xmlHttp.readyState < 4) {
		document.getElementById(ajaxDiv).innerHTML = '<div style="width:100%;align:center;"><img src="/web/images/ajax-loader.gif" align="center" /></div>';
	}
	if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById(ajaxDiv).innerHTML=xmlHttp.responseText;
	} 
} 

function GetXmlHttpObject() { 
	var objXMLHttp=null
	if(window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest()
	} else if(window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp 
}

function showCommentForm(site_id, ys_id, ys_ugc_id, ct_id) {
	var url = encodeURI('/private/includes/yoursay_response.php' +
						'?show=1' +
						'&ct_id=' + ct_id +
						'&ys_id=' + ys_id +
						'&ys_ugc_id=' + ys_ugc_id +
						'&site_id=' + site_id);
	ajaxMagic(url, 'yoursay_form');
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		 limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

function isValidURL(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
} 

function makeComment(divName) {
    var errorText = '';
    var formError = false;
    
    if(document.getElementById('txt_name').value == "") {
     	errorText = errorText + "Please enter your name\n";
     	formError = true;
    }
    
    if(document.getElementById('txt_location').value == "") {
     	errorText = errorText + "Please enter your suburb\n";
     	formError = true;
    }
	if(document.getElementById('txt_title').value == "") {
     	errorText = errorText + "Please enter comment title\n";
     	formError = true;
    }
    if(document.getElementById('txt_comment').value == "") {
     	errorText = errorText + "Please enter your comment\n";
     	formError = true;
    }
    if(document.getElementById('com_private_key').value == "") {
     	errorText = errorText + "Please enter the validation number\n";
     	formError = true;
    }
    if(isValidURL(document.getElementById('txt_title').value)){
    	errorText = errorText + "Please do not link URL in comment title field\n";
    	formError = true;
    }
    
    if(formError) {
	    window.alert(errorText);
	    return;
    };
    

    
	xmlHttp=GetXmlHttpObject() 
	
	var title = encodeURIComponent(document.getElementById('txt_title').value);
	var comment = encodeURIComponent(document.getElementById('txt_comment').value);
	var article_url = encodeURIComponent(document.getElementById('article_url').value) + '-';
	var public_key = document.getElementById('public_key').value;
	var com_private_key = document.getElementById('com_private_key').value;
	
	if(xmlHttp==null)  {
  		alert ("Browser does not support HTTP Request")
  		return false;
  	} else {
	  	var url = encodeURI('/ajax/getmakecommentdata' +
	  						'/title/' + title +
							'/name/' + document.getElementById('txt_name').value +
							'/location/' + document.getElementById('txt_location').value +
							'/message/' + comment +
							'/article_id/' + document.getElementById('article_id').value +
							'/article_url/' + article_url +
							'/public_key/' + public_key +
							'/com_private_key/' + com_private_key +
							'/site_id/20');
		ajaxMagic(url, divName);
	}
}

//'&public_key=' + document.getElementById('public_key').value +
//'&private_key=' + document.getElementById('com_private_key').value +

makeCommentOpinion = function(commentId,vote) {
	var url = '/ajax/agree/commentId/' + commentId + '/userVote/' + vote;
	var divName;
	
	switch (vote) {
		case 0 : divName = "disagreeSpan" + commentId;break;
		case 1 : divName = "agreeSpan" + commentId;break;
	}
	
	new Ajax.Request ( url, {
		method: 'post',
		onSuccess: function(req) {
			$(divName).update(req.responseText);
		}
	});
}

makeSBSCommentOpinion = function(commentId,vote) {
	var url = '/ajax/make-comment-opinion/commentId/' + commentId + '/userVote/' + vote;
	var divName = 'opinionDiv' + commentId;
	
	new Ajax.Request ( url, {
		method: 'post',
		onSuccess: function(req) {
			$(divName).update(req.responseText);
		}
	});
}

makeTWGCommentOpinion = function(commentId,vote) {
	var url = '/ajax/make-comment-opinion/site/twg/commentId/' + commentId + '/userVote/' + vote;
	var divName = 'opinionDiv' + commentId;
	
	new Ajax.Request ( url, {
		method: 'post',
		onSuccess: function(req) {
			$(divName).update(req.responseText);
		}
	});
}


function commentOpinion(articles_ugc_id, rating, site_id, divName) {
	var url = encodeURI('/commentopinion.php' +
							'?rating= '+ rating +
							'&site_id=' + site_id + 
							'&articles_ugc_id=' + articles_ugc_id);

	ajaxMagic(url, divName);
}

function getComments(article_id, page, pagelimit, divName, commentCount) {
	var url = encodeURI('/ajax/getcommentdata' +
							'/article_id/' + article_id +
							'/page/' + page +
							'/pagelimit/' + pagelimit +
							'/commentCount/' + commentCount);

	ajaxMagic(url, divName);
}

function popupVideo(url, videoTitle) {
	window.open(url,'video','height=661,width=951,top=100,left=100,scrollbars=no,toolbars=no');
	
   	if((typeof s_gi=="undefined") || (typeof videoTitle=="undefined") || (videoTitle=="")){
		// there is not omniture code set on this page, or not title for the pop up listed
		// as such, do not track anything.
	}else{
		// track
		setTimeout(function () { recordOmnitureGeneric(videoTitle, 'loadVideoPopup','load video popup'); },200);
	}
}

//make the omni request after the content/popup is loaded.
function recordOmnitureGeneric(title, contenttype, contenttypename){
	// this function supplies pageName, site, division etc from what's already in the page.
	var s=s_gi('sbsdev');
	var fullTitle = s.pageName+':'+contenttypename+':'+title.toLowerCase();
	s.linkTrackVars='s.pageName,s.prop20,s.prop1,s.prop2,prop3,s.prop4,s.prop8';
	s.prop8 = contenttype;
	s.linkTrackEvents='None';
	s.tl(this,'o',fullTitle);
}

function popupVideoUSElection(url) {
	window.open(url,'video','height=570,width=1030,top=100,left=100,scrollbars=no,toolbars=no');
}

function popupGeneric(url, width, height) {
	window.open(url,'sbspopup','height=' + height + ',width=' + width + ',top=100,left=100,scrollbars=no,toolbars=no');
}

function nRToggle(element) {
	_rsEvent('http://home.sbs.com.au/'+element, '0');
}

function setUpPList()
{	
	$('.tooltip-target').each(function(i, obj){
		var id = obj.id;
		var name = id.split('-')[0];
		var rid = '#' +  name + '-schedule-' + id.split('-')[2];

		$(obj).mouseover(function() {
			$(rid).css('display', 'block');
		});

		$(obj).mouseout(function() {
			$(rid).css('display', 'none');
		});
	});
}
function getYourLanguageUrl(selectName) {
	var language = $('#' + selectName).val();
	var arr = [
		"Arabic", "Polish", "Italian", 
		"Russian", "Yiddish", "Dutch", 
		"Spanish", "Czech", "Filipino", 
		"Portuguese", "German", "Maltese" ,
		"Mandarin", "Albanian","Serbian",
		"Hungarian", "Croatian",
		"Cantonese", "Korean", "Turkish",
		"French", "Vietnamese", "Gujarati",
		"African", "Norwegian", "Kurdish",
		"Hebrew", "Persian-Farsi", "Hindi",
		"Greek", "Bulgarian", "Armenian", 
		"Bosnian", "Finnish", "Japanese", 
		"Kannada", "Lao", "Macedonian", "Nepali", "Punjabi", "Romanian", 
		"Sinhalese", "Slovenian", "Urdu", "Aboriginal", "Amharic", "Assyrian", 
		"Bangla", "Burmese", "Danish", "Dari", "Estonian", "Fijian", 
		"Indonesian", "Khmer", "Latvian", "Lithuanian", "Malay", "Maori", 
		"Samoan", "Slovak", "Somali", "Swedish", "Tamil", "Thai", "Tongan", "Ukrainian", "Chinese"

			];
	
	if(language == "Cook Islands/Maori"){
		url = "http://www.sbs.com.au/yourlanguage/cookislands-maori/";
	}else{
		for (var i in arr){
			if (language == arr[i]){
				url = "http://www.sbs.com.au/yourlanguage/" + language.toLowerCase() + "/";
				break;
			} else {
				url = "http://radio.sbs.com.au/language.php?language=" + language;
			}
		}
	}	
	window.location=url;												
}
